skysight-inc/HackerNews huggingface dataset:
oops, sorry! not sure how that comment made it into the wrong post.
For those that don't know (probably smaller on here then elsewhere but still):

HtDP: How to Design Programs
SICP: Structure and Interpretation of Computer Programs
PCL: Practical Common Lisp
ACL: ASCII Common Lisp
PAIP: Principles off Artificial Intelligence Programming
OL: On Lisp

Personally I'd probably go for PCL because it's... practical.

OL is pretty awesome though, I wish someone would reprint it in English, I have a self printed copy but I'd very much like to own a proper one!
Gladwell's books are not scholarly research. They're more like hipster coffee shop conversations, and should be taken with a healthy dose of rigorous skepticism, even though they are usually quite enjoyable.
CoD: Modern Warfare 2 could learn a trick or two from this. It is incredibly frustrating that in a game made 23 years after LoZ, I still can get stuck on a stupid piece of debris 6 inches high. I know it is probably a map issue and not an engine issue, but I don't know why the engine couldn't figure it out.
This comes up again and again: the man (Gladwell) is a bullshit artist.
I'd go for PCL as well then learn your way through.
These tips aren't really anything new. All of them have already been discussed on hundreds of other sites.
I started programming in high school, with simple programs on the TI 81/82 calculator. I majored in computer science in college, where the focus was C and C++.

I didn't really develop a passion for programming until I was out of college and learned Python (and later Ruby). I really wish I had started with one of those languages.
I would highly reccomend PAIP and OL (in that sequence). PAIP is fantastic in that it provides a 1000 pages of elegant code which conveys the "lisp way" by a master of the langauge. OL is of course the macro book par excellence.

I wonder if there are any other books that show exemplary code in various languages which are not so much "Introduction to X" as "Here is how the masters of the language write code in language X and "think in" X . I know of "Lua Gems", "C interfaces and implementation" and "The Art Of Prolog" which fall into this category. Any others?
I'd say Practical Common Lisp. While I actually favour all of the other books myself, I think that PCL is the better bet for a publisher, concentrating as it does on themes more relevant to the average non-lisp programmer.

(I'd probably pick PAIP as the best of the lot, though)
Come to think of it, is the USA a major net exporter of airline-pilot talent?

Coming only from personal observations, it sure seems like it's an exporter (I'm not sure about how major), but only to certain types of countries - specifically, prosperous non-European ones. Places where those pilots can live decent expatriate lifestyles: think China, Taiwan, Malaysia, UAE, Kuwait, etc. My experience is less varied on developing-world airlines, but I can't recall running into any Western pilots working for Kenya Airways or Royal Air Maroc (the two I have flown most recently).

This makes sense, in some way - no matter what, Kenya Airways is unlikely to attract someone who spent a bunch of their time in Orlando to move to Nairobi, but with the right amount of money I could see those people moving to Shanghai for a few years to get some seniority and time in control of a larger plane than they would have if they had stayed with Continental.

Interestingly, I "see" (hear) very few non-national Captains flying on Western European airlines. My theory is that all those countries have Air Forces of their own, and that their aviation sectors are small enough that they can rely on ex-military pilots for the majority of their piloting needs.
I think the implication is that the main for-profit companies make virtually no profit at all. The "profit" is emitted via the franchise commission which is handled as an expense. What exactly happens in the INGKA foundation isn't clear to me. Presumably the non-profit actually pays the designers who create the products, handing the designs back over to IKEA.
I had in a way an opposite reaction. I was surprised that the most recent algorithm listed was discovered as long ago as 1987. I didn't notice any date on the paper so I'm assuming it's recent. Judging by the dates, the period of most rapid discovery ended in the mid-sixties, at which point it slowed down and then slowed down much more in the eighties. The overall pattern of slow-down is not terribly surprising (low hanging fruit and all), but that the list ends in 1987 is surprising.
Just use 8-bit transparency in your PNGs and it will work fine.

Much easier, no extra code needed and makes smaller images as a plus.

There are many palette reduce utilities available.
This is actually a very interesting proposition.

I believe what you're saying is that any startup effort should be at least six months long (or you're doing it wrong)

Is that a true statement in every case? I've been reading a heckuva lot of startup information over the years here and I'm not so sure it is.

Maybe I missed out on something somewhere. Care to enlighten me with a link or an article or something?
Hi, I'd go with PCL it's a good practical introduction...

Off topic, but where in China are you based? If you're in Shanghai maybe we can meet up sometime, I always like meeting fellow HNers!
One year of Redis
The Little Schemer:
http://www.amazon.com/Little-Schemer-Daniel-P-Friedman/dp/02...
I saw that, and was 50-50 if he was referencing JFK Jr. explicitly.

On one hand, Greenspun is a pretty noted Libertarian and not a fan of the Kennedys. On the other, he often references flying to Martha's Vineyard for day trips in his other writings about aviation, and it seems like a pretty sensible place to fly to if you're into civil aviation and looking for a day flight somewhere from Boston (where I believe he's based).
Facebook page marketing tips
For this point:

A typical 16-hour day...nowhere for the pilot to rest. He or she will be sitting near a gate, in uniform...trying to shut out the noise of thousands of passengers walking by and hundreds of public address announcements.

It seems like a quick-and-easy solution would be to have the Pilots' union demand access to the airline's network lounges (or better yet, make it an FAA requirement so that they can get into off-brand lounges at smaller airports) in their next collective agreement. Union members would commit to not taking advantage of the free food or the computer terminals, and the airlines would in exchange let them hang out there as it's quieter and gives them somewhere to get a bit restful before their next leg.

And if the airlines don't want to fill up their own lounges with free staff (as opposed to passengers), contract out the problem - give the pilots PriorityPass memberships, so they'd be going into lounges that aren't their own, and that are explicitly OK with people paying to get in.
Are Your Analytics Causing You to Lose 30% of Your Sales?
Where can one host sites like these?I think anywhere where one can get shell access?
Benefits of Massage Cushions
An Echo through Time, the Minimalist Trend
Funny to realize Adam Smith knew we had to refactor our code
Linda coordination language
I'd agree; from reading his blog for a long time, he is in fact based out of Boston, spends a lot of time engaged in small-scale civil aviation, and does visit Martha's Vineyard more frequently than your average bear. (Check out http://blogs.law.harvard.edu/philg/2009/08/15/complete-marth... ).

Nothing says it can't be both - it's a location that naturally comes to his mind, his point is valid (weather conditions can be dangerous there, Kennedys aside), and it happens to be a dig at some people he hates.

Packing that much into a short phrase is called good polemic writing, people.
"So make a careful choice when starting the development of a new open source project, don't pick something you are interested in today, but something you'll probably be interested in for the next decade."

+1 for that. Sustaining opensource projects is hard. I feel sad when I see that I've not been able to maintain my own opensource project (http://cspace.in) for more than a year.
> Ingvar Kamprad is the prototype of Calvinist, hard working, humble and low expenses man.

Ebenezer Scrooge was hard-working and low-expense too. Would he have been a great and charitable man if he had just been a little less arrogant?

> IMHO, he don't want to make his family stupid rich(think Gucci family,wasting on luxury, power, drugs, sex, fights for the money and murders between them) when he is dead, but wants them to have something they can make a life from.

How many billions, exactly, does that require? (Feel free to round to the nearest hundred million.)
Programmers and “productivity”
OpenEI - Organizing the World's Energy Information
TI graphing calculators got a bunch of people in my "generation" interested (I'm 25). My first non-trivial program was snake in TI BASIC.

I think this generation's equivalent is probably iPhone.
There's an RFC for that. RFC-1751 http://www.faqs.org/rfcs/rfc1751.html
TI graphing calculator in 7th grade, followed by seeing one of my teacher's web pages he made for the course. I decided I could do a better job so I learned the basics of the web and bloomed out from there.
Pretty cool to make it transparent. Considering a lot of these have the model of a compiled language, this makes it much easier for a designer to work with. The only real problem I have is that it was made pretty heavyweight with the framework they included.

One really cool feature would be automatic CSS sprite generation. Add a "mixin" background-sprite, read in the image, suck up all the others as sprites and generate the final CSS and image file.
I started coding during my Senior year in college. Roughly 1.5 years ago.

The reason? I outsourced dev for my first startup (which I started my Junior year) and it failed miserably. Small fixes took days. Terrible freaking way to start a startup.

Anyways I started with HTML/CSS then moved up to LAMP (yes I know rails is awesome, but hey, I just started coding =)). Since my Senior year, I've personall started and coded two startups, one of which raised angel money and the other which may not need to.
Kalėdos baigėsi, bet vistiek sveikinu
What I learned:
If you self teaching, start with Python. Period.
Then later read htdp.
What's sad about that is that the iPhone is a lot harder to develop for, so it will get a lot less people interested. Rather than just opening up the "iPhone-Basic" app and fiddling around for a bit with an exceedingly simple and easy-to-learn language, you have you get a Mac, get registered, get XCode, and spend quite a while learning Objective-C and Cocoa, and to actually draw anything on the screen, probably OpenGL ES as well.
When he bought a computer, I asked my grandpa to show me how it worked. He said it wouldn't be interesting to me: it was all in English (which I didn't speak or read), and there was nothing more than letters and numbers to see, on a green and black screen. I told him that didn't matter. He took a book and we spent an afternoon typing Rabbit.BAS into the machine, then we played some.

That was 30 years ago this year, today I design aircraft simulators and automated test systems for aircraft computers. The methodology has never changed: aim high, with a goal you will enjoy a lot.

edit: to your second question, I have this to offer: there's nothing more I wish I had known when I started. I'm actually very glad I didn't consider theoretical questions too early. "Programming" is no different a language than Spanish, Japanese or Russian (maybe a tad more formal). To program you need to learn to give directives to a machine. Designing a system is something else, which uses a completely different skill set, and the entry point to that is being able to talk to the machine.

So my only advice could be: if you really want to be a hard-core computer nerd, stay with "programming" for 7-10 years, then learn (at least at overview level) all the important design principles. You'll then be able to choose according to your personality.
One could go on and on giving examples; as good as any is near the end of T.S. Eliot's "The Waste Land":

Datta: what have we given?
My friend, blood shaking my heart
The awful daring of a moment's surrender
Which an age of prudence can never retract
By this, and this only, we have existed
Which is not to be found in our obituaries
Or in memories draped by the beneficent spider
Or under seals broken by the lean solicitor
In our empty rooms.
I think this generation's equivalent is probably iPhone.

At a holiday dinner yesterday, a friend's kid (11) wanted to know how to make games for his iPod Touch. The conversation ended at "well, you need to buy a Mac, first."

The costs are pretty high, even by North American standards. My first computing system cost less than $200, I think. Getting started with iPhone development will set one back $1500.
Smart Alternative for Extension Cords
CUDA to x86 compiler, project Ocelot
What Would Always-On-The-Record Government Look Like?
How To Block Countries and IP's With .htaccess
That is quite amazing. It's a pity you posted this on what is probably one of the lowest traffic days of the year for HN, but thank you anyway.
The soviet 'clones' of the 6800 and 6502 were rumoured (in the West) to fit a metric grid rather than the 1/10th of an inch pitch used in the semiconductor industry elsewhere.

Other countries used 2.54 mm pitch heart-to-heart for pins on chips whereas eastblock variations on this were supposedly 2.5 mm.

The difference is small, and for packages up to 16 pins you could probably get away with it bending a bit but for a 40 pin package like a 6502 that would not work (or at least, not easily).

If you have access to a machine like that it would be interesting to know for sure!
Do you mean ACL: ANSI Common Lisp and PAIP: Paradigms of Artificial Intelligence Programming?
I was 8 at the time and find some C64 Basic manual writen in German (I don't understand this language then and now) and I found some code so I retype it into the computer and just instantly like it.
Why Site Owners Are Not Using A/B Testing
I'm not sure if this counts; the birth of my hacking started on my dad's lap, doing amateur radio. We made our own radios with kits and parts from other things, and setup our own antennae outside.

We even setup some crazy starmap printer, and I think it worked through our antennae. We didn't get a dish until much later.

At the very least I learned to master the fear of big manuals.

My programming, and my general interest in computers, was the natural progression from that. I don't even remember the first programming language I learned, but everything after that was easy. Learn one language and you learn them all, I guess.

Taking things apart, reassembling, and creating is in my blood. Thanks dad.
5th grade. I'd just landed in the U.S. No friends. No life. Just a Mac and an HTML book. I did what I could:)
Double Logarithmic Timeline of the Universe
I don't know about HTDP, it was keen to impose 'good practices' on me and I got bored. Your first book on science didn't talk about lab safety, it talked about fun stuff to get you excited. A first book on programming should be the same, every chapter should present some tiny fun program and explain it. Is there such a book? If not I might write it.
Article appears to be deleted. Cannot find anything with similar title in recent archives either.
I think there are two parts to this problem. First, there aren't any content delivery networks that currently can rival the traditional ones, not from a publisher perspective at least. Selling content through retailers is still the best way to reach a lot of customers. Second, don't underestimate the publishers need for control. That's what they do, they acquire rights to distribute things and distribute them.

So, what's the solution? Create a content distribution system that is easy(widespread, user friendly, open?) and let's the publishers control the distribution, but not necessarily by being involved. Whatever retailers, or wholesalers, should be a part of this is hard to say. But seems likely.
I have been occasionally building Rails 3 and trying it - can't wait to switch work projects (probably do this a month after official release). There is obviously a lot of talent on the rails dev team and it shows with the willingness to keep improving the architecture.
While I like the idea, when building a cord into the wall, it should be of a gauge that can support the maximum current of the breaker installed. I don't know what European plugs are (pictured), but US ones are typically 20 amps. It takes a minimum of a 12-gauge electrical cord for that and the pictured cord looks like 16-gauge at best.
I have always thought that C-linda was one of the more elegant answers to distributed computing. It would be cool to see this make a come back.
Use the PageSpeed or YSlow Firefox extensions to automatically test your site against some or a majority of these rules or best practices.
Also read http://www.codinghorror.com/blog/archives/000932.html for a perspective on why not all of these rules may apply to your site.
I think it applies to any project, not just open source ones. When the going gets tough, and it always eventually get tough, you'll need personal interest or passion to get you through.
The real thing that opened my mind was "Effective C++". Before that, I didn't know how to code. This book showed me what a good code is and why it is important. Then, from that time, I read alot of books and my personnal favorite is SICP.
Freshman year in high school, I was programming in BASIC on my very own IBM PCjr. After a few programs, I set it aside (or so it seems now) until my senior year, when I started programming in Pascal for an honors course which they called Computer Math at the time.

What did I wish I knew at the time? That there were more fun languages to play with other that BASIC and Pascal. Perl came about in 1987, for example, and I wonder what might be if I started in on that language way back in the day. Since you're already tuned into HN, I think you have that base covered.

Side note: the thing that made me think I was any good at programming was a computer programming contest held by Dell Computers during my senior year. I entered, and, while I didn't make #1, I did get in the top 10, which meant I got to have lunch with Michael Dell in 1989.
As an alternative, Portland-based Urban Airship now sells and hosts an In-App Purchase infrastructure, in addition to Push Notification services.

http://urbanairship.com

http://siliconflorist.com/2009/06/17/tap-tap-revenge-urban-a...
IE 6 market share is slowly decreasing, but it's still around 10%: http://www.w3schools.com/browsers/browsers_stats.asp
unlike lots of people on HN, who are far more experienced hackers than i am, i didn't start programming for fun until my senior year of college (i did a fair amount of programming for classes and internships before then, but never on my own personal projects). i was always into digital photography, so i took a crack at making some online photo galleries using python and javascript.

they look pretty lame now that everything is ajax-ified and web 2.0 shiny, but 5 years ago they actually looked decent for the time period ;)

my advice for newbies is to not worry so much about what book or language you want to learn, but rather to figure out one project you're truly interested in creating, and then learn the technologies that are needed to create it. i had some false starts back in middle/high school when i bought some programming books with the intention of teaching myself programming ... sure, i learned what a 'for' loop and 'if' statements were, but i never got any real traction since there was no project that i was deeply interested in hacking on. if you have a hobby project to drive you, then you'd be amazed at how fast you can learn what's needed to hack on it. best of luck!
I rarely need an extension cord for any purpose, and I rarely need it in the same place. Part of the appeal of an extension cord is that it is modular and mobile. With these plugs, I would have to replace every socket in my home. With an extension cord, I need only one. It also comes with me when I move. This is a fix in need of a problem.
Sure, but I didn't buy a graphing calculator to start programming, I already had one for school. Many students already have Macs and iPhones.

If I had thought I could make lots of money (by teenagers' standards) selling graphing calc apps then I probably would have become a hermit.
I found it surprising that PunyPNG beat OptiPNG on every single benchmark, given that the first/only png I uploaded was reduced into exactly the same file with the same number of bytes by PunyPNG and OptiPNG.

In most of the benchmarks the performance is very similar. It seems that only certain types of image (images that would be better as jpegs anyway?) are dealt with much better by PunyPNG, which dominates the overall comparison.

I doubt I'll ever use punypng. For something like this I don’t want a web service. I'll stick with the free software OptiPNG, which is packaged by my favorite OS distributions.
Age 6. My dad brought home a 386 IBM-PC so he could learn AutoCAD. My brother and I somehow discovered QBASIC, played gorilla for a while, poked through it's source code not understanding a thing but feeling like "this can't be too hard".

My first attempt at writing a program?

DRAW A DOOR
I asked my father to teach me basic in 5th grade after seeing the movie WarGames. My efforts were soon doubled after Angelina Jolie stared in Hackers. Since then, everything I have done has been out of sheer curiosity, but I'd be lying if I said these two pop culture movies had nothing to do with my initial motivations.

(P.S. Jurassic Park I was on yesterday. "It's a Unix system." I couldn't help but smile. I was 9 or so when that movie came out, and I remember thinking I should get a Unix system.)
I had a good friend in middle school who introduced me to an AOL Prog called Icy Hot. I was so intrigued that I did some research and learned about Visual Basic. I found code for some other progs, printed it out, and went line by line through it until I understood roughly what was going on. I made my own, then made a second better one and haven't stopped. Biggest piece of advice: code then read, not the other way around.

FYI the AOL work culminated in AOL-Files.com, which was the premier AOL hacking site circa 2000/2001. Check it out:

http://www.mattmazur.com/archive/aol-files.html
I agree that merging doesn't seem to be necessary. Probably they will be selected out until a few winners emerge.

Currently Ikiwiki seems to be the most feature-rich to me, so i use it. The downside is an ugly template language and Perl.
What non-web software do you use the most?
iPhone is what got me interested. I bought a Mac, one of the best moves I've ever made, and dove in. The learning curve was almost insurmountably steep, and in the two years since I've found web programming to be a much better use of my time. You can build an iPhone app, but what are you going to connect it to? For me a website, but how do you build a website? The meandering process has been a lot of fun, but I don't know how one could start with iPhone programming. By the way, I'm 31.
It's working fine for me - maybe my ISP is caching it or something??

I uploaded a copy (temporarily) to my site, feel free to grab it (PDF format): http://mqudsi.com/junk/Programmers_and_Productivity.pdf
It would be great for garage plugs or rooms near an external door.
Projects which help in earning your living will do fine. You'll probably end up working on it everyday. On the other hand, it's harder to find time for projects which are not related to how you make a living. And, if you struggle to find time for a project, then it's going to be hard to sustain it.

Opensource projects typically fall in the latter category. The ideal situation is if you manage to establish some sort of connection between your pet project and your source of income.

edit: typos
Nonetheless, it's nice to hear them now and then. I found this a good overview.