skysight-inc/HackerNews huggingface dataset:
Ask HN: good reads on real-world software design?
I just recently came across this set of articles by Eric Lippert (senior dev at Microsoft and, among other things, a .net master):

http://blogs.msdn.com/b/ericlippert/archive/tags/graph+colouring/

It's a set of posts on designing a simple graph coloring solver, and while it's sort of a toy problem, one thing I loved about it was how detailed Eric was in describing why he designed things this way and not that. I've been coding for years, but never really had any formal training in software "engineering" so my work has a haphazard, hacky nature.

Anyone have an recommendations on books, blogs, or articles with a similar style?

Basically a walkthrough of a non-trivial problem, discussing pros and cons of design decisions, possible alternatives, etc.? I know I can browse open source projects, but I usually don't get the "why I did this" element from that, and reading e.g. design patterns stuff usually doesn't make the connection with a real-world problem.

An alternative phrasing of the question: assuming you don't have access to experienced software engineers as mentors, how could you teach yourself how to write great code?
Sadly Cloudfront still won't gzip intelligently, which for a static site means you're stuck either with excess load times or with hacky JS workarounds. If and when they sort this out I'll switch from Rackspace's Cloudfiles in an instant.
Ask HN: Super fast video hosting?
I want to send product demo videos to prospective customers. I want the video links to load almost instantaneously so that they don't browse away for slow video loading times. Since keeping their attention is a delicate matter, I believe even a 1 second delay would be important.

Do you know any fast, possibly uncrowded video hosting sites to provide such a service? I have vimeo and youtube in mind, but are they good enough? (last time I checked vimeo would take some seconds to load)
I think it's more fun to make emphatic use of "figuratively." As in, "wow, we FIGURATIVELY kicked their butts!"
> assuming you don't have access to experienced software engineers as mentors, how could you teach yourself how to write great code?

Read great code. I know that sounds flippant, but I learned more from reading other peoples code than I ever learned from books or papers. My personal favourites in 'great code' have changed over the years, but here are a couple of pointers to what I think are great pieces of code because they changed my way of thinking: the freebsd kernel, the hashlife code.

But there are literally thousands of others, and for me this is one of the reasons that I think open source is the best thing that ever happened to programming.
Certainly the most disappointing startup experience I ever had was with an early Internet firm that had spent too much of '95-6 building their hardware and most especially software (custom C++ database) to insanely scale, taking so long their angel timed out due to a sudden need to pump money into another venture.

When I joined they were closing with new investors who turned out to be devils only interested in owning 100% of nothing, they essentially ran it as a vanity company after chasing off almost all the competent staff, KPCB who got very interested in what we were doing and who could have made a fantastic difference due to their relationship with Netscape etc.

That plus the company didn't do any Customer Development, ran in total stealth mode and spin in circles a whole lot theorizing about how people might use our service; as Blank says, there are no facts in the office, only opinions.

And we bet too much on our initial debut splash, which turned out to be a dull thud due to the incompetence of our marketing guy and/or the tech media (every article focused on the least attractive way out of 3 to use our service which was downloading a plug-in for your browser).
Here in Belgium, when a car hits a bicyclist, the car driver's insurance will always pay for bodily damage of the bicyclist, even if the bicyclist is at fault.

Sorry, but doesn't anyone have an issue with this? Why is there an expectation that cyclists cannot possibly be held responsible for their actions?

By this logic, if my mini hits a bus, I shouldn't be responsible, even if I ran a red light.

I tend to agree with most of the other points, but this one is ridiculous.
The problem with this approach is the same problem people serving XHTML as application/xhtml+xml ran into: You don't control your page any more these days.

If you allow people to leave comments on your page or if you are serving ads, you lose a bit of control in what gets put on a particular page of yours.

In case of comments you could try and sanitize them, but with ads that's hardly possible.
What was the startup?
How would you even go about finding this data out?
Also worth considering: Build what is possible today in US but not in Europe/Asia. i.e. Watch what your fellow US entrepreneurs are working on and adopt it to your local.
The point is simple: off-topic content is far easier to submit than good content. There's way more of it, and it's of interest to far more people. It would be very simple, were there no controls, to crowd out "good" content with politics/pics/etc... Which means that doing the opposite: crowding out bad content with good content, is very difficult. It would require a significant amount of work to go find and promote good articles, as compared to "bad" ones.

If anyone actually thinks this isn't so, think about the mental effort and learning required to write a good article about monads vs the effort required to rant about Bush or Obama or post a cool/funny pic.

("good" and "bad" are simplistic. I actually thought this article was kind of interesting; I just don't think it belongs here)
That was the point of the study, the point of the article is that reasoning is just rationalization of what we already feel.

However, this actually conflicts with the study, which shows reasoning leads us away from what we already feel.

Obviously, the author spent too much time reasoning about the study.
Elitism and Xenophobia in the Community
Debian 6.0 "Squeeze" frozen

http://lists.debian.org/debian-announce/2010/msg00009.html
Youtube is pretty damn quick, they had their issues for a while but the last two years or so I haven't been able to pin any slowness on them if there was any (providers are another factor though).
In this case, it's probably because I'm expressing a frustration that many people share. It's an unfortunate fact that the success of HN as a social news site has made the attention stream it can direct valuable enough to be a target of manipulation. That some people are engaging in this sort of manipulation is indubitable. That I vented my frustration with one of the more egregious examples is a breach of decorum for which I apologise.
Also related: Experimental Economist Bart Wilson on the Meaning of "Fair"

http://www.youtube.com/watch?v=HaFpB7z5y3Y
PayPal on Android lets you bump phones to send money
Mapping happiness: my iPhone app/research project
The plural of anecdote is not data.

How many companies with exits with liquidation preferences didn't make the VCs money? How many without preferences didn't make the VCs money? How many involved the founders getting screwed because of these preferences?

I don't object to the preference in general, but any multiplier greater than 1.0 is a red flag for me.

You can find VCs that will do 1x preferences. I don't know what the options are for deals without preferences.
[Somewhat off-topic from bicycles in cities; my apologies.]

Do you not get sweaty on motorcycles? Even with a fully mesh jacket, I arrive everywhere _drenched_. In the height of the summer, I put on an athletic shirt and keep my real shirt in a bag to change into when I get to my destination.

If anything, I'd say bicycles are better because it's difficult to go fast enough to require the safety gear that a motorcycle does.

Disclaimer: new motorcyclist, used to race bicycles at a high level; I'm kind of a pedal head.
I would worry a lot more about a process that keeps the design documentation in sync with the code and systems than the form it takes.

Design documentation violates the Don't Repeat Yourself (DRY) rule and how often have you seen it, especially at the fine grained level of UML, keep up with the code instead of being abandoned early in the process?

So maybe you should look at round-trip tools, or methods to automatically generate documentation from easy (enough) to maintain in your code stuff (Javadoc is one well known low level example of this).

Or keep it so simple it won't be a burden to keep up to date, but then you're probably not talking an all-in UML approach.
Australian Censorship Firewall Defeated
Very true and very lucrative. Only pitfall is making sure you can translate across cultural norms. CyWorld tried the opposite Korea => US and failed.
30 Funny Caricature Of Famous Peoples | Bloggs74
Nice! It's a bit fast, but fun. Coincidentally, I just finished my version about a week or two ago. I used SVG, HTML5, CSS3-Fonts, etc. Check it out:

http://www.jacobrossi.com/tech/helicopter/index.xhtml
Better is the word I'm going to hit on in your comment. I'd love to bike to work. I've even considered it actually, this in spite of the following:

- I live in Vancouver. It rains 5 months of the year.

- I have a 30km commute, my car is faster (By a longshot, not by a few minutes).

- My car does not require I have a shower after getting to work.

- My car is more adaptable: I can carry extra work home, I can stop for a coffee, I can schedule a meeting in the morning or afternoon and then hit the office.

There are many ways in which my car is "better". Healthier? No. More humanly fulfilling? Well, that depends. Is it more humanly fulfilling to spend the time commuting on my bike or with my kids?
-
Debian Squeeze Frozen 
Debian Squeeze Frozen
So why aren't people working on that?

I would hope they are. Of course if something like that actually comes out there will be lots of pushback from those with overdeveloped Protestant work ethics. No pain no gain, it's "cheating" to just take a pill, etc.
I've seen no half-decent model of wealth creation in service economies. It's the equivalent of dark matter in modern economics, and all attempts at it I've seen end up in explaining away why the accumulating debt is not an issue.

If you know of a good one, please point me to it. I would like to be proven wrong here, and educate myself.

Service economy sounds wrong superficially, and doesn't have clear, satisfactory explanation when you dig into details either. I feel the major reason why it is cited as future is that it's the way society drifts to at the moment. That, coupled with their actual underperformance, is what pushes me to this, apparently unpopular, conclusion.
Thanks Philip, that is good to know. Clojure is awesome, but it does still have some rough spots. BTW, I looked at your resume: you are a major contributor to open source projects (you have worked on 13 projects that I use), and I am not, so I should stop complaining if things are not yet just the way I like them :-)
HDFS: The Problem of Many Small Files
a) no, once again, that's just an observational bias. You are thinking of the industries where the invaders win because you don't hear about the others. Invaders usually lose and are forgotten, but occasionally win and are remembered.

b) you're not an invader if it's in a new market. you're more of a pioneer then.
Netword. The idea was that companies and people could buy Networds like "Intel annual report" and you could e.g. type into your browser address [whatever that widget it called]:

netword/intel annual report

And you'd get redirected to the right page on Intel's site (at the time both Netscape and Microsoft Did The Right Thing with the above example (e.g. add .com)).

Besides solving search and design problems that hadn't yet been well addressed (this was before Google and truly ubiquitous use of search engines and at the dawn of usable site design) it could have bridged the old media to new media gap. I.e. "Netword foo bar" works a whole lot better than http://www.mycompany.com/foo/bar or whatever, it's something you might be able to remember from a radio, TV, highway sign etc. ad, less obnoxious on print ads etc.

A lot of the upfront development effort was devoted to dealing with misspellings quickly (the custom C++ tree database) and database replication so that it could insanely scale. We were using Digital Alpha hardware so we could have cheated in all sorts of ways just to get launched and then do Customer Development, (ADDED:) but there was this overriding fear that we'd get crushed with demand immediately after launch.
There are any number of opportunities to bring e.g. Japan into the 21st century. By the by, this is true for lots of folks demographically dissimilar to this forum in the US. JavaScript is cutting edge in my market, no joke.
This guy makes some points, but he obviously does not understand C++.
Don't forget Isle Royale: http://en.wikipedia.org/wiki/Isle_Royale#Interior_lakes

"Siskiwit Lake, largest lake on the island; cold, deep, clear, and relatively low in nutrients. Siskiwit Lake contains several islands, including Ryan Island, the largest therein, which itself contains Moose Flats, a seasonal pond, which contains Moose Boulder. When Moose Flats is a pond, Moose Boulder becomes the largest island in the largest lake on the largest island in the largest lake on the largest island in the largest lake in the world."
It's like a game of poker: always leave yourself outs. Have a few plans for how you can scale beyond "more RAM and faster disks" if the need arises, but don't move on them until you have to.
I'm considering starting my own shadow conspiracy to downmod every comparison to, or mention of, reddit.
I do agree with you. But if you view it this way, are't most systems cyclic? companies, economic boom and burst. Even America might fall one day after its peak. The important question is how long the cycle is. Previous social networks have never gained such mainstream adoption and user participation as Facebook have. Facebook might fall one day, but my bet is that it's gonna take longer than you anticipated. Everything is a fashion thing, essentially (even religions).
I can't believe that no one's tried to make an Xzibit joke yet. This either shows that HNers are 2 years behind in internet memes, or have the common sense to not use them everywhere.
Approved and in the App Store today, this is a major part of the data collection for my PhD.

I'd be very grateful for feedback on all aspects of the website/app/broader research. And if you'd like to download the app and take part, that would make me especially happy!

It's similar to what psychologists call an Experience Sampling Method (ESM) study, but where ESM usually asks a lot of questions of a small number of people, I'm asking very few questions of a (hopefully!) large number.

Plus, of course, I'm using GPS and GIS.

(Note: I'm well aware that iPhone users and Hacker News readers are not 100% representative of the general population, but the richness and novelty of the data I hope to collect mean I can live with this).
I dabble in UI design, and if I get the time would like to help out. Hopefully see you either tonight or tomorrow at some point.
I like the part at the end where he says that "employers are the main competitor to angel investors" -- that could be the beginning of a whole new essay...
What are you doing during all those hours? I never got into it that much (other than trawling for hot women).
Life is not fair objectively but there is the belief that it _ought_ to be fair. That makes a big difference. It is part of the common sense protocol of interacting with people. _Most_ people will assume that life ought to be fair, they also assume that others assume the same thing.

This belief in fairness can be exploited by sociopaths and those who end up in power. Of course, one can argue they ended up in a position of power because they exploited others' "fairness" expectation.

This probably has implications for how crime and punishment is treated by different cultures. The strong belief in a universal justice often gets used by the penal system to punish criminals in proportion to how much "retribution" the victim (or their family) demands. This is usually veiled in a some kind of a "the victim's family needs closure" type argument.

At the same time, I think, this revenge based justice is a result (and a perversion) of a universal religious justice that many members of the society have (had?). The idea that life is fair even beyond life, and afterlife is a place where retribution and rewards are dealt with.

It is interesting how for such a Christian nation, America has such a harsh penal system -- one would expect all those Christians to just let the criminals be punished in the afterlife.

EDIT: some syntax errors, clarity
If you are too selfish, society will cast you out. So it is selfish to not be too selfish. I don't mean everybody should be as selfish as possible, just that society should be a net win. Granted, it is more difficult than it sounds.
Funny, the Elbruz site is made by my employer (http://www.mijnlieff.nl/index.php?c=wie&p=arie&pc=&#...)
"Snake" in Dutch ... how appropriate.
Can you elaborate please?

Do you advise this from the perspective of being (1) in US or (2) in Europe/Asia? It doesn't make sense either way, and people from other places might feel excluded anyway.
This is why the media and information markets are so compelling. Find an existing entrenched player, identify the disruptive technology they used to enter the market (often it's something like motorcycle couriers), identify the technology which disrupts that advantage...
360 Health: How to Reduce the Risk of Dehydration in Young Athletes
yo dawg

---
Ugh, look what you've made me do.
SMS and phone calls don't broadcast, that is the key difference.
Since short fragments are allowed as fair use, one frame from a movie should be ok too. Whether you can copy a wireframe design of an interface under fair use is an interesting question though...
The interval between shifts seems to be lengthening, I think this is due to the increased effectiveness of the predominant social network du jour to exploit network effects. Maybe that alone will be enough to counter the 'fashion' factor but I don't think we're there yet.

And sure, everything is eventually cyclic (well, almost everything) but I mean cyclic on a measurable (say 10 years) time-scale, not something geological.
Facebook Picked Up Friendster's Patents For More Than It Cost To Buy Friendster
Google Cloud TV - The $70 Billion Dollar TV Advertising Market
Martin Odersky on Scala and Clojure
How did I miss this?  JavaScript shell
They did "stuff", but ultimately Digg's philosophy limits what they can actually do. They're all about "power to the people", and in an online voting context that leads directly to voting cliques, as inevitably as Duverger's law leads to two major parties. You can't fix the cliques without also destroying power-to-the-people. To Digg's credit, they've tried to be true to their philosophy. Unfortunately, it's not possible.

In fact Digg and a couple of other technologies taught me the foolishness of "power to the people". You don't want to democratize every site on the internet. You want to allow a million flowers to bloom, everyone to have their say but in their own space that they control. This produces a much healthier environment. It pisses off some people that their soapbox doesn't grow as large as they believe it should by virtue of their obvious innate greatness, but I've come to see this as a feature, not a bug.
The way I think about scale is:

1) Know your bottlenecks and write them down. This is where you will look first if you have problems.

2) Know how you will throw hardware at it or change configurations if you find yourself with sudden growth you didn't expect. You need to create a buffer so you have the time to solve real code issues. Write it down.

3) Whenever you make an architectural choice, make sure there isn't one that's equivalent in engineer time that will be easier to extend later.

Otherwise, just do whatever helps you learn about the product the quickest.
Is there anything not biased?
Thanks :)

Yes, you're right. There's a lot underneath the surface that most people are unaware of, only having been exposed to the Google Wave client. It never got to the point of showcasing the distributed collaboration.
Thanks for this. I just started exploring CouchDB for my next app.
I liked the book. I got the audio version as a gift and listened to it on a long automobile trip. It is not boring and the technology is plausible.
I grew up in Florida and lived in Sweden for a couple years. Even as a kid I disliked Florida because you quickly run out of clothes to take off. Even in a bathing suit it's sweltering. While I don't find winter weather pleasant, I just put on more clothes until it's bearable.
"Hose" in Swedish, which I also found amusing. :)

Also, S-lang is the name of at least one well-known programming language, it's used to script the jed editor among other things. See http://www.jedsoft.org/slang/.
That's the same reason Seattle has it's rainy reputation even though it gets fewer inches of rain than most East Coast cities.
Is anything wrong with the rest? I don't own an iDevice, so I don't know for sure, but the rest seems spot on.
Best advice I ever got on the topic was "Just don't be stupid, reasonable solutions tend to scale idiotic ones don't."

Which basically boils down to don't worry about performance in the +/- 50% range, worry about performance when you are going to see x^3 or +/- 5,000%.
File Sharing FTP PlugIn For Your WordPress Blog
Fascinating - the researcher in the video mentioned that 'fair' is an English-language concept without a precise one-to-one translation in other languages.

Briefly messing about with Google Translate seems to bear this out - for many of the other languages I checked, Google suggested one word meaning 'just' and another meaning 'equitable'.
Melatonin has really helped me regularize my sleep pattern and get better sleep quality. I recommend it. So far I've been taking 3 mg supplements, but I've read that this might be overkill, and plan on moving to 1 mg.

http://en.wikipedia.org/wiki/Melatonin
I read this article a while back, that said that Microsoft employs more millionaire secretary's that any other company in the world. They took stock options over Christmas bonuses. It was a good move. I remember there was this picture, of one of the groundskeepers next to his Ferrari. Blew my mind. you see shit like that, and it just plants seeds, makes you think its possible, even easy. And then you turn on the TV, and there's just more of it. The $87 Million lottery winner, that kid actor that just made 20 million o his last movie, that internet stock that shot through the roof, you could have made millions if you had just gotten in early, and that's exactly what I wanted to do: get in. I didn't want to be an innovator any more, i just wanted to make the quick and easy buck, i just wanted in. The Notorious BIG said it best: "Either you're slangin' crack-rock, or you've got a wicked jump-shot." Nobody wants to work for it anymore. There's no honor in taking that after school job at Mickey Dee's, honor's in the dollar, kid. So I went the white boy way of slanging crack-rock: I became a stock broker.

- Seth Davis, Boiler Room
Andy Ihnatko: Google lacks guts in killing short-lived Wave platform
I know exactly how you feel. My reaction was, "Isn't that obvious?" I remember when the term hypertext was all the rage, and when it was by no means certain that the Internet was the fabled "information superhighway" where all the data in the world would be cross-linked. I was born in '73, so I imagine I am right on the cusp of those who would have had personal knowledge of this, and those who would be too young to have cared at the time.
It installed for me when I installed CouchDB to experiment. I wish I had known about it earlier (although updating a browser isn't exactly hard, it will be useful for building libraries.