Ask HN: Advice for coworker with ADHD - <AUTHOR> I have a coworker that has hinted may have ADHD. I don't much about ADHD so I will just describe what I experience and maybe someone has advice on how to deal with this (keep in mind we work remotely, and the coworker has been here longer than me):
* Sentences are difficult to unpack. A paragraph might be talking about 10 barely related things. It often takes me quite some time to make sense of what I'm being told.
* Strong opinions that are often wrong. This coworker is senior and has worked for some high-profile SV companies so the words carry weight. Unfortunately, the advice I receive sometimes makes me drag my feet for weeks on the wrong path. I don't assume there's ill will though.
* Comments on tickets are really random. When trying to read tickets that this coworker worked on, I often have to read 20-30 small comments theorizing about lots of different things. I'm exhausted when I reach the end.
My natural reaction is to stop asking for advice or sharing my work. Ignoring opinions or second guessing them. I hate that. I can't imagine this is being done on purpose so again, no ill will that I can detect.
I'm not this person's boss. Our boss doesn't seem to care much (he often ignores or chuckles when something odd is said). In any case, I don't hope to change someone's behavior.
So the question is, what can I do so this doesn't become a bigger problem for me? Bonus points if I can keep the work environment "light". <comment><USER2> IMHO your complaints are minor. 2.5/5 on the awful work place scale, where 1 is the dream job and 5 is a job on which you are physically assaulted. For example, "Strong opinions that are often wrong" is a description that fits nearly every programmer and manager in the it industry.

That said, what you can do to make your life easier is to admit when you are confused and ask your coworker to clarify what he or she means. You can also ensure that your boss knows that you are working very hard on ensuring that there is no communication failures so that you aren't blamed in the future.

That your coworker has said that he or she has ADHD implies that they would like you to be considerate of their mental illness (disorder, disability, exact terminology unimportant).

</comment><comment><USER3> I'd encourage you to learn a bit more about ADHD. Some of the things you described above are symptoms some aren't.

I have pretty bad ADHD and there's nothing that someone else could do to get me to address it. I have to decide to manage myself. Anything you do to mention it or bring it up to them is going to poke at the insecurity that they may have and likely worsen the problem.

That said, somethings to remember:

\- If you are going to have a meeting with this person, try a walking meeting or something with some kind of other stimulus \- Avoid having lengthy conversations in open office settings or 'busy' areas (specifically with TVs or other people) \- Be ready to context switch when engaging with them and allow it. Chances are they are going to come back to that topic later on in the conversation.

I'm sure there are some other things worth thinking about, but def try to read some materials on what ADHD is, there's a lot out there.

<comment><AUTHOR> Thank you, I'll try to read more about ADHD. I just wanted to clarify that I have not determined this person has ADHD or anything else. They have said it. I'm just describing the behavior and mentioned ADHD as maybe that's related but it could very well NOT be. In any case, I appreciate your advice, thanks.

</comment></comment><comment><USER4> It seems to be a lack of confidence or a miss understanding of the requirements. In other words, no one really understands what has to be done and how to do it properly. If you understand the requirements and have enough knowledge about the domain, you should be able to articulate your thoughts clearly and simply. This goes for code reviews, integrating your work with your peers, splitting the tasks into smaller tasks, convincing someone about a technical choice, etc.

You and the 'ADHD' coworker can't seem to communicate properly about the actual topic (project, tasks, etc.). I'd suggest to sit down together and to go over the requirements. Slowly but surely. If your coworker knows exactly what you're working on and why (and vice versa), then the style shouldn't be the issue. We're all different and we all have different styles. It doesn't really matter.

<comment><AUTHOR> There is no doubt nobody fully understands the requirements (in our industry?) and that's good advice, being pragmatic. However, even when the requirements are clear, it's a pretty chaotic process which is hard to follow. I wouldn't discard this as simply being a style issue. This person seems pretty nervous when discussing things, so there is some struggle. I can try to clarify the requirements for everybody's sake (including mine). Please don't label this person as the 'ADHD coworker' though.

</comment></comment><comment><USER5> ``Strong opinions that are often wrong. This coworker is senior and has worked for some high-profile SV companies so the words carry weight.``

That may be your opinion. What defines a wrong opinion? If he is senior and has worked for high-profiles companies then he probably has experience, and has produced some results. The fact that someone has a different opinion from you doesn't mean the opinion is wrong.

<comment><AUTHOR> Point taken. However, saying "X app connects to Y app, that's for sure" when that is NOT the case is wrong. Period. Facts are facts.

"We should do X because things are like Y" when things are like Z, you just have to check the code and show it, that's a hard fact.

Maybe I should have said "remembers facts incorrectly" instead of "opinion". Sorry.

Re: having worked in a famous SV company doesn't mean everybody should get a free pass to say B.S., right? I'm sure your FAANG company isn't made of perfect human beings (or has a perfect hiring process).

<comment><USER6> > mean everybody should get a free pass to say B.S., right? yes, but you > should accept that this is not a purposeful action and it is because of a > mental state condition.</comment></comment></comment>


Why I Didn't Get A Real Job - <AUTHOR> http://newstudentunion.wordpress.com/2011/06/05/why-i-didnt-get-a-real-job/

<comment><USER2> When I co-organized a Startup Weekend here in Sweden we managed to get some press in the local newspaper. This drew the attention of people who normally wouldn't attend such an event. One of them was an elderly, retired gentleman by the name Per-Otto (who actually turned out to be the oldest participant ever in a Startup Weekend).

We talked quite a lot during the weekend and he told me his life story.

Turned out he had wanted all his life to become an inventor (that's why he was there). It wasn't until he was close to retirement that he managed to make a deal with his employer (the same one all his life) and he got enrolled in to some sort of education program for inventors.

All his life he wanted to be an inventor but he couldn't until he was at the brink of retirement.

Our generation, on the other hand, has all the opportunities in the world to shape our own lives. It has never been easier to build a life and an income around your passion. We have opportunities that Per-Otto couldn't even dream about in his younger days.

And yet so many people still choose not to pursue their dreams. What a waste.

Something must be broken. The education system? The working environment? Our culture? I don't know. I only know that things need to change. Questioning the need for "a real job" is a good start.

EDIT: Here he is, btw, drawing one of his inventions: [http://www.flickr.com/photos/erikstarck/4509754873/in/set-72...](http://www.flickr.com/photos/erikstarck/4509754873/in/set-72157623698297963)

</comment><comment><USER3> _Besides, put yourself in an employer's shoes. You're interviewing two college graduates — one who started a company and can clearly articulate why it succeeded or failed, and one who had an internship from a "brand name" institution. If I'm interviewing with someone who chooses the latter candidate, they're not a place I want to work for._

If the 'startup' succeeded, likely that person isn't going to be applying to a job in the first place. If it failed, there's likely going to be difficulty for that person to really understand why it failed ("I just needed 6 more months of runway!" or "People are just too stupid to get what I was doing!"). The 'startup' person is far more likely to bail in the next year to pursue their next startup idea.

This notion that people will be far more willing to hire a failed 21 year old 'startup addict' because of the experiences gained is an odd one, and something I suspect they use either as a justification to parents/friends, and probably don't actually believe it themselves. "I'll prove my value to future employers by demonstrating my lack of respect for established authority and contempt for organizational hierarchy (unless I'm at the very tip top of it)".

I'm sure people will be falling over themselves to offer you top management jobs after your "social todo facebook widget android app" fails because it ran out of funding. Come to think of it, this is probably a perfect game plan for silicon valley. :)

EDIT: Before someone points out that I too am a grumpy old timer, I'd simply prefer to see the OP actually doing something worthwhile with fetchnotes. Perhaps, you know, actually _work on the startup_. Writing blog posts about how you can't work for other people because you don't take orders, or how you argued with your dad about morality... none of these are "working on your startup" - they're just self-absorbed rants.

EDIT2: There's loads of options in between 'startup' and 'internship'. Some of us, you know, actually had real paying jobs during college. What would an employer want to choose of those three? Someone who understands that providing value to a company leads to an actual paycheck, someone who failed at a startup, or someone who went for 'brandname' status? I know which one I'd choose.

</comment><comment><USER4> So what does "The New Student Union" do beyond be "an online magazine run by and for college students covering the issues that they care about."?

The term "startup" is thrown around WAY too much these days, you aren't a start up, you have no business model, you are basically just a multi contributor blog. What are you doing that other student publications aren't?

When you say "If you have a game-changing idea" do you honestly thing NSU is "game-changing"? What game are you changing?

You come across as incredibly entitled and arrogant in your post, I hope for the sake of the success of any future "start ups" you participate in, it's not the case.

"I have no deference to authority figures and have never been shy to voice my opinions, oftentimes to my detriment." This doesn't make you a good entrepreneur, it makes you an asshole.

<comment><USER5> _As a first-time founder, I can't escape admitting that starting fetchnotes is an immense learning experience_

<http://www.fetchnotes.com>

<comment><USER6> Why do people always think they can get away without at least consulting a designer?

</comment></comment></comment><comment><USER7> I think the concepts of 'paying your dues' to society, and waiting until one is older to do your own thing is a symptom of the generation gap.

Older generations consider the gen Y age group to be entitled, spoilt, lacking commitment, and generally impatient with regards to earning their place in the world.

When you combine this with the "new startup" - cheap, glamorous, very low barrier to entry for the technically adept, then it's easy to see where the conflict comes from. Twenty-somethings see the perfect opportunity to jump into the booming tech startup area by themselves where they have a huge advantage - being both born with the web and often still in the safety net of college or the very early stages of their career. Older generations never had this type of opportunity, and simply don't think the younger people have deserved or earned it.

Personally I think that there is no better time to do your own thing and be innovative than your early twenties, and that conventional workplaces eventually erode the type of skills needed for a startup; of course, then there is the other issue - if building a startup is like jumping off a cliff and making a parachute on the way down, is someone still a "real" entrepreneur if there is a safety net at the bottom?

<comment><USER8> I don't think the word innovative should apply anymore to social networking games, to-do lists, or rounded corners.

<comment><USER9> So you don't believe that a to-do list can be innovative?

<comment><USER10> He probably meant "Hello World" applications - those that have been done so many times that the expected innovation is negligible. Certainly someone _could_ innovate there, but we have seen many people claim that theirs will be radically different only to end up being more of the same.

</comment></comment></comment></comment><comment><USER11> _There are at least 50 orders of magnitude in the difference between the strategic and innovative thinking required by a founder and that of even the most integral first employee._

Hope that attitude isn't reflected in his option grants to his first hires.

Anyhow, Alex talks about lack of "deference" to authority, but what he really lacks is respect for authority. This is pretty common with high-spirited teenagers, and it's often really useful to society as they challenge the status quo. It can be a nuclear reactor powering "impossible" visions with the right person.

It's also really annoying.

</comment><comment><USER12> "I've never been one to base my actions on others' expectations. Just ask my dad, with whom I was having arguments about moral relativism by the time I was 13."

I bet this guy is a blast at parties.

<comment><USER13> But can anyone ever really _be_ a blast at parties?

<comment><USER14> You mean, like, _literally_ be a blast?

(obligatory: <http://xkcd.com/725/>)

<comment><USER13> No, objectively.

</comment></comment></comment></comment><comment><USER15> "at least 50 orders of magnitude"

Definitly not a physics major. Not math either probably considering he used a two digit number in the first place.

<comment><USER16> It definitely sounded like he pulled that number out of his posterior.

</comment></comment><comment><USER17> Took the same path, founded a "real" company (not a magazine, a software company sells b2b software) and grew the team up to 3 and made the company profitable. But one year later, I've flopped. Now I've been working as an employee for 4 years and at this stage this is where I should be. Of course, I'll start companies in the future but you have to know the low end-side of your the job and gain experience.

<comment><USER18> You don't have to by any means, but it's often much cheaper and easier to learn how to do software on someone else's time.

<comment><USER17> Shipping software is the trivial part. Communication, leadership, connections, understanding how businesses work were not trivial for me since I've spent all of my life in a technical chair.

</comment></comment></comment><comment><USER19> I like what this guy is trying to say; don't wait to become 'legit' before pursuing your ideas. I can agree with that. However, I feel like he has an irrational bias against people who choose to pursue opportunities to work at so-called brand name companies. My end goal is to be in the startup business as well, but I believe working at a large company will teach someone more than just job skills. It'll reveal how decisions are made/executed and give an opportunity to evaluate a company's efficiency.

<comment><USER20> With respect to decision making, one thing you might encounter at a large company that you're unlikely to see in an early stage venture is management science / operations research / decision analysis. Try and learn a little - these are skills which transport across professions and industries.

</comment></comment><comment><USER8> So, what do you do, exactly?

</comment><comment><USER21> I read the bit about your family and dues to society and thought they were being silly. Then I realized you must be a rich kid who has the option of playing entrepreneur for a summer, and lost sympathy. The reason society thinks you need to wait is because one is expected to become self-sufficient and somewhat financially secure before pursuing such endeavours.</comment>


The coronavirus pandemic drove life online. It may never return - <AUTHOR> https://www.nbcnews.com/tech/internet/coronavirus-pandemic-drove-life-online-it-may-never-return-n1169956 <comment><USER2> With any luck people will get an overdose having finally watched _all_ the good content on netflix (nobody is filming anything currently!) and run outside the minute this is over, never to go online again. Me personally, I'm already to hike the AT.

Lets be real, for all the good the internet has done & given us, its actually destroying our society in fairly fast order for comparatively little gain

<comment><USER3> I've been using this time to help my loved ones learn new skills, such as photo editing, design, language skills. Everyone I know has seen improvements in their general computer skills. If Netflix could branch into tutorials the world could become a beautiful place.</comment></comment>


The Other Social Network - why Campus Network lost out to Facebook - <AUTHOR> http://www.slate.com/id/2269131/pagenum/all

<comment><USER2> I dont fully agree with the author's view that between the two, CN failed because of facebook's "simplicity", "the Harvard factor", and some basic features. The difference between the two teams is much greater.

My thoughts on why CN failed: (1) The CN team. I think Goldberg shutting down the site because he had 250k user base while FB had got to a 1m says a lot. If Goldberg was really a visionary, the 1m user base should have inspired him and his team. (2) Montreal? Why? You want to dominate a web platform for University students and you go to Montreal? (3) Support network. Where as FB/Mark found great people to support him, seems like CN was going at it alone. If public profiles we're working, who better to know this then the CN team and advisors? If fb was growing because of the capital they raised, change your strategy and do the same.

In the words of Napoleon "Between a battle lost and a battle won, the distance is immense and there stand empires."</comment>


The Night Watch - <AUTHOR> https://research.microsoft.com/en-us/people/mickens/thenightwatch.pdf

<comment><USER2> Only 12 points? Really? Come on, it just so much fun!

</comment><comment><USER3> Such a fun read.

</comment><comment><USER4> Seriously, this is the best.</comment>


Magical Square Root Implementation In Quake III by Carmack - <AUTHOR> http://www.codemaestro.com/reviews/9 <comment><USER2> Horrible article.

First the implementation solves for the 'Inverse Square Root', not the square root. [1] Secondly the algorithm's author isn't actually known but the earliest person it can be traced too is Gary Tarolli [1].

[1] [https://en.wikipedia.org/wiki/Fast_inverse_square_root](https://en.wikipedia.org/wiki/Fast_inverse_square_root)

It really bothers me when people write something and their own sources differ from what their writing let alone wikipedia.

</comment><comment><USER3> In case this doesn't get many up votes, and not much discussion, it's worth understanding that this story has been submitted and discussed many, many, _many_ times in the past. It's a wonderful hack, using techniques and skills of which the vast majority of programmers these days have no experience.

It's worth reading, learning, and understanding, if only to be grateful that most of your life you'll never have to resort to such tricks. Sadly, that also means you'll never get the chance to experience the sheer joy of creating something like this.

Having said that, this article is actually really, really poor, and most of its value lies in the references provided by people in the comments. Many of the other submissions here on HN are much better.

</comment><comment><USER4> Here's a much better article on the same topic:

[http://www.beyond3d.com/content/articles/8](http://www.beyond3d.com/content/articles/8)

<comment><USER5> Crikey, over 7 years since I did the investigation (basic email, didn't try that hard) for that article. Time flies!

</comment></comment><comment><USER6> It ought to be pointed out that this method (and many others even more cunning) are detailed in the delightful tome "Hacker's Delight" (ISBN 978-0-201-91465-8) by Henry S. Warren

on about page 481 or so:

"The Newton step is a standard Newton-Raphson calculation for the reciprocal square root function (see Appendix B). Simply repeating this step reduces the relative error to the range 0 to -0.0000047. The optimal constant for this is 0x5F37599E."

</comment><comment><USER7> I don't know why, but I'm supremely bothered by the author getting the name of Carmack's company wrong so many times. It's "Id" (or "id") Software, not "ID" Software. It's not pronounced "eye dee".

</comment><comment><USER8> I wish the myriad articles about this interesting hack would bother to mention that it relies on undefined behaviour. Any time you find yourself doing this:

        *(foo*)

you're probably breaking the strict aliasing rule.

<comment><USER9> The behavior is defined, if you disable the rule or your compiler doesn't follow it.

<comment><USER8> That's the opposite of "defined", in the context of a language discussion.

<comment><USER9> It is a good thing that actual results rely on the compiler implementation, not the language.

<comment><USER8> Sure, your code will work today, with your compiler. But will it work tomorrow? Or what if your client wants to compile it on their machine, in a different operating system, with a compiler that you've never tried?

<comment><USER9> Readme, documentation, makefile(??)

</comment></comment></comment></comment></comment></comment><comment><USER10> Are there other weird number hacks like this one?

<comment><USER11> Look at the hashCode() implementations in [http://grepcode.com/file/repository.grepcode.com/java/root/j...](http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7u40-b43/java/util/Arrays.java)

For example:

public static int hashCode(double a[])

{

if (a == null) return 0;

            int result = 1;
            for (double element : a) {
                long bits = Double.doubleToLongBits(element);
                result = 31 * result + (int)(bits ^ (bits >>> 32));
            }
            return result;
        }

<comment><USER12> Why is this weird? It's the textbook method for doing hashes.

<comment><USER11> It is textbook, but the poster asked for seemingly random numbers in code. Based on all the places the invsqrt method has popped up, it also was a textbook method for doing it quickly.</comment></comment></comment></comment>


Ask YC: Leaving consulting to build a product. Is my consultancy worth anything? - <AUTHOR>

I launched a design/programming shop a few years ago that has been reasonably successful (4-6 employees, profits, local name recognition), and I'm itching to move on to a startup that builds a product or a service.<p>Is my consulting shop worth anything? Do people buy web design or contract development firms? I've always assumed that the answer is no, because our value is in our people (who may or may not stick around), but a friend recently suggested otherwise. <comment><USER2> I've worked for (subcontracting) through a couple firms that have sold. They both sold at between a 3 and 4x multiple of their yearly revenue (one was $30m and the other was $3m). Both of them were run by very well connected people.

The problem is finding the buyer, but if you're in a major metroplex there are likely some middle sized companies that would buy you out. The larger shop I worked with had bought 4-5 companies over the years in order to build up their competency in other areas like app dev, system support and design rather than try and recruit the people and the clients. Try pitching it that way :)

</comment><comment><USER3> I'm fairly certain Tony Wright of RescueTime sold a design/programming consultancy a few years back. If you can find a buyer, why not go for it. The extra cash could provide capital to your new venture.

</comment><comment><USER4> It is doubtful your consulting shop is worth much, you are correct that the value is in the people who may or may not stay and also in the relatioships you and your people have with your clients.

I think it would be tremendously difficult sell, unless you could sign all your clients to new agreements with their understanding that you would be leaving and there would be a transition. A very difficult thing to do in my mind.

</comment><comment><USER5> Well, your collection of customers is worth something if it's substantial.</comment>


Learn R two minutes at a time - <AUTHOR> http://www.twotorials.com/

<comment><USER2> I never knew tutorials could be so fun. I really enjoy the fact that he is quick about it too, most screencasts usually are so slow that it is a pain to follow.

</comment><comment><USER3> Reminds me of the SlapChop video. (not a shameless plug)

<https://slapchop.com/>

<comment><USER4> Why is this advertisement working on me? I'm usually resistant to ads but I really want to buy this.

<comment><USER5> I don't know. But how often do you "not have time to make breakfast", but have a peeled hard boiled egg, washed topped and tailed green onion and unpacked chopped ham ready?

Or you "hate making salad", but right there - peeled washed topped and tailed carrots, topped tailed and washed radishes, prepared celery. And no leaves.

The chopping and mixing bit is a fun bit of making salad, it's all the washing and preparing which takes the majority of the time.

</comment></comment></comment><comment><USER6> This is great. I love the concept of 2 minutes... it forces the author to really be concise and get to the point.

Anybody know of any tutorials like this for web programming (javacript, rails, or python)?

<comment><USER7> The <http://www.destroyallsoftware.com> screencasts are great. A bit longer but still nice and dense. Both Ruby and Python plus other random stuff. Totally worth a look if you haven't already seen them.

</comment></comment><comment><USER8> <http://www.screenr.com/7wp8>

what... just happened

<comment><USER9> Just downvoted you because I visited the site, only say the short text (I dont use Flash nor do I browse with JS enabled) and it looked like spam so I downvoted. Sorry. Your post here was not too verbose so it mislead me.

<comment><USER10> I was very hesitant as well, but eventually determined it was a relevant link (a screencast with impressive video quality, but less impressive content).

GP's comment could certainly be improved.

</comment></comment></comment><comment><USER11> I might be interested in learning R if I knew what it was. Even the webpage doesn't explain what it is until you watch one of the videos.

I see this all the time on software-related websites. They launch into the technical details without even one sentence about what it is. I could give a whole bunch of examples here but I think everyone has experienced this.

Please include something like the following on the webpage and--if there's space--in the headline too:

"R (a programming language for statistics)"

I don't mean to single out the guy who did these great tutorials. I mean this for everybody. If your software product/OS/service/language is not Photoshop, Linux, Google, or Java, then write a couple of words _right at the top_ to explain what it is please.

<comment><USER12> Unless you're doing in-depth statistical analysis, there's not really any reason to know anything about R. It isn't a useful general purpose language.

That is to say, while your suggestion is certainly valid and appreciable, the reason why there are rarely primers for content about R (specifically) is that the intended audience is primarily academic, where the audience is already familiar with the technology. if you take an applied statistics class, you'll learn how to use R there.

If you're not already in the club, there isn't much reason for you to join it unless you're leaving industry to do scientific-level statistical analysis.

This isn't me saying "Mind your own business!". I'm just giving the perspective of the writers for most R content.

<comment><USER13> But couldn't R have applications in business (industry)?

A businessperson once asked me about R after he read a non-technical article about it in a major newspaper. This person has never been in academia. Why was he curious? What could he possibly see in R?

I see R as a "disruptor" to the market that SPSS has had under lock and key for as long as I can remember. Perhaps statistics has utility outside of academics? Maybe R can give anyone the power of something like SPSS, for free.

Now what I want to know is how to convert "screenr" into a more open format. Can you convert to video? R is not dependent on a GUI. Maybe you could convert to screen(1) format, along with an mp3.

<comment><USER12> Certainly it does. Perhaps I shouldn't have emphasized academics so much.

Anyone who does in-depth statistical analysis can use R. It is equivalent to SPSS, SAS, and matlab in its applicability, plus its free.

People involved in 'big data' and serious analytics in business are already using R a lot of the time. The other group of people in business who use the closed source applications above, however, aren't as technical, and have a pretty big roadblock ahead of them.

The issue is just a question about ease of use. There are companies out there who offer products that compare with the above (<http://www.revolutionanalytics.com/>), but they still cost money. The 'problem' of R in business is that there aren't any good GUI's for it that allow you to just go menu>ANOVA>3 way factorial>[settings dialog]>Calculate and then get there.

Of course there are a few other reasons why those other applications exist and thrive in spite of R, but I think the limited use cases and lack of a comprehensive GUI are its biggest roadblocks.

<comment><USER14> Regarding R for BigData, do you think R is going to continue to be a stable of the analytical toolset as data sizes continues to grow?

I use R to prototype machine learning techniques on a small set of data, or visualize some summary statistics. But if I want to run K-Means Clustering or Support Vector Machine algorithms on 1,000,000,000 rows of data, I've found that running R on Hadoop is tricky. There are some libraries out there ( for example, RHadoop <https://github.com/RevolutionAnalytics/RHadoop/wiki/rmr> ) but they require writing your algorithm in such a manner that algorithms must be adapted to run within map() and reduce() functions. My understanding is that the built-in functions that make R so useful will often not adapt well to a mapreduce algorithm.

From what I've seen, once an algorithm is prototyped in something like R/Matlab, if the data size warrants it, it's best to re-write the algorithm in Java MapReduce or use Apache Mahout.

<comment><USER15> or C.

</comment></comment></comment></comment></comment></comment><comment><USER16> I love this.. I've got to be honest, I think I could even learn to program with tutorials like this. I'm just not very good at learning how to do active, complex tasks, by only reading about them.

</comment><comment><USER17> This guy is too entertaining.

</comment><comment><USER18> This is hilaRious! But, seriously, I like the 2 minute format for learning-- you could just watch a bit when you had a lull during the day...

</comment><comment><USER19> Go through all this trouble but forget to make the font size bigger and the encoding quality such that it's actually legible? Baffling.

</comment><comment><USER20> I've never been a fan of video tutorials myself. They always seem to move too slow, too fast, or some of both. Obviously videos do have some advantages over written tutorials, but if I had a choice, I'd pick written.

I didn't actually watch any of the R tutorials, so nothing that I said above is implying they are too fast/slow etc.

</comment><comment><USER21> I like the short, one focus per video format. Consumption is quick and effective.

</comment><comment><USER22> Listening to the voice in this one gives me the creeps: <http://www.screenr.com/JJp8>

</comment><comment><USER23> So is it for R only?

</comment><comment><USER24> Awesome format, wrong language.

EDIT to downvoters: with 'wrong' I don't mean bad, just a very niche language and it would have been nice to see such a format for a more popular or general purpose language

<comment><AUTHOR> It could be the start of a trend. Personally, I would like to see the same thing for Lua.</comment></comment>


IBM develops 'instantaneous' memory, 100x faster than flash - <AUTHOR> http://www.engadget.com/2011/06/30/embargo-ibm-develops-instantaneous-memory-100x-faster-than-fl/ <comment><USER2> Whenever I see announcements like this, I try and cap my enthusiasm -- I think reading about solid-state-drives in the 90s and not getting them until... well the last 2 years, I have learned to be cautious with falling in love.

THAT being said, this article suggests mass-production on a timeline of 5-years (give or take) along side other innovations like Intel's 50Gbps Thunderbolt.next() [1]

I'm really gunning for the world not ending Dec 2012 now; I want to see this stuff in a desktop PC ;)

Aside: It is fun to think about what changes to current industries would occur when computing power becomes insignificant -- for example, video editing/production, video games, voice recognition, security, etc.

Just in our industry, with the cost of a GB dropping to damn near $0.00, the first thing we saw was an explosion of apps dealing with huge data sets -- something previously only done by a few select mega-corps.

Anyone, just speculation and fun at this point.

[1] [http://www.engadget.com/2011/04/29/intel-touts-50gbps- interc...](http://www.engadget.com/2011/04/29/intel-touts-50gbps-interconnect- by-2015-will-make-it-work-with/)

<comment><USER3> There isn't a business case for getting new technologies in mass production so quickly.

Businesses price to maximise profits, which isn't necessarily anything to do with production cost. It's more profitable to sell at a high price to early adopters first, and then gradually bring the price down.

<comment><USER4> If a technology is truly revolutionary, then there is most certainly a business case for putting it into mass production quickly. If you can disrupt an old industry or technology and replace it en masse with your new product, you will achieve market dominance in the new market. On the other hand, if you phase your product in slowly from the high end, your competitors will have time to copy you and grow their market share apace with yours.

</comment></comment></comment><comment><USER5> Faster than flash, much higher write-cycle lifetime than even SLC flash, if these hold up in mass production it'll be like christmas for everyone.

<comment><USER6> Even if they are expensive, everyone will want these. I know I will be first in line. If these are reliable, and their drift friendly modulation works, we probably won't see spinning disks in 10 years. Thats a great future.

<comment><USER7> I disagree. If they cost 4x as much as flash, then nobody will use them unless the performance improvement is huge (Remember, it's 100x write _latency_ not throughput, and caching fixes latency problems quite nicely).

</comment></comment></comment><comment><USER8> To differentiate it from RAM, the word is PRAM.

More: [https://secure.wikimedia.org/wikipedia/en/wiki/Phase_change_...](https://secure.wikimedia.org/wikipedia/en/wiki/Phase_change_memory)

<comment><USER9> Looks like this is the only pram you can buy right now: [http://www.google.com/search?q=pram&tbm=shop](http://www.google.com/search?q=pram&tbm=shop)

<comment><USER10> It is easy to buy. I think I've some sitting around unused just because it is so neat.

[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&...](http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=NP5Q128A13ESFC0E-ND)

[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&...](http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=NP8P128A13BSM60E-ND)

</comment></comment></comment><comment><USER11> It will certainly be interesting to see what happens with technology like this when it gets combined with others such as graphene, memristors, etc.

I agree with rkalla that tempering one's hopes towards it is probably the way to go, but it's always nice to see someone pushing the envelope.

</comment><comment><USER12> I would have preferred a straight-bat presentation, rather than the strained hangover jokes.

<comment><USER13> There's a big button with the words _Press_ and _Release_ on it.

<comment><USER14> Maybe, but the journalist's job is to take the press release and make it _better_ , not worse.

If you ask me, the most interesting question is "So how does this thing actually work?" And the answer according to engadget is "PCM is based on a special alloy that can be nudged into different physical states, or phases, by controlled bursts of electricity", or in other words "Fuck, I don't know, I didn't really understand the press release"

The press release is more informative. You put some undisclosed material between two electrodes. The material can be crystalline or amorphous, and you can tell which it is at any given time by the resistance. To change it from one to the other you simply heat it up with a voltage pulse to one threshold temperature or another. Neato!

</comment></comment></comment><comment><USER15> Wasn't IBM also responsible for bringing the Giant Magneto-resistive (GMR) technology to the spinning disk drives, thereby increasing their capacity many-fold? It looks like they'll do the same to flash with this PCM memory.

Keeping my fingers crossed.

PS: Did anyone else notice the gratuitous mention of "cloud computing" in the press release? :-D

</comment><comment><USER16> incidentally, does anyone know how close memristor cells are to mass production?

<comment><USER17> I saw a talk last week that said 3 years. Supposedly HP is in talks with Hynix currently.

<comment><USER18> Is there video of the talk available?

</comment></comment></comment><comment><USER19> Aren't the wear-out numbers for flash understated? I seem to remember that the flash I've worked with is in the tens to hundred thousand cycles already but maybe that's not what's in consumer products?

Also would be interesting hear about power consumption for read and write.

<comment><USER20> Flash used to last much longer. But flash these days is used in MP3 players etc. I would imagine the average number of writes is something like .... 1. Because when my boys fill up a gadget, they buy a bigger gadget. Like most folks.

Even an SSD drive used as a system volume gets written maybe 1 time. SUre some blocks get thrashed, but wear-leveling means they write different blocks. So an mtbf of a dozen would probably serve.

<comment><USER21> If you only use it for system volumes it will still get written to multiple times with os upgrades, security fixes, and atime modifications. If you don't pull out the page/swap file/hibernate file you are going to be writing those often as well.

</comment></comment></comment><comment><USER22> Now the bottleneck will be the CPU in a huge way. Intel we need a few orders of magnitude faster processors now!

<comment><USER23> Nope, northbridge/southbridge will be the bottleneck. They currently run at half the speed of RAM, 400-700mhz. Cycle speed at least, throughput is good.

</comment></comment><comment><USER24> It's time to buy some IBM shares</comment>


Put simply, computational convenience trumped empirical findings. - <AUTHOR> http://www.nakedcapitalism.com/2009/03/some-musings-on-black-swan.html <comment><USER2> Interesting that the intelligent and concerned blogger at NC says he didn't read the book initially because he heard so much about it already. Don't we all know these books that everybody talks about and seemingly nobody has read. Reminds me of certain assets or investment strategies everybody did and nobody researched. One point that Mandelbrot did not make publicly as far as I know but that NNT makes: Humans _want_ to be suckers. It's comfortable. That's why no amount of blame and regulation will ever stop this cycle. The problem is not people's intelligence, it's their ego.</comment>


RubyKaigi and the Path to Ruby 3 - <AUTHOR> https://developer.squareup.com/blog/rubykaigi-and-the-path-to-ruby-3/ <comment><USER2> This is the first time in 30+ years that I read about storing types in their own file separate from the source code. Probably some language/tool already did it, still it seems weird to me.

It also looks like a method to make developers forget about types, unless they're using an IDE that merges the .rb and the .rbi files in a single view.

Maybe I'm OK with putting hurdles on the way of static typing Ruby because I can use any of the existing statically typed languages if I feel like that. One of the top reasons I'm using Ruby is precisely because I don't have to write type annotations. I'd leave it like that.</comment>


AngularJs vs. EmberJs - <AUTHOR> http://angularjs-emberjs-compare.bguiz.com/ <comment><AUTHOR> For those who are starting out and need to make a choice between AngularJs and EmberJs. Slightly longer but gives you a good basic understanding of both frameworks and points out the differences.</comment>


Lessons in Graphic Design Theory - <AUTHOR> http://psd.tutsplus.com/articles/web/50-totally-free-lessons-in-graphic-design-theory/

<comment><USER2> This is great! I'm not a graphics designer, but some of the information in there (color theory, for instance) is very useful outside of graphics design.

</comment><comment><USER3> Can any designers here comment on this?</comment>


A. Michael Froomkin and Zak Colangelo on "Self-Defense Against Robots" - <AUTHOR> http://robots.law.miami.edu/2014/a-michael-froomkin-and-zak-colangelo-on-self-defense-against-robots/ <comment><USER2> This happened here in Seattle last year - a woman living next to a park looked out her second story bedroom window to find one of those toy-store, remote- controlled helo-drones hovering outside. Cops told us (media) she could have disabled it legally, provided she didn't break the law doing so (i.e.: firing a gun at it in the middle of the city). Perhaps we will one day need to carry non-lethal taser-type weapons to disable unfriendly mobile tech...

<comment><AUTHOR> Interesting, I was looking for the seattle story and instead turned up this interesting snippet: [http://seattletimes.com/html/nationworld/2021430981_faawarni...](http://seattletimes.com/html/nationworld/2021430981_faawarningdronesxml.html)

"the tiny farming community of Deer Trail, Colo., that would encourage hunters to shoot down drones"

"Under the proposed ordinance, Deer Trail would grant hunting permits to shoot drones. The permits would cost $25 each. The town would also encourage drone hunting by awarding $100 to anyone who presents a valid hunting license and identifiable pieces of a drone that has been shot down."</comment></comment>


Speedtest engineer on optimizing your home internet - <AUTHOR> https://medium.com/speedtest-by-ookla/engineer-maximizes-internet-speed-story-c3ec0e86f37a <comment><USER2> Author says he needed a device that's capable of shaping 200 Mbps, and therefore the Ubiquiti EdgeRouter line is not adequate.

However, just shaping traffic in the upstream direction (10 Mbps) is sufficient. An EdgeRouter can easily do this.

<comment><USER3> From the article: "very few routers provide the ability to shape a single direction of traffic in software this is the case with Edge Routers)"

Perhaps he updated after seeing your comment :)

</comment></comment><comment><USER4> Excellent, the author addresses latency-under-load and the use of queue mechanisms (CoDel) that are designed to avoid excessive queuing latency.</comment>


Ask HN: Do I need a regex book? - <AUTHOR>

I'm starting to learn ROR and have noticed that regular expressions show up quite often. I'd like to get a solid understanding of them, but no online tutorial seems to be sufficient.
I've seen that the books like Mastering Regular Expressions and Regular Expressions Cookbook have great reviews on Amazon, but I'm wondering if it would be overkill to get a full book on something that I would only be using every so often.
I've also considered getting a reference book on regex, but those seem to offer no introduction/explanations whatsoever (which I need).
Is it worth it for me to read up a lot on regex? <comment><USER2> 1\. You mention RoR, so I assume you are not aiming to understand the abstract computer science notion, but the practical thing as to what regular expression libraries (ruby's in particular) understand.

2\. You do not mention which online tutorials you found insufficient. That makes it hard to recommend things. For example do you know about <http://www.regular-expressions.info>?

3\. Have you played with regular expressions interactively? That could be through the command line, or via <http://rubular.com/> (there are tons of such tools online, some better, but this one is for ruby)

As to your last question: whether it is worth for you? That depends on way too many unknowns for me to answer.

</comment><comment><USER3> [http://inst.eecs.berkeley.edu/~cs164/sp11/lectures/lecture2....](http://inst.eecs.berkeley.edu/~cs164/sp11/lectures/lecture2.pdf)

start at page 4.

<comment><USER4> It doesn't seem to me like the OP is looking to start with something that uses set notation.

</comment></comment><comment><USER4> The best reference materials for regular expressions are available for free on all operating systems that have Perl installed: `perldoc perlretut` and `perldoc perlre`, in that order.

EDIT: ...in a terminal window.

</comment><comment><USER5> Yes. Read Mastering Regular Expressions.

<comment><USER6> Regexes are a handy tool to know regardless of the language. And something I think is worth learning.

Mastering Regular Expressions is a good book to read as Mr. Friedl does a good (great?) job of explaining the pluses and minuses of regular expressions in a readable manner.

If all you want is how to use regular expressions then there are plenty of man pages and internet documents which provide examples that you can learn from without reading Mastering Regular Expressions.

You might look at the Ruby documentation to see how Ruby does things. And a quick search using Ruby regular expression provided this link: <http://rubular.com/> which is a utility to test regexes. There are several other links immediately following this one which appear to be tutorial or information for what you are looking for.</comment></comment>


Zurich team develops walking, jumping, balancing, Cubli - <AUTHOR> http://phys.org/news/2013-12-zurich-team-cubli-video.html

<comment><USER2> For those who are interested, there are many sources for this story, giving different levels of detail, and making different claims. You can see some of them here:

[https://news.ycombinator.com/item?id=6946928](https://news.ycombinator.com/item?id=6946928) (youtube.com)

[https://news.ycombinator.com/item?id=6946485](https://news.ycombinator.com/item?id=6946485) (youtube.com)

[https://news.ycombinator.com/item?id=6946366](https://news.ycombinator.com/item?id=6946366) (ethz.ch)

[https://news.ycombinator.com/item?id=6943508](https://news.ycombinator.com/item?id=6943508) (theverge.com)

[https://news.ycombinator.com/item?id=6942335](https://news.ycombinator.com/item?id=6942335) (thetechblock.com)

[https://news.ycombinator.com/item?id=6941890](https://news.ycombinator.com/item?id=6941890) (digg.com)

[https://news.ycombinator.com/item?id=5285021](https://news.ycombinator.com/item?id=5285021) (robohub.org)

</comment><comment><USER3> Simple + interesting</comment>


Ask HN: How to get lots of spam, fast? - <AUTHOR> I'm working on a spam control plugin and I need to test it.  Ideally, I need hundreds to thousands of emails, from different senders, delivered to my test email account.<p>Are there any tools or methods available for this? I haven't found anything, I imagine because such a tool would be rife for abuse. <comment><USER2> Spam training set:

[http://untroubled.org/spam/](http://untroubled.org/spam/)

More good ones here

[http://stackoverflow.com/questions/4743996/publicly- availabl...](http://stackoverflow.com/questions/4743996/publicly-available- spam-filter-training-set)

<comment><USER3> Hopping on the top comment to provide a more serious answer than some below..

[http://www.mailbait.info/](http://www.mailbait.info/)

<comment><AUTHOR> Thanks for this, best answer on the thread.

<comment><USER3> No problem! Glad it was what you were after

</comment></comment></comment></comment><comment><USER4> Host a tor relay. I run two and put my email up as the maintainer and now I consistently get over 200 messages a day (I've since shut down my private mail server it was so bad).

<comment><USER5> Thank you for supporting privacy efforts.

<comment><USER4> Thank Snowden and Appelbaum. It was because of them that I started up these relays.

</comment></comment></comment><comment><USER6> Run a simulated OpenRelay [https://github.com/schumann2k/SpamTrap](https://github.com/schumann2k/SpamTrap) but instead of dropping all mail, redirect it to your target account. Might take a few days to weeks to get started though.

</comment><comment><USER7> I have a _lot_ of spam gathered over many years. It would need washing to remove my addresses from it, but there's a chance I could provide you with a corpus.

I would need more details about what you're doing, and some assurances about what you would do with the data. What do you actually need? Do you need all the headers? It would be easier if I only needed to provide the bodies.

I would need to look at the data I have, and I might withdraw this offer if it would be too much work. In the meantime, perhaps you could think carefully about exactly what you need.

You can contact me via the email address in my profile. It might take a day or two for me to reply.

</comment><comment><USER8> Report a bug to Debian on [http://bugs.debian.org](http://bugs.debian.org) and wait 20 minutes.

</comment><comment><USER9> I did research in this area with the amazing Jeff Huang [1].

(Here's the findings: [https://medium.com/@karan/how-do-spammers-harvest-your- e-mai...](https://medium.com/@karan/how-do-spammers-harvest-your-e-mail- address-3d30c77a019a))

Answer to your question: [https://d262ilb51hltx0.cloudfront.net/max/2000/0*q9f3570SPFf...](https://d262ilb51hltx0.cloudfront.net/max/2000/0*q9f3570SPFftR9cx.png)

> Notably, spammy mailing lists send the most spam. These mailing lists > include sites that promise you free credit scores, or insurance quotes, or > free ipads etc. These sites stink of spam, but people still continue to give > them their email addresses.

[1] [http://jeffhuang.com/](http://jeffhuang.com/)

</comment><comment><USER10> Post that your company just got funded in CrunchBase :)

But in all seriousness, look at blackhatworld.com (where the spammers gather) and look at how they scrape and spam email addresses (search for "email method"); there are a few ways that everyone else is copying, and you could get your email in there.

<comment><USER11> Actually talks about email spamming are prohibited at BHW. It is mainly a SEO forum nowadays.

</comment></comment><comment><USER12> Setup your email server to "swallow all". I did this and after a few years I got around one million spam mails per day.

I guess that if the emails never bounce they will keep sending new stuff to you. It's like saying "yes, yes, yes" to a sales person, they will just keep adding more stuff :P

<comment><USER13> I would say this is a good one. You can 'seed' it by signing up a bunch of different email addresses for various free offers or other stuff. Fill out web surveys and always put in an email for a chance to win the imaginary amazon gift card, also sign up to a few sites and leave the "let 3rd party offers be sent" or what ever it is. Once you've established 3 - 10 addresses on a few mailing lists the folks will start selling lists amongst each other and in no time flat you'll have millions of emails a day.

</comment></comment><comment><USER14> abusix provides this: [https://spamfeedme.abusix.com/](https://spamfeedme.abusix.com/)

<comment><USER15> Something like this, or another service with a large corpus of recent spam, seems preferable to seeking it out. The latter will not give you the kind of spam that arrives at harvested emails.

</comment></comment><comment><USER16> Purchase recently expired domains. Spamhaus does it, domain registrars collude with Spamhaus and threatwave/bounce.io.

</comment><comment><USER17> Put the unmunged address in the from and reply-to header of a Usenet client and make a few posts to Usenet.

Ditto some email lists.

Websearch news.admin.net-abuse.sightings

</comment><comment><USER18> You're going to want more than one email account. Ideally you would setup one or more catch all domains where firstname.lastname@example.com dumps in to your collection. This can be set up with Linux and Postfix. Your configuration should not use any blacklists. Then do what others have suggested to spread these addresses around the net.

</comment><comment><USER19> Tweet out the email perhaps?

Sign up for one of those free WalMart gift cards or the like - it's an endless chain of "offers" you fill out. I'd hate to share any links to give them any of HN's PR, but Googling "free walmart gift card" should get a juicy starting point 3 links or so down the page :-)

</comment><comment><USER20> Search for "free search engine submission" on Google. There are sites that will take an email address as part of the signup procedure and you will get BLITZED with spam and various junk. I used this nasty little trick to get revenge on someone when I was but a youngling.

</comment><comment><USER21> TREC has a spam corpus albeit dated at this point

[http://plg.uwaterloo.ca/~gvcormac/treccorpus/](http://plg.uwaterloo.ca/~gvcormac/treccorpus/)

92k messages, 52k of which are labelled as spam messages in the 05 corpus. Totals 300mb or so

</comment><comment><USER22> Register domain(s) & put your email in the whois records. Once they are indexed by google you should start to get lots of spam.

</comment><comment><USER23> Post a blatantly Liberal view on any article linked at the Drudge Report, with target email applied to whatever sign-in.

</comment><comment><USER24> Sign up for every retail coupon/rewards program. My wife does this, gets 50+ spam emails per day.

</comment><comment><USER25> Would a pre-assembled corpus of spam be ok for your needs? [https://www.google.ru/search?ie=utf-8&oe=utf-8&q=spam+corpus](https://www.google.ru/search?ie=utf-8&oe=utf-8&q=spam+corpus)

</comment><comment><USER26> Publish your spambox addresses as html comment in as many sites as you can, then wait for some days and you will start receiving unsolicited messages.

</comment><comment> X-Istence My mail server sees about 24,000 attempts at delivering spam to non-existent email addresses at my domain every 24 hours...

</comment><comment><USER27> JMeter has an SMTP mode, simply point it at your smtp server and configure how many emails you want to send.

</comment><comment><USER28> Sign up for everything on sweepsadvantage.com that doesn't require Facebook.

</comment><comment><USER29> Project Honey Pot (www.projecthoneypot.org) can provide you a feed.

</comment><comment><USER30> email@example.com this needs some spam as much as possible. Thanks Stress testing something

</comment><comment><USER31> Sign up with GoDaddy.

Sign up with Meetup.

Sign up with Twitter.

Sign up with $tech_startup.

<comment><USER32> Actually I'd put LinkedIn at the top of the list.

<comment><USER33> LinkedIn has been the primary source of most of my spam the last year; it deserves to be near the top of any list.</comment></comment></comment>


How to stop a story from appearing on Reddit - <AUTHOR> http://corte.si/posts/socialmedia/reddit-story-dos.html

<comment><USER2> I liked what the author posted in the comments section:

 _Sigh. My silly rant about ponies gets to #1 on Hacker news, while my serious, carefully researched 3000-word post on host-proof hosting languishes in obscurity. Oh, the humanity. ;)_

<comment><USER3> Another way to stop your post from appearing on Reddit is to make it 3000 words long. ;)

<comment><USER4> Conversely, a way to ensure that it _does_ appear on Reddit is to include several pictures (or videos) of kittehs.

<comment><USER5> Or a pony, lying on its back.

<comment><USER6> I tend to up-vote any ponies capable of pantomime.

</comment></comment></comment></comment></comment><comment><USER7> This highlights a more general problem: aggregation sites have algorithmic ways to bring content which is both "new" and "popular" to the forefront, while keeping spam and lame content off of the main page, and these algorithms can sometimes be hacked or gamed.

One political blog I read was often reposted to reddit and similar sites by its detractors, who would mis-title the posts in offensive ways and therefore get them buried. This is more or less the problem described here -- by submitting the post with a title that gets either automatically blocked or ignored/downvoted by the community, one can easily bury posts that might otherwise garner a fair bit of traffic.

Once it becomes common to game any particular aggregator, it becomes less trustworthy and therefore less useful as a filter. (IMO, HN's policy of not editorializing post titles is a good way to prevent this particular form of abuse.)

<comment><USER8> > One political blog I read was often reposted to reddit and similar sites by > its detractors, who would mis-title the posts in offensive ways and > therefore get them buried.

On a tangent, but the link title alteration (not necessarily maliciously though) was one of the main reasons I stopped visiting reddit as much as I used to. It got to the point where I'd open links in tabs, and just minutes later wonder if I'd clicked on the wrong ones.

</comment></comment><comment><USER9> easy...just submit a post without having a bunch of your friends upvote it....guaranteed to be dead on arrival

<comment><USER10> I know that reddit isn't exactly the most popular thing on HN, but in the past I have gotten a few articles on the frontpage without asking anyone to vote on them. This was a while ago (maybe a year now), but I think reddit's submission process has a while to go before it reaches something like Digg.

<comment><USER11> If you wait until you're number one on HN and then add a reddit flair to the bottom of the post then it's pretty easy to get enough reddit upvotes to make the front page without asking any of your friends to vote for you. If this doesn't work then just submit to one of the default subreddits, and you'll still make the front page. The only problem is that it'll take a few hours for this to happen so you can't really get above #15 or so, but that's still good for a couple thousand page views.

<comment><USER12> > but that's still good for a couple thousand page views.

Reddit has become that big? No wonder nobody goes there anymore. It's too crowded.

<comment><USER13> subreddits are excellent.

</comment></comment></comment></comment></comment><comment><USER14> add a ?a=1 parameter to the URL and resubmit it.

<comment><USER11> Even if this trick didn't work, it's your own blog post so just add an anchor at the top.

</comment></comment><comment><USER15> submit to reddit before you push the page to your site?

</comment><comment><USER4> Reddit still exists?

<comment><USER16> I think people are being a bit harder on this comment than they should be. It is phrased horribly, but I think jrockway might be making a valid point here.

Reddit still exists, but in name only. The site from even a year ago is dead and I think most of those users have left. This isn't necessarily a bad thing for reddit...their pageviews are _way_ up and they're seeing some growing pains, which is a great problem to have :).

<comment><USER17> You just need to head over to the smaller communities to find all the old users.

<comment><USER14> > head over to the smaller communities to find all the old users

can suggest a few?

<comment><USER18> proggit, other specific technical-topic oriented subreddits. There is an astonishing number of them.</comment></comment></comment></comment></comment>


Scala interview questions - <AUTHOR> http://pedrorijo.com/blog/scala-interview-questions/ <comment><USER2> I think it is very telling about the state of interviews in the tech world when:

1\. I can NOT off the cuff answer those all correctly (at least not without a little Googling).

2\. I can, largely off the cuff, implement an IO monad in Scala using higher- kinded types and compose instances of them in a hand rolled non-blocking server.

<comment><USER3> Rant Follows:

The state of interviews in tech is, for the most part, abysmal. You either end up with language trivia which tells you nothing about somebody's ability to reason about good solutions to problems _or_ you end up with some contrived white-board problems that simply show you the candidate spent a decent amount of time on leetcode/careercup/etc and nothing about their coding style, design choices, etc.

I've found that the best compromise is a two layered approach. Offer a straightforward collaborative coding question or hackerrank test to weed out anyone that's clearly incapable of writing code. Then have them complete a short project that you discuss with them at the onsite interview. Make sure the project requires a nice number of data structures, etc. You can really grill them about design choices, tradeoffs, what-ifs, etc. In my experience, it becomes immediately obvious if they know what they're talking about. Sure, it's extra work for a candidate. But in my experience anyone that actually wants to work there seems to prefer it over fast-paced whiteboarding.

I remember two interview experiences at "big 4" tech companies where I was given two fairly involved algorithmic problems and only 30 minutes where I proceeded to write as fast as I could and finish with only minutes to spare, despite knowing exactly what to do. Then I was grilled about SFINAE in C++. The whole experience left a very sour taste in my mouth, despite the nice comp they offered.

<comment><USER4> I help out with interviews at my employer and unfortunately we get a _lot_ of applicants who just can't code. I'm tired of hedging around the topic, so I'll come out and say it bluntly. We get people who say they are developers and are outright lying. We're not looking for computer scientists, or engineers, or anything of the sort. We're looking for people who can program and won't lie about their skills right to our face.

When you have your 10th interview with someone applying for a senior front-end job and they can't tell you how many columns are in Bootstrap, when Bootstrap is on their resume and they made a point to bring it up in the interview, it makes you question humanity. Unfortunately this is why you end up with questions like "What is the difference between `unapply` and `apply`?" or "How many columns are there in the Bootstrap grid?"

And unfortunately, especially in my geographic area, the majority of work is done as an employee or a consultant under an NDA. Nobody is bringing a GitHub profile with a solid green commit graph, nobody is coming with 45k rep on SO, and nobody is coming with years of blogging content we can look at. That's not necessarily a problem, especially if you've ever been in the same room as someone who is _very_ proud of how many SO points they have, but it certainly complicates interviewing.

So when you have a combination of (A) people who lie through their teeth to get a job they are in no way qualified for; and (B) people with no public technical profile to speak of, you end up with interviews full of trivia to make sure they have a pulse and contrived whiteboard coding to make sure they can understand the fundamentals. This is doubly hard if you're trying to respect people's time and limit interviews to a brief phone screen + a 60-minute onsite interview. Some of the suggestions I've seen here about take- home projects, consulting work, coming into the office for 2 paid weeks, or a 3-day long interview bonanza, are insulting.

<comment><USER5> I'll take the take-home project. Though I communicate fine otherwise, I stutter miserably when an interviewer is staring at me while I'm trying to whiteboard.

Be a little flexible; not everyone finds the same things "insulting".

<comment><USER4> I've done take-home projects as well, and I don't have a problem with them, but I do understand why someone who may be looking for a 9-5 may not want to spend their evening(s) or weekend doing a packet of stuff for an interview. I don't want to exclude those people from being able to apply and be successful.

</comment></comment></comment></comment></comment><comment><USER6> Related: The levels of Scala knowledge, according to Martin Odersky[1]

[1] [http://www.scala-lang.org/old/node/8610](http://www.scala- lang.org/old/node/8610)

<comment><USER7>
      > Level A2: Intermediate application programmer
      > [...]
      > - XML literals

nope nope nope nope

I'm sorry; I really want to like novel languages, strongly typed language, portable languages, and a bunch of other boxes that scala _does_ check. But stuff like this... what?

This may be my most reddit-worthy comment in the history of Hacker News, but sometimes you see a spade, and you just have to call it a spade. Scala has the most utterly bizarre priorities.

<comment><USER8> XML literals are now deprecated.

Which is too bad, in my opinion, as HTML is mostly XML, too, and they are immensely useful for HTML templates in Scala.js environment (like React's JSX on steroids). Who'd have guessed.

I can only hope that thanks to the amazing work of Eugene Burmako, we'll have SQL literals, JSON literals, and whatever else, all properly typed, of course. Now _that_ would be something!

<comment><USER9> This is my perspective as well. These things probably shouldn't exist at the language level, but with some thoughtful design, you don't need DSL grammar and type checking in the language. You still can have it in libraries or compiler plugins. The world would be better off, not worse off, having strong static reasoning and compiler enforced safety with the various DSLs we use on a daily basis: SQL, XML, Json, Protobuf, Regexp, etc., all the way down to things like Drools Rules, Datalog, Graphviz, Yacc.

</comment></comment></comment></comment><comment><USER10>
      lazy val x = {
        println("computing x")
        3
      }

unsafePerformIO, unsafePerformIO everywhere...

</comment><comment><USER11> These are terrible. Not because they don't test knowledge of scala, but because language trivia is a terrible way to identify a quality candidate.

<comment><USER12> This is the real answer! You can understand the abstract idea and not know the trivia. If the person doesn't know scala, then they won't know these. Find something they do know and expand on that or relate it to the scala and then ask "So why would you use this"

</comment></comment><comment><USER13> Original author here.

this post was never a "memorize this and you will know scala" statement, or that if you know those answers you will get a scala job. I simply found those questions a while ago and decided to provide answers by myself as an exercise. I do believe some answers may not be completely right (even completely wrong), and others may be a starter for a nice and productive discussion.

Also, knowing the answer to these questions doesn't make someone a good/better developer. These are just some small islands on the (scala) software developer knowledge!

In my opinion these are somehow basic concepts (that will only be valuable when applicable on 'real life' code), and there is a lot more to explore, specially about the type system. To know more about the type system have a look at this awesome article I found: [http://ktoso.github.io/scala-types-of- types/](http://ktoso.github.io/scala-types-of-types/)

Unfortunately, these are questions often done in several scala-related job interviews (I had my share. Coincidence or not, I never accepted an offer from a company which did that kind of questions) :(

Feel free to provide feedback or discuss some topics.

</comment><comment><USER14> Those are generally pretty easy. Now ask me to recite all of the rules of implicit resolution, and I will be stumped. That is probably the only part of the language, other than delimited continuations, that I do not need to know for day to day things.

</comment><comment><USER15> Question two is outdated for Scala 2.12, a trait might be compatible with Java (but doesn't need to)

<comment><USER13> I didn't even remembered that detail. I read about it when scala 2.12 was out, but unfortunately I still couldn't migrate any app to scala 2.12...

Thanks!</comment></comment>


Coin Introduces Arduino-BLE Developer Kit - <AUTHOR> http://blog.onlycoin.com/posts/2013/10/3/coin-arduino-ble-dev-kit

<comment><USER2> For those who don't know, another reason why BLE is great is that you can make Apple product hardware accessories without spending thousands of dollars on MFi (made for iOS) certification like you had to do with regular bluetooth. For those who want to get started sooner than December when coin launches, I found this site useful: [http://blog.bluetooth-smart.com/2011/10/05/bluetooth- low-ene...](http://blog.bluetooth-smart.com/2011/10/05/bluetooth-low-energy- development-kits-2/)

</comment><comment><USER3> Great! I've been looking for an easy and affordable Arduino+BLE setup and this seems to fit the bill.

</comment><comment><USER4> This is awesome! Go open source hardware!</comment>


40 Emails, 2 Tweets, and an Interview:  How I Landed an Internship With GaryVee - <AUTHOR> http://andrewlinfoot.com/40-emails-later-how-i-landed-an-internship-with-garyvee/

<comment><USER2> Do you think he didn't respond to the original email because it was "short game" as Gary would say? There is an element of quid pro quo however.

<comment><AUTHOR> Maybe partially. I think the main reason was because the position I have didn't exist when I first emailed him and he is way to busy to take on a full time intern just to mentor them.</comment></comment>


Supermarket Forced to Destroy $35,000 in Food After Woman Coughs All over It - <AUTHOR> https://pittsburgh.cbslocal.com/2020/03/25/pennsylvania-supermarket-throws-out-food-after-coronavirus-prank/ <comment><USER2> I am all for making examples of these idiots at this stage of the proceedings.

</comment><comment> java-man This should be followed by a terrorism charge maybe?</comment>


Show HN: CSS3 icons and glyphs that you can use for free - <AUTHOR> http://cssdeck.com/labs/css3-monochrome-icon-set

<comment><USER2> Neat, but you should probably give Glyphish some credit for design inspiration here.

<comment><USER3> I think "design inspiration" is a bit lenient. He even copied the Gylpish popsicle icon.</comment></comment>


Too much time on their hands? - <AUTHOR> http://www.johndcook.com/blog/2009/11/07/creativity-and-criticism/

<comment><USER2> This raises an interesting point. I've often expressed that same sentiment without examining the underlying emotion or motivation for it: I'm sad that you got something done that you wanted to do and I'm stuck here seeing other people coo over it while I'm working on crappy projects I don't care about.

Now that I see that I'll endeavor to never act so hideously towards another's creativity, for my own good, and try to _make_ the time to waste on things I care about.

</comment><comment><USER3> Cross-reference. Same topic, more in the article, many HN comments already:

<http://news.ycombinator.com/item?id=1591218>

</comment><comment><USER4> This is a great post. I can't stand it when people criticize others for the (sometimes unusual) interests they have, when the most interesting thing they do themselves is exercise or watch TV.

</comment><comment><USER5> Creativity and persistence are great, but the time still needs to be channelled in a constructive way. Otherwise you end up with products no one wants or ruining something with new many scope creep and feature bloat.

<comment><USER6> Unless your just doing it for yourself.</comment></comment>


Rails deployment missing piece, filled in - <AUTHOR> http://github.com/javan/whenever/tree/master <comment><USER2> Why not just use cron for this? Yes, the syntax for this does look a lot cleaner, but cron really isn't that hard to use. Why add another layer of complexity (which may break and be difficult to debug) when you could simply add lines to a crontab?

Bonus feature: "USING THE "—write-crontab" OPTION WILL COMPLETELY OVERWRITE ANY EXISTING CRONTAB ENTRIES!"

Wow. I like Ruby but many in the community's obsession with reinventing the wheel (with slightly more syntactic sugar and a hip github page) is pretty difficult for me to understand.

<comment><AUTHOR> Because if you have more than one machine running your app, you've got to reinstall the crontab everywhere. This keeps it DRY.

<comment><USER3> It also means that your crontab just went in source control, which is a detail a lot of people (i.e. me) forget.

</comment></comment></comment><comment><USER4> Very good addition to Rails, truly a missing piece as putting stuff in cronjobs spreads the logic of the app around. This makes it more readable as well.

<comment><AUTHOR> Right--whatever your session cleanup strategy is, it's got to be run from cron.

It's great that the author includes a cap task in the documentation, though the role should usually be db, not app.

<comment><USER5> > whatever your session cleanup strategy is

... not really. If you're using cookie-store (the Rails default) or mem-cache- store (the fast, scalable option) there isn't any need for a session cleanup strategy.

I can definitely agree with the point on documentation - killer docs with real-life scenario examples are really key in adoption for stuff like this.

<comment><USER6> Storing sessions in a cache is a really bad idea. Too many sessions, and they start expiring randomly. I have been bitten by this, so I always store sessions in a non-lossy data store now. (BerekelyDB, FWIW.)

(As for in-cookie sessions, I like the idea, but it does require some server- side state to allow a user to invalidate his previous sessions. If someone steals the cookie, they have access to the system "forever", and the user has no recourse. The solution is to store a serial number in the user object, and reject sessions less than the current number, but I don't think Rails implements it this way by default.)

I am also not a big fan of running the cleanup job from cron. My main application has an event loop capable of firing timers (libev), so I use that to kick off a (forked) cleaning process. That requires no additional configuration on the system that the app is running on, which is just the way I like it. (Yeah, I know I am reinventing UNIX. UNIX needs to be reinvented.)

The event loop has other advantages, like non-blocking IO, and non-blocking subprocess invocations. A request can literally wait all day for a database query, and it won't prevent the app process from handling other requests.

<comment><USER5> > storing sessions in cache is a really bad idea

I've never had this issue, so I'm either using a bigger cache than you, or I'm storing less in the session.

>. Cookie store

I can't really speak to why the rails core team made this default, I think it's a step backwards.

> libevet...

That's certainly an option too. The beauty of this tool though isn't in the ruby syntax for cron. It's in using capistrano deployment flexibility and expressiveness for managing distributed crontabs.

<comment><USER6> _I can't really speak to why the rails core team made this default, I think it's a step backwards._

"It's cool." Seriously though, they probably picked it because it requires no configuration. It also avoids hitting the database for things like "Logged in as jrockway", which is always a good thing.

</comment></comment></comment></comment></comment></comment><comment><USER7> Lol, I wrote "RailsCron" in 2005-2006. Funny to see how the ruby community iterates.

</comment><comment><USER8> Cool. I'm in support of any syntax front-end that brings us closer to a future where everyone uses s-expressions for everything. ;P

(it's not s-expressions, but it's a step in the right direction)

</comment><comment><USER9> nice, but is it possible to use it somewhere else than Rails, like say, Merb or Sinatra?

<comment><USER5> Not without a little hacking. After a little digging, it looks like it has an implicit Rails dependency ([http://github.com/javan/whenever/blob/f036675e94cd9dd9b21d2c...](http://github.com/javan/whenever/blob/f036675e94cd9dd9b21d2c1af9b96846d945545b/lib/base.rb))

<comment><USER10> It will work FINE without Rails. The code you're pointing to simply finds the Rails root if it exists as a convenience. If one doesn't, you have to manually tell Whenever your path: set :path, "/path/to/my/app"

</comment></comment></comment><comment><USER11> just bite the bullet and learn to use crontab ffs.

nice sugar though...

</comment><comment><USER12> Nice, but does it work on Windows?

<comment><USER10> Do cron jobs work on Windows?

<comment><USER12> No, they don't. My question asked whether yours was a convenient wrapper for cron jobs or if you implemented the same functionality in a cross-platform manner. Thanks for your answer.</comment></comment></comment>


nde – The IDE of the future, today - <AUTHOR> https://nde.now.sh <comment><USER2> From a marketing perspective, you should absolutely have some sort of landing page that explains what I just clicked on before telling me to "wait" because the "application" is loading.

<comment><USER3> Yeah, this is going to lose a lot of folks instantly.

</comment></comment><comment><USER4> This reminds me of a first date I went on once. We met at Carls Jr because she happened to be passing through the area and didn't have much time, and after 20 mins says, "So, is this heading towards marriage? I don't have time to waste."

This app is way too much, way too fast.

</comment><comment><USER5> Doesn't work on Firefox, Error! n.XMLHttpRequest is not a constructor.

Please be considerate, the web is more than just Chrome

</comment><comment><USER6> Unable to even see this, on iOS it's just stuck waiting for a service worker to "install." Why? I wanted a landing page, not just to go straight to the app. If I recall correctly there's no service workers on iOS yet?

<comment><USER7> Worked great for me on iOS 11.3.1 in Safari. There's a two-pane markdown editor along with a feature checklist. The cool thing appears to be that the "app" is being git-clone'd right in your browser's service worker, which is quite cool if it really is bootstrapping out of a Github repo or something.

</comment></comment><comment><USER8> I have no idea what this is, why would I wait for it to load?

</comment><comment><USER9> When can I buy the Enterprise version? And do you accept Bitcoin?

</comment><comment><USER10> Slow down people it's a parody

<comment><USER11> Of what?

</comment></comment><comment><USER12> Just spins on Win10 Chrome.</comment>


A startup comes up with a new open source license. - <AUTHOR> http://www.cilk.com/multicore-blog/bid/7191/The-Case-for-a-New-Open-Source-License

<comment><USER2> Wow this license terrifies me.

It seems to me to be entirely unclear on the most important point. When does "internal use" go from allowed to unallowed? The write-up dodges this point completely and the license itself seems to imply that "developers" can use it internally but others can't.</comment>


Ask HN: What happened to Rolling.fm?  - <AUTHOR>

<comment><AUTHOR> I was looking to take a break from Pandora, and realized that <http://rolling.fm> is gone. Disclaimer: turntable was not letting people in at the time.

</comment><comment><AUTHOR> This thing existed very recently, where did it go?? [http://www.betabeat.com/2011/08/08/rolling-fm-yeah-we- copied...](http://www.betabeat.com/2011/08/08/rolling-fm-yeah-we-copied- turntable-fm-but-were-taking-it-to-the-next-level/)

</comment><comment><USER2> [http://www.betabeat.com/2011/12/30/rolling-fm-indeed- disband...](http://www.betabeat.com/2011/12/30/rolling-fm-indeed-disbanded- another-co-founder-goes-to-squarespace/)

</comment><comment><USER3> I'm not sure but didn't they go around spamming people to join them telling them "someone" invited you?? Not sure if they got in trouble for that</comment>


This Game Is Bad for You - <AUTHOR> http://shamusyoung.com/twentysidedtale/?p=41853 <comment><USER2> The title should be changed to say "Twitter is bad for you", since it is closer to the intent of the article. I think Shamus Young (the author) used game since he began with a gamified view of Twitter and most of his articles are about games, but as it stands, the current title is not useful.</comment>