skysight-inc/HackerNews huggingface dataset:
I think a name sounding like "masturbator" is nicely aligned with their domain name: http://en.wikipedia.org/wiki/Homokaasu
I carefully read my patches before I commit them. Probably sounds pretty obvious, but I find that I can catch most problems by simply running "git diff" and then carefully and slowly reading through the output.

This is especially true when I'm editing existing code rather than checking in new functionality. I read the diff while mentally asking myself "is this going to change anything other than what I intended it to change".
True. In my opinion, it's because they got it wrong. The trick is to find the lowest common denominators of software, the DNA elements of software, if you will. These are the basic building blocks on which everything else is built.

Once you've done that, you need to come up with an organizational plan, not just for a given applications but for the entire universe of software applications. Like everything else in nature where order and complexity are the names of the game, the plan calls for a tree-like structure in which every possible application or object is a node in the tree. That, my friend, is the future of software construction. It's a future where every body and their uncle who uses a computer, is a programmer, whether they like or know it or not. Not a very enticing future for current programmers (their skills and knowledge will be obsolete) but an exciting one nonetheless.
I was surprised to learn that there is no standardized client-server protocol, but it makes sense if they are building a browser based client.

Any sensible protocol would likely be outside of current browser capabilities and the scheme they are using (based on GWT) is unsuitable for standardization. I wouldn't expect them to spend resources developing a protocol they aren't going to use and they would likely do a bad job of it anyway, for that same reason.

The protocol should be designed by whoever makes the first local client (which BTW I would be overjoyed to do, if someone wants to keep me afloat while I do it).

They are taking federation pretty seriously. They've opened a reference implementation and some third party developers are already running their own servers. When someone writes a client, or a web interface for a server, we can use Wave completely independent of Google. I don't see how lock-in would happen in the long run.

In the worst case, it shouldn't be hard to RE their GWT marshalling and hack a new front end on to their server.
COBOL - still doing the business
I think the real question is, where will you possibly get sufficient cleavage to advertise it? http://www.codinghorror.com/blog/archives/001286.html
It's important to distinguish weight loss from fat loss. We want the latter - the former in itself is not particularly desirable (except perhaps for ice fishing).

- When I exercise, I tend to build muscle (and sore legs).

- When I eat less, I tend to lose some weight.

- When I exercise but eat more, weight goes up - because I'm gaining muscle.

So far, so good. But the above is completely meaningless. What really matters is:

- If I'm exercising a lot and eating reasonably, my weight goes up, BUT my %BF (percent body fat) goes down, because I'm gaining more muscle than fat.

- If I'm doing low-intensity exercise and eating sparingly, my weight goes down, but my %BF remains stable.

- If I exercise like crazy and eat very little, my weight goes down and my % BF goes down. This happens rarely because it requires inhuman willpower.

The point of this (admittedly anecdotal) chart is that weight change and %BF change are NOT correlated. In particular, the way one achieves a low body fat is:

1. Increase muscle, lowering %BF.

2. Lower overall weight, causing net fat loss AND muscle loss, probably increasing %BF slightly.

3. GOTO 1.

If you lose more %BF on step 1 than you gained on step 2, you win. This zig-zag is what body builders do, because it's nearly the only method that works. And step 2 is very diet-sensitive, and rather finicky.

And that is why the article sounded stupid to me. The study, in particular, of women who exercised intensively compared to those who didn't. I hope they measured % body fat in that study, because it's the only thing that matters when talking about obesity.

When the article says something like "Everybody lost a bit of weight, but some of the exercisers gained weight! So exercise doesn't make you thin." That's crap. "Lean" is a measure of % body fat, not total body mass. The exercisers probably decreased %BF if their weight remained stable. In other words, they probably look better now than they did.
That makes a lot of sense, thanks for pointing these out. I'm updating the article to reflect these corrections.
"William Safire is on vacation"

FAIL
Well I apologize. Point I was trying to make was actually that the last meal should be small not the kind of it.
Well first off, i'm sorry for that off the cuff comment. I didn't mean to downplay the importance of QA (the world would suck without it, for sure) nor the importance of QA positions. It just isn't development, which was what I was looking to do. I agree very much with Joel Spolsky's thoughts on the subject. http://www.joelonsoftware.com/articles/fog0000000067.html

As to my story, I was placed into QA in the "choice" program because they misrepresented the role (it was an internship). The skills required listed C programmer, but on the first day, I was told there would be no programming.

The first few weeks I configured test beds. This was a lot of installation of server stuff (mostly following check lists) and configuration of networks. This was very IT'ish, and though important (and it sparked my interest in how exactly networks work, which I followed up on my own time), it wasn't what I was hoping for.

I got into automated testing shortly thereafter because they needed someone to do it and I had a lot of programming experience. I coded in Java using an IBM testing thing and a company framework provided by another QA person. This framework was buggy and _completely_ undocumented. In one place, there were 14 nested If/For's. There were obvious design flaws. Not only that, the person who wrote it was wholly unavailable (constantly busy). She did find time to do reviews when I only had an hour left in the internship to respond to them. Ironically, one complaint was that I recreated her functionality in some parts (if only I'd KNOWN about it!)

So, in short, my experience dictates that QA in large organizations means people that don't give a crap and do the bare minimum. I don't know if this is a QA problem or a large corporation problem, but no thanks to either.
http://themeforest.net/category/site-templates/admin-skins
Vocabulary is overrated!

Simple words are the best words; if you can get your story across without jargon, and have it remain compelling, then you've got a chance.

http://www.mtholyoke.edu/acad/intrel/orwell46.htm
Technical merits aside, my opinion is that the name and theme (see the FAQ page) are crude, and a turn off, bordering on offensive. That their nature would be glossed over, ignored, or even not noticed certainly speaks about our industry and times.
When it comes to sci-fi/fantasy writers, I feel their ability to envision speculative worlds heightens their ability to impartially observe their own reality.

This is crucial. In order to get distance from the assumptions that govern our modern lives, and why they do or don't work.

Expanding the possibility space gives you the perspective to see how you fit into the universe.
Using a statically typed language might also help, as the compiler can catch a lot of really stupid errors.
tests tests tests

I use a little tool that runs unit tests on compilation, when Im doing something new that unit tests works well with, I write a bunch of tests and just code until I have 100% tests passing.
DNA Molecular Manufacturing Today
I don't like this guy's blog. I happen to not agree with the AEI article about startups, but blowing a long jet of smoke into the debate isn't doing anything to help us. The AEI article is full of facts, and the blog post is full of emotions and ideology. Also, Grameen Bank scored a Nobel Peace Prize, not a "Nobel in Economics".
Macworld cover design process on video
Luckily for the computer cassette tapes, the FSK'ed bits lie way down in the sound spectrum, IIRC circa 1000 Hz.

I recently digitized some old favorite audio cassette dubs (TDK SA, most made on really good gear) and apart from atrocious wow-and-flutter, the high-end was completely gone on most, down to about 8K anyway.

Tape may still be the safest bet to store data long-term. I've read recently that (burned) CD's over 10 years old are getting iffy. Whereas people are still recovering NASA data off tapes made 45 years ago.
Why We Don't Document Our Software
hackers as painters?
Thanks, that's a great link... Best message in the thread is from Anthony Baxter @Google, about halfway down the page:

"When I and other googlers have said 'there's no concrete client-server
protocol', you can attach an unspoken 'yet' to that. We don't know
what it should look like in it's final form. On the other hand, we
have a fair idea about the requirements and needs of the federation
protocol, which is why we took at stab at writing that down first.

"If anyone has ideas about what this should look like based on what
they've seen so far, start a discussion on it. It's not necessary for
Google to come down the mountain with a completed standard engraved in
stone. Or even in something softer, like soap."
Gaming documentary: Second Skin
If you're feeling hipster-ish, the paperback-sized Moleskine notebooks are great to take with you, but I have pretty sizeable stack of these : http://www.mead.com/webapp/wcs/stores/servlet/product3_10051... by my desk. The pages are perforated, so you can refile things later without jaggedy edges if you're so inclined (and they're cheap -- buy them from Wal-mart, etc.).
Horribly-chosen HN titles FTL? I'm not even going to click through.
The entire argument of this article is the broken window fallacy.

The original article is not that great either, but I'm sure it's true that government programs intended to encourage small business have a net negative effect. The author's proposed alternative policies would probably have a net negative effect, too. The best thing the government could do to help innovation would be to interfere less with the economy.
That's the original name of the post.
I like to write my code in my head before I write it with code. Try to imagine all your code and then the code you are going to write and then run through it in your mind. Think of some special cases in your mind. Suppose you are writing a function that accepts a parameter. Okay, so go write it in your head and then imagine, what if someone passes in a string or an int? are these different cases? do I throw an exception, do I return a particular value? How will that affect the rest of the code? What if the code is converted to a library and used by someone else? Could a string be a valid parameter?

Then run through the code in your mind. Does it work? Pass in some variables.

Your mind can process information much faster than you can type it out. If you build the image of your code in your mind, you can map it out in a matter of minutes, but if you start coding without the image, you make more mistakes.

Some other commenters have said write it out or draw it out. This is a good idea if you can't keep it in your head. Do flow charts and state diagrams and things like that before you start coding.
Bullshit.

You can design all you want, but you aren't going to take into account every last interaction. You can only do this by reacting to a prototype or implementation. Do some design, then some code, then react to the running system.

The important bit is to get to the minimal running system so that you can react to it.

This will also help you achieve conceptual integrity in your design; the missing stuff that you never thought of will come to you.
I'm not sure I understand his argument. Competition in the MP3 player and smart phone industries has only increased since the entry of Apple into these markets.

The MP3 player is now the must-have accessory of every kid. I'm certain the sales of Sony, Samsung, and the other makers of MP3 players have risen enormously since the iPod soared to fame. Sure, the iPod is the market leader, but the market _wasn't there before the iPod_. By creating a market for the players and -- more importantly -- for legal downloads of music from the internet, Apple started a new era in music distribution. The fact that no other company has managed to carve a substantial market share in this industry is much more due to their incompetence than any anti-competitive behaviour by Apple.

Similarly, the launch of the iPhone has spurred on innovation and competition across the entire spectrum of smart phones. RIM, Palm and Nokia are innovating and lowering their prices to compete. Apple's exclusive deal with AT&T in the US has proved a boon to the other hardware companies because they can negotiate amongst the other carriers to create a good package for consumers with a good margin for them too.

While Apple's actions on the App Store review process are deplorable, their actions in the music and mobile phone industry are just innovative and fiercely competitive -- not anti-competitive.
...the number of sloppy mistakes I make is still way too high...

Compared to what?

You may not have a problem.

Sometimes "code, mistake, fix, code, mistake, fix, code, mistake, fix,..." is faster than "code it perfectly once".

For me it usually is. I'd rather crank stuff out quickly and fix it than drive myself nuts thinking it through.

Stupid syntax and typing errors will go away with repetition. Otherwise I wouldn't worry too much as long as you keep cranking forward.

[For what it's worth: I do not use an IDE, I do not use color or syntax highlighting, and I use debug as a last resort. Many here disagree with me, but I believe my brain internalizes those things that help me avoid stupid mistakes by coding without training wheels.]
I believe SICP's definition of a language involves these: means of simple data, means of combination and means of abstraction. Numbers, strings, data structures/objects are the simple data as you would find in any program. Functions and variables are means of abstraction. And what those functions and variables define also create new abstractions and means of combination. This is where our own language comes in. In this way, all your programs define languages, and to run them is to perform evaluation of these languages. So the program is the evaluator of a language we've defined in trying to describe our problem domain. I'd give examples but SICP gives ample.
Unfuddle should certainly be on this list.
How to work a crowd
Safety-critical software. I've done some work on air traffic control systems and medical equipment and enjoyed it.
The site name next to the title tells more than the title, and yes, it was worth the read.

Only because it was quite short, though.
The author already mentioned that he uses ExCanvas for IE. I don't think it's a stretch to use a library for what would otherwise be tedious recoding of the same logic in both SVG and VML.

If a library helps you deliver the software faster and better, use it. If it gets in your way, then consider using the layer underneath directly.

But, regardless, my main point was to consider browser-based _vector_ graphics, which are several orders of magnitude faster than canvas for activities like this.
“The road to wisdom?
Well, it's plain and simple to express:
Err and err and err again
but less and less and less.”
~ Piet Hein

In other news, I try to check my answers by deriving them two ways. If they agree, then I at least have a good defense :). If I'm working on something that can only be reached one way (like pulling data from a database), I assert boneheaded things that should be true about code + data structures. Sometimes it's superfluous, sometimes it catches mistakes.

If you don't work in a language that provides stack traces on crashes, add logging. You'll get a rudimentary stack trace of what was happening when everything went to hell, as well as have a small radius for where the crash occurs.
For the past decade I have been using (faux) leather bound, grid ruled scientific notebooks, first from BookFactory (http://www.bookfactory.com/) and then from Scientific Notebook Company (http://snco.com/).

These lab books are designed to document work for patent purposes, but I find that they are great for all manner of design and implementation writing.

Unlike the cheap shit you find almost anywhere else, the bindings are incredibly durable, and you can lay them flat, like a spiral notebook. You can paste printouts directly into some of the larger versions. The quality of the paper is very high. For a small fee, you can have your name embossed on the cover in gold leaf.
It's a pity that this has the top slot because it provides no technical information about what optimizations he made and it doesn't have any benchmark information.

It's just "Hey, look at me, I'm Linus and I optimized some C code to make it fast". I would much rather see him give us some insight into optimization strategies for different architectures. He appears to know about that, but not share it.

Oddly, he was talking about how the Mozilla SHA1 code was faster than OpenSSL back in 2005: http://www.mail-archive.com/git@vger.kernel.org/msg01138.htm...
Lot's of unit testing I'm sure :)

What languages do those industries use?
Hmm? Just one click away is this:

http://git.kernel.org/?p=git/git.git;a=commitdiff;h=66c9c6c0...

Provides benchmarks and explanation, and code. What more do you want?

Edit. RE: OpenSSL/MozillaSHA speed: He was comparing PowerPC speeds at that time, and is now obviously back on Intel.
Tell HN: Camtasia (popular screencasting software) coming to Mac on Aug 25th
> If the YUI team worked to bring Jack Slocum on board
> YUI would be in a much more dominant position than
> what it is now.

You may know more about it than I do, but at the time, it seemed like Eric Miraglia did try to bring Jack on board, but for some reason it wasn't a good fit.

http://tech.groups.yahoo.com/group/ydn-javascript/message/94...

HTH, Ted.
Rivals bid to snatch green domain
Several hundred CSS sprites in a file is pushing it. It would probably be a better idea to keep it to a ~20 or so per file. Plus, if I remember playing Civ, you can lazy load the suckers -- when you start out all you can see is a lot of black, a settler, and maybe 6 or so unique sets of tiles, plus the game interface. You don't need to block on waiting for the battleship icon for quite a while.

Civ also has some features which make it very easy to cheat creatively regarding logic for loading those things. You can guarantee, for example, that no Riflemen will show up anywhere on the map until someone has discovered Gunpowder. Thus, if someone discoverse Gunpowder, you send everyone an <img src=".../gunpowder_units.gif" style="display: hidden;" /> and you'll have the Riflemen sprite available instantly once someone actually constructs one. (Edit: There are, of course, security issues associated with that example.)

Internet Explorer has a limitation where only one image can be downloaded at a time

Really? Are they sure they don't mean "IE only downloads two resources in parallel from any particular domain, like suggested in the HTTP spec"? This has a fairly simple solution, familiar to anyone who has read the YSlow stuff: create a few subdomains to alias your HTTP server, load images from a few of them at a time. I do it for my website, works like a treat.
I don't think this is really what is meant in SICP. It's not that the function takes in inputs, it's that the program itself is a language evaluator. Consider the following program:

(define (add-squares x y)
(+ (* x x) (* y y)))

This is a program which evaluates a squares-adding language in which we have a limited number of expressions. Such as:

(add-squares 2 4)
(add-squares (add-squares 4 3) 5)

etc.
So Linus wants to dump libcrypt in git by rolling his own to speed up the test suite by a "couple of seconds?"

Good for Linus-- I guess.
I always like to compare holy grail problems to the biggest of them all: alchemy. For hundreds of years, many very smart people thought they were on the verge of becoming richer than kings but came up with bupkus until it was discovered that the means by which lead can be turned into gold involves nuclear reactions.

It has been done.
http://en.wikipedia.org/wiki/Nuclear_transmutation

But what matters is the field from which you are approaching a problem. Tabletop chemistry was not enough. You needed nuclear physics. Maybe logic is not enough for AI. Maybe you need psychology, or some other field.

In any event, great ideas don't care about probability. Google was a great idea, came in 1998, and kicked ass.

I've thought I've had billion-dollar ideas for eight years now. It's always something world-changing, but I've been wrong so many times that when I come up with a good idea I take it with a sense of humor.
Are Information Technology's Glory Days Over?
the premise seems a stretch.
Most of the work of writing is just sitting down and writing. Of orienting the brain toward the idea that, whether or not it would prefer doing something else, it is going to write. You say "You can't "make" yourself come up with good ideas on demand". Which is sort of true, but first of all you have to get over the idea that the point of any one session is to produce a good idea. You have to open the channel and keep it open. That requires constant practise. And you have to stop being all precious about what comes out. There will be a lot of crap. That's not a bad thing.
What knocked out Twitter? Attacks on blogger
Looking at various docs, I'm not certain that SFTP functions in the same way as SCP/etc. [have to look at this in more depth at another time]
Tr.im is now in the process of discontinuing service
I have a ThinkPad which, judging from its survival so far, may still be around in a decade or two. Those things are built to last.
a) This is called a stamp rally, and they're fairly common in Japan, not just for Pokemon. They're extraordinarily popular because they combine tourism, the ability to demonstrate that you've been somewhere (if you go somewhere you have to bring photos and gifts back to the people who didn't get to go -- that is just how it is done), and completionism. You can also get a stamp for visiting every town in Mie Prefecture. (Think Kansas, with rather less tornadoes and white people.) And people do.

b) Based on how many people were lined up at the Pokemon stamp rally stations during my last business trip to Tokyo 2 weeks ago, I don't think any rational marketing manager would cancel them.
Ask HN for feedback: iCal Analyzer computes calendar stats
The Tao of Debugging
GPT partition table, needed for disks larger than 2TB
I've read two books on WPF I can't really recommend them since I didn't think they were worth the money, but really the most useful thing is to just work through and extend the samples. http://msdn.microsoft.com/en-us/library/ms771449.aspx
There was indeed a lot of unit testing as well as very intense reviews of every single line of code. We used C and Linux as we needed an operating system that wouldn't kill people. You had to have a minimum of twenty years experience to work there. An upside was that there was no pressure at all about shipping the product before it was ready, even though we were well behind schedule. The downside was that you were allowed one mistake in your code. You were fired for the second one.
I know this is a thread for free project hosting, but my team recently started using http://repositoryhosting.com for a cool, flat rate of $6 a month, and it's heaven.

Note: not affiliated in any way.