skysight-inc/HackerNews huggingface dataset:
The "It's not just you!" on http://downforeveryoneorjustme.com/shamusyoung.com tells me he might have taken his advice a little too far.
I will definitely use it. Thanks for both writing it and promoting it :)
Fogcreek is actually fairly anti-TDD, unless that's just Joel speaking.
Nice one, am enjoying reading about how it works now. I think you've converted me :)
Exactly - and it applies to regressions caused by changes in the system (ie: change of platform, of version of the language, security patches etc), not only to changes to your code.
In the automated testing sphere, I'd like to recommend TestPlant (which my company has purchased). It's expensive, in the region of thousands per year for a floating license, but it works really well.
This is a great library. We dumped Flash and npw use a modified version of Sparklines in our reports. Have a look at an example here:

http://dev.visualwebsiteoptimizer.com/test_report.php?test_i...

A bit unrelated to this but any ideas how we can improve the reports? Specifically thinking of providing little line chart sparklines for traffic next to each variation.
Siri bought by Apple
Thanks for your comment - I noticed that as well once I had implemented my first gmail/openid enabled app. People just don't care, at all :)
Now add some pathfinding and it will dominate ball in maze puzzles!
As I noted, 1.8.7 produces a hash collision for [2, 3] and [4, 5]. 1.9.1-p376 has exactly the same behavior. I reiterate: the Hash object is unreliable, regardless of the runtime version. Based on such nasty behavior in such a simple case, I distrust Ruby's runtime and standard library for more complicated uses.
Would PedantPDF work ?
Sorry what?

What else do you call people who sign-up if not "users"?

They don't say that "2 million people use our apps and all of them signed in yesterday", they're just giving you an idea of the total number of accounts they have in their db.

It's marketing, not horse shit.
Ten Crack Commandments: Notorious BIG's Business Lessons for Startups
Gotcha. I would agree about PHP, but not much about Python. It's true that universities are starting to get into Python, and not so much ruby, but bindings and libraries? I guess we're just trying to accomplish different things.
How many tests would be made obsolete with basic aspect oriented programming? Oddly this has not really caught on in the Ruby community, probably because testing requires less thought and people are paid to write test code so why not just relax and write boilerplate CYA code and get paid for it.

The 80/20 rule applies to testing, but most people test things like basic ActiveRecord finders, etc. Why? Because writing a test of something complex requires a lot of thinking which hurts a bit.

In most apps, there is a "money work flow", such as signing someone up, taking an order, etc. If that stops working it's a really big deal. To adequately test it you probably need integration tests, but most devs don't bother to write that test because it's a pain and it fails a lot during development.

I think TDD is a bit of a cop out that can lead to an insufficiently specified API. If all it takes to make the test pass is to handle a narrow case of inputs, then you should feel no additional confidence just because the test passes.

Ideally running a test suite can tell you that the code is safe to deploy... Some tests can also speed up writing other code by making it easy to think through a problem with sample data.

If you are writing filler tests, useless tests, etc. just stop and figure out what is actually important.

If your unit tests take longer than 60 seconds you are probably doing it wrong.
Interesting that I'm reading this on 4/28 but the article's timestamp is 5/2. Did they publish early by mistake?
Useless trivia: this video is shot in Suvilahti, Helsinki. It's an old power station, and last year served as a most appropriate venue for a concert by the legendary Kraftwerk (whose name is German for, well, power station).
I agree - it seems that Dailybooth has this market covered.
Gotcha. I misread that part. My bad. I don't use sets, so I've never encountered this.
I posted this about a month ago, didn't seem to get much interest then unfortunately. In any case, here is a link to the actual thesis:

"The Story of the CDO Market Meltdown: An Empirical Analysis." - http://www.hks.harvard.edu/m-rcbg/students/dunlop/2009-CDOme...
That pretty explicitly means active and current users of their products

It does? Says who? This is your definition of a user. That's fine, but it doesn't extend to being a common one.

Unless of course you delete all the accounts of people that have registered for your service but aren't using it as often as you'd like.
Here is an amendment I made to the flowchart in that post:

http://i.imgur.com/FRGX0.jpg
"The page you were looking for doesn't exist. You may have mistyped the address or the page may have moved."

Wow, that's pretty zen.
Open source is an interesting example.

Normally there are transaction barriers that inhibit cooperation in providing public goods. However software has far fewer of those barriers. And so you get a situation where a network of loosely connected people each pursuing individual goals can collectively provision a public good.

I remember running across a footnote in The Logic of Collective Action saying that this was a theoretical possibility, but no example was known of it. (The book was written back in the 1960s.) In any case it is an extremely unusual example.
Seriously, on HN top 5?
I'll keep it free for now, until several patches later and the app becomes more or less worth the money. I appreciate your active participation :)
If you stopped reading there, you completely missed the meat of the article, it wasn't about suburbia at all, it was about getting the size of businesses right.
Hawking Warns That Aliens Are Dangerous
Thanks, I see it now. It was linked to my abtain profile, and I didn't realize I could change that to whatever I wanted.

IP: 75.93.212.230. It shows up as Greensboro on most sites, which is just one of the shortcomings of geolocation by IP. So really, I just need to be able to change it.
Looks like Apple wants to improve voice control on the iPhone!
I don't honestly know the proper role for government in charity. I reject it rhetorically to illustrate that rejection of government charity is not rejection of charity overall, but I do not know if the extreme case is practical. You do seem to be right that it is not practiced.

I had thought I would find counterexamples in places like the Antebellum south, or ancient Rome, and while I found a reduced emphasis on the state, I did not find it completely gone. And while my off the cuff memory is that there are places in the world, even today, where the obligation for children to care for their parents in old age is so complete that people have children for that very purpose, I don't have a citation for it. And I really don't have the experience to know whether it's preferable.

On a personal level, I see very vividly the evils of institution and bureaucracy: the people it misses, the way it mistreats even the people it helps. I have helped homeless friends with transitions from shelter to shelter, even opened my home to them when it was appropriate; I don't think highly of the treatment they get, well out of the public eye. And I'm pretty sure if the city hadn't been there as an option, I'd have done more, and they'd have been better off. Is it good the city was there? I guess. But I hate the false dilemma that says it is the only way, and my instinct is that family, friends, and community are far better.

I do not know what the correct role is for the state, but I cannot but hate anything that weakens the responsibility of a man to care for himself, or that seeks to replace the hospitality that family, friends and neighbors owe to each other.
Ask HN: a book recommendation? For follow up after business networking event.
I would be grateful if can get a recommendation for a good book to write follow up emails after business networking event. Most of books listed on Amazon.com are BS.
Rightload: an adaptive feed filter -- feedback sought
Minification provides a nice degree of obfuscation as well.

If for nothing else, it's nice to be able to put in the standard /* XXX dodgy hack, talk to Pete before touching this code */ stuff without worrying about curious customers seeing it.
I wonder if this means the end to Siri apps on Android?
What software to use for support/new development?
As a web developer, there's always new products being developed as wells as old products that need to be supported, what systems or software do you use to manage this mess? It coming to a point where I need a real system because items are starting to fall through the cracks.
Many times I'll write a comment, sometimes a really long one, and than decide that it really isn't adding much to the discussion and so I'd just skip it. See, I wouldn't normally post a comment like this.
Here's the non-scraped link:
http://www.alternet.org/vision/146623/the_surprising_reason_...

And reddit comments:
http://www.reddit.com/r/environment/comments/bwsm2/
The conclusion of the article was that people don't need to meet people anymore to go about their life. The question is if the time saved by shopping online (if any, while it may be more efficient, there's also much more data you can potentially peruse in deciding your purchases), or in the supermarket, is actually invested in cultivating relationships or if it goes into more hours working, for example.
Mega whiteboards in Stanford school
Even more interesting is that trst.me has more (or more up-to-date) data and probably didn't require $1.5MM in funding.
I may be reading things wrong, but I think people are arguing against unit testing, which is the focus of TDD.

I hope people aren't arguing against integration testing. I agree with the original post that unit-testing can become onanistic fairly easily, but I think that that is a failure mode for just about any coding style (coding for the sake of coding vs testing for the sake of testing).
I've often wanted the pattern of upvotes/downvotes of a comment to be visible in sparkline form (much like the 'SF Giants' win/loss example on the top right of this page).

Why? I think a +2 comment that is 100 upvotes and 99 downvotes is more interesting than one with a single upvote. It's also interesting to see the comment-voting that changes direction once conversation progresses, or when a different audience shows up (for example, at night). (These could be indicated by extra ticks when followup comments are posted, or background shading to indicate time-of-day.)

It'd be too much to include these in the main threaded view, but as an extra detail (like the 'flag' button) on individual-comment pages, with soft enough colors, it could be interesting.
I'm inclined to agree with this theory. Ironically, much of this article is also FUD. i.e.

The deal could be seen as a veiled threat to other handset makers choosing Android - if they don't have such an agreement in place then presumably Microsoft is at liberty to sue them for patent infringement?

theregister fails to take into consideration that MS is a longstanding partner of HTC's and that HTC was making WM phones almost exclusively until the last year or two. It's very likely that this is the result of an agreement made long ago.
Actually, the main difference between debug and release are that release builds also minify/compress the code. Both compile from objj to js.

Of course, you can not run the compiler at all and the code will still run in your browser, because it will do the compilation "just in time". There's not a significant performance penalty for doing this, and browser refreshes are still speedy. But when you're ready to deploy, you might as well build ahead of time even for a 10-20% launch time speedup.
Thank you for posting this.
So is "the API web" that Robert is referring to the new, more practical take on "the semantic web?" The hazy parts of the semantic web being replaced with programmers writing apps to piece together information from APIs, of course.
What an inspiration this young woman is!
I'm working on a project right now where I inherited a large functioning system that has no unit tests. As I'm making changes I'm adding some unit tests to prevent regression.

While I agree with the article that test cases are often overdone, I think that skipping test case implementation only works for those that have done enough design and implementation and learned where it should be skipped (e.g., where the only reasonable test case would just duplicate the implementation).

An important thing about TDD is that one is forced early to design the interfaces between components in such a way as to make testing possible. The test cases are less important than that the code is testable.
Project Sikuli ( http://groups.csail.mit.edu/uid/sikuli/ ) works very well for automating mouse clicks & UI testing/scripting.

(although it's somewhat slow)
So now you know that others in your company (or at least behind the same caching firewall as you) are HN users! :)
HN iPad app github repo
I fully accepted TDD at first, but now only implement certain principles that have helped me develop better software. I am not the type to implement needless code just for the sake of it. However, many times, unit testing have saved me from countless hours of debugging and introducing new bugs. I will admit, I am one of those developers that write code first, then unit test second. That's just my style, and it really does not matter if the end result is the same. More reliable, robust and less buggy software.

It takes a pragmatic developer to evaluate methodologies and patterns, utilizing the concepts that suites the job. Ultimately, mindless use of patterns and methodologies will not solve the problem.
How Americans are getting on top of their finances (Infographic)
I benchmarked this a few weeks ago at around ~300req/s on my recent macbook, which was a little disappointing.

For kicks, here's my CoffeeScript/Node.js code I used. I did the benchmark with ab entirely on localhost. Normally that's not ideal, but it was enough to tell that this isn't as fast as I'd like.

http://gist.github.com/382372
This revolution in software process actually comes to us from practices employed by a secret brotherhood of programmers who have been keeping them alive since the sixties at least.

These practices were called "hacking".

The Way of the Hacker is subtle indeed, yet obvious; and it is hence prone to being rediscovered from time to time by people outside the core discipline.
No, it's a preview of an article appearing in this upcoming Sunday's NY Times Magazine (5/2). Bottom of the page reads: "A version of this article appeared in print on May 2, 2010, on page MM38 of the Sunday Magazine."
Apple Buys Virtual Personal Assistant Startup Siri
Just finished Big Short and it's good - like anything by Michael Lewis. It's the only thing I've read that completely tied together the hedge funds, the investment banks and AIG for me.
How to meet Angels/investors when you have no contacts?
I am currently 19 years old, been doing web development since 15 back in HS. I've got a lot of ideas for the future of the web and have the power and potential plans to implement them, only problem is (unfortunately) the money. I've been trying to find Angel Investors and businessmen to get behind my ideas, but it's hard to get into the business when you're so young... which is unfortunate, because I don't believe age should really be a factor when it comes to things like this.<p>Any ideas/tips on meeting Angels or investors to even just discuss ideas? Any help would be more than appreciated
Apple buys Siri as war with Google heats up
Lighthouse app: http://lighthouseapp.com/
Peak Everything?
Main points:
* works with most feeds and feed readers
* filter the feeds you want, not some other stuff on top of what you have to read already
* uses 1 second yes/no feedback for fine tuning
* uses state of the art algos for text analysis
* first public announcement, simple prototype, please be kind ;)
Google Crawls My Site 90% Faster - Speed is Important
Could this be used to send 'secret' messages only visible to camera-shots of certain specs/orientation?
This is also Ruby's downfall, and until the community can settle down a bit, why Ruby will never be a mainstream language.

I enjoy Ruby, I tend to write my scripts in it, and have written a couple Rails sites in my time. But there's probably 1 Ruby job out there for every 300 .NET and Java jobs, maybe even less. Maybe the Ruby community likes this, I dunno. But for me, it means I've never had a chance, and probably never will have a chance, to really use Ruby in a professional environment.

And I can't really blame companies, if I had a company I wouldn't use Ruby either. I generally find .NET is a nice compromise between Ruby's ADD and Java's glacial pace, but that's just me.
There is some irony in using GitHub as a shining example of Ruby consider that the tool underlying it all is written in some hardcore C.
Perhaps. Many people believe there is a place for ethics in both business and politics. Without ethics and principles everything must be regulated or tested in law. Loose regulation and reliance on just market-forces does not always result in the best outcome long term.

Banks for instance advocated the loosening of regulation to act just as you suggest. Now many blame them for breaking western economies.
I looked on Google finance and there is no news about this:

http://www.google.com/finance?q=siri
Is this the first app-related acquisition by Apple?
I agree that the headline and conclusion was linkbait, but the main story was great.

I have this sinking feeling that the globalization of food production is a race to the bottom, but it's a race that can only work with the extremely low costs of transportation that we have. But if oil prices rise, and with it transportation costs, we will have huge problems turning back the change from individual local farms to centralized agribusiness.

This article was very refreshing by talking about growing a business to the right size, not to the largest possible size.
Every house on the street I grew up on had a front porch and 4 to 6 people living in it. Everyone knew everyone and we did everything together. There was no organized sports; if you wanted to play you just went in the middle of the street and in 5 minutes there were 10 other kids. If you wanted to take a shortcut, you just cut though people's yards; no one had a fence.

Every one of my parent's 14 siblings and my 32 first cousins lived within 10 miles. We all saw each other at least once per week.

Our mailman cut our hair, our dry cleaner picked up and delivered, our principal was also manager of the local swimming pool, and we worshipped in our neighbor's basement.

We knew the names of every police officer, fireman, cashier, clerk, waitress, gardner, and handyman in our neighborhood. If you ever needed anything, someone knew someone else who could help you. We didn't have google, cell phones, or cable TV; we had lots of other people in our lives all the time.

In college, I lived with 35 others in a fraternity house. We didn't do a whole lot of planning. There was always someone around to do stuff with.

Today, I don't know the name of a single neighbor. I don't remember the last time I lived in a house without a fence in back or with a porch in front. My nearest relative lives 1000 miles away. I know the names of exactly 2 waitresses; guess where I eat out all the time?

Loneliness probably has more to do with the proximity of people in your life than all these other "factors".

I don't know when things changed, but they sure have. Anyone with experiences similar to mine?
i use mutt with header+body caching, and a small patch to write those cached messages in a maildir format (http://jcs.org/notaweblog/2008/09/29/making_mutt_useful_offl...). this lets me access imap quickly and directly and always have fresh messages, not have to continually run something from cron on my laptop when i'm not reading mail, and still have a full cache of messages to access offline in maildir format if i need it.

on my server i have procmail setup to write a copy of every incoming message (that isn't to a mailing list) to an "allmail" folder that i rotate yearly. this lets me prune my inbox without fear of losing anything, as i occasionally have to search through the allmail folder to find an old email. using mutt's body searching usually finds what i need, and since all of those messages are cached offline, it's relatively quick.

for the rare times when i need to find something that mutt can't find on its own, i use mairix to search the local maildirs, which writes search results to a new maildir, which i can read in mutt.
They seem the best of the Twitter influence measuring services. They've clearly put thought into what actually matters. Glad to see them moving ahead.
Techcrunch just posted about it as well: http://techcrunch.com/2010/04/28/apple-buys-virtual-personal...
Kind of an interesting article. I'm not sure if I'd state it quite the way he has. The best way I've ever seen it stated is: "test what you don't fully understand".

Test what you believe is fragile, or know is fragile.

Improve that later if you can, but your test suite is your safety net for keeping the nonobvious bits running. It's not a religion.

Don't test every assignment, just as you don't comment every assignment.
The challenge with getting those old gems up to snuff is the challenge with Ruby itself. Unless you have a great set of test cases, refactoring is a REALLY BIG PAIN...often with a cost close to 10-20% of original development in my experience.

In my many years of doing Ruby development, that's my real complaint. Ruby makes it much more difficult and costly to eliminate technical debt.
Does this not depend on someone updating it. I find in many cases just a gem name, nothing more (last i checked).
That sounds like a good goal indeed. Looking forward to reading it!