skysight-inc/HackerNews huggingface dataset:
Beautifully said. I was going to post a comment saying the same thing, but you've put it in much better words than I would have. Thanks.

It's sad some programmer fall into the purity trap and try to make things as functional as possible and end up taking a lot more time than they normally would have, make the code incredibly hard to understand, etc.

I once fell into this trap and paid dearly. I'm a university student and for one of my semester projects I decided to try out pure functional programming. I ended up failing that class because I didn't finish the project, and doing bad in others because I spent ridiculous amounts of time doing the impossible project. (The project itself was easy - a simple 2D sidescroller game in C++, something I could have done in a week if I had been sensible; but writing a game in functional style in C++ proved to be incredibly hard.)
I also prefer In-N-Out to Five Guys, although they do have superior fries and you gotta love being able to munch on peanuts while you stand in line.

In-N-Out's deducation to quality and top-notch customer service is actually quite similar to Five Guys. The reason they're only in the Southwestern US is to ensure that each restaurant is close to a food distribution center. That way all their food is made with the freshest ingredients. They've been family-owned and operated since the 50's.
bout a link? Ktxby
"... gotta embrace the curly-brackets, and they can't call them fucking stache or mustache characters. They're called fucking curly-brackets, and if you can't call them that then me and my damn C friends are gonna laugh at you every day you come to work."

Oh noes! I'm a full-time C programmer doing linux-based networking OS stuff and I call them staches! I am probably going to get beat up at work now. Than being said, I don't think I really ever use "stache" or "curly-brace" in actual conversation, its just sort of implied when necessary.
Eh, usually I like Zed's stuff; but this one sounds like every conversation I've had with every C developer ever.

It's not that learning C is a big deal, it's that it contains a lot of unnecessary work and there are nicer (read: more convenient) languages to work in. Good Ruby developers will probably make good C developers, and bad ones will be obviously bad.

I guess Zed's not over having his feelings hurt by the Ruby community yet.

I give this one a 5/10 (although, I should give a bonus point for successfully getting "fuck" on the front page again, I guess).
"Fewer than 1% of search queries are affected by the site speed signal in our implementation"

It's pretty clear they're just using this to weed out broken sites that take forever to load. If your visitors aren't already bouncing because of long load times, you probably have nothing to worry about.
This is one of Zeds weaker rants. He wants to piss of the Ruby community, yet it is far too obviously filled with bait. Time will show if the fish bites, however.

What is really going on is a war fought by proxy on the iPhone. The combatants are Adobe wanting to commoditize all platforms for their flash apps and Apple, who wants to keep the control of their platform. Ruby, Lisp (any), Haskell, Python, and Lua are not participants in the war, yet they got hit by the nuclear fallout.

The interesting question is how much Apple needs to do to piss off developers - which they need in their eco-system. While other platforms lags somewhat behind the iPhone, there is no doubt that the scales can tip quickly. I may be wrong, but I think rather few programmers make their pay from iPhone revenue streams.
How am I supposed to catch up with them if they already are allowed to use features and languages and thought processes that I'm not? It makes no sense.
You are wrong, selective enforcement is evil.
Thanks for the tips. Most of these I am already aware of. You are very much right about reducing the number of requests to bare minimum. I was able to cut down from 28 to 12, but the last few are tricky because some connections are external files (ads, analytics, disqus). Also I don't think its as much as the number of the connection thats the problem but the number of DNS lookup that will cause more delay. So if you have 12 file thats spread around 3 different locations, its better than having 5 files spread around 5 different locations.

Concatenate is also a good idea, but in some cases it breaks some JavaScripts for me.

Personally I am happy with ~2s avg load time, just trying to see how far I can push that number.
Clearly you've never spent a lot of your hard earned money and time on something just to have it squashed by some big company :) Believe me it's not fun feeling...
Before, it was just interpreters that could load in external code, i.e. user input or the internet. Now, they are all banned.
Here ya go: http://www.reddit.com/r/circlejerk
Modern MLC cells get 1,000-10,000 writes per cell. That's about 1,000,000 writes per drive, with wear leveling.
I'm guessing you don't know about http://www.ticalc.org/
Rich Hickey, of Clojure fame, has some very interesting musings on this topic (time and its implications): http://wiki.jvmlangsummit.com/images/a/ab/HickeyJVMSummit200... [pdf link]

(It's interesting all the way though, but it gets Really Interesting about 20 slides in.)
maybe even back to the iPod with its proprietary connector and its proprietary software.

Geeks have really short memory: Apple has always been evil. In the famous 1989 lawsuit between Apple and Microsoft about whether look and feel could be protected by copyright, all self-respecting geeks rooted for Microsoft, and the League for Programming Freedom was founded basically in response to it.
Too many popups to read,
I can't really think of any other foundational APIs that would be worth it for them to integrate into OS X at the expense of their infant mobile platforms that still have years of iteration and several more major releases before they're nearly as 'mature' as the platforms they're displacing.

OS X is incredibly mature now, while there are still warts (Spotlight is relational with fixed indexes, mobile.me sucks and isn't freemium, etc.), the iPhone OS has those warts too, it's more important to fix them there than on the desktop, and there's tons of incomplete/missing features on top of that that need iterating on.

I certainly wouldn't want to see the kinds of consumer-facing features they'd have to pull out of their ass to justify a 10.7 release in the next year or two.
This essay is basically based on the flaky foundation that the best way to develop software is to code for the underlying computation device. This is an unproved assertion, and so the rest of the essay basically falls apart.

The underlying device is severely limited in many ways. Programs are not composed of "blocks of memory". There are an infinite number of integers, not 2^64 of them. Etc.

It doesn't make much sense to structure functionality around these flawed assumptions unless you are absolutely sure your application's functionality is a subset of the computer's functionality. Since most iPhone applications let you do much more than just add numbers modulo 2^32, it makes sense that it should be built in terms of higher-level abstractions. Who cares if your app isn't "coded for the underlying machine". It works, and it's easy to add new features without breaking everything else!

(Some C-level abstractions are quite good, of course, like the function call stack. But a Scheme-like call graph is even more natural.)

The goal in creating software is for your program text to describe the solution to your problem. It's easier to do this in the "problem domain" instead of "C", so we have created abstractions that allow us to think at the high-level of "problem" instead of the low-level of "electrons being pushed around through semiconductors".

Anyway, if you want to use an unpopular language so you can think you're better than everyone else, why not use Haskell instead? At least that way you get type safety, fast automatic memory management, composable libraries, interactive development, portability, and a friendly irc channel to hang out on.

Oh yeah, because you're a luddite, not a programmer. Sorry, I forgot.
What about Flash movies loaded with JS (like swfobject)?
At least on their earlier hardware, the flash devices were really bad at random writes -- think SD card, not SSD.
I think this is common else where in the world especially when clueless HR or recruiters are the ones writing the job description of their client. Take a look at this - http://owenge.blogspot.com/2010/04/odd-job-description.html.

As a developer should I really be lifting or moving equipments if needed? This line will surely scare good applicants away.
The iPad is a chance to convert lots of Windows users. Because the MultiTouch interface is completely new, there are no established Windows/OS X camps. This is mostly new interface territory.

I expect both Apple and Android pads to carve out a niche. Maemo's descendants may do this as well. There may also be a Windows camp, but they will be fighting on a level playing field where their installed base of Windows users isn't an overwhelming advantage. I expect Microsoft to fare as well as they did with Web apps.
Pure functional programming it is not about denying time. It's about separating the computing time from the programming model's time. Or equivalently, to separate the computing order from the order of real-world events.

That's why monads are an extremely powerful concept, and not just a hack to "avoid time". Using monads, you can compose evaluations in a certain order (model time), but that doesn't automatically mean they will be actually evaluated in that order (computing time). Well, if you use IO monads this will actually be the case. But you are free to define other monads which allow you to do strange things like looking into the future or checking multiple alternatives at once.

Pure functional programming forces you to always make an explicit distiction between these two kinds of time, and that feels buerocratic to those who are used to confound them. However, making that distinction usually yields to much better interfaces. So there is an extra effort, but also a big gain.

I strongly recommend to read Philip Wadler's The essence of functional programming before talking undifferentiated about the broad concept of time:
http://homepages.inf.ed.ac.uk/wadler/papers/essence/essence....
Agreed. I had used lots of cellphones and mobile devices BEFORE I tried iPhone. iPhone & iPod Touch were just light-years ahead of anything I experienced before. And it was all about UI/UX superiority.
UFC 112 Live Stream Online | Silva vs Maia Fight Video - Vox
yawn :p
You know that they'll need to pay at least minimum wage.
A way to see what's new in a thread since I last visited it: with the threading it's impossible to see what's new on a big thread.
Funny, I was thinking the same thing. All the huffing and puffing about openness when they list C/C++ among the ordained languages. Have that many people completely divested themselves of the most cross-platform compatible languages there is? I realize they're ugly step sisters, but if you structure the projects right it's not like it's impossible.
Who said anything about random writes? If you're swapping out an entire app it could be a single sequential ~20MB write which would take roughly 1 second.
I seriously doubt Apple ever intended to let web apps as the only means for open iphone app development. They probably planned the SDK before iphone's even released. The "web" as app is probably just an excuse to buy time.
Web Laureate Classic: "Bebo | AOL"
How much does that cost? How does it compare to 40k for 10 commodity servers at 4k each and no license fees?
Twitter buys Tweetie
I do not have firsthand knowledge of that; I was repeating something I read in reference to the ScummVM / Atari GPL lawsuit.

http://www.h-online.com/open/news/item/Atari-settle-over-Scu...

http://sev-notes.blogspot.com/2009/06/gpl-scummvm-and-violat...

I did not mean to spread a mistruth. Perhaps they meant GPL specifically when they said open source? I expect it runs contrary to the "Confidentiality Agreement" clause.
Ruby, Lisp (any), Haskell, Python, and Lua are not participants in the war, yet they got hit by the nuclear fallout.

This is a great analogy. The people that were vaporized by the atomic bombs probably didn't care enough about the cause they died for to die for it. But they didn't get to choose -- someone else chose for them.

That makes me sad.
Now if you just put that same energy from being a snarky jerk into something useful you could have contributed to the world today.
I've found this tool to be both very good and perform very well on constrained systems.
I thought Zed gave up on this style of posting. Really, the novelty wore off years ago.
You shouldn't blame a particular programming style for the failure. Your real failure was an organizational one.

It seems that you have more experience with the imperative style than the functional style. And yes, it's always good to try a new style you aren't yet comfortable with, but you shouldn't do that in an important project. Also, you might have had better luck with Haskell or Lisp rather than C++. But here again, you shouldn't do that in a time contrained project if you aren't fit in that language yet.

Instead, you could have taken the week to implement it in the style you're comfortable with, and rewriting or refactoring it into another style to play around with it. That way, you would not only have eliminated the risk of failing. You would also have learned more, being able to compare both styles side-by-side.
It is on Snow Leopard as well.
Essential Mathematics for a British University
Continuing on the theme of my comment to the parent, I'll say: good riddance.

The App Store is 185k titles strong, most of them crap. Developers without a passion for the platform are exactly what they don't need any more of.
They don't mention Tweetie for Mac, but I imagine that will become free too. Clearly the Mac client wasn't the focus of the acquisition, but it's also great software in my opinion.
Evan Williams’s Message to Twitter Developers
Ask HN: How do people keep finding my gem?
I've written a few programs, mostly just for fun, and never bothered to advertise them heavily. Nobody's paid attention, which is about what I expected. Then I wrote this:

http://rubygems.org/gems/groundwork

429 downloads right now. And I don't know how that happened. At first I figured, well, it shows up on the "recently added" list, but then they just kept coming. As an experiment I uploaded another one:

http://rubygems.org/gems/clean

And it had the lack of interest I'd expected.

So I guess my question is, now what? These 429 people like my thing, how can I find out why, so I can learn how to improve it, or make more things like it, or whatever? Nobody's following the project on Github, nobody's emailed me or anything. How do I get in touch with my users?
Forget a flaky foundation, the whole 'essay' is full of meaningless hyperbole, and poorly written at that.
You may have failed classes, but the lessons learned in working on something so improbable were probably worth the price of admission.

It's good to be too pure for learning purposes, because it makes you comfortable with a lot of nitpicky stuff. When you move towards commercial software, you won't get an environment that encourages you to take on the risky stuff. "Lean and mean" is the order of the day. So having the other experience gives you an edge in perspective.
Please feel free to cite where I said anyone was saying it was illegal. The closest thing I can find to that is where I said:

"It is acceptable for Apple to sell its hardware/software under any kind license that it wants to, as long as it isn't illegal."

I was a top level post in this thread, responding to the article. Go read the article and then go and read my top post. The topic here is "Is Apple Insane." (Answer: No. They have valid strategic business reasons for doing what they are doing.) and "Are these policies acceptable." (Answer: Certainly, what they are doing is not illegal, and appears to be working successfully for them.)

Do you have to like it? No. Do you have to put up with this awful, sorry treatment. No. You can take your development efforts elsewhere. Develop for Android or WindowsWhatever.
Well, Rhodes guys say that they were not affected by the "nucler fallout": http://rhomobile.com/2010/04/09/iphone-4-0-sdk-rules/.

If that's the case, you can still code in Ruby for the IPhone.

If not, maybe xmlvm can do the job (http://xmlvm.org/overview/)
At the same time most of that 20mb is going to be static stuff that's already in the filesystem anyway. A major tenet of VM design is to never swap shit that's already on disk -- you just throw it away, and load it from disk again when you need it.

They could implement some VM magic, but they would much rather you wrote your app to serialize its few kilobytes of state when it's told to be ready to die, and instantiate that state on launch. They've encouraged you to do this and provided APIs to help for a long time.

It's a lot more elegant and functional than keeping processes around indefinitely -- then they'd need a task manager UI for discarding fucked serialized processes!
These are very interesting slides. Slides 17 and 40 (et seq) seem to restate what I tried to explain as "computation time" vs. "model time" in http://news.ycombinator.com/item?id=1254329
I'm glad Loren will be joining the team and there will be a Twitter for iPad, but what is the implication for all the 3rd party applications if Twitter has official versions on these platforms?
What I find most worrying is that I see very little, if any, gain in it for Apple. I'm not really sure why but it just seems like Apple is picking fights with Adobe and Google for no particular reason. It certainly doesn't benefit their customers, it alienates their developer community and has no benefit to Apple other than inflating their ego.
I deliberately have not paid for Tweetie for Mac. I love the Fusion Ads. They're incredibly useful and beautiful.
Tweetie Developer Loren Brichter blogs on its acquisition by Twitter
While you can't deny Apple's right to control the app market (and even the development methods), why would anyone work with a vendor that does?
I've been wondering the same thing. I'd bet that they're coming from a search engine. I routinely search on Google for something I need to do using Ruby. Almost always there's a result for a Gemcutter gem that does what I need to do, and that's how I find them.
Compete with them on Android, perhaps? </modest-proposal>
Obviously you can't have truly pure functional code - I don't think anyone advocates that.

But non-functional code is much harder to debug (spooky action at a distance, etc) so a little bit more work upfront to isolate the non-functional code from the functional will make the debugging/maintenance phase (which are considerably longer than the 'initial writing' phase), easier.
Won't work. Because the app has had interaction with a quantum system, the app will be both approved and rejected until you build it, shake it, and observe the result thus collapsing the Steve-form into a definite state.
Your Palm Pre Can Now Run Basically Any Linux Application
Twitter Acquires Tweetie
Chirp is going to be ...interesting.
agreed, specifically about HN. it seems to have gotten much worse as of late. probably attracting a larger crowd nowadays, since more people are migrating here.
"You're right. Man should not be a slave to technology. The 'tail shouldn't wag the dog'. But that's idealistic and unreal. Technology always has its own limitations and parameters. It's not the first time technology has shaped the alphabet. The same story has been repeating itself since the origin of the alphabet. Greek and Latin were clearly determined by the hammer and chisel against marble - it's easier to carve straight lines in stone than rounded ones. That's why so many of our capitals are based on straight lines. The cursive Arabic was influenced by pen; cuneiform, by clay and sharp stick. Other alphabets were created by carving on bamboo. Simply today, the determining tools are fonts, computer keyboards, and satellite transmissions - the only difference being that they're a bit new and unfamiliar in the alphabet designers' hands."
I find it ironic that while Brimelow claims: "Any real developer would not in good conscience be able to support this. The trouble is that we will never hear their discontent because Apple employees are forbidden from blogging, posting to social networks, or other things that we at companies with an open culture take for granted." it seems unlikely that he's actually able to take his "open culture" much for granted when they've openly censored several parts of his post, as he freely admits.
A rebuttal: Quality by Design through Apple's App Store
Twitter Acquires Atebits, Maker of Tweetie
I'm not saying the article is right, it's clearly not written by somebody particularly technically savvy.

But, if the code produced by Adobe CS5 and the Apple sanctioned means of developing yields the same result, how could Apple possibly even detect that an app was developed using CS5, Unity3D or some other now forbidden "intermediary" tool?
Sure they can do what they like on the iPhone (within the grounds of the law) but we don't have to like it.

And how does this change have anything to do with customer experience when they already vet customer experience when the app is submitted?
Is it really any different? Consumers will still buy the client that best fits their needs.
Tweetie has been acquired by Twitter: A Dashboard vs Konfabulator moment
That's a nicer theory than my current one, which was that some guy with a lot of EC2 instances put "gem install groundwork" in a chef script for setting them up. :)

I've tried googling a few different things though, and couldn't get myself to come up on the first page. Is there a way to make Google tell me what terms led there?
Nowadays Developers produce their games for all consoles e.g. FIFA 10 is available on Xbox, Playstation, Nintendo Wii, DS, PC, Mac and amazingly mobile too..! You can be sure a companies like EA will not align themselves exclusively to any particular platform! What happened in 1983 is irrelevant in today's market. Apple is trying to control the mobile telecommunications market and put their competitors out of business... However what will kill the iPhone 4G is the free apps for ads idea. Free apps will not compensate the user's suffering incessant advertisements being shoved in their face every time they open an app. Apple are loosing the plot!
He warns that the preferred piece is an S in the docs. But I was able to force the game to generate squares and lines with "good" play. (I could predict by the end which piece it would pick with reasonable accuracy.) To do better (at least based on my watching the high score replays), you have to intentionally "play badly" and make gaps that open up if you clear a middle row of the gap. The 17-replay I saw generated tons of lines, which I honestly wouldn't expect this app to generate.
Should society try to increase our standard of living or our happiness?

The happiness research also provides another reason for not trying to "fix" the gap between rich and poor:
It is not immediately clear, however, why growing inequality should elicit such compassion if lower-income Americans themselves have not become less happy.
Agreed about the policy, but what's that about HN being slow? It's loads incredibly fast for me, much faster than other news aggregators (Reddit, etc.)
Congratulations to the Tweetie developer! Official Twitter blog post here: http://blog.twitter.com/2010/04/twitter-for-iphone.html
I disagree. The lesson to be learned is not that pure functional programming it too extreme, but that it takes time to adopt that style.

As with any other style (OO, etc.), you won't get it right in your first attempt. It takes time to get a feeling for good design - in any style.
OSCommerce isn't a language. Its written in PHP... by morons.
Writing iPhone apps requires very little C. Objective-C is actually quite similar to Ruby.