skysight-inc/HackerNews huggingface dataset:
So I've worked on on an older open source project that does exactly what you suggest. The main loop accepts socket requests using non-blocking IO, figures out how to handle that request, and then forks a child process to handle it appropriately.

This can work great and can scale very nicely, but it also has some major drawbacks compared to other solutions. The whole point of the original post was that single-threaded non-blocking event loops are very fragile. You can easily end up accidentally freezing the entire application.

Other problems with forking event loops include:

- Simple Event loops require you to manually CPS-transform your code. This isn't an issue for a simple request-response cycle, but it quickly turns into spaghetti code for anything more complex. For a college class I once wrote a toy non-blocking P2P client in Python using entirely non-blocking IO, while all the other students chose to use threads. My client was very performant, but the code ended up being FAR more complex than everyone else's solutions for the simple reason that I had to code in CPS the complex multi-step interactions that occur between peers.

- If any of your tasks are not independent and must interact with each other, you have to start dealing with IPC, which can be very difficult to get right without a good message passing library. Even with one, it can still be more complicated than using threads. Clojure's STM, for instance, is useless without a shared memory model.

- Your application is not portable to Windows if you rely on forking.

And these are just some of the problems with using a simple non-blocking event loop to drive your entire application. Throw in the fact that you are using javascript, a very unscalable language never designed to do anything more than provide interactivity in the browser and that has incredibly sparse library support, and you've got lots more problems on top of that. Node.js just isn't as useful as its very enthusiastic proponents claim it to be.
> I want now is something like Locale or Tasker, background apps that allow me change phone settings according to different criteria, e.g. when I'm at home, my ringer and wifi turns on, when I leave home they turn off.

Yeah a more integrated Reminder, which can handle switching settings: it has geofenced tasks and todos, system hooks would be pretty cool.
Ask HN: How is the iPhone 4S disappointing? 
At first at the announcement I was a little bit disappointed. But looking at the specs and copy, the 4S is hardly any different from what all of the rumor sites were recently predicting. Other than there is no new design and it's not called the 5.
If you develop an app that is so universally useful that everyone would want it on their phone, Apple will copy it.
You are picking up nickels in front of a bulldozer but in exactly this kind of apps some people managed to pick up lots of nickels before the bulldozer got them.
The iPhone 4 is (apparently) Apple's most successful product launch ever. It has been for me their most useful product ever. I am rarely without it. It's my phone, my music player, my camera, my alarm clock, my kitchen timer, my only game system, and often my web browser. It is also the most solid-feeling, elegant, understated thing Apple has ever sold me.

Apart from "faster", "better at connectivity", and "better at taking pictures", where does Apple have to go with this thing? A new chassis design? Why?

I agree that this was a boring keynote. But I think it's boring because Apple has got this particular product design nailed. It may not be the best phone we'll ever see, but they're holding 20 and the dealer is showing 6.
This is generally not true: http://www.thedailybeast.com/newsweek/2008/06/28/having-kids.... Although it does seem to be true that most people think having kids will make them much happier.
Absolutely. My jr/sr high school transitioned from the old-fashioned "tracked" strategy to the current, mixed trend when I was in 8th grade.

The result: lots of downtime for me. The idiots continued to be idiots, except that parents complained about "elitist" teachers. In response, the school board dumbed things down. I had to spend most of my time in one class transcribing a team-mate's paper, because he didn't know how to write.

The hack that schools introduced to deal with this is AP classes. So you let the top 10% of students (or best connected) get a quality education, while the rest of the proles spend 6 months reading "Where the Red Fern Grows"
Yeah, this is exactly why I'm disappointed. They literally showed nothing during the Keynote that I didn't already know about.
The killer feature Glympse appears to have in comparison with iOS 5: it's cross platform. Not everyone you're going to want to sync with will have an iPhone or iPad.
Remedial classes? We don't have those any more: Putting a child into one of those might damage his self-esteem.
I wouldn't say zealotry is any better. I've had experiences where as soon as anything MS is brought up, or they find out you use MS technologies, you get looked at like you're crazy / inferior. Zealotry is a good word for it, because I'd get a similar feeling to when somebody finds out you pray to a different God, or even worse no God at all. In my opinion ignorance is easier to fix than zealotry.
Yes, exactly. But, unfortunately, it's the kind of fiddly sort of feature that I don't expect to be high priority for Apple. I.e. the lack of it in no way stops me from recommending the iPhone to the vast majority of people that ask me which phone to get.
I think in this case, we have yet to see the master put anyone on their ass. We have non-masters slinging insults and ineffective demonstrations.

Don't typical Python and Ruby deployments also need 8 processes to utilize 8 cores? If I'm not mistaken, this is in fact how Heroku works.
I was hired as a C# programmer once, only to find out that they'd lied to me about the nature of the position and I would actually be working with SharePoint. I threatened to quit unless they gave me the job originally advertised.

Then the hiring manager bitched to me that all of the programmers they hired quit when they found out the job actually involved Sharepoint!
I'm not the parent but we're in very similar position (finding it very difficult to find decent .NET developers, candidates can't answer even the most basic algorithmic questions), so I'll answer your question for you.

I typically ask candidates to implement a function that calculates the nth element of the Fibonacci sequence, write a program that prints the values in a binary tree in ascending order and finally to implement an algorithm that finds the value of the element in the middle of a linked list. These are just "introductory" questions, but very very few candidates make past this stage so I very rarely get to ask serious / deep programming questions to candidates.

And believe me, I'm very forgiving on interviews and try to take into consideration that the candidate is probably very nervous, especially when they are fresh off the school, but what can I do with a candidate who can't figure out how to get the number of elements in a bloody linked list, even after carefully explaining how a linked list works? Or the ones who get the idea that they should be counting all elements but have no idea how? How could I discuss the finer details of type covariance or ask them how they would go on about implementing a face detection algorithm if they can't even come up with the naive solution to the Fibonacci "problem"?
There is not really a justified reason for building a 3D engine this way, except for just being bored and wanting to practice my JavaScript a little :)

The canvas supports hardware accelerated 3D graphics so there is no reason to draw a 3D world in a 2D context, like i did.

There are many examples out there of 3D games who are written entirely in JavaScript and rendered on a canvas, that perform very well (even complete Quake ports with networking capabilities).
I applied for the Kindle Development Kit weeks ago and have yet to hear back.

Good luck.
Yes, when I'm near the end of my contract, AT&T is happy to offer me subsidized iPhone pricing. But they haven't offered me any breaks earlier than that.
On the other hand, it was always possible to unlock the phone with third-party tools or in countries with better consumer protection than the US,.
Reading the paper seems like it is compatible with xmpp however not sure how different it is compared to xmpp servers running as service?
I've been having a hard time understanding all the clamor for a new form factor. The 3G to 3GS bump was all about performance and software. It makes sense for the 4 to 4S to also be about performance and software. The next form factor change will be the iPhone 5 in the same way that the iPhone 4 was a form-factor change.

This seems like a reasonable allocation of R&D dollars to me. I don't think the form factor has to change every year.

Apple's next earnings call will be interesting. I'm curious as to why the product cycle for the iPhone changed this time around with the fall intro rather than summer. Was it component supply? engineering delays? market timing strategy with the holidays? milking the existing iPhone 4 demand? all of the above?
as per usual, great post.
The CPU bound processes in most apps are tiny portions of the entire app.
I foresee a new Jargon now in people communication just "tell Siri " if you need anything; Great job Apple as always.
I have a handicapped friend, and we have been trying to get a good smartphone solution working for him. He's currently got an HTC EVO, and as many people have said, Android's voice capabilities are pretty amazing (although Android has a separate called "Voice Dialer" which is absolutely terrible for some reason). One problem he's had, however is touchscreen confirmation. Siri looks like it will fix a lot of problems, and allow him much more freedom.

Also, I'd like to give a shoutout to the folks developing Tecla ( http://scyp.idrc.ocad.ca/projects/tekla ) for Android. It's an open source wheelchair integration for Android that uses the Arduino to interface with whatever controls the user currently has. I found it in my search for a solution, but my friend wanted to hold off until he gets a new chair. Regardless, Tekla is easily the coolest mobile open source project I've discovered, and I just wanted to give those guys credit. The project page is https://launchpad.net/meadl
As the author, I think we're pretty much on the same page. My example of ``span6`` is from the Twitter Bootstrap (which is also available as Less).

I don't think tools like Less and Sass can save us from this decision, though. You can write hundreds of rules to handle different configurations of HTML elements and remain completely semantic, but eventually you'll have the same configuration in two places where you want them to appear different. Then you have the decision of giving one of them an ID or giving them classes and those have to be semantic (and custom to your site, requiring learning from future devs) or generic and breaking the "semantic all the things!!!" rule.

People are trying to figure this out. Semantic.gs is a great example of that. I just don't see, in our current browser, markup, and styles situation, a way to avoid generic classes that's still new-developer-friendly.
Have you used Android voice recognition? It's pretty good in terms of recognition. It isn't so proactive as "Go to my calendar and make me money!" but it's quite an adequate little application.
How {do, did, do you intend to} own a house?
Good developers are hard to find at any price.
That's a limitation of Rails, not Ruby. One could use Node.js in the same manner. Ruby has been doing async I/O in the form of EventMachine longer than Node.js has even existed.
Speaking solely for my perception after watching the ad linked above: It seems like the features they are highlighting for this phone are either baseline improvements that happen with every single new release (faster processor, better camera) or they are features which appear to be playing catch up with Android (voice recognition, notifications).

It's certainly possible this set of improvements adds up to a terrific phone. But the ad did nothing at all to sell that to me.
I went with the 15" MBP with the screen upgrade (1680x1050 and anti-glare). To me, the extra vertical pixels are a big plus when coding or writing.
Exploit Pack - An open source security framework
It's not for serial upgraders, it's for prepaid/regional carrier accounts. I have a friend who bought a Motorola Triumph recently and pays something $30/mo. for unlimited voice and data. There are also people who want a smartphone with just a voice plan because they only plan on using data while on wifi.
> See the comment above by Joe. There is a certain 'weirdness' about giving voice commands to a device in public, it feels so strange that people don't do it

Especially so if you happen to be Scottish and stuck in an elevator: http://www.youtube.com/watch?v=5FFRoYhTJQQ
> But it's already been in the market for, what, 16 months? If they don't have another refresh until next year, that's a pretty long time to have one chassis.

You should see the PowerMac/Mac Pros...
I agree. I think what Apple is releasing in Siri could be bigger than most of us realize. I have several android phones and don't use the voice recognition much because 1 out of every 4 or 5 tries it returns things I didn't mean. That's frustrating. The average user quits after a 20% failure rate. Siri on the iPhone 4s needs to be at 5% or less failure rate, meaning one of every 20 requests returns an error. But then again, if it returns an error at least the user can clarify and continue the conversation. I think Apple just leapfrogged Google in natural language processing and taking it to the masses.
yeah. I'm just saying that the magic in the system is that it's a well-designed system with attention to detail, not that it's capable of leveraging anything approaching human intuition.
Because it doesn't allow you to do anything really new.
Spec bumps are nat, but there's nothing new there.
Because Steve wasn't there to convince us otherwise.
I don't exoect the 'weirdness' to be that much of a hang-up. Things that feel awkward take remarkably little time to stop feeling awkward if you just do them a few times[1][2]. And if the pay-off is big enough, as great voice control would be, I think people would be willing to overcome the initial awkward hurdle.

Also, kids are much less set in their ways, and would grow up thinking talking to computers is completely normal and not give a second thought.

[1] Try this: The next time you're standing somewhere with nothing in your hands (maybe in line, or waiting for a bus), just stand up straight, feet parallel, arms hanging by your side. I started doing this and it felt so strange; I badly wanted to put my hands in my pockets, or cross my arms, or shift onto one foot. I have no idea why. But after a day or two of it, now it feels normal, and, in fact, better than it felt to stand with hands in pockets before.

[2] Or try this: If you order something from Starbucks or McDonald's or whatever, mix up your standard phrase. I used to always order, "Can I get a..." and now say "I would like ... please". That, too, was very strange to me, but now feels normal.

So basically, little things can feel awkward, but that goes away with remarkably little experience pushing through the awkwardness.
http://damyousiri.com/ slight mispelling of damn in my excitement, but hey ho its good to go and people to contribute to!
Apple Posts iPhone 4S Eligibility Check for AT&T, Verizon
Unlocked phones are available in most countries which are not the US.

They're... not cheap. On the french store, the unlocked 4S is advertised as starting from 629€ (which would be for the 16GB version)
Wikipedia shuts down Italian site because of Berlusconi's "Wiretapping Act"
Because it looks the same and we're still an appearance-driven society for the most part.
Right, what I thought. Personally it was just the structure for me. A lot of time spent on small features, not sure why iPods were included either.
When you try to force everyone to have equal results, naturally the top-tier gets brought down. High school really sapped my motivation, from my perspective why work hard when you don't have to? So adjusting to college was rougher than it should have been. It would've been easier if teachers pushed me according to my abilities in high school.
Perhaps "short shrift" is the wrong way to argue it, then.

It's not that we should separate the smart children because that's what's best for them, but that we should separate the smart children because that's what's best for society.
Really, they let me upgrade from 3G to 3GS to 4. And I waited to get 3G few month after it originally came out.

See this article on from 2009:
http://news.cnet.com/8301-13579_3-10266781-37.html

update:
Based on my recollection, with 3G and 3GS, AT&T only asked for 1 year contract, not two. When new iPhone was released, sometime in June or July, anybody with contact renewal through October was marked as elegible to sign new contract, and received contract pricing on the newly released model if iPhone.
Apart from "faster", "better at connectivity", and "better at taking pictures", where does Apple have to go with this thing? A new chassis design? Why?

And that's my fear. The first decade of the 2000s' Apple would answer this question with something you didn't think you needed. But it was a gamechanger.

I could imagine Steve Jobs walking out on stage and saying:

"We did the Retina Display. We changed displays forever. The iPhone4 is the best display on any phone, and it's been almost a year and a half since we released it. But there's a huge glaring problem with it -- it's 2D." At this point you begin to hear the audience pick up in anticipation.

"The world isn't in 2D. You can't appreciate the vibrance of a 3D world fully when projected onto a 2D surface. People have tried 3D though." Steve pulls out a the red/blue paper glasses from his pocket. Tosses it on the floor. The modern 3D TV glasses from his pocket, tosses it on the floor. Pulls out an EVO 3D. Looks at it for a second. Tosses it on the floor.

"You don't do something, unless you can do it right. We figured out how to do 3D right."

Maybe next year.
I would suggest that, perhaps, he has much more of a clue than you'd like to admit. Maybe not about you specifically, but I too have noticed that, in the general case, those who lecture the truly poor have never been truly poor, or in many cases even mostly poor, at all. Full disclosure: I was once one of those assholes.

.

I, personally, have never been in a state of poverty. I've been very lucky. I was lucky to be born male and white in a country (and a state within it) where there were opportunities available to me. I was lucky to be born to parents who were reasonably educated but had enough discipline to take care of a kid (my father did, anyway). And I was lucky that a number of my own decisions, foolish in retrospect but in all seriousness a good idea at the time, did not come back to bite me in the ass.

I would suggest that, when talking about how people should not make those decisions, perhaps you could entertain the idea that they see no alternative. I've certainly been guilty of this before, both politically when in a certain libertarian phase (I got better) and in my professional life, when I drove myself to frustration wondering why person X did this thing that I instantly realized was stupid. Perhaps no alternative is within their view. (Even if you've been there, surely there's the possibility that you have certain advantages, in being able to see "the big picture", that others lack?)

Sure, there's no doubt some of the lazy "welfare queens" that the American right likes to demonize; I'm sure some exist. But I have come to something of an understanding in my own life that those in poverty are much more likely to encounter Morton's forks than others, and I find it more difficult than I did during that libertarian phase to self-righteously castigate such folks for making bad decisions when they have few, if any, good choices to make.

.

From your other posts, it seems like you're not one of the people who's born on third base and thinks they hit a triple, but a lot of folks who write as you do are indeed those people--and the simple fact that you're able to do what you do, to have ended up in a position where you can perform the mental gymnastics necessary to be a (I assume, good) programmer, that maybe, despite whatever else, you weren't exactly birthed in the batter's box.

Just something to think about.
Hi,

You are completely right.

You have not tried a 4S, so you're just making stuff up. Like your comment about time travel. I'm sure that time travel can not be done by the apple people, unless they know Michael J Fox. Which I guess they may know him, considering Steveo (he hates it when I call him that) wears a black turtle neck some times. He also really loved a drink before, but not so much now after that whole incident with the 12 livers he had to take from interns.

In summary, your prophetic ideas are astounding and wise past your years. Well, wise past the years of anyone in our generation, and the previous five generations before.

One more thing...

Steve does wear cool specs though. I think the success of apple is at least 46.34% to do with the CEOs specs. The new vice president in the video didn't put on a good pair for this showing. They were kind of too thin, and not thick and black enough. Really, he should take some fashion classes, because he would have gotten a D- for his outfit this time.
Communication in Engineering, Software, and Open-source
Chuck Norris is a 1337 h4x0r
> you've got 12 months to sit tight my friend.

8~9 is more likely, this year's delay was due to iCloud (and maybe a bit iOS5), not iPhone. It's not unlikely they'll snap back to June-July next year, so that the release of the new iPad and the new iOS don't drift 6 months apart.
This was simply too irresistible to not post.
Nope, all the (native) speech-recognition goes through Google servers. It won't work offline.
I was in a "poor" region that had magnet schools, and IB school even, and it was still a problem.
It's not disappointing. It's evolutionary, using predictably better components. Like most mature Apple products.

I was a little disappointed (but not really surprised) that the Nano was rev'd without adding apps, which would be a) cool and b) further open the app store to new devices.
Why men are in trouble