skysight-inc/HackerNews huggingface dataset:
> a vestigial language that isn't suited for a majority of application development.

But good enough to write major parts of an operating system in by a company full of people easily smarter than you? Say what?

> Header Files

It's C for chrissakes.

> No GC on the iPhone

Because it's a performance penalty. Clock cycles on a phone are vastly more important than on a desktop/laptop. I can guarantee you this will change in a few years.

> No NSDictionary/NSArray literals

It's not a scripting language. Show me array literals in C or C++ that map to an underlying collection class that gives you fast enumeration and then we talk.

> Xcode

Personal preference.

> Closures

They're called Blocks.

> No dymanic variables

It's called 'id'.

id whatever = [[YourObject alloc] init];

But even better:

id whatever = [[NSClassFromString(@"YourClass") alloc] init];

Or how about setting properties on objects dynamically?

[yourinstance setValue:@"Hello" forKey:@"property"];

Or dynamically dispatching methods?

Ever messed with vtables in C++?

> Unit Testing

Agree, but that's changing.

> No namespacing

You bitch about all the typing, but you want to type out namespaces instead of using a prefix on your classnames. Ok ...

Your confusing ObjC with Ruby, Python, et al. But it is not any of those. Like I mentioned elsewhere, it's a high level layer on a low level language. Adjust your expectations accordingly.
I know speakertext.com uses it, and for a cool product!
Transloadit: Outsourced file uploading for your web app
They stuck "alumni." in the middle of mine. Oh, well, I guess I should just pay the freight, so to speak. ;-)
Keep it up Antonio! Even though my comment has nothing to do with Clojure, but I just wanted to let you know that I'm very impressed by quality of your average post. You're like Joel Spolsky of Web 2.0 :)
Yes, I realize the comparison is not a spot-on head-to-head comparison but you wouldn't disagree that Mixpanel's main feature is funnel analysis :) To be fair, many people _will_ compare Mixpanel with KISSMetrics (or it at least how I see the services).
I'm otherwise mainly a Rubyist, but I have to say that on the whole I really like the verbosity of Cocoa, because I find it's generally the right sort of verbosity: it's there to clearly and unambiguously describe what's going on. The stringByReplacingOccurencesOfString:withString: method, as mentioned in the article, is a great example of that: three cheers for it!
> This is fine, except for when it is abused and cited to stop progress.

This is a more reasonable stance than the blanket 'radiation regulation is silly', but I hesitate to award it too many points - it's hardly a big step to say you're against abuse and for progress. You can have progress and prevent abuse while adhering to (potentially overly) strict safety regulations.

(I may also balk at your stark claim of unverifiability - radiation damage is pretty demonstrable.)
There is SMALL business and NEW business.

SMALL (web-centric) businesses might have a staff of 5 and a $50,000 or more in monthly obligations (payroll, rent, etc).

NEW businesses have no payroll and hope someday to make meaningful revenue with a web site. 90%+ of them will die.

It's not oozing with charity, but I don't blame them for punting the new business sector, even though it might earn some wrath from neophytes on Hacker News.
Perhaps they are optimizing for getting coders that rather code C than Java?
If linking to a columnist, vs a news article, please include their name in the link.

David Brooks enthusiastically supported Bush's Folly in Iraq. No mea culpa. For that alone, I won't support his efforts with my (reading) attention.

I used to watch his tete a tete with Mark Shields on PBS. I can't imagine anyone being more consistently wrong (and wrong headed) about more things than David Brooks.

And that's saying something. The list of always wrong about everything is pretty big: George Will, Charles Krauthammer, both Kristols, Thomas Friedman, Ted Nugent (haha), etc.

Neocon concern trolls who aided and abetted the looting and destruction of our country deserve our mocking, not our links.
Ask HN: How do you find/meet tech co-founders outside of the hotspots?
Obviously, this question would be a lot different if I were in SFBA or elsewhere, but I am in the heartland. I am not a former CS (studied hardware, EE) student, so my college network has limited usefulness. I live in a city with a population well over 1 million people, but no observable tech community. I have started joining some meetup groups for Ruby, etc, but haven't had any meetings yet. I went to local Inventors club meetings, etc, but it was nothing but a bunch of rapid prototypers and service people trying to sell you something.

So, I am looking for recommendations. It is not like I am trying to hire someone tomorrow. If things move along well, I will be looking in 3-6 months. In that timeframe I am hacking something together with my business partner so we can demonstrate traction. I want to start meeting people now so I have time to get to know people and bring in the right person that fits in with us.

Thanks for any good pointers.
And as someone who is currently writing high-performance ObjC code, and who has written internet-scale packets-per-second-metered code in C and C++, I call bullshit on this.

I have no doubt that method dispatch is significantly slower than vtables, but you're ignoring the fact that for performant code, plenty of C++ devs believe that vtables are far too slow as well. Large high-performance C-style projects are always struggling with the tension between the indirection that architects want to keep the system clean and the hardwired directness that the profiler says the system needs to be fast. ObjC didn't introduce this dilemma; function pointers did. It's so well known in C++ code that the MIT Click Modular Router even got distributed with a tool that automated de-virtualizing method calls.

In both C++ and ObjC, when dispatch gets scary, you write C code. The difference is that C++ pummels you about the head and shoulders for even considering writing straight C with naked pointers, while ObjC could care less.

I would rather avoid ObjC. I would rather build a large system out of any high-level language, from Scala to Ruby to Python to Lisp, and use an FFI to drop into C code. But I'd spend the rest of my career in ObjC without so much as a Bourne shell script to fall back on than I would willingly start another project in C++.
An Interesting Take on Captcha
Kudos for acting so quickly!

Separate issue then, the 'Next Article' module that flys-in on the bottom of the page has a huge resemblance to that of the NYT:

http://web9.twitpic.com/img/129290515-1749ba53a25d83649eeb9b...

The idea/functionality is one thing, but the design elements seem to be a direct lift (border, shading, text language and style).
Thanks, if I can find where I got that link I'll try and ping the owner on github.
Hi, I'm bootstrapping, just recently moved to SF. Generally clueless of the goings'on around here other than there's stuff goings'on. What should I check out?
An alternative way to addEventListener
As someone who does a ton of Objective-C, I challenge the notion that namespaces are even remotely necessary ...

Apple is now suggesting that you use three-character class name prefixes, since they claim all the two character ones. I had my two character prefix claimed by a new private framework Apple added to iOS, and now one of my class names conflict with one of theirs. Kaboom.

If you go the no-prefix route, your code isn't library-reusable since other people will do the same thing, and you will still get screwed -- Apple regularly claims non-prefixed classes in their code, too.

My assumption is that you simply don't grok it, that you haven't learned how to utilize dynamic dispatch, KVO, etc. to greatly simplify and streamline your application designs. Or you are one of those script kids that takes all the low level shit for granted. This isn't python. This isn't ruby. This isn't even smalltalk.

Seeing as you're writing ObjC using a compiler I've worked on, I think that probably understand the "low level shit" better than you do.
I have a real static visualization. I should put some pictures online. My visualization does not rely on in-place algorithms: There's a square of pixels n x n, if two items are compared by the algorithm the corresponding pixel turns black, otherwise it stays white.

The traces of mergesort, quicksort and so on are quit distinctive.
Even though it's an awesome list and looks like a tasty menu for a performance/optimization nut, it can also pretty much serve as a list of things not to worry about until you have some traction/users: reader beware! :-)
> Typically have to deal with two different kind of strings (NS versus C).

NSString has plenty of methods to deal with this, and you get boxing for free between CFString and NSString.

> The frameworks for those platforms are MEGA verbose.

Which some view as self documenting.
Google Researchers Exploring Social Networking, Possibly for Google Me?
"Doesn't have any functional elements to it whatsoever."

There are methods like makeObjectsPerformSelector: and now methods for taking blocks.

Sending a selector is not functional, true, because it is an OO language, not a functional one. So the idea is "send this message to all these objects" instead of "call this function on all these objects."

Unfortunately, I don't see anyway to create a new collection from an existing one by sending each object a message (the equivalent of map). Furthermore, some methods actually do take C functions, and others take an NSPredicate. It would be more consistent if they had found a way to do all these things by sending selectors and a varargs list.

(It seems like blocks is the new, improved way to do all these things, and rather functional, but all the older ways still exist, so a developer must understand all of them.)
Yes. On the same hardware. And I'm sure that a specific example was thought of.

To give one of several likely causes, CPU pipelines have grown much longer. As a result it is more important to avoid stalls these days. Naive code compiled with a modern compiler knows about the importance of this. For instance the compiler will know it can avoid a stall in certain cases by making sure that a read from memory that happens soon after a write obeys something called store to load forwarding restrictions. Doing that can mean extra code which would be slower on an old computer, but it is faster than a modern one.
Math every day
There are fantastic comments in the linked article.
I wouldn't donate either for those reasons, but one thing to keep in mind is that the codebase running reddit is open source: http://github.com/reddit/reddit

They pushed to the public Git in a month, but the donations users are making will go towards improving that codebase. It can be used to deploy your own (and hopefully more scalable) version of reddit.
Pay close attention to the final few slides, they seem to outline a proposal for a set of changes that I think can be best described as "add strict variants of the various parallel/concurrent computing primitives haskell has to python (plus side effects tracking) so we can have python be natively good for HPC applications in the future"
A complete guide to virtualization (all types, in-depth)
Maybe it is to him.... I've known a remarkable number of folks who had "FU money" with $20k in the bank.
Everything You Already Know About SEO
Depends on what you want to show.

If you are, say, analysing run-times, you wont get very far with this choice of presentation.
So you work on GCC and are complaining about mostly legacy C things?

What?
Changes of environment (like moving) are known to trigger changes in behaviour that were latent. It may well have been this change in behaviour (acting more confident, more mature maybe?) not the change of locale.

When I say latent, it means that you felt more confident for a while before the move already, but it took the move, which brought anonymity, for you to externalize it.

This is why tourists act crazy, and even introverted shy people can act exuberantly on holiday. Or like your case, after a move.
Standard constructor boilerplate is simpler:

You just wrote exactly the same thing I did, but in a style that triggers GCC warnings regarding using assignment as a truth value.

Huge advantage of this is that you can implement object pools, singletons, etc. transparently.

You might consider looking into Newspeak constructors to see how it can be (much) better done, with much less code.

In short, treat constructors as class methods, allow them to be used interchangeably, support self-types so that you can't get selector conflicts, enforce calling of the constructor so you don't have to rely on documenting the designated initializer.
Walgreens and most supermarkets I shop at default to debit now when I swipe my card, and ask my PIN without prompting "debit or credit?".

To use credit, you have to press "cancel", which wouldn't be the first thing to come to your mind.
No I'm with you re: header files.

These "people" don't also seem to get when you distribute a lib, you need to distribute headers with them.
They also claim to track people, not so called visitors (via cookies). In fact, I was reading that if a person visits your page from home and then from office (from completely different browsers), they still count him as 1 visitor.

Sounds a really exciting claim. Wish they prove/demonstrate it to be true.
Just because I have the perspective to understand what's wrong with a language doesn't mean I can't or won't use it when it is the correct solution in a specific problem domain.

If Apple developed a first-class alternative to ObjC I would switch in a heartbeat. In the meantime -- to write Mac/iPhone apps -- I will continue to use it.
Archlinux with AwesomeWM or Xmonad, urxvt, chrome browser or uzbl for browsing.
Dear ASCAP,

About that word "free" that you keep bandying about... I don't think it means what you think it means.
True, I honestly don't think C# or Java were even in the race. I think the only real alternatives I would've been happy with would've been either Scala or some flavor of ML or Haskell, all of which definitely satisfy the speed and type-checking factors that were mentioned.

Let's put it this way: if any of those languages had half the library support that Python did, then it would've been a decent fight. But as it goes right now it's not even close.

EDIT: Sorry, the library support only applies to ML and Haskell, and I forgot about Scala. I'll have to think about this one; I'm not sure the reasoning for that was entirely well fleshed out.
Half-price ebooks from No Starch Press
At first I thought the numbers were number of searches, but they're not. For example, according to AdWords, "how can i be on made" is searched less than 10 times a month globally. The numbers shown are number of results.
and the biggest one of all, the inability to downvote.
If it does than you are doing something incredibly wrong.

I'm really starting to doubt the intelligence of HN.
If everybody stop pirating but don't want to pay, then they will flock over to copyleft materials. Suddenly, copyleft folks will make lot more money than people like ASCAP since some of them do have business models. As one HN reader puts it, "The enemy of Gimp is pirated Photoshop".

Copyleft businessmen do have a strong incentive in having corporations implementing ways to make pirating copyright materials more expensive/risky, but not use it themselves.

In a way, the RIAA, ASCAP, and other copyright organization are unwitting accomplice in the rise of copyleft and copyfree entrepreneurs, however fews exist.
Shirtless Old Spice guy replies on Twitter with hilarious personalized videos
Has this had any effect on their stock yet?
Depending on your architecture, logging can be turned on selectively. Just log one process/thread/database handle/whatever. Sure that one will be slowed, but the rest of the system still runs at full speed so you're OK. This can be an invaluable tool.

For instance a tool I incorporated into one system would see a parameter to a web request and would issue a command to Oracle telling it to log everything that happened on the database for that connection, and then would turn it off afterwards. So, for instance, we could take a slow web page, add a parameter, and a minute later be studying a log generated by Oracle telling us exactly what that web request did, and where it spent its time.

Having the ability to selectively do this on the live production system against live data with a problematic request while it was being problematic was huge. We were tracking down problems that only showed up in production, under production load, so no amount of profiling in development would have helped. Using the same idea, every day we would just take one random database handle, turn logging on for half an hour, and use it as a canary to look for potential problems. We found a lot of things that way.

Addendum (added later) It is also worth noting that in many horizontally scaled systems you can trivially have a fair amount of logging, even in production, if you're willing to accept a constant factor overhead in inefficiency. This can be utterly invaluable in tracking down latency, bottlenecks, and other larger scalability problems. Every large system that I've seen that was well-run did this to some extent.
I think the point of the guys blog post / rant is not so much the price in general, but that he felt the product targetted at the start-up community. Not that I have taken too much notice but I was under the impression that is where they were targetting it and I wouldn't be surprised if most of their beta testers were from that community and expecting the $10 per month pricing that they are more familiar with.

Personally I would never create a business that targetted other businesses that really have no money, it has never seemed a great business plan, but I would not do a beta marketing of "hey you, try this, you'll love it" to then offer a product they cannot afford.

I'm sure they will have no problems finding customers, but more of a problem finding beta testers for their next product.
When I speak of verbosity, I'm more referring to the need to repeat yourself and turn simple tasks into heavyweight ones via required boilerplate.

The long method names don't bother me.
It's making me feel old too.

GET OFF MY LAWN YOU DAMN KIDS WITH YOUR FANCY PYTHON.
Between a windows-client and a web server, we are using bzip2 compression to squeeze off some more bytes than by just using standard gzip (the transferred data can be huge depending on the time of the month).

The client correctly sends "Accept-Encoding: x-ps-bzip2" and the server responds with "Content-Encoding: x-ps-bzip2".

GData AntiVirus had a bug once in which it didn't strip out the Accept-Encoding header, tried to uncompress the servers answer (but failed) and then returned the data to the client still compressed, but with the header stripped off

The client assumed uncompressed data and tried to handle the answer that way - needless to say that it had mild difficulties at parsing the compressed XML as if it were uncompressed.

Of course the customer blamed us "GData is perfect - an uncle of an aunt of a friend of mine works there and it's perfect. Fix your crappy software".

This was the last straw of broken AV software altering our data. We stopped using Accept-Encoding or any other additional request header (those are sometimes stripped too) and we use the User-Agent header of the client and the Server-Header of the server to signal compression.

Sadly, but true, this works so far.

I hate, hate, hate AV programs doing stuff like this.
Wall Street abre a la baja, a la espera de los primeros resultados corporativos
I'd be up for a meetup. When's a good time?
katskatfeva AT-SIGN yahoo
One thing that jumped out at me is there's no clear single call to action button. You have both 'Learn More' and 'Sign Up', which downplayed the importance of each of them since they're the same size.

I'd make it clear to the user you want them to click Sign Up, and make Learn More smaller or just a link below it. Also the 'Free' sticker almost looks like a call to action button too, and IMO slightly spammy.

Good luck with all the feedback.
Citation is overrated. Today anyone can publish anything and be cited by another anyone.

Live in the industry for 15 years or so and observe for yourself. Carefully.
This is sort of silly. You can put your start-up anywhere in San Francisco and be reasonably close to the start-up community. The only real benefit to being in SOMA that I see is that it's easier to stumble to events straight after work like SFBeta, New Tech, or any of the various tech parties that happen within 3 blocks of Moscone (including but not limited to conference related parties). Having lived and worked at 3rd & Folsom for the past year and a half, I've become somewhat tired of spending so much time around the start-up community. All restaurants within 3 blocks of my apartment are filled with people talking about Twitter, constantly.

A cool start-up would get office space in the Outer Richmond so you can hike around Land's End every day before you start working, or maybe up in Nob Hill so you're essentially forcing your employees to use public transit some part of the day, giving them that 15 minutes of zen before work.
ah it's a WP plugin that does use the NY Times idea: http://wordpress.org/extend/plugins/upprev-nytimes-style-nex...

It's got a new look now, whadya think? :)
A deck with 216 slides? Yikes. Those guys should come work in my government department, they'll feel right at home.

I'm not sure that the separation of groups is really a big deal. Most people I know have solved that problem by using LinkedIn for their professional contacts and Facebook for everything else. It's the best way to maintain a clean break between the two and be certain that Facebook isn't going to dork it up.
This is Karanbir Singh's(CentOS Dev) .screenrc
This is a little scary ...

Here are the current Google Suggest phrases on Google Canada for 'how can I':

how can i kill my baby

how can i make my breasts bigger

how can i lose weight fast

how can i lose 10 pounds in a week

how can i watch hulu in canada

how can i get my boyfriend hard

how can i get pregnant

how can i keep from singing lyrics

how can i download youtube videos

how can i tell if i am pregnant

I often use the search term 'how can i ...', and I've noticed the 'how can i kill my baby' search phrase many times over about the past 6 months. It comes and goes from the Suggest list. Very strange.

EDIT: formatting
Dishonesty is not worse than honesty, simply because it's evolved? By that logic, rape is also not worse than consensual sex (assuming it's evolved behavior).

As rational and moral beings, aren't we supposed to transcend some of our evolutionary instincts?
It took a minute for her to realize that my comfortable savings was a few months in a third world country. She started quizzing me on my career -- "But you are a math professor!" "Postdoc, but close enough." "But ...?" Somewhere along the way, she suggested postdocs earned 6 figures, and I just giggled.

As the reality sank in, she asked me something along the lines of "how can you only have $XXX [her guess as to my net worth] in the bank?" She kicked me out immediately after I said "I could live for a year on $XXX." Once she concluded I was just a middle class guy, she just said something like "I'd like you to leave, this isn't what I expected."

Maybe I'm not a great judge of character, but I honestly was completely blindsided by this. (I'd have been more annoyed if it happened at 2AM rather than 3AM, of course.)
s/than/then/g
That's exactly what I was getting at. I was even thinking of that article, but I was too lazy to go find it.
OpenBSD/sparc64 on headless servers. Mmmmm serial console, I love me some good serial console.
What I meant was that you made a very bold claim without any justification. Are programmers who code in C categorically better than programmers who don't? I doubt it.