skysight-inc/HackerNews huggingface dataset:
> For me it's a 'yes' based on the simple rule that explicit is always better than implicit. That sort of 'optimisation' seems to be really cool when you're just starting out in a language but in the long run it isn't worth it.

I don't really get what you call implicit when you terminate statements with semicolons instead of linebreaks...
... Ok, I get what you're hinting it: there are some (very) few exceptions. However, I cannot see where there is any 'optimisation' in using linebreaks instead of semicolons. You better need to explain why someone should use both linebreaks _and_ semicolons, when only using linebreaks is actually as good as well.

Basically, it's just a matter of style. Aside from a few exceptions (e.g. described in http://inimino.org/~inimino/blog/javascript_semicolons), linebreaks terminate a statement. If you stick with writing only one statement per line, I don't see what's so implicit with it. Rather terminating a statement both with a line break and a semicolon is a tautology, and hence introduces unnecessary redundancy.

The actual question is, whether one can require that developers know the (maybe a handful) exceptions where a line break doesn't terminate a statement. I have decided (for myself) that I can require that knowledge, as it really comes down to only a few exceptions (that I believe are easy to remember).

But, of course, I'm aware that one can also come do another reasonable conclusion.

The only important thing is that people make a concious decision about the issue at all. The importance of this increases with the number of people that are working together on a particular project.

Here a link to another article discussing that issue: http://mislav.uniqpath.com/2010/05/semicolons/
The world can barely agree to ban whaling and most of it doesn't have a taste for whale. Good luck with tuna.

The relevant agencies that would have to sign off on the sea preserves are the same ones that green-lit all the overfishing to date and show absolutely no sign of even acknowledging why we've moved on to fishing things like the patagonian toothfish (itself now overfished).
I wrote about my experience with burnout on a HN comment earlier:
http://news.ycombinator.com/item?id=1508844

I really, really, really want people to avoid what I went through, so it thought I'd share some gory details. I clearly went through every phase of burnout jacquesm mentions.

A compulsion to prove oneself:
This was my entire purpose in life. I worked for a consulting firm with an 'up or out' culture, and this really fed into my desire to prove myself. It's like getting addicted to leveling your character in an RPG, except in real life.

Working harder:
My only mechanism for coping with stress was to 'work harder', which of course fed right back into this vicious cycle. There was a point when I saw how much work was ahead of me on my project, and it was distressing. I didn't think I could keep up the pace. I spoke to someone close to me and said as much, and they said sometimes this is what is required in a job; just break it up into pieces and bulldoze through it. That's the advice that stuck with me for the next year. That advice fed into all of my personality flaws.

Neglecting one's own needs:
At one point I told my boss I needed a weekend off. He was a bit shocked since I hadn't had a weekend off in months. I remember still taking calls on my 'weekend off'. I worked from home, but not so that I could take a break, but instead so I could waste less time commuting or dealing with stuff like personal hygiene, (I'm not joking, I actually rationalized this). My schedule was wakeup, grab breakfast and laptop and start working. Work until I was hungry, then stop to make myself a sandwich and have a 'working' lunch. Around dinner time my wife would feed me, and I would usually work straight through dinner, if I didn't I would spend most of dinner talking about work. Then I would typically work until I fell asleep. I did this for months.

Displacement of conflicts (the person does not realize the root cause of the distress)
Near the end I fabricated paranoid stories about my coworkers and their attempts to make me fail. It took me a year of recovery to finally realize these stories were false and my failure and eventual collapse was almost entirely my own fault.

Revision of values (friends or hobbies are completely dismissed)
It's hard to have friends when you are working 80 hours a week. I didn't have a social life and I killed all hobbies.

Denial of emerging problems (cynicism and aggression become apparent)
-- See displacement of conflicts

Withdrawal, behavioural changes, substance abuse, depression
I went from occasional smoker to smoking a pack a day. I gained 40 pounds. I became physically ill for weeks at a time, (a simple cough took me a full month to get over). And..(and this is humiliating, but I'm hoping other people will learn from my mistakes), I cried myself to sleep most nights. I don't cry, but during this period of my life, I did.

Nothing is this important. It takes years to recover. If you are still convinced that you need to 'optimize your productivity' then know that my output dropped to zero and stayed there for a long time. That is not very productive.
It is probably referring to the coal mine canaries that would die before you did: http://en.wikipedia.org/wiki/Domestic_Canary#Miner.27s_canar...
I wrote about my experience with burnout on a HN comment earlier:
http://news.ycombinator.com/item?id=1508844

I really, really, really want people to avoid what I went through, so it thought I'd share some gory details. I clearly went through every phase of burnout jacquesm mentions.

A compulsion to prove oneself:

This was my entire purpose in life. I worked for a consulting firm with an 'up or out' culture, and this really fed into my desire to prove myself. It's like getting addicted to leveling your character in an RPG, except in real life.

Working harder:

My only mechanism for coping with stress was to 'work harder', which of course fed right back into this vicious cycle. There was a point when I saw how much work was ahead of me on my project, and it was distressing. I didn't think I could keep up the pace. I spoke to someone close to me and said as much, and they said sometimes this is what is required in a job; just break it up into pieces and bulldoze through it. That's the advice that stuck with me for the next year. That advice fed into all of my personality flaws.

Neglecting one's own needs:

At one point I told my boss I needed a weekend off. He was a bit shocked since I hadn't had a weekend off in months. I remember still taking calls on my 'weekend off'. I worked from home, but not so that I could take a break, but instead so I could waste less time commuting or dealing with stuff like personal hygiene, (I'm not joking, I actually rationalized this). My schedule was wakeup, grab breakfast and laptop and start working. Work until I was hungry, then stop to make myself a sandwich and have a 'working' lunch. Around dinner time my wife would feed me, and I would usually work straight through dinner, if I didn't I would spend most of dinner talking about work. Then I would typically work until I fell asleep. I did this for months.

Displacement of conflicts (the person does not realize the root cause of the distress):

Near the end I fabricated paranoid stories about my coworkers and their attempts to make me fail. It took me a year of recovery to finally realize these stories were false and my failure and eventual collapse was almost entirely my own fault.

Revision of values (friends or hobbies are completely dismissed):

It's hard to have friends when you are working 80 hours a week. I didn't have a social life and I killed all hobbies.

Denial of emerging problems (cynicism and aggression become apparent):

-- See displacement of conflicts

Withdrawal, behavioural changes, substance abuse, depression:

I went from occasional smoker to smoking a pack a day. I gained 40 pounds. I became physically ill for weeks at a time, (a simple cough took me a full month to get over). And..(and this is humiliating, but I'm hoping other people will learn from my mistakes), I cried myself to sleep most nights. I don't cry, but during this period of my life, I did.

Nothing is this important. It takes years to recover. If you are still convinced that you need to 'optimize your productivity' then know that my output dropped to zero and stayed there for a long time. That is not very productive.
Looks like a very interresting language to me. I think it superficially looks a lot like rpython, with way more options to restrict and specify types on top of it. I'm very eager to see more documentation, specifically on types and memory management.

What is the syntax for pointers for example ?
Deconstructing Facebook’s EdgeRank
Canaries were once used as an early warning system in coal mines since they had a much lower tolerance of toxic gases like carbon monoxide. A dead canary meant to "get the hell out" as soon as possible.
Why Free Software is a Matter of Life and Death
I don't doubt there's some truth to these ideas but when I read people apply them it seems like they can't see the wood for the trees.

For instance, one might feel that the architecture student's character is under-developed. If the film wasn't already 2.5 hours, I imagine they would have given this likeable character more scenes. But essentially they did show you everything you need to know about this character, because her fingerprints were all over the set design of the rest of the film. Can't get much more visual-medium than that.

And then people say emotion draws you in deeper than ideas, but here we are days after watching the film avidly discussing its ideas (the layers of dreaming and how they worked). Meanwhile a film like The Matrix which does have 'stronger' individual characters to generate emotion, was compromised by a terrible oversight in the ideas department (ie. the whole concept of humans as batteries/generators is ridiculous). A film doesn't need to engage every level equally or in the standard way to be one of the best, IMO.

You mentioned flashback, well 90% of Inception after the first scene was a flashback, except in this case for once it wasn't at all contrived, because it represented the two characters (protagonist and Japanese dude) de-orphaning their current dream-state by reforming connections to previous layers (remembering the other dreams) and then they could snap back out of all the recursions. In other words, I think the storytelling was masterful.

And what's more, the film was deeply involved in character development and human/emotional themes, because most of it was essentially exploring peoples' subconscious minds and relating that to real life matters. The anchoring struggle was the protagonist 'coming back to reality' in the sense of someone gripped by guilt/regret and being lost in their own imagination at the expense of real relationships/progress (similar to the Solaris remake in this way). Sure, maybe people think this side of the film was poor, but if they'd at least acknowledge/mention it I wouldn't accuse them of missing the wood for the trees or regurgitating standard criticisms without thinking them through.
Goldman Sachs faces external audit - dig deep for dirt
"Falling property prices caused defaults and a liquidity crisis in the banking system so severe that the authorities feared the cash machines would stop working."

Wow, that can happen? Wouldn't that mean that no one would have any money but the people who have kept cash and rather than a 1930s style depression, more of outright anarchy!
Note that flowdock was on the obsolete Cassandra 0.5; the little they described of their problems suggested that upgrading to the 0.6 series would solve the worst of them.
The type-parametric functions are inherently a feature of a static-typing system...so I guess "by definition" would be the answer. At least that's what the wikipedia entry would lead me to believe.

http://en.wikipedia.org/wiki/Generic_programming

See also: http://en.wikipedia.org/wiki/Type_polymorphism#Parametric_po...
I think this is more likely. When interviewing the point is to find out how someone is thinking not if they agree with a coding standard.
It's a great point, I'm sure many of us here are in a situation running their own things or looking after things where they essentially would have to drop everything 24/7 should a problem arise or start losing money/ pissing off customers.

Sure it's not always working but it is something that is always present and has to be jumped into at short notice even if inconvenient.
I assume the point the original poster was making is that when people use complex and obfuscatory language, they typically do so in order to deceive.
I went and saw Inception in Mountain View this weekend, and the group of older couples in front of us on the way out seemed to have gotten it. Come to think of it, they seemed like they really enjoyed it too. Maybe they were all NASA systems analysts.
A good first step would be to completely abolish fishing subsidies. Fish is priced abnormally low in stores because a portion of our income taxes go to pay for the fish a second time over.

Similar happens with Corn, however corn is a multi-functional food product. Humans eat it as corn, as bread, as oil, as sugars; then humans can also eat the cows, chickens, pigs and lambs that can also be corn fed, but we can also drink the cow's milk, use it as butter or cheese and we can use the chickens eggs, or we can use leather from cows or pigs, feathers from chickens and wool from a sheep.

What we as humans can get from corn is a list with thousands of items. However, what we as humans can get from fish is only a couple of items - food and from certain fish usable oils.
Google Adwords Fail
What does it say about Google Adwords when the top 15 networks that my campaign is running in are link farms.
Why would anyone consciously cripple a fine database with a "varchar2" type is beyond my understanding.

Diversity is more important than Oracle compatibility.

Also, migrating a big Oracle install is not something businesses do. I see lots of big databases that are two or three releases back. And, lets be sincere, Oracle's RDBMS has a lot of clustering/availability features that no free alternative can touch. Its fate will be the one of the mainframe - Oracle (along with Microsoft) will keep losing the lower end at the same time Oracle pushes the higher end forward with new features that don't exist elsewhere.
App Lets You Know When Friends Are Nearby
> Languages like Java, Ruby, and C# all make the mistake of allowing any type at all to hold null.

Just a little nitpicking here. In C# integral types cannot hold null unless explicitly declared nullable [1], ie.

int x = null; // won't compile
int? x = null; // compiles fine, shorthand for Nullable<int> x = null;

I wish this was the default behavior for reference types, too.

[1]: http://msdn.microsoft.com/en-us/library/1t3y8s4s(VS.80).aspx
You are correct about Slony but if you do not care about doing any reads at the slave in pre-9.0 you had log shipping and warm standby. Warm standby is perfect for using the slave for failover in case the master crashes or the HDDs break.

Warm standby is very reliable and easy to admin. The setup is not that easy but not too hard either.
When And How To Avoid Pregnancy
Federal Jusge: Go break DRM as long as you don't infringe copyright
> That's why I remain convinced that this leaker should receive the death penalty.

That is the standard penalty for high treason. The USA should also maybe consider taking Julian Assange prisoner as an enemy combatant.

> And to suggest, as some have, that the newspapers have any idea what to publish or not is ludicrous.

The aim of newspapers is to create controversy to increase circulation. They will often do things such as this.

On slow news days they will stoke controversy with ridiculous opinions/editorials.
Function pointers are very far from sufficient because you can't define new functions at runtime, since you can't nest functions or define anonymous ones. That means your functions are not first class citizen of your language and some common functional programming techniques are impossible to use in a clear way.

You can't do that for example :

def make_adder(num_1):
def adder(num_2):
return num_1 + num 2
return adder
Quote from Douglas Crockford (http://ajaxian.com/archives/book-review-%E2%80%9Cjavascript-...):

When I was a young journeyman programmer, I would learn about every feature of the languages I was using, and I would attempt to use all of those features when I wrote. I suppose it was a way of showing off ...

Eventually I figured out that some of those features were more trouble than they were worth. Some of them were poorly specified, and so were more likely to cause portability problems. Some resulted in code that was difficult to read or modify. Some induced me to write in a manner that was too tricky and error-prone. And some of those features were design errors. Sometimes language designers make mistakes.

Most programming languages contain good parts and bad parts. I discovered that I could be a better programmer by using only the good parts and avoiding the bad parts. After all, how can you build something good out of bad parts?
Quite possible. It wasn't a turning-point in the interview or anything ... but a discussion that lasted longer than I would have expected given the topic.
I'm not sure, I've mostly only stayed in hostels in Canada. The last one I stayed at in Ottawa had rooms for 25$/night in the dorm or 60$/night for a private single bed room.

http://www.ottawahostel.com/
I'm still trying to figure out if the 'fast foot' restaurant was a mistake or a pun in relation to life being a marathon ;)

That's an excellent point though, and if life is a marathon then being burnt out is probably best compared to having to sit out a part of the race because you can't run any more.

I'm all for tackling all kinds of stuff, sometimes more than what you can naturally expect a person to do, as long as it doesn't leave any lasting marks (or at least none that are disfiguring) I say go for it. But keep an eye on the limits. When I was 23 the wife of a friend told me I'd be dead by 30 if I didn't slow down. So far so good. But I do understand now that there are limits to how much you can do without paying the price for it, and in some ways (in terms of missed opportunities and lost friends) the price was pretty high indeed. If I had slowed down just a bit somewhere in the early 2000's I'm fairly sure my life would have been quite different compared to what it is today.

You are spot on that it is all about learning yourself, your rhythms and values, that's exactly what it is. The machine called your body does not come with a list of 'do not exceed' parameters, and they're different for everybody, so only experience will tell you what you can and what you can't do.

I tend to live like a cat nowadays, either extremely lazy or hyper focussed on some project for a while, and then I take a break again. It's worked well in that I can still push myself to achieve something when I have to (and those lists really help), but at the same time I've learned that there are limits and that there is more in life than a keyboard and a screen.
Fish farms create high concentrations of nitrogen and phosphorus which gets into the oceans and spawns toxic algal blooms. Algal blooms kill marine life, notably the coral reefs that so many fish depend on for shelter.

http://en.wikipedia.org/wiki/Algal_bloom
The problem with your blog post is that it doesn't show your voice at all! I couldn't tell that you were pretty close to burning out nor did you mention anything that seemed to be part of your own experience.

You start the blog with some introduction, you put a link to Wikipedia and then you re-list the Wikipedia phases.

So, I'm not dismissing your time spent writing this and I'm pretty sure it helps, but there are probably much better ways to rewrite that blog post and make it better.
Exactly. Usually I don't have (or give myself) the luxury, but when I'm working on something small and I don't really have time constraints for it, I will write it, then rewrite it, then look at it from a different angle, and rewrite it again. Only after about three rewrites will I get something that looks good.

I'd like to bring this down to writing something good looking earlier, but it's like you say - I only learned it then and there.
FWIW: I would like to not use semicolons in JS. But the current
"push" for that is IMHO a mix of ruby/python home sickness and "Let's
do this because we are smart enough to do it right.". Both are
terrible influences on style in any language.
My bank (all of them where I live) uses a challenge code that I have to enter on a separate hardware card reader. So only human login permitted :-(
Thowing out the old codebase is exactly the correct solution.

It's also the most politically unpalatable, which is why it won't happen while the politicals still have some control.

Depressions and Recessions are not allowed to happen anymore. They are actually healthier for an economy, as the bad debts get written off, lending practices get rewritten, consumers and companies learn the dangerous side of debt. Like a forest needs fire, economies need blow off periods where the bad decisions and investments get cleared off.

By shifting private losses to the public balance sheet, and producing shifty numbers which don't say 'depression', politicans dance around like project managers and keep the old codebase going. But, as we all now, you eventually have to toss it all in the bin and get going again.

The negatives, of course, is that people will lose jobs, homes and all that goes with it. The positives is that once you're bankrupt, you can't get any more bankrupt and can work your way back - this applies to companies and individuals. Old industries and practices die, and new ones rise up to take their place. It's the placing of old industries on life support that kill the economy in the long run. Keeping GM on life support through public money diverts that money away from worthwhile investments (either public or private) and keeps subsidising a smaller group of people at the expense of society at large.

The damage is already done, and the chips need to lay where they fall. Papering over the cracks with phony statistics and bailout after bailout will eventually fail with the same result, but it will take much longer to happen, and much longer to recover.

The irony in all this is that the only avenue left for governments (and being actively pursued) is inflation. Money printing through quantitative easing is going ahead in big numbers. Eventually all this fake new money will be lent out under fractional reserve by banks, and inflation will roar ahead. The only people left standing after that will be the ones with real assets (housing, factories and machinery, farmland) bought with debt denominated in 2010 dollars. People will turn off debt and onto saving just as savings become decimated by inflation. The smart thing right now is to buy real, worthwhile assets with locked-in low interest rates and just ride out the deflationary period until the inflation spark catches in the tinder-dry monetary world. It's quite likely that another stagflationary period will be with us in the next 10 years.

If you don't believe inflation will happen just tell me which paper currency is older than 150 years. All paper currencies eventually reach their intrinsic value - which is nothing. It's just the timeframe that varies.
I cited Warren's data, which backs up my point: that everything besides tax has gotten cheaper between 1970 and 2000. She has an opinion which I didn't cite. So what?
Inception Game