skysight-inc/HackerNews huggingface dataset:
We have tests for both Rails and front-end javascript. Not 100% coverage, but all of the critical code is covered. TDD is used to develop the more complicated domain specific features that we need to make sure are correct.

We also create tests to cover bugs to prevent regressions.
more fascinating reading on this subject:

http://www.itu.dk/~mikkelbu/projects/ars.html

and this classic:

http://www.cs.nott.ac.uk/~gxk/courses/g5baim/papers/ants-002... (pdf)
Do you know of any good texts or articles that describe the "right" way to test?

I put myself in the category of mediocre test writer, because I do bump into the problem fairly regularly of having a lot of tests fail when I do a rewrite. I'd love to learn how to write better tests...and your last paragraph seems to scratch the surface of a superior approach.
We do use automated tests, but not test-first. The tests are written once the design and the initial implementation have settled down a bit.

I think production code absolutely needs good test coverage, otherwise changing things is a nail biting affair.
The project was interesting because it involved the new process (Scrum), a new technology platform (Adobe Flex), and a fair amount of requirements (rework) and technology (refactor) churn. And it was a "1.0" product. And there were high revenue expectations (which were exceeded+met, at least until the recession)

We did do fairly large stories (e.g. complete UI panels) but we go slammed when the requirements changed and we had to go back and rework what was 'done' in Sprint 4 during part of Sprint 6. I always joked that I was going to give a well done steak to my scrum master at project's end (e.g. a raw piece of meat).

I fear that my first gulp of Scrum has left a bad taste but it was an intense experience. We are much better now - very little requirements churn and we have a UXD group. We don't have Mighty Morphin' Wireframes now. Scrums are now managed according to the scrum master, which means if the SM is relaxed, hands-off (like ours is) we don't get pressured to update the burn down every day.

Burn downs. During the first project there was intense pressure to meet the burn down expectations so people would work overtime and that skewed their accuracy and added stress. What ended up happening in practice was that some tasks took hours from other tasks.
Drizzle, Simplified MySQL Fork
The value of typing
It's seems great for developpers. The minus part of generated code and all those frameworks is of course that it doesn't go in the direction of "view source" readability. Is css becoming an "assembly" for style inside browsers?
What we know about AWS EC2 console iPhone application
To the degree you are relaxed, having fun, and working hard, it's working. Use that as a guide. Scrum/Agile isn't magic or new -- it's just stuff that smart teams have been doing for decades.

Sorry to hear about the bad taste it left. Sometimes it isn't the way you work but just the initial mix of folks that make a big difference. Some people are okay with chaos and changing requirements (ie, they know how to nail down what they can and what they can't and do the work expecting change) and some folks aren't.

Remember that agile teams aren't just a big list of stuff where you do a little each sprint. That's something you could train monkeys to do. You're supposed to be managing the big picture, working risky items first, designing for change, etc -- all of the good stuff that keeps you out of those "done" screw-ups.

EDIT: Burn-down mania: make your sprints small (a week or two). If you end up working OT, it's simple: don't buy so many stories the next time. Some guys will say you should never work OT, but I find that impractical in the real world. Better to have smaller sprints. If something hurts, stop doing it. I also find PMs pressuring teams to buy more stories than they can do. The PM shouldn't be the CSM because of this conflict of interest. The team should be in charge of what it can do or not inside a sprint.

Thanks for the story.
Well, people who do splits are training each muscle multiple times per week. If you have an "arms day" and a "chest day" then you're hitting your triceps twice, for example. On "legs day" you're working your abs as well as your quads to squat, even if you have another abs workout another day.
No, I didn't. And that kind of eliminates those concerns a bit.

Apologies for my lack of reading-all-the-way-throughness
You and I both suffer from SDS: single developer syndrome.
Is anyone else excited about this? Would this application be any use to people? Interested in feedback!
I recently finished contracting with a startup that heavily relied on outsourced programmers for 70% of their code. Use of TDD & Cruise Control were essential in keeping the code quality up while rapidly adding developers. I have to say, they managed it all pretty well.
That's a neat project, but I always figure that if you're going to fork an open source project instead of contribute to the original you really have to make a very strong case for doing that, and in my opinion in this case that has not happened.

Everybody - including the author - would be better served by extending the original package to include the functionality that they are missing, to fork and drop a bunch of features so that it becomes easier to add the things that are missing is not going to help in the long term. Unless it is done as a case study on how to attack the problem, but that does not seem to be the case here.

Fragmentation because of excessive forking of projects is one of the biggest problems in the open source world.
I disagree with your assertion that there has never been a "remix snippets" exception to copyright. The EFF posting mentions the principle of fair use, developed out of case law at least as old as 1740 [1] and now incorporated into modern statutes [2]. Do you dispute that fair use addresses a "remix snippets" exception to copyright?

[1] http://books.google.com/books?id=VNA48yhYnncC&pg=PA80...
[2] http://www.copyright.gov/title17/92chap1.html#107
Hm, yes, that could work.

Though it is still a bit too complicated because quite a lot of interaction is needed to do that, even with the delicious Firefox addon. You probably have to manually enter the group name as a tag, for example.

Ideally, I'd only have to click one button displaying a popup with all groups I've set up.

But well, sounds like the way to go - unless somebody can point me to something else.

So, thanks for your answer! :)
This is a common fallacy regarding test driven development. I use BDD/TDD MORE as a single developer. I may spend significant time writing tests, but the product is significantly better and I spend less time tracking down bugs.

The time you "lose" on the frontend of development is made up on the back.
Agreed, you could really see the emotion in face/voice when he was describing what he went through.
He could also believe exactly what he says, that Spolsky has a "lack of knowledge of what I do and what I say".

FWIW, I think this is the post being responded to: http://www.joelonsoftware.com/items/2009/01/31.html
Firstly, if the two machines are on the same switch this method is noticeably faster than scp'ing something large. The actual main reason though, is that this isn't limited to tarring over a network. What it comes down to, is you can almost seamlessly have a shell pipeline and one of those stages jumps a machine boundary.
Google's Clout Grows as Tech Initiatives Take Shape
Who told you that names are supposed to be short and distinctive?

My common sense and probably every marketing book in existance.
Think about the internet brand names that you can recall from the top of your head. How many of them are longer than 8 letters?

Security Situation is a pretty damn good name if you're starting a security company.

Most certainly not. It's generic and unsuggestive. That kind of name may work for an information page ("Security situation in your neighbourhood") but not for most businesses.
> After the changes, you know there's probably bugs, but you don't know where.

Which highlights one of the "problems" with unit tests: if something fails, you have to take time to go and fix it. If you have no tests, you can assume there are no bugs because you are such a great programmer, then go home after a job well done.

That there actually are bugs there doesn't bother you, because you don't know about them. It takes less time to write buggy code.
$50 to anyone who can tell me the whereabouts of these meatheads
A point on terminology: unit testing is an upstream, in-development process, done usually either by development or CM. For example, a java build tool like maven can include running unit tests during the build process. Automated testing is usually a downstream process done by QA. Currently I do SilkTest automation, using the 4-Test language of Borland SilkTest. That is under the "umbrella" of QA. In the past though I have done unit testing (CPPUnit mostly, the C++ port of JUnit), which would have been under the "umbrella" of development. In my experience, it seems like people adopt automation (i.e. GUI automation) from the QA end of it, before they adopt unit testing from the development end of it, unless a test driven development mentality is there from the get-go. If a company starts without this, they are more likely to adopt automation in the QA end of things, and then maybe later adopt unit testing in development. Seems like a company needs to do unit testing from the very start, or otherwise it is very slow to adopt it. I think unit testing is a great idea, but really it is hard to put into place from a management point of view, unless it is there to begin with.
> Fragmentation because of excessive forking of projects is one of the biggest problems in the open source world.

Can you give some examples? Here are some examples where I think the fork has actually achieved a great benefit, and fragmentation has not persisted:

* GCC/EGCS
* Xorg/Xfree86
* SSH/OpenSSH

GNU Emacs/Xemacs would be the most obvious example of continuing fragmentation that springs to mind. What are the others?
India’s $10 Laptop Sounds Like a Bad Joke
>>if you're going to fork an open source project instead of contribute to the original you really have to make a very strong case for doing that, and in my opinion in this case that has not happened.

Can you please give any specific reasons for having that opinion?
It sure looks like the company the author works for could use a bit of a code auditing, not just the bits that you're looking at right now.

Who knows what else is squirreled away in there, if this could escape attention for 5 whole years then chances are there is more where that came from.
What if the home movie consists of a completely black frame? Wouldn't a blanket exemption for home movies effectively allow unlimited reproduction and distribution of audio files? For this reason, I think a blanket exemption would involve a radical transformation of copyright.

At least one of Lessig's books point out that the subjective fringes of laws together with the court system provide very useful legal flexibility for problems such as this. No one has described a feasible means of achieving both full automation and justice in a legal system, so it's better for automated enforcement mechanisms to err on the side of liberty and to let mistakes be corrected in the courts.
Nine Web 2.0 Startups Beating The Odds in a Down Economy
The amount of productive output is not 2x as much as the 40 hour week; due to fatigue and stress, the productive output only averages out to about 150% more work

No, because someone working 40 hours a week has a large set of problems they can't solve -- e.g. anything that takes 160 man-hours to do and needs to be finished in two weeks. Someone who works insanely hard is going to be first to finish a lot of stuff, and the prize for first place can be enough to justify the cost.
It's good to see activity in this space, with more people and offerings (even if some of them are semi-dodgy). It's been too quiet for a while, with just the major search engines and other big players doing their own proprietary indices.
With Google's Latitude, I might finally learn where on earth Carmen Sandiego is.

This might make http://www.wherethehellismatt.com/ redundant, if you know where he is all the time.

Mixed feelings about this Google, mixed feelings indeed.
Good presentation. To be honest I didn't know of CouchDB. Looks quite cool. Anyone using it on here and what are your experiences of it?
Nice to get a comment from Google right away, though.
The alternative, is to build you code in a way which tells you quickly about bugs... decent logging, etc
Yup, old news:
http://news.ycombinator.com/item?id=402973
I don't get what is wrong with that, other than in the try - catch block in the init() method the Exception e is stubbed, i.,e., a stack trace or whatever is not printed. I know that is bad. Is that the main problem? Other than that, it looked like perfectly valid code to me, though admittedly I know C better than I know Java. Don't get me wrong - I believe you that there are valid concerns, it's just that personally I don't see them, other than the issue with the try - catch block.
Agreed. Four-week sprints are more like a frigging 10-k. And some of them were run in perilous, icy conditions (1.0). However, that's the in-company standard now. We're ok with it - we've learned much more about team velocities and how to balance it with product owners' expectations.
With a new pc windows 'costs' something like 30 bucks, that doesn't mean that's what it 'cost' to produce. Now with software that's a lot easier than with hardware since the actual costs involved in creating another copy are substantially smaller.

But both of these examples are subsidized, a similar copy of windows at retail goes for a lot more and nobody bats an eye at that.

I'm reading this whole $10 laptop thing as a 'cost to buyer', including the subsidies, not a 'cost to manufacture'.

The cost of the parts (kb, display, cpu, memory, battery and circuitry) do not make it possible at any economy of scale to beat the roughly $100 mark, so it's pointless to try to interpret this as the 'manufacturing cost'.
100 Free Open Courses to Be Your Own Financial Planner
Ask HN Can "Aliens" (foreigners) start a company in US?
I'm a foreigner (alien) in US. Been here for about a year. I'm on H1B visa, consulting for a company here (hence I have SSN, but nothing else). If I want to start a company, how easy is it / is it allowed? Anyone have such experience here? How about a simple thing such as having Adsense on my site? Is it that I can get paid only by my H1B sponsor, in which case not even this adsense thing is possible?
There hasn't been a Godin on the front page for a while, and even though this isn't the greatest thing he's written, this is the kind of post I could read every week or two from him. Thanks bdfh42, and thanks to everyone who has passed on the last several dozen posts from SG.
Have a look here: http://news.ycombinator.com/item?id=465532
Toward Affordable Structural DNA Nanotechnology
Absolutely. I've done this myself in Michigan while I was living abroad.

The process cost me about $1200 in legal stuff including a business return address at a lawyers office and all the state fees for the registration.
As Jon points out, the Prius was developed after the marketing thinking was done. Jones Soda, too. In fact, just about every successful product or service is the result of smart marketing thinking first, followed by a great product that makes the marketing story come true.

Ok, so yeah, lets call a spade a spade, he's talking about positioning.

Actively marketing your product is fine, but you still actually need to have a product or you may position yourself out of the market as Vaporware.

Exhibit A) Duke Nukem Forever.

I rest my case.
Nokia 7390 3G Powder Pink
An exception but Firefox was probably one of the most successful forks (of the open source beast Mozilla) ever.
There's an element of truth to what Seth said. Sometimes a great product is too early -- it won't be able to achieve product/market fit until years later. But the untruth in what Seth said is that sometimes you can't understand the market for a product until you put the product out there.
>> "Before the changes you have code that you know works. After the changes, you know where most of the bugs are because your tests tell you where they are."

No. More often than not, if you change was a large architectural one, which is often the case in young software, your tests are now irrelevant, or broken.

>> "It's the difference between walking with your eyes open or closed... it may be more work to process all that information about obstacles, but it sure is helpful if you want to avoid those obstacles."

Do you seriously think people are just blindly coding and never testing anything here?

while(true) {
writeABitOfCode();
while (!compile()) fixCompilationErrors();
testThingsYouMightHaveChanged();
checkLogsForIssues();
}
I'm using it and like it a lot. I'd say it's still relatively new and there isn't mountains of documentation or examples so sometimes it takes a little banging your head against the wall. I think it's still at the alpha stage, though I think 0.9 will be considered beta.

For more information on couchDB: http://couchdb.apache.org/
I'd say that his ideas on management are interesting and informed. But when he starts talking development or technology he quickly becomes uninformed and poorly researched.

The discussion they had a number of episodes ago regarding MVC "patterns" made it clear that they had no fucking clue what they were talking about. And when Wikipedia didn't give a fast answer they began guestimating instead.
Is particle physics the new rock n' roll?
Besides the obvious try, catch ...do nothing, the code checks for a username "pustulio" and then redirect user to a screen that just say "all your base, are belong to us!" in plain text. Do I need to say more. :)
Seems like google has done a good job on privacy. From Mashable "When it comes to privacy, Google seems to have done it right, since absolutely everything about Latitude is opt-in...you can set it up so that your wife always sees you at work. Why you’d want to do that, we leave to your imagination."
http://mashable.com/2009/02/04/google-latitude/
Sure, the author says he has removed:

"No modes, views, triggers, prepared statements, stored procedures, query cache, data conversion inserts"

Some of which have been recent - and much requested - features of mysql.

Then he has added "DDL transactions (maybe), or faster subqueries"

That sounds like a good bit of major functionality was ripped out wholesale to make one feature possible (and that with a 'maybe'), and to speed up one other feature which was already present in the original program.

To me that's clearly a very very bad reason to fork.

Go and spend the time to help optimize subqueries for everybody and try to add your 'maybe' feature in to the original codebase, which probably will be harder but much more useful in the long run.

Especially if you find out half a year down the line that those stored procedures were pretty good after all and you need them now.
That is awesome. If you did it while abroad, then I should be able to do it while being in person, here in US. HN is awesome. Thank you so much.

If it is OK to ask, yours was a web based biz? or was it not software related? I'm thinking of doing websites, either advertising or subscription model.
I used to be an immigration lawyer for a law firm in a city full of high-tech industry. In the best case, with careful legal advice, your new business could become a legal basis for staying in the United States, as well as your source of income. That depends on the financials, of course, and depends on the structure of the company. The law has changed since I last actively practiced this area of law, but there could be a path for you to change careers this way and stay in the States if that is your desire.
Dive Into Python has a couple of good chapters on unit testing. Maybe you're looking for something more advanced though. If so, I think he gives some references for further reading.

http://diveintopython.org/unit_testing/index.html
Please everyone read the second paragraph of brents insightful comment.

Another place where tables have the edge: when a new browser version comes out, css layouts are often broken, especially if they rely on hacks.
I can stay here only as long as I have my H1B visa AND work for the company that sponsored it. I'd like to start something part time and see how/where it goes before taking it up full time. Any sites/URLs to get more info on this?
I think that Seth is trying to say that there are important parts of marketing, such as market research, needs analysis, product definition, etc etc that he thinks should be done before the development of a product. It would have been nice if he had said so explicitly in his blog - he has a lot of readers that aren't trained in marketing.

Personally I'm dubious - Apple certainly never does marketing before product development. Even just looking at what happens in the company where I work, I notice that the innovations that really open up new markets and new revenue for us always come from the developpers. The marketing group just aren't aware enough of the technical limitations and opportunities that are out there - they either push for products that just can't be done with current tech, or they simply follow what their competitors are doing.

Of course, in a company that does marketing properly, which to my mind means including experienced engineers in the team, you could probably get some pretty good results - it's just that I've never worked in a company that does that.
Can you do all the image/signal processing stuff with the home edition?
http://news.ycombinator.com/item?id=382986
If your iterations break too many tests, then you are writing too specific tests for things that can't really (or shouldn't) be tested.

And, BTW, I never found Joel Spolsky a particularly insightful person.
Live journalism is one use case: http://friendfeed.com/scobleizer?service=feed&amp;servic...
Alice.com in closed beta
Can you do something practical like throw away their home-grown J2EE auth and use Spring?
The main problem with features is that they make a lot of things MUCH more complex. Making Drizzle super small and super fast by removing not-that-used features and cleaning up some of MySQL's mess is a very good fork - - and doing such a thing would enable the authors to focus on other things, such as creating a distributed database (which for me would be much more valuable than triggers or stored procedures). Hell, they could even remove joins - if they added the ability to do hot backups and scale by just adding hardware :p
http://github.com/alx/pressmark/tree/master

This is a wordpress installation I made, with a delicious-like fonctionnality: add and list bokmarks.

You could easily change the input form to include a group feature, like a pre-defined tag like recommanded by ahpeeyem.
You can't work for yourself, because your visa only allows you to work for your "sponsoring" company.

Though I think you can start a company, someone else would have to be completely in charge of running it (which for many people isn't the reason they'd start one in the first place). You can't participate at all, or the visa terms are violated. But you can make money...for example, if you have stock, as this wouldn't be any different than any other "passive" investment.

The problem is, you still risk your visa status if you break any rule. Changing your status first is definitely safer in my opinion.
http://news.ycombinator.com/item?id=437321
...there is an established common boundary that both drivers and riders respect and must stay within

The laser-projector is mounted on the bike, so I guess the bikelane goes whereever the bike does?

This, combined with the vigilante-ness of the idea, seems to be a dangerous cocktail when bikers start acting immortal.
I wish that everyone would just use IRC. I find it the most easiest and discreet way to share things and ideas among a group.