skysight-inc/HackerNews huggingface dataset:
Yes, this is something that I've been thinking about the last couple of days. Thunderbolt doesn't seem to be a complete protocol stack like USB - at least that's what Intel's emphasis on Thunderbolt's PCIe protocol implies. Rather, it seems to have a simple encapsulation protocol. Without a protocol stack you can't have stuff like class drivers or channel categories (bulk, isochronous, etc). Not unless you re-use another protocol or technology that also uses PCIe, like USB EHCI or something.

But then what does the EHCI talk to over the Thunderbolt-PCIe? An EHC? Where? On the Thunderbolt device? In the Thunderbolt cable? Or is the EHCI reprogrammed to include a software EHC? Maybe that's what how Thunderbolt will work - re-implement every hardware bus controller (SATA, USB, etc) in software. A peripheral plugged into a Thunderbolt port on a computer would be either

- A peripheral with a Thunderbolt connector itself, connected with a Thunderbolt-to-Thunderbolt cable. The peripheral would actually be communicating Thunderbolt-encapsulated USB packets (or SATA or whatever) with a software USB EHC in the computer.

- A legacy peripheral (USB/SATA/whatever) connected with an expensive Thunderbolt-to-USB cable. The cable would have to do the Thunderbolt encapsulation and transcoding for the peripheral. Again, it would be communicating with a software USB EHC in the computer.

I can kind of understand why Intel would be interested in this. If doing anything useful over Thunderbolt means implementing existing hardware controllers in software (SATA HBA, USB EHC, etc), Thunderbolt is going to be a great way of burning excess CPU cycles. Just as USB was a less CPU-efficient connector than Firewire, Thunderbolt may need even more CPU cycles. This would be a great technology to promote if you're in the business of selling people CPU cycles.
In the NYT article it sounds like he intentionally collapsed and then they took him to the hospital. From the above link it sounds like the police just took him to the hospital because they wanted to.

"I have been arrested 9 times. The proper procedure for police is to take the arrestee to a magistrate. This happened twice. On 7 occasions, I was taken to hospitals (3 times to NY Downtown Hospital, 3 times to Bellevue Medical Center, and once to Saint Vincent Catholic Hospital)."

I can't help but think of the recent case of the NYPD who was forcefully admitted to a psych ward because he was a whistleblower.
Although not of interest to most here (sorry), I'd just like to point out that if you are in Japan when you click that hashbang URL--or any lifehacker URL that comes up in e.g. a google search recently--the server pukes on itself and redirects to www.lifehacker.jp. I'm guessing their links are broken anywhere in the world where they have a localized site? Kinda sad.
Related news from yesterday - and related to past repeated posts by some on Hacker News insisting there was a 'ClimateGate conspiracy':

"An inquiry by a federal watchdog agency found no evidence that scientists at the National Oceanic and Atmospheric Administration manipulated climate data to buttress the evidence in support of global warming, officials said on Thursday."

http://www.nytimes.com/2011/02/25/science/earth/25noaa.html?...
The Streisand Effect in action: by literally turning the issue into a federal case, the prosecutors are guaranteeing that more Americans will learn about the concept of jury nullification than from merely handing out pamphlets on the street. I wouldn't be surprised if he intended to provoke the case all along.
I apologize for not addressing the main question, but I'd just like to express that I disagree that you're not very smart.

It might be a knee-jerk reaction on my end when it comes to to the whole "maybe I'm not smart enough", but you're showing awareness of your own (current) limits, which isn't something to speak lightly of.

What are your experiences with problem solving? It's something you learn, like most things. You might not be able to 'think' in that fashion now, but I know quite a few people who swear their brains and perspectives have been reprogrammed through forcing themselves to study math despite lack of talent, and in my own experience you can learn to flex and twist your mind much like you can your body, even if just like with your body it might be easier or harder in some directions.

You might however lack the aptitude which make it more fun to engage in or otherwise lead many more savvy to programming and CS, and only you can decide wheter this is something that slows you down or stops you dead.

When I did martial arts, I had some students who were dismissive towards their less sports-savvy comrade since they took longer or had a harder time to learn the basics; but what they forgot were that they'd already learned all the periphery skills of using their body from other sports, for them it was a simple matter of learning one more skill atop their experience and skill at already using their bodies, the ones who were having troubles were learning several more skillsets at once since they hadn't up to that point.

The same could apply to you, people have the opportunity to learn or understand different things at different points in their lives; some lessons some of my friends learned when they were 12 which other friends learned when they were 60, partially since they hadn't had the opportunity to truly learn or understand them until then.

I guess what I'm trying to say is, try not to be discouraged because it's hard; it can sometimes mean you're not aware of all the things on your plate at the moment, and even if it feels you're failing you're probably learning something else that's also beneficial while you do.

Sorry for semi-rant, but that's the part I felt remotely competent to comment on.

I do however agree that projects are the way to go if you wish to learn or remember. I and my friends learn more from our personal pet projects than we've ever done at our University.
I don't know DripDrop (nice name), but messaging is really the way to go. For example with Photon or any system really embracing the message passing approach of Mongrel2, you can get an HTTP request and send back an answer to other connection over jsSocktet (real time analytics for example) or even directly into an HTTP stream (chunked encoding in long polling).

The flexibility to easily address a message to a given connection from everywhere at the backend level is what is wonderful in the protocol developed by Zed.
Final text messages from an earthquake victim
Tell HN: The conference I organized is livestreaming 7 new startups
Last September I started to put together a conference for startups because FOWA left Miami - we're launching 7 new companies today & have 8 AWESOME speakers tomorrow!

We've got some awesome judges including Charlie O'Donnell from first round, Andrew Warner & Paul Hontz from startup Foundry.

Come check it out - http://superconf.net/live

Thanks!
Oh god I remember trying to install Gentoo on a PowerBook once about 5 years ago on the advice of a friend. Spent a couple days trying, never did get it working but I did learn a bit about Linux...

Of course the skills you learn are more sys admin / OS concepts than fundamental CS concepts though.
Encourage Your Crush To Break Up With Creepy Facebook App
Unknown - Senza identità Streaming Megavideo ITA (2011) - Film
Scaling out vs. scaling up is the false dilemma, the answer is both at the same time solving the bottlenecks you have using the time and resources you have. The "vast majority" of applications do not map well to an n-wide map-reduce-esque design, the "vast majority" of applications bottleneck on an authoritative datastore's I/O capacity.

I'm the sysadmin (not the dba) for a website that does 30K http req/s at the edge, and our mysql cluster does about 3000 req/s during mid-day with most queries in the 1 - 5ms range.

Highscalability is a terrible place to get started, its a great place to share notes but if you get started there you will waste insane amounts of time on architecture astronaut nonsense.
I'll second this. It's long and laborious, but it's also not as hard as you might think - the handbook is great at holding your hand through the process.
There's an iPhone app called Streaks that does this very thing. It's pretty nice.
An inquiry by me found a lot of evidence. Sorry.
Watch SuperConf live
Is that the entire script? I do not quite understand how that would comprise an entire project. Could you put it on github, perhaps? I'd like to browse thru a working Photon project.
I think that the curation is definitely helping - you can really see the decline in quality of the results as you page through.
It sounds like you may not be "dumb", but maybe just a beginner who is struggling to get to the next level. Here are a few questions I'd ask first before you decide programming is not for you.

1. Do you work with other experienced and passionate programmers who can mentor you?(http://chadfowler.com/2011/02/24/be-careful-of-who-you-work-...)

2. Do you know how to learn? A lot of people assume it just comes down to reading the material, I found this book explains the process quite well and it is put in the context of a software developer looking to attain mastery http://www.pragprog.com/titles/ahptl/pragmatic-thinking-and-...

3. Have you "cultivated your gurus" so to speak? Putting up a post on HN is a great start, but continually involving yourself in discussions in the greater community will help you to tap into a source of experienced mentors even if you don't work with them. Find groups for topics you are interested in and then involve yourself, ask questions, learn, then contribute to the discussion yourself.

4. Have you considered getting involved in some open source projects? These are a great place to learn from others as well.

In the end learning isn't generally as simple as just reading a few books for most people. I would consider starting with a few books on how to get your career development and your learning process on the right track and then go from there. Even if you do decide you're not cut out for programming, what you learn from those books will be valuable no matter what path you choose.

The books I'd recommend:

http://www.pragprog.com/titles/ahptl/pragmatic-thinking-and-...

http://www.pragprog.com/titles/tpp/the-pragmatic-programmer

http://www.pragprog.com/titles/cfcar2/the-passionate-program... (will admit to not reading this one but I hear very good things)

Yes I realize these are all PragPro books, what can I say, they are that good.
MIT Builds an OS to Give Multicore Chips a Heartbeat
Henrico schools to pursue tablets
Exchanges often use (relatively) esoteric hardware + real-time OSes, such as the Tandem NonStop series. Experience with such a platform + domain knowledge about the finance industry is a rare combination, so I find it plausible that a couple of core expert programmers on the stock exchange's system get compensated quite well. High six figures + 80% bonus == seven figure, I guess?
Thanks for posting this. I got the LifeHacker homepage and thought using LifeHacker was Seinfeld's secret.
Why VCs won't invest in games
Ask HN: Help me prepare for my interview with Ward Cunningham
I've scored an interview with Ward Cunningham for an upcoming Pragmatic Podcast, and would really like help from the Hacker News community. I've always loved the questions that get asked here.

If you could ask Ward Cunningham a question, what would it be?

If I use your question, I'll credit the submitter in the show notes.
I am pretty sure a lot of people, myself included, learned things by actively messing with it. Books are helpful for basic, but for everything else, just installed a Linux distro (I like Debian!) and then proceed to play with it. Read a few online articles (http://www.google.com/search?hl=en&source=hp&biw=141...) and just build your experience slowly. I use VirtualBox (http://www.virtualbox.org/) to install Debian on my Mac/Win boxes.

Good luck and as always there's #apache on freenode.
I admit this does accomplish the motivation to routinely complete certain tasks. The problem I have with productivity tools is that they can't take into account all the constraints that are important: type of tasks (routine tasks + 1-time tasks), categories of tasks (project-related, home, work, hobbies), priority of tasks (most important to least important), time sensitivity of tasks (now, today, tomorrow, whenever) as well as size, scope, yada yada yada. Various tools seem to accomplish some but not all of these. What I am left with is a handful of tools that I get notifications for and am feverishly trying to check and manage. Productivity has now become managing all these productivity tools. Still waiting for that killer app that can match my (and I'm sure others') complicated mental model.
As much as I love New York, this isn't true, at least for the car. The base payment on the BMW will be the same (call it $600 if you buy) but your insurance will be higher in urban areas, you may pay as much as $300-400 a month for parking in Manhattan, and gas is probably higher as well.

So that car ends up being 20-30% more expensive in NY vs. a rural area, or even vs. say Los Angeles, where a parking space runs about $100 a month. This is why so few people living in Manhattan have cars - the net cost is well over $1,000 a month and you might as well just rent all the time.
I am pretty sure Porn as an advantage in one aspect. People went out of their way to seek it.

In a aroused state, it wouldn't matter what you're watching, it could be someone just running a hand over their other hand and you'll get viewers, it's just enough to get off on.
For a lot of professional needs, the most valuable information is hidden in the deep web. For example, many MIS/DSS/ERP/CRM/TLA systems don't provide a lot of public information about how their systems work, so if you are trying to evaluate the market place, it would probably take you 3-6 months of research.

For example, I work at a healthcare services start-up, and we have one person full-time researching our competitors and figuring out how to differentiate us in the marketplace, as well as figure out what keywords someone might search for to find this kind of product. We're mainly mathematicians and smart programmers who found a way to break into the market initially, not marketers, so our terminology doesn't match domain experts well.

Anecdotally, I think most users are VERY bad at ranking how valuable information is. For example, we'll get paid $100,000/year for something that takes 1 week and provides zero insight into their business, and then they will refuse to pay us at all for something that makes them $30,000,000 a year! This is so common that I am wondering if its more a symptom of human nature than our customers.
You probably don't have a learning disability. You have simply come to grips with the fact computing is inherently difficult in a lot of aspects. When you go out and teach yourself, don't be discouraged by failure. You shouldn't read technical books like a novel, no one does, and those who claim they do are just lying. For more on that you can read this: http://web.stonehill.edu/compsci/History_Math/math-read.htm

Which describes how math books (and other technical books by nature) should be read and studied. Don't think after reading a paragraph, you should understand everything. Take it slow, and take the time to work out things on your own, the more this happens the easier it gets.

Also, whether you are good or not at problem solving, just remember that you should be enjoying the process of solving problems, not necessarily just the answer. It took Steven Hawking 29 years to make a big step of progress with Black Holes. Experimenting is just as important as the thought process is. Read something, test it, break it, try to fix it.

You also stated you had difficulty looking from new perspectives. This is tricky, but first get your creativity flowing, then ask all of these question. Why? How? Why Not (INSERT SOMETHING ELSE)? Will it work with this? What is the fundamental idea? Is there a way to change the implementation of how this is done, while still maintaining the proper outcome? Scribble down your ideas, and play with them.

For example, I remember when I was trying to fix my indoor toy flying helicopter after the plastic broke on one of the propellers. Instead of taping it I asked myself, what it was exactly I was trying to do, which was reconnect a broken plastic propeller. Then I asked myself what ways this could be done. After fooling a bit, I decided that since it was plastic I could simply melt it back together. You just have to learn to break things down, and chunk them together, and play with the elements of a problem.

Keep reading, learning, most importantly have some fun.
I think maybe your model of how a person becomes a good programmer and reality might be far apart.

When I wanted to learn C, I bought six or seven books, some of which came with a compiler. I read each book.

Now that probably sounds like I am a genius, sucking down information directly from the text. But what really happened wasn't so flattering at all: I flailed. It wasn't until the third book or so that I finally got anything to compile, and I think it was book 4 where I figured out how the hell to read pointers.

I really sucked at learning programming.

When I picked up C++, we were on a family vacation. The kids all played in the pool and did fun stuff. I sat by the pool and read C++ books. If I thought C was tough, C++ was a killer.

I finally got it, though.

Last year, when I wanted to finally learn Functional Programming (I'm 45) I did the same thing. And this time, guess what? Even after the books I sucked.

So I started writing little projects, which also sucked. I went back and read the books again. I wrote some more code. I still suck at it, but I suck a little less. Perhaps in another year or two I'll consider myself proficient.

Yes, it is terribly awesome to sit down in front of a client with a tough problem and do some wizardry on the screen and feel like the hero. I spent my 20s and part of my 30s being the super-hero star guy. I had a blast.

But that's just hot-dogging: showboating. (People do it for fun and to make their job more like a theater performance) In reality for every one of those times I was showboating there were hundreds of hours spent trying to figure out what the hell was going on with something.

I think it might be easy to look at other coders who are like I was and get the wrong impression. Yes, some folks are smarter or have a better recall than others, but guys with huge recall ability many times get wrapped up in some kind of minutia that's not important to the team. Everybody has flaws. This will sound very strange to hear, but it's true: you can be the worst programmer on a programming team and be the most valuable and critical person there. I've seen it happen dozens of times.

The question is: are you working at making yourself better? Not how smart you are, how you feel about programming, or any of that. Just a simple question about what kinds of habits you have in place to continue to improve. If you have those habits, you'll either become a better coder or eventually work out what you're meant to do. But you have to have those habits first.

So my advice is a little less angst and a little more work. Both to you and me :)

EDIT: By some kind of weird twist of fate I have been thinking about this a lot recently, because I was writing a review of the best book I've ever read that improved my coding, Code Complete. http://news.ycombinator.com/item?id=2263127
I was for him till I read this:

In one recent letter to the court, he said he wanted
Muslims “excluded from the jury” because he was Jewish and
“Islam preaches death to Jews.”

Now he comes off as some old racist, cranky dude.
[Edit: I still do think what he's doing is admirable and very noteworthy. I was just saying that that single quote makes it easy for people to dismiss him and why he's doing what he's doing.]
Firstly I'd say don't get down about it, my guess is that over a certain level (which you are no doubt at) IQ correlates poorly with success.

What are your soft skills (social, sales etc) like? There is a real sweet spot for people that can span both worlds. That role is a lot of fun too.
The Fibromyalgia Diet That Might Be Right for You
> I now have found that I lack the fundamentals of Computer Science, the things every programmer should know: Algo's, Data Structures, Operating Systems an understanding of compilers and being profficient with linux.

Sorry, but I'm not proficient at everything of this (especially Linux, maths and algorithms), and still I consider myself a talented coder. I'm very skilled at gluing code together (gluing with skill, not throwing things together). At the end of the day, what matters is whether you can make things work, and nothing else.

> OTOH I have given thought about if programming is really for me, I have found that I'm really, really bad at problem solving and "thinking outside of the box" I have come to accept that I'm really not smart. I'm slow, forgetfull, concepts never seem to stick, I have to force myself to not take things for granted, it seems no matter how hard i try I can't look at problems from different perspectives and understand the implications of a particular solution, I'm starting to think I may have a learning dissability, or that is because I lack the basic toolkit for problem solving, but I really think I'm just not very smart.

I think that before learning to think out of the box, you should start to live out of the box. Join an acting class, especially one where improvisation is stressed (I recommend you find an acting school which teaches Lecoq's method). Challenge yourself to do things you are bad at (in the beginning, I was very very bad at acting).

Try finding similarities between things in different subjects. Read "Neruda's Postman" by Skarmeta to learn what a metaphors are and how to find them. The more different the areas of human activity you'll know, the better you will be at spotting similarities and challenging your ways of doing things.
This is effectively the entire "server side" views handling the jsSocket connection. The front end is a copy/paste of the chat available in the Mongrel2 examples.

I will put up a full tutorial from a bare installation of Debian up to this chat server.
Yes, they stop rainbow tables, but not GPGPU crunchers like the HD 5970. Moore's law is catching up rather fast at the moment.
How to pitch your idea in 3 minutes - why your elevator pitch matters
I disagree. The speed is definitely a big part of the problem, but there is also space to consider. Yes, drives are big and space is cheap (relative to many other things), but it's not nothing, and on a production system, there is zero reason to have the docs take up space.

Additionally, now that we all use bundles, gemsets and who-knows-what to isolate and manage gems, we get massive, massive duplication. See for example, the output of this gist: https://gist.github.com/834302
Thanks for your words.

I agree with you that formal education is valuable when you lack direction on "how" and "what" to learn as you stated.
What do you count as a "thing" completed?

In dividing up complex overwhelming tasks into small doable tasks, they can become quite small - where do you draw the line, for what counts? Do you also include things from different projects or categories, or from all aspects of your life? as an extreme example, do you include daily chores?

Maybe making it as broad as possible would be effective, because completing anything gets you started, and into a productive frame of mind.
Ah, but these days, as a porn site you've got to compete with thousands of others.

It's not "will the audience look for porn", it's "Why will they choose your porn over someone else's?"

(Likewise, it's not "Will the audience look for an action-adventure show", it's "Why should the audience choose YOUR action-adventure show?")
Anonymous Game Developers Interactive release remake of King's Quest III