skysight-inc/HackerNews huggingface dataset:
If you think ObjC is verbose, take a look at this example of MonoTouch: http://img.skitch.com/20090914-cuu9mkrnjg864k88ywijur5ebk.jp...

The equivalent ObjC code is:

IBOutlet UIWindow *window;
IBOutlet UILabel *label;

Also, your example isn't quite accurate. With the iPhone runtime, you only have to make the @property declaration in your interface and then @synthesize the variable in your implementation. #1 in your example isn't required. However, the Mac runtime doesn't support this — so by doing this, you're limited to only testing on a physical device (iPhone or iPod directly). Stick this class into a .m and compile it in Xcode targeting your iPhone and the Simulator respectively:

@interface Foo : NSObject {
//	id bar; // Only required on Mac runtime or if you want to use the iPhone Simulator
}
@property (nonatomic, retain) id bar;
@end

@implementation Foo
@synthesize bar;
- (void) doSomethingWithBar {
self.bar = @"baz";
NSLog (@"%@", self.bar);
}
@end

@synthesize is useful to have because, well, what if you want @dynamic?

As for the rest of the verbosity? To take a canonical example,

string = [someString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

is much clearer to me then

string.strip();

Or is there another example of its verbosity that you don't like? I don't find myself writing code that repeats itself very often. If I do, I'll refactor the code.

And I like that it has a tendency to have explicit method names: I can actually read my code months later when I need to go fix a bug. But thats my personal preference. If you disagree, its not my place to tell you otherwise.
This isn't a solution. Technically, this is an algorithm for restoration.

Technically, solving the cube means developing an algorithm for restoration. Sadly, common usage has obscured the distinction, elevating the rather simple act of restoration to the status of solution, and eroding the term "solution" sufficiently as to be rendered effectively meaningless.

Sad, but there you are.

</rant>
These are pretty good, some common sense or helper like things that I have implemented here or there at one time or another. Granted, some default programming styles may alleviate the need for some of these things, or ultimately you may want something different in your specific application. Good to see!
> If you have to reboot Windows for anything other than updates you should be looking into problems with your hardware and drivers. The "Windows is unstable" meme should really be dead and buried by now.

It it should be 'dead and buried' by now then why does it persist ?

It seems that there are enough people that share these experiences (not necessarily your own) to stop that from happening.

My own take is that it is getting better, but it isn't there yet.

One thing that I personally don't understand at all is why the industry did not long ago standardize on ECC RAM, the cost would have been marginal (due to the increase in volume) and the potential benefits in perceived stability would be huge.

Servers have it pretty much as a standard, any bit flipped in critical RAM can cause an OS crash (both for Linux and for Windows, RAM failures are OS agnostic).
I have used Yodlee.com directly (and free) for two years; it has functioned extraordinarily well, and is invaluable--it saves hours of time dealing with personal finances, and provides very usable reports. I avoided Mint because I thought that Mint's very thin layer over Yodlee's services was apt to be an unstable business, and now we see that Mint users have been tossed to Intuit. I was also reluctant to expose all my financial details to Mint unnecessarily. Yodlee's own security credentials are high--good enough to convince just about all the large banks, brokerage houses, and credit issuers to trust them. Try a Yodlee account yourself, and you will see that Mint has been adding relatively little distinctive value over Yodlee's unique base.
I believe productivity does matter to him. It's just that he wants people who can a-ha their way out of the problem, the gifted people.

So loosing thousands of good/average people in favor of couple of elites is the price he is willing to pay. Meaning he does care for productivity.

It's just that this "care" manifests in a utterly devious and fiendish manner.

Because he is a bastard. And I understand, because I am a bastard. And I don't care either. We don't care about being nice, because being nice to weak people doesn't help anyone. Weak people fail if you are nice to them or not. Strong people don't care if you are nice. If you are not nice they will challenge you. If you are strong you earn respect and allies. If your a weak wise guy, you better GTFO :).

Essentially it's about being nice to weak people (giving debugger). And in the world of Elite it doesn't make sense.

Think thermopylae It's an wonderful example of what a group of elites can do. And I believe the Spartans weren't known as nice and understanding bunch.
Brilliant 360-Degree Panorama of the Milky Way
No disagreement that debuggers are helpful, but they allow unskilled people to do more crap work without having to learn or think or improve, and that is what I believe Linus is going on about.

By all means, I don't agree with him that debuggers should be forbidden, but I believe I know where he's coming from.
I think this information would be really cool, maybe you could cluster people together depending on the content of their submissions, to find people whose submissions you could monitor.
These are useful! It always helps to take the monotony out of writing code (especially with methods that check boundary conditions and overflows) and spend more time on the actual design.
Comments on Vernor Vinge's Singularity
Newer version of these can be found on AIMA-Python site, which is an excellent read alone: http://code.google.com/p/aima-python/source/browse/trunk/uti...
The article is good at pointing the logic faults.

As you correctly say, the abstraction is wrong. If you were abstracting classes for a graphics program the abstraction could even go one level higher in abstracting p o l y g o n s, rather than rectangles and squares. You can even have crossed rectangles (http://en.wikipedia.org/wiki/Rectangle).

Using such an abstraction IMHO any polygon shape would consist of line objects which would consist of points (x,y and even z)!

OOP abstractions can sometimes be masochistic! ;)
There are inherent privacy issues with any cloud service, and even more with a company as big as Google.

Still, I'm VERY impressed with how easy they make it to take your data and leave. Can you imagine Facebook helping you migrate to another social network?
I'm sorry, I don't think I understand. Is the plan going to be: keep the "standard lib" but at the same time remove it from "core"?

If that's the case, then it won't make any difference to end users except that the Python that they download will consist of 2 pieces next to eachother instead of one big piece, correct?

That said, I just hope that -- whatever happens -- we still have batteries included. I'd rather not have to forage around PyPI, python module ratings websites, and forums just to figure out which module distribution to use (out of many) for a given requirement. It would be nice if I had the time for that, but for most module distributions I'd rather let the community as a whole come to a consensus, and then just use that (a la batteries included).
The cure for cancer will likely be found in a highly technical way.
I have several hundred million files stored on XFS, not sure if that's a lot or a little by HN standards, but maybe it counts for something.

We will never ever have another XFS setup with a filesystem where deletions are to be expected. XFS works fine as long as you are just adding files to the filesystem, deletions are pathologically slow.

We've tried just about every trick in the book and have finally made the decision to switch back to ext3, which given the number of files will take a while.

So, that's nothing against XFS from a reliability point of view, but definitely from a performance point of view.
Yes, confirmation bias at play. But I'm still not sure if that makes it OK to title the article "Why CEOs are so stupid" - that's a gross generalization even for this particular CEO, given that there was this one interview where he messed up.
That was part of my reasoning. There are many karma algorithms that could be deployed in different contexts. If the HN readers found some good alternatives, maybe PG -- or whoever maintains the sites code -- could integrate it as a user preference. For example, I would prefer to read the comments of people who have a few very strong comments rather than people who have many average comments.

(Note: I am completely ignorant about HN's code -- I don't know how they cache or calculate anything).
I did some work on random terrain once. You can see the results here:

http://steveasleep.appspot.com/pyworldgen

If this is what you're looking for, I can try to explain it.
Finding the cause of the problem is something that Microsoft might be able to do if they choose to do so. This is closed source, remember.
Here's something I'd like to know: EC2's dashboard looks really friendly, much better than their suggestion of downloading some java programs to fiddle on with. Amazon's the cheapest, so what's the benefit of going with Cloudkick vs straight EC2?
ToyBots: A Platform For Web Based Toy Development
On a semi-related note, the code for AIMA taught me a lot about Python, just from reading through it at trying to understand.

http://code.google.com/p/aima-python/source/browse/#svn/trun...
I'd say that this is almost consensus opinion among educated people under 60, at least for cannabis.

Don't worry guys, we just need the baby boomers to die.
Why assume that SQL is involved at all? Hint: it's not.
Think is hiring LAMP, iPhone and Blackberry Programmers
We're hiring. We just signed a lease for office space on University Avenue in Palo Alto. Join our team and help us fill up the office!

http://www.thinkcomputer.com/corporate/jobs/index.html
Microsoft to businesses: start Windows 7 migrations now
The original article used the word developer, so I just used engineer to refer to the other type of profession. I wasn't trying to suggest anything, just being more concise while writing a comment.
Thanks. Still I wonder how it was possible to xray a finger using (if I guess correctly form what's written in the article) a single sticky tape without it emitting enough radiations to be dangerous for people unrolling a lot of sticky tape for work, with similar speed of 3 cm/s (this is more or less the "natural" unrolling speed when you are packing something requiring large strips).
My memory may have soured the process, but I'll mention the experience I had when I tried Visual C# Express.

I opted for local documentation, but everything returned 'resource not found'. In program online documentation, as I recall, led to a lot of 404s or redirects. I tried starting a demo project using SQLite, and spent more time finding the right tab with the right synonym for 'dependency' to add the SQLite plugin's directory. Trial and error wasn't terribly informative when doing that.

I decide to give the website another chance, and download some sample program packs; this involved navigating past the incorrect pages Express initially pointed me to, and then downloading a zip containing files Express didn't want to open without converting. It wasn't a fun process, and the projects I opened were written by monkeys, or interns, or interning monkeys, because the method names were inconsistently named and inconsistently spelled.

I went back to the less effortful Django and Rails tutorials, which introduce everything you need, and tell you enough to know where to look when you want to try a plugin.
What you describe sounds like the US as well ... the power of Mint is in consolidating all of your accounts.
Maybe Microsoft's code doesn't cause crashes any more, but 3rd party drivers and shoddy OEM hardware are definitely still to blame. Users don't care why their stuff crashes, only that it does. And first hand, I see XP-era machines crash less after converting them to Ubuntu. I haven't tested a Vista machine, I've never seen anyone run one.

Re: ECC ram, my non-server, "consumer" linux boxes typically have uptimes of 100,200,300 days. They only go down for hard drive failures and OS upgrades.
There's no database for HN. Everything is saved as text files. The save-votes function (line 133 of news.arc), which writes out the hash table of a user's votes to a file, is as follows:

(def save-votes (u) (save-table (votes* u) (+ votedir* u)))

So the data could be gotten as a zip, but not a SQL dump.
On Hedge Funds (and Business Plans)
HN has pretty good bot blocking measures, a little while ago someone posted a less-then-optimal script to retrieve the users karma on the fly and almost all of the users of that script got blocked.

Datamining a body of data like that is likely to turn up all kinds of interesting tidbits, amongst others you could use it to identify the 30 or so 'secret' power users on HN, figure out when they're sleeping and so maximize your take on spammed links.

Even now it can take more than 2 hours before a spam link gets deleted, no need to make it worse.

Not everybody uses HN with good intentions, there are plenty of people that see this as just another place to dump their links.
Consultants or employees?
string.strip() is a convenience, you can find a horribly verbose way to do it C# as well.
In response to "Learn to Relish the Door Slam", a setback is a setup for a comeback. Keep plugging at your entreprenurial dreams, and you will get there. Use those door slams as a learning experience. Each time someone says NO, implement their advice, and submit again.
I missed that; ctrl-f tendon doesn't find it, but ctrl-f cartilage turns it up. Thanks for bringing it up.

When you hit a certain age "oh my aching joints" is far more relevant to your interests than "brains might survive motorcycle crash", though the brain stuff is admittedly cooler.

Stem cells may not necessary for soft tissue; if you could inject some time-release hormones or steroids or whatnot you might get improved results vis-a-vis what's out there now.
TSV, JSON, or whatever then -- it's the less relevant detail. I just want a dump and I consider it uncouth to scrape if someone is willing to freely provide a dump -- or at least, I would prefer permission.
http://braid-game.com/news/?p=364

Jonathan Blow, the developer of Braid, has had a thread on his blog (made from last year, when he gave up trying to port Braid on linux, till July of this year) about the (sorry?) state of developer tools on Linux.

An interesting read - given that his primary editor was emacs and he has been using *nixes for 20 years.

Long story short - sorry state of sound on Linux, sorry state of debugging tools on linux, OpenAL+SDL dont cut it.
I screen-grabbed it on the iPhone--looked like a fish out of water.

If their code really did provide an Explorer interface on the iPhone it'd be almost worth installing on purpose.
This is one of those truths that is so painfully and blindingly self-evident that "God-fearing" people everywhere will fight it to their last breath.
The name sounds scary though. Reminds me of Whackos belonging to the "Earth Liberation Front" who toppled several AM radio towers in Washington a few weeks ago. Reason; "AM radio waves cause adverse health effects including a higher rate of cancer, harm to wildlife, and that the signals have been interfering with home phone and intercom lines."
Sure, good coverage helps, but with a good product and good execution, they'll get it from anyone. If the formula is good idea + hard work + good execution + coverage from TC, you can easily replace "coverage from TC" with "coverage from NYTimes", and still be successful. TC didn't cause Mint to be acquired, so they shouldn't pretend they helped.
I don't have a problem finding jibber-jabber domains on my own.

This site took an annoyingly long time (~10 seconds per name, at a guess) to find three domains like "pladoo.org". I went to instant domain search and found borgyin.com, bergyan.com, yanbiry.com, whenberry.com, manywaffles.com, yellowwraps.com in a few seconds.

That is to say, if your site is about finding domain names - find good ones. I can string pronouncable syllables together myself easily enough.
I agree, and that's an even bigger problem. I find it far easier to just google any site I haven't been to before, but that is relatively easy to poison, especially if the domain/site/service is particularly new.
Use the Droid or Undotum fonts with antialiasing. Very, very good.

http://tombuntu.com/index.php/2008/10/15/tweak-your-font-ren...
I still use windows mostly because of my primary tools (Maya, Photoshop and Fusion - occasional game), however I have a VM with linux in it and just run a fullscreen putty on a second monitor. For django dev, for example, I have a vertically split screen where bottom is a :resize of 10 lines and running manage.py runserver_plus and top one I run bash or cycle through several (whatever I need). Similar stuff happens when I dev in D or C++.

I edit files via tramp on that VM dev server. Neat combination is that I move VM from workstation to laptop and vice versa, basically having a portable dev server all the time with me. It would be nice though if I could find a binary diff copy for files, since copying VM over network can take some time (luckily I don't do that all the time).
A useful utility I've rarely seen included in such a list is inverse_image(collection, function) which computes the inverse image of the function restricted to the collection.

A simple example:

students_by_grade = inverse_image(students, lambda s: s.grade)

Then students_by_gender["A"] contains a list of all the A students (and so on).
> I highly recommend that all programmers learn J.

Really? How well? I played with J over a weekend and familiarised myself with the gist of its philosophy, some time ago; enough to know how much time it might take to learn J well. But I stopped quite quickly when I realised how much time it would take to master. It's not impossible and the learning curve isn't too steep, you can piece knowledge together quite nicely (I think) but that curve is very long. I'm glad J exists but I'd really like someone to explain to me why, and in a lot of detail, I should learn it if they are going to make that suggestion.
I'm definitely not religious but I don't completely discount the possibility of a higher power. I believe the search for an answer to the question "is there a god?" is more interesting than any answer could be.
I agree the mail is terrible, and as other comments have said it's no secret (try googling 'dry baltic index' for business news stories on the topic). But besides that, this article is far above the mail's usual standard.
There will still be batteries included. Brett (the article) was talking about how to clean it up, my point in this thread (http://mail.python.org/pipermail/stdlib-sig/2009-September/0...) is a break-up which still offers the batteries (as a single download file - the other downloads are "advanced").

No one wants to get rid of the batteries; we just want to move them so they are not tightly-coupled with cpython-core (meaning for instance, Jython can more easily leverage them) and we can fix/clean them up more aggressively.

I completely agree with the foraging around PyPi comment - I hate doing that too, fundamentally what we all want is a cleaner, best of breed stdlib all of the implementations can share.
To suggest that he consciously said this to lower expectations is probably giving him too much credit. What he said is true enough that I'm sure it was just the first thing that came to his mind.
Blogging begins turnaround for homeless woman
I think most startup founders would like to avoid hiring a programmer who was burnt out. While it might help the programmer who was burnt out, that's not really the goal of hiring someone. Someone who has felt burnt out in the last several months is likely to have much less stamina than someone who hasn't.

I'm not even sure if working for a startup is one of the best ways to recover from burnout, in the early stages of recovery. In many cases, the recipe for curing something is different from the recipe for preventing something. Not coding at all for a few weeks might be a better way to undo some of the damage caused by working in an unmotivating environment than trying to jump into a more intense job.

I see a lot of people advocating taking a vacation for the sake of vacationing (not just recovery) as a way to deal with burnout. While I haven't tried it myself (my last couple of trips were to conferences) I've heard the advice repeated enough that I'm willing to give it a shot.
I watched this a while ago. I already practise a lot of what he says but I know there are scores of programmers that don't. My programming improved immensely when I really starting taking minimalism seriously in an extreme way.
Sadly, what is the consensus by uneducated people under 60?
Right wing organizations are not only constituted by old educated people.

And if that was true, the message for my country, Colombia, is hang in there? The amount of violence that is fulled by the illegal drugs is awful. Every day something horrifying is discovered.

Edit: my rebuttal could be seeing as rash. But is just a very frustrating situation with not clear hope in sight.
Conflict of interest? TechCrunch?

Say it ain't so! :)
The equivalent ObjC code is: ...

MonoTouch appears to support Interface Builder as well.

Also, your example isn't quite accurate. With the iPhone runtime, you only have to make the @property declaration in your interface and then @synthesize the variable in your implementation. However, the Mac runtime doesn't support this ...

The reduction of three duplicate entries to two is admirable, but still ridiculous. Moreover, "However, the Mac runtime doesn't support this ..." is the key point here. You can't use them on the simulator or the Mac 32-bit runtime (which are the same).

Additionally, prior to being corrected in 10.6, you couldn't access the synthesized ivars directly.

@synthesize is useful to have because, well, what if you want @dynamic?

Set an attribute on the @property declaration.

Or is there another example of its verbosity that you don't like? I don't find myself writing code that repeats itself very often. If I do, I'll refactor the code out to its own method. Just like I would with any other language.

I've never had trouble reading my Java, OCaml, or F# code years after I wrote it, but YMMV. In addition to the syntax, which stands on its own as a testament to monstrous verbosity, here are a few more off the top of my head:

1) Delegate/target pattern -- alerts, timers, etc. Your classes become a morass of delegate methods and hinky hijinks to pass what should be closure-captured state across disparate method calls. I don't want to make a mess of my classes by refactoring code to a distinct method if it doesn't belong in a distinct method.

2) Initializers. You wind up writing 3-6 different init methods, and then have to write 3-6 different class method short-cuts so you don't have to write '[[[Class alloc] initWithEverything: everything] autorelease]' everywhere.

3) Repeating myself. All the time. Why do I have to write header files? Java, C#, F#, OCaml, Python, Ruby -- none of them require me to duplicate my interface and implementation in two places. I understand that this is Objective-C, but in 2009, perhaps Apple should reconsider the C part?
What's your company called? I'd like to avoid doing business with it.
As I understand it not every request will hit S3, only cache misses on the edge servers.

"Amazon CloudFront uses Amazon S3 as the origin server to store the original, definitive versions of your files. Normal fees will apply for Amazon S3 usage, including “origin fetches” – data transferred from Amazon S3 to edge locations."