Hacker Newsnew | past | comments | ask | show | jobs | submit | 2009-01-16login
Stories from January 16, 2009
Go back a day, month, or year. Go forward a day, month, or year.
1.Why PHP won (startuplessonslearned.blogspot.com)
100 points by eries on Jan 16, 2009 | 59 comments
2.Doug Comer: How to Insult a Computer Scientist (purdue.edu)
81 points by dedalus on Jan 16, 2009 | 18 comments
3.3 Rules of Database App Aging (push.cx)
79 points by pushcx on Jan 16, 2009 | 52 comments
4.Why PHP really won (dipert.org)
77 points by wooby on Jan 16, 2009 | 45 comments
5.Surgeons in England to adopt checklists - expect to halve death rate (independent.co.uk)
75 points by mhb on Jan 16, 2009 | 67 comments

I either have to talk all about computers, or all about music, or whatever that they're interested in, but never a mixture of everything. The peer groups I see are all so specialized and serve niche interests; none of them are generally interested in everything.

Think on that statement for a little while, and maybe you'll see the source of your trouble. This is kind of a growing up phenomenon. You aren't unique in this regard.

You seem to expect your friends to be a perfect clone of you, with the same interests (you have a few things that you're interested in; you are not a "mixture of all things"). The older you get, the more you'll realize that sharing one or two interests with someone is enough, as long as you enjoy each others company. You may find a few "soul mate" type friends in college, who like the same bands you like, who enjoy the same activities, are nerdy, etc. If you go to a school that specializes in nerdy subjects it's actually very likely, whereas if you go to the local party school, it is very unlikely. So, yes, it may get a lot better in college--but then when college is over, you'll still have to be able to build relationships without that forced captivity thing, so you might as well develop the skill now.

The best way I know is to get involved in something you like. If it's music, start a band. If it's nerdy stuff, start a group that builds crazy nerdy crap and call it art. If it's theatre, join a local company or take classes. If it's a sport, join a league. If it's drinking heavily, start tailgating at football games.

I'm deeply introverted and a loner (and mostly I like it that way), but whenever I've felt the need to expand my social circle I've usually started a band, and right away my circle of friends expands dramatically. I happen to love talking about, listening to, and performing, music...so this works out. If you find that people who only talk about one thing are tedious, this can be a problem...so I guess you'll need to figure out something that you don't mind only talking about for a few hours each week, so that you can do it regularly enough to experience a bond with folks.

Where are the truly interesting people in life?

I don't know. What do you mean by "truly interesting"? Are you truly interesting? Does everyone in your life have to be truly interesting for you to want them as friends? I'm empathetic to your position on this, as I kinda suck at having and keeping friendships alive, too, and it's partly because I find most people tedious after an hour or two of their company. But, I'm old enough to realize that no one is perfect, including me. Some of the most interesting people I've ever met (including a handful of famously interesting folks) are still not people I would want to spend several hours a day with.

There's also something I've learned only in the past couple of years: When a conversation falls flat, it's always as much my fault as it is the person I'm talking to. As dumb or slow or weird or bland as the person I'm talking to may be, there is almost certainly something I can do to make it more interesting for both of us. Maybe it's just telling a joke, and being funny (because being entertaining is as much fun for the entertainer as the entertainee). Maybe it's introducing the person to someone else, and making the pair into a trio or more. pg is hilariously and famously good/bad at this (anyone who's spent more than an hour or two with him has heard the words, "This is the guy you need to talk to!").

How do you stop yourself from over-analyzing your current friendships?

Do something else. If you find yourself thinking too hard about something dumb, like, "Are my friends smart/interesting enough?" Call them up and go do something that you enjoy with them. That'll answer the question, because they've just shown that they're smart/interesting enough to do whatever it is you enjoy, and it'll take your mind off of the wacky self-analysis. Of course, if they all bail on the idea and don't want to leave the house or something, then it answers the question as well...in the other direction. Find more interesting friends who like to do stuff. Doing stuff is actually a really good cure for a lot of mental blocks. I recommend it. It doesn't even matter what stuff. Ride bikes, go bowling, serve soup at the local homeless shelter, build big art, put on silly clothes and golf, etc.

7.Zumodrive Takes Cloud Storage And Syncing Up A Notch (YC S07) (techcrunch.com)
63 points by drm237 on Jan 16, 2009 | 51 comments

This article is totally barking up the wrong tree. PHP's growth had little to do with its appeal to programmers, and lots to do with its appeal to shared hosting providers. Safe mode is what I'm talking about.
9.Ask HN: How do you produce product demo videos?
50 points by Edinburger on Jan 16, 2009 | 39 comments
10.Hulu CEO: "We screwed up royally" (37signals.com)
50 points by peter123 on Jan 16, 2009 | 44 comments
11.More startups fail from a lack of customers than from a failure of product development (stanford.edu)
49 points by phil_KartMe on Jan 16, 2009 | 23 comments
12.New jQuery Techniques For Good User Experience (smashingmagazine.com)
43 points by qhoxie on Jan 16, 2009 | 7 comments
13.Noteflight: start-up that lets you compose music within your browser (noteflight.com)
41 points by unalone on Jan 16, 2009 | 18 comments

Would you mind capitalizing "by", replacing "u" with "you", removing the comma, and capitalizing Paul Graham?

Thank you for your effort. I'd really appreciate it.

Edit: please don't downvote him. It was a good question, so let's all encourage him to continue contributing to Hacker News eh?


Let me add a few more from my 16+ years of DB coding:

1. Many field types will change over time. Booleans will become multiple choice. Character fields will become memos/text. Date fields will start to have year, month, or day parts optional.

2. All tables with tax-logic will be compounded by code hacks. So just a table with county tax rates and order amount ranges will not be sufficient to calculate the applicable tax because you will need to keep adding special conditions of tax to apply when pencils are sold on 3rd week of every month when school is in session.

3. Management will never understand how it could be that complex to "just change the database" to enable payroll calculation for hourly employees who work overtime just because the database already handles the fixed payroll for salaried employees. In other words, databases with existing data, logic, triggers, and reports will always be difficult to change.

4. The biggest rule is that business logic never ever translates to structured database tables without lots of conditions in code and strict limitations in scope of application. I'm not talking about pretty to-do lists, address books, or blog engines. I'm talking custom ERP apps, MRP modules, production forecast algos and my favorite, scheduling for production and employees.

I guess the take-home message in all of this is that don't get into this field if you don't like challenges of this sort. In addition to coding up DB apps, I also make a lot of non-database apps that keep me sane and balance things out. However, in terms of sheer complexity and project planning, good DB apps are pretty high on my list of "exciting" things.

16.Clever bike lane hack (dustbowl.wordpress.com)
36 points by pingswept on Jan 16, 2009 | 30 comments

+1 for CamTasia (Windows) and ScreenFlow (Mac), also RecordMyDesktop (Linux). CamStudio (free Win) ok. Online solutions (screencastomatic, screentoaster, jing) also good. I'm a professional screencaster (http://procasts.co.uk) - if you want to crib examples, see my Examples page, they all reflect live use of screencasts that make users happier, convert more visitors, reduce support costs etc. Definitely get a good mic - I prefer pro audio equipment but you'll go a long way with a decent USB mic (not 3.5mm jacks, they get electrical noise from the motherboard). If you can't do good audio yourself then see something like voices.com for outsourcing but melding the video+audio can be problematic. You do need good audio, as others have said the easiest way to kill your presentation is muffled, noisy, volume-changing hard-to-understand audio. Expect 1 day to do a first reasonable video of a few minutes, several days if you want a perfect cut with great audio, a bit more if you want to add effects (captions, fades, highlights, scrolls). Look at ShowMeDo for 800+ examples of screencasts made by many users on different OSs with different tools. Jolt Magazine has three useful articles: http://joltmagazine.com/2008/10/08/lets-make-a-screencast-th... http://joltmagazine.com/2008/09/23/lets-make-a-screencast-pa... http://joltmagazine.com/2008/09/17/screencasting-an-expert-r... See LongTail video player (http://www.longtailvideo.com/players/jw-flv-player/) to embed flv/mp4 result, they have great plugins, it works with thickbox/lightbox, stats tracking possible, lots of features, I use it for all my work.
18.Y Combinator IRC channel?
35 points by informer on Jan 16, 2009 | 16 comments
19.Beautiful visualisations of everyday statistics (chrisjordan.com)
35 points by jgamman on Jan 16, 2009 | 11 comments
20.Tumblr v5 Released (staff.tumblr.com)
34 points by beaudeal on Jan 16, 2009 | 28 comments
21.Tracking Flight Path of US Airways 1549 (nytimes.com)
30 points by boundlessdreamz on Jan 16, 2009 | 17 comments
22.Why I hate software patents: IBM patents trim() (uspto.gov)
30 points by mdasen on Jan 16, 2009 | 28 comments

Good article. To add a few things:

1. PHP doesn't require routing. It's done for you by Apache to the PHP file at that location. Sure, you can go the way of nice frameworks like Cake and add routing for nicer URLs, but it's not required. PHP has some solution built in.

2. Deployment. The author touched on having to restart when using mod_perl, but it's more than that. In most cases, uploading files is enough. That's why it became so popular with shared hosts. Anyone with a little knowledge could do it without the host having to give them permissions to do stuff.

3. PHP was very big on re-use in the large. Basically, re-use in the large means creating a calendar app. Re-use in the small is more like creating a framework that makes it easier to create a calendar app (ala Rails/Django). So, when you're starting up, it makes it easy to show friends something really working fast. And that builds mindshare that continues on as programmers do more things.

4. Loose typing. This is probably one of the huge ones. Many languages are dynamically typed, but if you're developing in Python or Ruby, you have to cast between types. PHP says, "don't worry, I know what you mean!" I'm personally not a fan of loose typing, but I can understand why it helps PHP gain followers (esp those new at programming).

However, I kinda disagree with the author's thesis. The author argues that PHP's community backs the language so well. I'm less inclined to agree with that. During the day, I'm often working on PHP stuff and I'm constantly finding the code already written to be sub-par. Part of that is that PHP is accessible enough for those who don't understand program design to convince themselves that they're a good programmer. And so many things written in PHP might be from people who wouldn't be able to answer "what's the difference between a binary search tree and a linked list and give an example when you would use each." Not that data structures are the only thing to judge a programmer by, but you get a lot of people in the PHP world that use the guess and check method. So, the community isn't worth as much to me because I don't have such faith in their code (while I find the Python modules I look at to be of good quality).

PHP will continue to be a dominant web language because it's easy to pick up. However, I guess I'm looking for something else.

24.Work Smarter and Harder (callmejeffrey.com)
29 points by brm on Jan 16, 2009 | 9 comments

Finally.

The idea for a checklist in clinical settings was originally conceived by Peter Pronovost at Johns Hopkins. Last year, Gawande wrote an awesome essay for the New Yorker about the ICU checklists that were attempted in the US (saving hundreds of lives) but eventually cancelled by regulatory authorities-- "If you're changing the way things are done, you need to perform controlled FDA-approved studies."

http://www.newyorker.com/reporting/2007/12/10/071210fa_fact_...

Also, you should read his book Better, which is just page after page of interesting stuff; Atul Gawande is the Malcom Gladwell of medicine, but I think his stuff is far more engaging.

26.An Illustrated Guide to Git on Windows (nathanj.github.com)
28 points by zvikara on Jan 16, 2009 | 6 comments

No, social norms are localized. "txt speech" is not the local norm, no matter how normal it may be elsewhere.

Besides, based on my observations, the inclination that "txt speech" is indicative of an immature manner is dead on, and people do indeed grow out of it. Today's txt-ers will type normally once they grow up. I can wait. l33t sp34|< is not a new phenomenon, anybody with eyes should be able to observe that it is not an endpoint... for anybody interesting, anyhow.

28.Choices Narrowed for First U.S. CTO (businessweek.com)
27 points by nikils on Jan 16, 2009 | 29 comments

> If you find yourself making all fields optional or needing only many-to-many relationships, that's a sure sign that you already did something wrong when you designed the data base.

Not really. Business rules change because the nature of business changes. Over-engineering databases to account for future changes takes a lot of time and effort. If the company does not sell outside of US and does not have plans to sell outside of US anytime soon, I would not spend a week implementing Norwegian, UAE, and Indian addressing and tax/tariff system.

When I designed the payroll system for my company, I took into account that hourly employees can get promoted and become salaried. This happens once a quarter or two and the system can deal with it. Now if a salaried employee wants to become an hourly employee, my system cannot auto-calculate the change in their vacation days etc. It would require a considerable amount of time for me to build that functionality in. However, it is possible for this situation to happen but in five years, it has only happened once. In that instance, I manually edited the records and documented the entries. So does that mean I designed the database schema poorly? No it just means I did not want to make it so rich and extensive that it can handle every remote case, just most of them.

30.Web Design Job for the Eager
27 points by andrewljohnson on Jan 16, 2009 | 17 comments

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: