skysight-inc/HackerNews huggingface dataset:
Oh, you definitely need some managers. I'm not suggesting that we should do away with them completely :-)

In the past (i.e. prior to what we sometimes call "the information age") it was a perfectly reasonable thing to have a very tall pyramid shaped hierarchy within a company. This was because the people at the bottom of the hierarchy needed to be told what to do and how - i.e. the manager was the "expert" at some task.

Nowadays people at the bottom of the hierarchy (especially in technology) tend to know exactly how to do their jobs - in fact they know much more than their manager about their own specialty. This has led (in savvy organisations, at least) to much flatter hierarchies.

> Do you need some managers? How many per worker is optimal?

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

"In the hierarchical business organization of some time in the past it was not uncommon to see average spans of 1 to 4 or even less. That is, one manager supervised four employees on average. In the 1980s corporate leaders flattened many organizational structures causing average spans to move closer to 1 to 10. That was made possible primarily by the development of inexpensive information technology. As information technology was developed capable of easing many middle manager tasks – tasks like collecting, manipulating and presenting operational information – upper managers found they could hire fewer middle managers to do more work managing more subordinates for less money."
Ask HN: Best book to get into iOS and Mac programming?
I've been eager to get into learning Cocoa and Objective-C. I do have some basic knowledge on programming because I've worked with Python before. So i was hoping you guys can help me out here with choosing a good book to assist me in Mac/iOS development.

I've been told that the following 2 books are great books to get started:

Cocoa Programming for Mac OS X by Aaron Hillegass (http://www.amazon.co.uk/dp/0321774086)

Programming in Objective-C: Updated for iOS 5 and Automatic Reference Counting (ARC) (Developer's Library) by Stephen G. Kochan
http://www.amazon.co.uk/dp/0321811909

Can you tell me which one you think is 'better'? Feel free to make your own suggestions.

Thanks!
Hacking
I have good work
They are "Fully Prepared for the Past": http://systems-thinkers.org/resources/resource/the_systems_b...
When somebody asks you "What's the latest version of C?" Do you answer "C++11"? Of course not.

Perl 5 and Perl 6 are two different languages that happen to share a similar style and history. The latest version of Perl5 will never be 6.something.

And yes, Perl6 is not recommended for production use, since the specification has not been finalized. By the same argument, C++0x should not have been, yet many people did.
As someone who lives in the cloud already, and has been for a few years, it's very easy and efficient. I use Chrome's sync to have all my bookmarks everywhere, lastpass to keep my passwords, pandora for my music, google reader for my news, github for my code, gmail and google calendar, and dropbox with a truecrypt blob for ssh keys, gpg keys and a few other things.

It's not hard to live in the cloud you just have to deal with a service possibly going away or falling apart security wise. If you make the proper precautions it's all good.
I was down voted for feeding a troll?

(I pointed out errors in his claims two times, so the troll just made new accusations. I've realised it is futile and stopped.)

And happy new year to everyone! I'll go prepare for the party now.

Edit: Huh, no answer about down votes? Ah well... gotta go.
Have you considered the that maybe one of the reasons the House of Lords works (and I believe most people are of the view it at least sort of does) is because they ARE unelected, and thus don't have to pander to any interest other than their own humanity?

Given the state of politics in the west, perhaps leaders in society should be appointed in a similar way to jury service.
For me, I was only able to learn through experience, but hopefully my experiences can help you avoid my mistakes. My first lead opportunity at my first company was about 2 years in. It was a 12 or so person company, and all positions were flat except for the owner. When I was promoted, I considered my new main goal in life was to improve efficiency. While true to a point, I decided that the way I was to improve efficiency was to start tracking every piece of work performed. I created elaborate tools to allow everyone to check-in their time, and built amazing executive reports to interpret this data. However, efficiency (or rather actual work being done) was dropping. Identifying this as a failure on the team's part, over the period of a year, I implemented a series of changes ranging from good cop stuff (take the guys out for team-building) to bad cop stuff (threaten pay-cuts, firings etc..)

Later at a new company, the opportunity presented itself, and I was sure I had figured it out this time. Around this same time, I was really into design patterns and diagramming. In fact, I felt as though every problem in life could be distilled down to a pattern. Every member of my team could fit into nice little diagrams as boxes, and the work would get done like magic. A designer was a designer, and programmer was a programmer. Everyone and everything was interchangeable. We could outsource work when we needed it, and get rid of people when we didn't.

A bit later at a different company, I was able to give leading a third try. Around this time, I was reading a lot of joelonsoftware, and randsinrepose. Instead of implementing anything, I decided to just try to eliminate obstacles for my team. I started weekly 1 on 1 meetings with my guys, allowing them to talk about anything they wanted for as long as needed. Lastly, I just tried to be the guy that I wanted my guys to be. I made a conscious effort to keep my morale up, not let things get to me, and lead by example.

Looking back, I see that in the first two, I was trying to implement things that motivated me. I love analytics and treating tasks as games. I love seeing charts go upward. However, management is about your people, not you. People are emotional and complex. This sounds pretty cliche as I write it, but try to improve yourself as a person, encourage that in your team, and the productivity / efficiency / whatever will take care of itself.

Good luck!
Dude, that was ironic. None of those places are tech hubs. That's the joke :).
On the other hand, the game companies probably also don't want to tick off the media industry. So while Nintendo, Sony, et al don't have much to gain from SOPA, they have quite a bit to lose if the major content industries decide to blacklist their platforms.
But no one is asking you to take that chance. The author notes that there seem to be no ill effects; but how else can one find out, barring some sudden forthcomingness on Apple's part, than by trying, which is exactly what the author is doing—with reports (as the article says) forthcoming in case of trouble?
Yes, the security of Stratfor was unacceptably lax, and yes, getting mad is generally a waste of energy, but you can't legitimately compare the criminals who broke into Stratfor and committed credit-card fraud to a five-year-old who's gotten into the cookie jar. They are old enough to take responsibility for and be held accountable for their actions; a five-year-old is not.
Beats Audio Exclusively in HTC Rezound. But iTunes isn’t. So Does it Matter?
OK, sorry, my wording was loose there; nonetheless, as he is looking for gold and silver to be admissable as payment, I think there's three possible scenarios.

One, the market ignores this and everyone continues paying in the dollars the president thinks are just another means of exchange. Sounds risky to me; it's pretty much a public statement that the gvernment won't at all seek to defend the value of the dollar so I'm not sure why anyone would want to accept such a risky asset.

Two, each merchant has to manage things in multiple currencies in parallel, along with the tax offices having to do the same and keep track of relative values and when the payment came in to establish the correct rates of tax. Won't happen.

Three, the market sees an unsupported national currency with little or no base backing and no national reserve bank backing it up. That's pretty much a guaranteed recipe for hyperinflation and flight to assets (remember, the historic result of not having the Federal Reserve was high inflation - it's been tried). It won't be orderly; the price of gold will rise fast due to demand against a basket of currencies, let alone against the dollar that'll be collapsing even faster. The banks aren't set up to handle physical deposits of gold, the merchants aren't set up to handle transactions in them so we'd end up with multiple, incompatible, payment systems based off private gold-measured currencies. Meanwhile industrial use of gold becomes prohibitively expensive putting brakes on the economy, while the fixed money supply inherent in a commodity-based currency puts us deliberately back into the situation that crashed the markets in 07-08 - no-one can get any credit to work with, so the economy ground to a halt. That was able to be mitigated by quantitative easing temporarily creating new money and injecting it into the economy, but under a commodity-backed economy that becomes impossible. Have a read of http://en.wikipedia.org/wiki/Gold_standard if you want; I'm not alone in holding these views.

There's a reason why the Federal Reserve was created in 1913 and why the US ended convertibility with gold in 1971. Ron Paul seems to appreciate the lessons of neither, and I don't wish to live through him reminding the world of them again. Which is why, reluctantly, I think even Michelle Bachman would be a better candidate than Ron Paul.
It is not actually novel, as he says, it is a fairly common use case. Some sites build their API off a "search" layer too (eg The Guardian), and many of the Java CMS systems do this too for many or all queries.
2011 in Review: Patents Misused to Stifle Innovation
This is exactly how we use Ventrilo at Cheezburger. Skype is better for back-and-forth conversations; Ventrilo is better for status updates.
Setting yourself up to achieve New Year's resolutions
Virginia Woolf and James Joyce go public in 2012
If you haven't heard of it before, swig (swig.org) is pretty nice for generating code to bridge C and C++ code to a scripting language for you.
by that point, the interests have already become strongly entrenched, and its almost impossible to stop.

An ounce of prevention is worth a pound of cure.
I am definitely using averages because if you have an ship which is 300+ meters across then you can leave the top few meters for insulation, so the surface of your ship has the expected extreme temperature ranges.

I should restate what I said: instead of "that's assuming the entire asteroid is at 290K", I mean, "except the insulation layer", which you need anyway to keep the near-surface area livable.

If you need 20 meters for that, then your living volume is 21 million cubic meters, or a reduction of about 20%.

That's not to say that there's no contribution. More that I believe the calculations from that linked-to page ignore the difficulties of differentiating between the internal heat (cooled through black-body radiation) from surface heat from the sun.

For example, from Stefan-Boltman, cooling goes as T * * 4, which means if you have a cooling radiator on the sun-side which is at 150C, or 20C above "normal", then it's about 6 times more effective than a -90C radiator on the cold side. I suspect it's easier to stop the 20C delta on the cold side than the warm side.
He's working too hard (but it is good for publicity). Per the writeup, DeSopa uses a foreign DNS service (which would not be under SOPA jurisdiction) to look up IP addresses. My off-the-shelf firewall/router (Buffalo/DD-WRT) can set a fixed DNS IP address. The simple and transparent way to implement DeSopa is to set that to a foreign DNS service.

Real hackers run their own caching DNS servers, of course, and thus have many more options for bypassing SOPA. ;-)
Nelson Mandela was a terrorist. He bombed stuff. He is considered a hero today by that same democratic world because he had a change of heart while he was in jail and decided that terrorism was the wrong way to change society, and he worked respectfully for equal rights from then on and achieved a peaceful end to apartheid without the massacres and thousands of dead people that a violent alternative would have caused.
What this leaves me wondering is : what are the continuation semantics for the gotos? Without that part it's hard to know if "ill formed" gotos that result in trying to execute expressions with undefined variables can happen or not.
To contrast, here's my review of the same book: http://www.hn-books.com/Books/The-Mythical-Man-Month.htm

I remember reading somewhere that Thomas Jefferson was disappointed with the way public opinion had changed between when the Declaration of Independence was written and when the Constitution was formed. He said something to the effect of "12 years ago everybody thought we had awesome ideas, but now they all want something new because after all, those ideas are 12 years old and certainly something newer and better has come along by now."

When I started hn-books, I wanted to go on a tour of the classics -- all the dinosaurs. It was a great ride I had doing this last year! I miss it and want to do some more. I would advise everybody who is a serious reader to make a resolution to read a dozen or so of the classics in programming and technology creation in the coming year. You won't regret it.

The downside is that I found I lost tolerance for a lot of new work. I'd read some kind of self-help programming book and think "Oh, the author got that idea from over here." and "Yeah, he picked that up from X, but he really doesn't understand how to apply it"

There's some real self-congratulatory crap out there. Two hundred pages of book with 3 ideas in it, all copied from some greater writer. If that's the way you need to absorb it -- all nice and fluffy and with the code all in the cool language of the day -- then more power to you. But I've found it's just as easy to read the dinosaurs, get a firm understanding of where the ideas come from, and then have a little better foundation and perhaps more interesting observations to make.

Programming is programming. The tech is changing tremendously fast, but the job is the same as it was 30 years ago. The part about what bit 7 needs to be on a new technology stack, how Google got super-scaling to work, and whether the standards body will approve Y next year is important, but it is really overrated. You'll learn far more from the dinosaurs in a month than from consuming that stuff everyday online. </rant>
Their polymorphic factory isn't returning "different types." They're both returning A. The derived one is just returning a specific type of A. If the shared "makeOne" returned naked pointer types A* and B* rather than shared_ptr, then this would all work correctly, thanks to C++'s covariant return type support.

Covariant return types are a powerful feature in a language that doesn't support other forms of return type polymorphism. shared_ptrs function so similarly to pointers that it can be surprising when they don't support this behavior. Surprise and capability mismatch with pointers are strikes against shared_ptr. But not sufficient ones to stop me from using them.
I think that raises the most important point. People are different. I prefer the quiet at home because I can concentrate (I like to talk to people A LOT :) so I spend to much time talking to people at an office). Heading into a 100% remote situation myself I'm still conscious about grabbing a desk in a co-working space for at least 1-2 days a week to socialize a bit and not turn into a hermit.

I do think remote teams can work very well but it has to be built with people who love to work remotely from the start. If you have a mix of people who can't work from home and need social interactions to be productive and combine it with people who want the opposite you are probably going to have problems.

I think it comes down to hiring for one concept or the other.
The good thing about perl 6 is that lots of ideas from there are getting back into perl 5 and believe it or not Haskell got a bit of a boost because of perl 6 (when the pugs project was in full swing).

Even if one of the projects implements the full perl 6 spec that exists today, there are very few perl 5 devs that will switch over ,If I were asked to guess it would be less than 5 %. Perl 6 as a language has to start at the bottom with other programming languages . The name perl6 was used because one of the reason (I am not sure of this) was to retain the name to get perl5 devs to move to the next version of the language and at that time perl5 was a dominant language.

Another perspective to look at is that perl6 was announced in early 2000 clojure came around 2007 , scala appeared around 2003. There are other languages like go and dart which have google backing that have come out.

So IMHO if you want to learn language design and the other things around it perl6 is a good playground you will learn and easy to get into the community but you will not get a job because of it. If you are a user of programming language who wants to use a language for solving a real world problem today (with libraries and get questions answered) or learn a language which will get you a job you will be better off with perl5 , php, ruby, python, scala, clojure or <insert your lang>
This is how we do it. Most employees work in the office, but we're fine with people who choose to work remotely, either in part or in full. But sometimes we expect staff to come into the office.

Speaking as a manager, building a team of only remotely people can be more difficult than building a team of employees who see each other face-to-face.

Face time helps us considerably with junior developers, which are much easier to find than senior developers (and, really, the senior programmers and designers are the people who tend to work best remotely, which brings us back to the problem of the difficulty of hiring senior staff). We can pair juniors with seniors at the office and the juniors will come up to speed much more quickly.

It's all about finding a cultural stride in the team. There needs to be a solid core and where they work doesn't matter, so long as that culture permeates. But email and Basecamp and IRC or whatever tools are used aren't necessarily the best place to build that culture--they're merely communication tools. Culture is as much about intangibles like friendship and understanding the company politics beyond the dev team as it is about raw programming ability.

And then there's the fact that when I have a team member standing in front of me talking through a problem or just shooting the shit, they've got my full attention, because they're standing in front of me. When a team member sends me an email, I only have their email to look at. That's probably my personal failing as a manager, but there's something to be said about human interaction, beyond cranking out product.
Me too. I'm actually pretty pissed at Stratfor because it's a huge inconvenience.

Unfortunately, I used an email address that I use on other sites, so now I have to decide whether or not to create a new email account for everywhere else, which is extremely, extremely annoying. Luckily, I used a separate password for Stratfor (12+ characters).

Also, unfortunately, the cc was my main cc number, so that means I have to change EVERYTHING, which is a huge hassle.

I guess this means I just have to keep creating throwaway email addresses for every new service that I sign up for, which is turning into a management nightmare.
Lessons from famous college dropouts
The head first book is good, but the people that I have taught with it, that have had development backgrounds tended to outgrow it's linear approach before they got to the end of the book. That can either be looked at as good or bad, it definitely get's you up and running quick, but it is a poor substitute for a book that can be used as a reference after you learn the platform. I remember reading that one of the books was updated for the new IOS and xCode, which is important because a lot of stuff changed. You can get lost in a tutorial due to the fact that so much has changed. Make sure you either use the old xCode or get a book that covers the new xCode.
That's my point, it' meaningless. That modern humans think it's a big deal is the scary part.
Founder of Scribr here. We're stoked to see this on HN and curious to see what the minds here think of it.

TheNextWeb has a good article detailing our book here:

http://thenextweb.com/apps/2011/12/30/scribr-preserves-your-...

We also have Timeline-esque features that aren't very public at the moment. We delve into these in our blog here:

http://blog.myscribr.com/post/15036430644
What rings true about the scene is that the distribution model is quite simply better. It's been said time and time again, but really, this fact is crucial. If I go out and buy a DVD I'll likely end up with a product that is inferior in quality as compared to whatever is listed on your favorite tracker; e.g. I can expect an annoying series of ads, anti-piracy warnings, and a poorly constructed menu. What the industry should do is recognize they're distribution is being outdone by laypeople and then find a way to emulate this kind of model. In other words, distribute over the Internet in a frictionless way. We already know if done properly, people are even willing to pay! It's clear: people want a quality product, they want to own it (i.e. no DRM), and they're even willing to pay for it.
I don't know the copyright claims process Atari uses, but the review[0] of Vector Tank the Kickstarter page links to says:

First, let's step back a moment and take a look at the overall
Vector Tanks situation. Peter's original Vector Tanks appeared
in the App Store, published by Chillingo, just over one year ago.
It delivered a stylized iPhone take on Ed Rotberg's 1980 arcade
classic Battlezone, with a large helping of modern-day retro,
thanks to the lovely glowing vector effects that make the iPhone's
screen feel more like an Atari Quadrascan display than a 3.5-inch
LCD.

That's fairly telling. Additionally, if I were to come up with a generic name to describe Battlezone, Vector Tanks would be a top pick. I'm not experienced with copyright with respect to clones of games, but Atari might be the victim here.

EDIT: Even more damning, the original Vector Tanks review details how the creator loved Battlezone so much he wanted an iPhone version[1]. So he created one. The original app's description:

Vector Tanks is a Battlezone remake with a "future retro" feel.
It's great fun and is perhaps the most enjoyable retro offering
to be found in the App Store.

EDIT 2: The VentureBeat article[2] puts the nail in the coffin:

Vector Tanks programmer Peter Hirschberg commented to VentureBeat:
“The cruel irony here is that I tried for years to get ahold of
Atari to license their IP but they seemed to have fallen off the
planet. Now this. It’s very depressing.”

The developer originally recognized the need for a license but, unable to contact Atari, decides to clone the game anyways.

[0] http://toucharcade.com/2010/03/01/a-closer-look-at-vector-ta...

[1] http://toucharcade.com/2009/02/16/a-look-at-retro-3d-shooter...

[2] http://venturebeat.com/2011/12/30/ataris-latest-legal-action...
Thanks for clearing that out, I now remember that "50% of the Google codebase changes every month."
I have one that is mostly working with some bugs running on Heroku -> MondoDB -> Node.js -> Backbone.js w/ BrowserID

https://github.com/overshard/node-todobin/
Not another year end list
One trick I use if I forget my login is to whois my domain. The handle should be under one of the three domain contacts.