skysight-inc/HackerNews huggingface dataset:
I always suspect that part of the problem is that people come to xcode from other environments, expecting to use the same workflows that they previously had, and it just doesn't work. Personally, I don't think it would be a bad thing if Apple made a bit more effort to reach out to programmers coming from other environments, but honestly, I suspect that they figure that any programmer not capable of dealing with this is probably not a great loss for the Apple ecosystem.

It is a point worth remembering that all of Apple's own software is built in xcode. That all by itself shows that the app isn't fundamentally broken, even if one may feel like there is room for improvement.

On a sightly different note, I'm always fascinated by this type of rant, of a programmer complaining about their programming tools. I mean, you're a programmer, if you don't like the tools, roll your own that are better. Or write some scripts that ease the pain in the tool, or adapt a 3rd party tool to do the task. For example, this guy could quite easily prepare an iPhone dev plug-in for Textmate, if xcode really is as bad as he says. Here's an example:
http://www.pathf.com/blogs/2008/11/iphone-sdk-testing-with-t...

Complaining about dev tools for me sends up a whopping great big red flag that the programmer isn't as good as they think they are.
"I disagree. Haskell is more difficult to master"

Fair enough. I found haskell easier than c++ to grok. It may have helped that I had a good grasp on type theory before I learned Haskell (worked through TAPL a few years ago). Subjectively, I found the various components of Haskell almost always fit together in very logical fashion with a very clean syntax, while C++ felt arbitrary, (with exceptions to every rule and exceptions to those exceptions and exceptions to those). I share your intent of not starting a language war. Just expressing my experience.
Sounds interesting, however it lacks specifications/documentation.

In particular, I'd like to know what happens with commits that touch paths across subtrees. IMHO, this is the most interesting use case, because otherwise, I'd just extract the commits touching the subdirectory of the subtree with git-log.

Skimming over the source, I don't think git-subtree handles commits across subtrees at all, but I hope I am wrong.
All Sony players have been playing MP3 since about an year. Their earliest players used a proprietary format. Actually, their current players are really good (particularly in sound quality) though they use a terrible naming scheme for their models.
Trolling someone online? Bill would slap you with jail time
To counter your anecdotes - I know 4 "serious" musicians, ie people who regularly write and record music. 3 of them drink, especially when working. 2 of them I would consider total alcoholics. There are none of the negative effects you mention.

However - personal anecdotes such as these are irrelevant to the core truth of the matter. The fact is, a lot of people do drink, and by whatever means, it enhances the creativity of some of them. That you don't happen to know anyone of this type doesn't mean they don't exist. The article did say that such behaviour only seems visible in ~10-15% of the population.

Anyway it's not like they "drink to get creative", it's more like they're in the mood for creating things when they're slight/somewhat/heavily intoxicated, which is a lot of the time.
I've used Xcode for years now. (You're not capitalizing the name the way Apple wants you to, by the way.) I actually kind of like it. It crashes more often than I'd like, especially when using the organizer window for iPhones, but you can't have everything.
WIndow 7 virtual XP is a marketing stunt
[Author of the article here]

That's an interesting viewpoint, but if I may offer some counter points:

By nature, I am a designer. Most of what I do day-to-day involves sculpting the user experience. I know that as much as we want to say that "we have X experience and this is the best way" often times brand new users offer the best insight because they are unfamiliar with your design. A person who has been using XCode for years now has probably grown to ignore the rough spots. Much like you can learn to ignore a train's noise if you live by the tracks. New user's feedback is usually the most valuable feedback you can get.

Additionally, I am a huge open source advocate and would gladly help hack and improve upon XCode. Sadly it's not open source. It seems silly to propose that I rebuild, by myself, the 95% of XCode that is awesome in order to improve upon the 5% that needs work. Complaining about a highly extensible open source editor like emacs is indeed just complaining -- just fork the project and implement your code. But choosing to persuade those with power (Apple) to improve upon a product with hundreds of thousands of man-hours already invested instead of rewriting the whole thing myself... well, I'd call that smart programming.

I'd also like to point out in the conclusion paragraph, I mention that I am using TextMate for the time being.
Hadoop should target C++/LLVM, not Java (because of watts)
flag pin as stated: http://twitpic.com/50luf
Actually, it's not the address bar per se, but the search box that's the default home page on so many browsers. For many people "Google" is the "Internet" and they type into the Google box shown by default things like "cnn.com" and the like.

I guess Jeff's point may have been aimed at the techie crowd (a Chrome screenshot with a JS example), and for this smaller demographic of web users, I can't agree more.
You've said nothing that disproves anything in the article. You are fallaciously reversing the logic: they don't say or imply that all drinkers are more creative. They say that some people are more creative when drinking. Many great artists have been known to be drinkers. Many people have thought themselves great artists when they were in fact just great drinkers. You may argue that nothing in favor of drinking is worth the possible cost, but you are not doing that very effectively at the moment.
Learn to use your tools, don't expect the tools to adapt to you. I can switch easily between Eclipse, Visual Studio and XCode because I don't customize them. I accept them as they are, and after a while your mind switches the context with the tool and you can be as productive as you want without forcing paradigms from one environment to the other.
Just how gullible is David Brooks? (on the Harlem miracle)
http://gothamschools.org/2009/05/08/just-how-gullible-is-david-brooks/
Pattern matching in Python
I really hate it when suddenly out of the blue, my Comodo asks permission for some random 'setup.exe' to change things in the Google Chrome folder. If you're making me practise allowing this, you're making me learn to allow cleverly contrived cracker attacks.

At the minimum, if you don't like asking user's permission to install stuff on his/her own computer, please for heaven's sake _inform_ me (within the browser) that you've got an update and are going to update yourself at some random point in the future. Then, I'll have at least a very little amount of confidence that this setup.exe isn't something evil.

There are many things wrong about Google's update mechanism from running a GoogleUpdate.exe at startup and then continuously without permission (what, are you Adobe?) to updating my software silently without even providing an option for how it's done.

If you're trying for the IE marketshare, make what they want the defaults, and give the advanced users _some_ way to customize things. I'd be happy even to have even the slightly advanced options in an about:config window, rather than not have them at all.
Office Mac is developed and compiled solely on XCode.
I reached a good compromise with Xcode and its dreaded windows management using Witch <http://manytricks.com/witch/>. At least now I can have cycling through the XCode windows with a list, better than, as the author says, try to understand in Exposé where is the code I'm looking for. Worth a try, almost solved the problem for me.
You're worse than Hitler for posting this.
The Tenth Rule applies only to "sufficiently complicated" programs that add so many features and support libraries that they become a poor subset of Lisp.

Implementing your a subset dialect of your favorite language in a poor/hostile/new environment is quite hackish, imo.
Personal anecdotes are a person's local data set. Its why statistics are needed, by putting lots of personal data sets together we get around this he-said/she-said bs. Essentially what I mean is that the term "personal anecdotes" is often used as a way to summarily dismiss someone's accounts.

Personal anecdotes are very much at the core of this matter. Dismissing someone's extensive personal experiences about the effects of alcoholism on their friends and families is not irrelevant.

My brother: recovering alcoholic, dry for 10 years.
His father: lifelong alcoholic, died too young from an accident caused by being drunk at the time. Had lost his leg years ago in an accident.
Uncle and his wife: alcoholics, not recovering. NOT the life of the party at family reunions.
Good friend: known over 10 years, he drinks like a fish. Gets extremely sad at times and I worry about him, a lot.
Another friend that I was seeing/dating for a while: sweet girl when she doesn't drink. However, 90% of the time she's a violent, unpredictable raging tornado of whiskey.

So while I'm glad that you know four quote "serious musicians" for whom drinking helps, I'll stick with my personal anecdotes of drinking ruining people's lives and causing them to die earlier than they should have. I'm just glad I have my brother around now.
" ... than, say, a Jerry Bruckheimer movie."

Man, that's cold.
It could also be that slightly-old-of-touch-with-reality people tend to drink, and also tend to be more creative in general. 552.

Churchill might seem an exception, but he suffered from depression (the "black dog"), and received heads of state while he was smoking a cigar in the bathtub. He also said "And you madam are ugly. But in the morning I shall be sober". One of my favourite guys.
I ponder, you realise that your description of real life vs gaming worlds sounds like a fairly severe indictment of real life?

What I mean by this is that success in real life can often be reduced to a fairly wide array of things that extremely talented and competent people find abhorrent. Networking, soft skills, all these associated asskissing pursuits that fundamentally have little to nothing to do with advancing the state of the art in any sphere beyond carnival barking often enormously influence the degree to which a given endeavour may be successful in reality.

In artificial worlds? Do the math, that's pretty much it, the psychology vs the actual task is massively geared toward filling the tasks rather than stroking egos and convincing everyone to love you or your team. It's a great form of escapism and really a huge bonus over the real world, I think that's why a lot of people who are otherwise extremely talented can be satisfied and indeed thrive in these artificial environments.

Sometimes, the world simply is not good enough, and this is a fairly good illustration of a time when this is the case.
1000+ machines to sort 1TB should work out to each machine reading, sorting and writing rows around 32MB/s on machines with 4 SATA disks per node.

While it is kind of neat that Hadoop makes it easy to run big jobs on clusters almost nobody can afford, it doesn't look like it's very efficient.

For comparison, check out http://www.ordinal.com
Eh, I listen to live versions of things, mostly—all the quality that's going to be lost was lost before the track was even mastered, so it doesn't matter if it's compressed, really.
The Reason Project: a nonprofit spreading scientific knowledge and secular values
Yes, in the example, lowering tariffs on foreign oil might be the best course of action. Explicitely funding a competitor sounds somewhat silly.
The title of this post really doesn't match the title of the linked-to article, which is confusing.
A sane thing to do would be to keep the commit log, but only the changes to the subtree in question.

However, though I am not a bad sh programmer, at some point my brain turned off reading that code.
Microsoft tries to make subscription music look sexy. Or at least smart.
unwind-protect is not the same. Destructors in C++ are part of custom data types, and unlike unwind-protect, they are "implied", which makes your code safer and more succinct. And no, it's not necessarily memory clean-up, of course.

C++ destructors are a powerful tool, you can create data types that otherwise would require support on the compiler's side.
Parameterized roles
Xcode is much more manageable when you're using Spaces, and set up one desktop exclusively for Xcode, and an adjacent one for Interface Builder.
My setup looks like this: http://www.flickr.com/photos/chestnykh/3525052710/sizes/o/

There's a project window with code editor on the left, console on the right, and documentation on another space. I rarely use more than one editor window.

Frequently used shortcuts for navigation:

Cmd+Opt+Up — toggle between .h/.m,
Cmd+Opt+Left/Right — go to previous/next opened file,
^2 — quickly jump to methods,
Cmd+0 — navigate the project tree.

I rarely use Debugger (which is a separate window in my setup) as I prefer logging to console for debugging.

Finally, Xcode has different layouts: Default, All-In-One, and Condensed (see General Preferences, I use Default).

My wish: move Documentation to an external app (sometimes I press Cmd+Tab instead of Cmd+` to switch to Xcode from Documentation).
Office Mac is really bad compared to real Office. Maybe this is why :)
Research and Education in the Clouds: Experience at the Univ
For a year and a half, I was sickly addicted to WoW. I ran a large raiding guild (for those not in the know, that meant running a rigid schedule, several times a week to kill the same bosses over and over, with 40 players, several hours a night). Running a large raiding guild is practically a full-time job (I averaged about 30 hours a week in-game, not counting time spent on the guild forums discussing policy whatnot), and it takes some managerial skills to keep the guild morale up and ultimately keep the epic loot rolling in.

As another user here noted, the progression in that type of world is very deterministic, and very measurable. You have stats that you can work to increase, knowing that eventually, it will increase. There is absolutely zero risk. If you die, you waste a few minutes, and try again. Eventually, you'll get it. That feeling of constant progression keeps people coming back. It's an invigorating feeling of accomplishment, and as soon as you've got your next item, you're pumped and salivating for that next item.

At the time, I hated my job and WoW was my escape. I was a consultant programmer who had simply gotten addicted hard (I always had a browser tab open to wowhead.com, even while working at clients). The only fun I had programming related at the time, was time I spent working on my guild's website (and I spent a lot of time on it), occassionally working on a startup I was doing on the site, unrelated to WoW stuff.

It wasn't until over a year into WoW, that I realized that the website I had built for my guild was actually very functional, beyond most other guild site I'd ever seen. So I spent half a year making it generic and started selling guild sites based on the framework of my original guild site. I launched three years ago and for 2.5 years, it's been my exclusive job.

My point? That occasionally, it pays off to waste your time in an artificial world, enough so to fully understand the target domain such that you can create a marketable product/service for it.

But for the most part, almost anyone I know that quits WoW improves their life in doing so. Myself, I don't play WoW anymore, haven't for a while (I just lost the interest, in realizing it's a neverending grind for no real payout).
"Microsoft required their OEMs to install and highlight Internet Explorer, their free replacement for a ~$30 startup product, ..."

Weren't Web browsers at that time free, expect for Navigator? (And then only for commercial usage, I think.) I used Mosaic, Cello, Navigator, and IE, and never paid for a browser, and don't recall every being expected to.

The idea that an O/S vendor shouldn't bundle some piece of commodity software because someone else decides they want to make a business selling it as an add-on is foolish.
It would be a far more compelling argument if there were actual numbers in there showing that for those kinds of loads Java does in fact require more wattage; for long-running processes, once the VM has JITed everything down to machine code, one might reasonably expect that it would be pretty close to the consumption of a natively compiled C++ application. He could turn out to be right, I just don't think you can take it as self-evident that the Java VM must be using more power.
Hi Hacker News! (my 1st comment here ;))
How about this solution:
Make AdBlock to think more. Now it's every ad or no ads situation. How about middle ground? AdBlock would block only very irritating ads, these ads that tend to pop up on screen, animated ads (you can "deanimate" them, privoxy already implement this) and very big ads. Maybe we can have some way measure how much of advertisements given page contains? If site has 50% of ads we can reduce them to half of it. Also, adding something like <img adblockpriority="(0-6)"/> might help.

So, what do you think?
single window mode is a must with xcode if you ask me
This adds a neat Prolog-angle to the whole language. Cant wait to see if someone actually makes a complete prolog-module out of this.
Yes, that's what I was trying to say by mentioning a "spectrum". Threaded interpreters are also closer to compilers than most.
Ask HN: Hacking Learning Chinese
http://www.ted.com/index.php/talks/tim_ferriss_smash_fear_learn_anything.html

In the URL above, Tim Ferris describes how he learned Japanese uber fast by finding the list of 1-2K most common Japanese words and memorizing them.

Is there a similar list for Chinese (probably yes). What is it called? Where can I get a copy of it?

Thanks!
yeah, witch helped a lot whenever I've used Xcode.
I think it really does depend on the company, culture and how it's approached. If you have everyone working towards the same goal and focussing in, I think maybe it can work.

However, I've been on the receiving end of very unrealistic goal setting. It's completely demotivating.

I'm sure there are scenarios where it can and will work, but in my situation it most definitely does not. All I would say is, be careful!
Switching context requires brainpower, which I'd rather use to make my code better.
http://www.zein.se/patrick/3000char.html are the 3,000 most common Chinese characters.

http://www.cozychinese.com/category/audio/frequently-used-wo... is an audio-focused list.
Ironically, google uses java (although dalvik is a modified jvm) for android whose target audience is definitely concerned with power.

Android also includes a lot of application hooks for power management.
Project teams are not teams
AD1: Possible solution might be signing updates. Microsoft already provides way to sign assembly files.
Ohama (Google update tool) uses HTTPS, but I doubt they are signing files they download.
Ask HN: Trusted Computing, iPhone, and unique identifiers
Here's the problem:

I'm building an iPhone app. It talks to a server. I want each iPhone to only be able to have _one_ account on the server -- I don't want people creating lots of separate accounts and having them collude.

Now, my iPhone app and my server are talking to each other over TCP/IP. In theory, anyone can build a computer program that fakes the protocol my iPhone app uses (not very hard -- just download the app, log the packets, reverse engineer the API; I can encrypt my traffic, but they can run the app under a VM / extract the key).

So, although I'm generally not a big fan of Trusted Computing -- does the iPhone support anything like this? Where my server can remotely detect "is this device an iPhone?" + "give me a non-forgable UUID" (even if I force the device to be an iPhone, the attacker can still create another iPhone app and have it talk via the same API).

Thanks!

(Sorry: I realize the business man in me says "err, build the product first, worry about this later"; but I'm kind of curious -- both from a technical perspective and a design perspective -- if I know that creating each account requires purchasing an iPhone / iPod touch, I can know up front that people are less likely to create silly accounts & try to screw around).
first link was awesome
The definition of 'news' should be googled by anyone who voted this up. This is not recent!
Well google does not pay the bill for the users phone. Still I could like to see actual meters of power usage of java va c++ apps
If you do it long enough, you can do it automatically. It's like switching between using an electric hammer vs a manual hammer - once you understand the difference you associate the tool with the behavior. Brainpower is not required.
And imagine, what if people could just go to library, and just read a book, without paying anything.

That would be collapse of civilisation as we know it.
If they develop an open source client for it, someone will develop an open source server to interact with the client. That's the way it works!
It's a pretty cool app. However, I would advise the developers to put text descriptions under all the icons, because it is not clear what the the icons do, and it is a pain to have to hover over them to find out.