skysight-inc/HackerNews huggingface dataset:
My background is almost all C, C++, and some python. I have been fooling around with Haskell for a few months now. I can honestly say I haven't used anything on the list beyond the first two. Haskell falls very close to python in readability if you want it to. You can "go deep" and produce stuff that only an experienced, hard core functional programmer can understand as this guy does, but I tend to use it as a statically typed, fast python.

Flip through the first few chapters of Real World Haskell online and see that it is fairly readable.
Was the original emailer telling Divvy that he won't pay $14 dollars for something that continues to have pop-up ads? Or was he saying he can't pay the $14 dollars (and the price was quoted on a pop-up)?
Well, the exclusive contract with AT&T does end in 2011 ...
I forgot to add: the buggy data issue is exacerbated by poor engineering practices common in the airline world. Imagine you were designing a format to describe flight schedule data. How do you represent a flight segment temporally? I'd probably use two numbers: A GMT departure datetime and a duration. Instead, airlines specify a local datetime for departure and another for arrival. So now, in addition to all the fun that comes from handling local times, you've also introduced a whole new category of data errors: I've actually seen carriers file schedules for flights that arrived before they departed (i.e., when you convert the departure and arrival times to GMT, the departure comes after the arrival).
I've found the stock ubuntu repositories tend to have more up to date packages. For centos I end up needing to add external third party repositories to get basic LAMP-stack stuff current. That said, I still use centos for most things mostly because current centos is supported by the virtualmin install script, and I use virtualmin for many projects.

All said, there's not a huge difference between centos and ubuntu for basic web server administration - you still need to understand the underlying tools - apache, mysql, dns, etc. regardless of the OS chosen.
Naivetes over time:

In my 20s... I thought I knew what I was doing and was ready to take on the world with my fresh expertise.

In my 30s... I thought I knew what I was doing and was ready to take on the world with my fresh expertise.

In my 40s... I thought I knew what I was doing and was ready to take on the world with my fresh expertise.

...

You will always be a child. Whatever your age, you will think you know better, and you do not. You may know much about certain fields, but that does not qualify you for other fields. Having a child does not make you an expert on children. Being able to program a computer does not make you an expert on computers or computer programming. There is no top tier, no limit to knowledge that provides you a comfortable mountain peak to sit upon.

Do not accept limitations. Do not believe the limitations other people conjure. Experiment, even in the face of rejection, and you may learn something new and unrelated to your original experiment, or you may prove the know-it-alls wrong.

Being right is as useless in the social world as having ideas. Both are mental drugs.

Everything I said is both useful and useless. Maybe I can sum it up as, "Approach life with humility." I fail at this. Good luck!
I feel you here, I am a terrible designer. I just redesigned and relaunched my blog with no content. It is a huge step up from what I had before.

Do you have any friends who are designers? What I have been doing is when I see designs my friends make, I ask them constantly(they must be getting annoyed by me now) why they make particular design decisions. Using this knowledge helps me make better design decisions going forward. I'm still super terrible, but I am slowly getting better.
Maybe you're doing things the wrong way round? Is there no way you can have potential candidates complete a programming task/test and THEN, if they're successful, send you their CVs? Whether using Codility or something you devise yourselves.

It bugs me that no matter how much I practice programming and know my stuff, my application might get glossed over in favour of some non-programming douche with an immaculate CV.
Ask HN : How to teach children to write fast?
People, What is the best way to teach children to write and read fast. My son, who is studying in primary, is little slow in his writing and he is not able to keep pace with teacher writing speed. He is having slight problem in his vision, suffering from spherical aberration.
I like this question as I have had an interest in design for many years, but largely hired designers to work for me, and focused on technology.

One thing that separates good designers from hacks (in my opinion) is their appreciation of the history of design. Say you take your text, shrink the font down, and then jam the paragraphs far away from each other in a two column layout leaving a giant gutter (is that the right word?) in the middle and no left or right margins. That's (whether you want to or not) referencing a period in design history; if my memory serves, starting with some reasonably high-concept magazines in the late 1960s.

Same idea, but add thin borders as if you cut the text out of a block of paper, rotate randomly and slightly, and you're referencing fanzines of nearly the same era, a little bit later.

Now, distress the text horribly, and make everything bigger like you photocopied on 'enlarge', and you've got '80s punk.

Now, sharpen filter it all, crisp the whole thing up, stylize the borders and cut-aways, choosing a font with built-in crispy distressing, add a muted dark distressed background with a large image pattern (and probably a little pink) and you've got some sort of 2010-era crispy new proto-punk / ironic nod to punk design.

All that to say, you still want to have some understanding of the 'rules' of design, and typography, but they will be nearly worthless to you without some experience of the mental and emotional connections people make with existing significant design movements.

Luckily, this experience is pretty easy to get. http://www.designhistory.org seems pretty cool, although I just found it for purposes of writing this response.

With some of that experience, you will be able to 'parse' design in a technical way alongside your own artistic sense -- and since you're a technologist, you'll be able to understand how the changing technology allows new design looks to spread as well on the web, and that will put you ahead of 95+% of 'designers' on the web. Early web 2.0 was puffy letters, reflections, and large fonts for forms -- all this enabled by browser changes, and design needs of the time.

Late web 2.0 looks like we're going to have a lot of rounded boxes, shadows, and browser-based gradients, since those things are getting easier to do; whether or not that's what happens, I will be able to assess the online designs when they come about with some sense of what's come before, and appreciation for what people are doing now.

On Typography: all this goes for typography as well, one of my pet nerdy subjects. I really love The Elements of Typographic Style by Bringhurst. Design's 'rules' are far less codified than typography's rules; despite that, there continues to be amazing work and amazing font design happening, in fact, maybe more and more high quality font design. A thorough understanding of typography is a great joy for anyone who reads, in my opinion. Check it out. http://www.amazon.com/Elements-Typographic-Style-Robert-Brin...

p.s. I was thinking about what design group HN falls into in my head while I wrote this, and I decided "neo-Greenspun". Thoughts anyone?
Marten Mickos: Open Source Needs To Have An Unfair Advantage To Succeed
Game Design: A Practical Approach - http://www.amazon.com/Game-Design-Practical-Approach-Develop...
and for more focus on the interface (the obvious point of this thread):
Game Interface Design - http://www.amazon.com/Game-Interface-Design-Brent-Fox/dp/159...

Both books teach interesting stuff about designing interfaces and the game itself that can be translated to software and web, specially the first book.
> - Concentrate on your weaknesses. Make them stronger. When you get to your 30s you can work from your strengths, but there has to be some time in your life to work on shit you suck at, and for me it was when I had the most motivation, my 20s.

I don't think I could disagree more. If I focused on my weaknesses, I'd still be working on my handwriting. I spent years in school trying to learn how to write legibly, and as soon as I got out I dropped that and used a computer for everything. I'm a published author now, and without a computer I still can't legibly compose a sentence. You know what? nobody cares that my cheques are hard to read.

Sure, you can focus on bringing up the things you are bad at to 'average' and be a mediocre person, or you can min/max it, and be /really good/ at some things, and really suck at others. Sure, we'd all like to be good at everything. But you know what? for most of us, it's not happening. you need to make choices.

As a child, your mom (or, at least my mom was) all about how important doing your laundry, cooking, doing the dishes, etc... is. In the real world? you can pay other people to do that. You don't even have to pay them very much. Your first programming job will pay enough to eat out every day and have someone come by and clean your house once or twice a week. (granted, knowing how to cook is a good skill; it's usually healthier. My point is just that no matter what you are bad at, there is almost always a way to solve any problem using one of your strengths.)

granted... your first programming job won't pay for that /and/ a spiffy new sportscar every five years, but for me, the free time to work on the things I care about is worth more than a sportscar.

Figure out what sorts of things you are good at learning. Become /really good/ at those things, and put yourself in situations where your strengths matter and your weaknesses don't slow you down too much. Cultivate friendships with people who have complementary skillsets.
You don't need very much at all. Maybe a laptop computer and a couple changes of clothes. Pictures and videos of your life. That's about it.

That was a huge one for me too. For years I'd thought I needed at least $50k/yr, a nice car, fancy apartment, etc.

Then I spent a few years starting a business, and really learned what I do and don't need to spend money on. When food is an opportunity cost it changes your perspective. The first thing to go was trashbags - suddenly the idea of spending money on something going directly in the garbage seemed absurd.

So, I haven't had a car in 2 years, I love my apartment but its not huge, and I don't make a ton of money. But I'm happier than almost anyone I know, I can drop everything to go on an impromptu beach trip, and I wake up every day to a job that's exciting and fulfilling.

It sounds odd, but learning to live on almost no money made me calmer and happier.
Learn to fight for something bigger than yourself, and do it for those that aren't capable.
What did you find so hard about chapter 5 ("Writing a library: working with JSON data")? Doesn't seem too be such a big step up to me in comparison to other chapters in the book?
what is the advantage to being well rounded? I always thought that was a euphemism for average.
OCFS2: Unappreciated Linux File System
You'd think they could at least bother to get the names right.

(hint: it ain't called "Djangoproject")
The Year Of The Linux... Everything Else
Marx was completely wrong because he based his entire ideology on a flawed axiom - the labor theory of value - and should be treated with the same level of intellectual respect as phrenologists and astrologers.
Yes, yes!

That we should look at other methodologies of our economic structure. An excellent viewpoint and debate starter.

The Anti-Capitalism ideology isn't Socialism or Marxism or Communism. Capitalism isn't working the way society sees it.

Capitalism is beneath us as a society.
This kind of response is part of why hackers have such a difficult time in social groups. That it is upvoted 7 times really drives the point home. The article isn't at all about whale nomenclature. It's about an observation of the world around us and a discovery that may explain it.

Yet, this comment has nothing to do with that discovery and only "nitpicks" some superficial detail wholey irrelevant to the discussion. It throws everyone off track with something that doesn't matter -- at all.

It's a semantic debate and it detracts from the conversation. It's annoying and it's why "normals" don't like to talk with hackers.

For the record, some people believe dolphins are whales, and some don't:

http://www.ftexploring.com/askdrg/askdrgalapagos4.html
You really can't avoid native execution if you want to really push the frontiers on these devices. And because these are such small devices even lone developers can really push boundaries and make money and a name for themselves. But the second you start blindly "optimizing" their products, bad things happen in spades.

In my opinion implementing a VM purpose built for a specific language spec is, was, and ever shall be a mistake. Sun was wrong to do it with the original JVMs. In this regard at the very least Dalvik is ahead of the game. The problem of course is, however, that implementing any VM at all on an embedded device results in crap performance from all apps executing through it. The reason Apple chose to remove multitasking and force C# down people's throats was simply because it's the only way to develop an application that is sturdy and fast on an embedded device today. Claiming it frees the developer from having to optimize their code betrays your ignorance of developing on embedded devices.
Heinlein's Rocket Ship Galileo (1947), actually.

For a vague, SPOILER-ish description (the book's cover often gives it away anyhow): A group of teens build a moon rocket, but someone (wonder who?) is there to meet them.
So, that's a pretty cool story. The feedback loop on these sorts of things is insane. Does anyone have any anecdotes of this sort of thing that don't result in #1 on reddit (or something similar!).

Also - does anyone know of a program that does this for Windows?
If I was asked this question and I could express the answer in C++, then I would say list::reverse.

It seems (to me) that more important than this question is knowing when to use one data structure over another (pros and cons) is more important than being able to manipulate one specific data structure during an interview process.
"A List of Web Development Frameworks"

FTFY.
Hmm, I also jumped on SERO a long time ago, and it's really the only thing keeping me from upgrading to an android phone. To upgrade to any of the plans they offer for their android phones would double my current monthly bill. I've heard reports that its near impossible to keep SERO and have an android phone. I've been a sprint customer for 10 years, i hope to use that to get some discount.
I know the rules for C (which are the worst of them) and yet I still use parens all over the place. It's less brain burden to read, and if I want to copy and paste it to javascript which has fewer precedence levels, it doesn't break.
For any data you want to reliably read back, MySQL really has one (standard) engine†. Nearly every MyISAM DB I've used in a high traffic environment has eventually corrupted. Your choice is really either InnoDB or ‘repair table’.

† NDB may be a perfectly reliable option, I have not used it.
How can you possibly write an article titled "The Best Web Development Frameworks" and not include Rails, which the vast majority of those frameworks are derivative of anyway? Seems like the only way to do that is by intentionally omitting Ruby - which calls into question the motivations of whoever wrote this article.

They say you should never ascribe to malice what can be well explained by incompetence, but that's an astonishing level of incompetence if that's what it is.

Also, as mentioned in the comments the plethora of PHP frameworks is actually a downer. 1) How do you choose between so many bloody frameworks all trying to do the same thing, 2) Why don't they pool their resources and build one good framework instead of 40 that all suck to some extent?
Ask HN: Could Facebook beat Google in advertising someday?
Just wondering that with all the buzz around FB's Open graph search launch, are there any chances of FB beating Google in advertising somewhere down the line!!

FB does not do rigorous advertising till now but who does not like taking a share from a voluminous pie.
IWork Officially Coming to the iPhone
~30,000$ in rice today was significant wealth 1,000+ years ago. (It's all the calories someone needs over a reasonably long life.)

However, IMO wealth is best measured as a multiple of your lifestyle, someone with a billion in the bank who spends 300 million a year can't retire without cutting back, but someone with 1 million in the bank who spends 20k/year can.
I think something you need to consider is to use design tools for designing - paper and pencil, then gimp/photoshop.

The best designed sites out there aren't designed on the web, but rather designed for the web. Try to make a good design first and then use your html/css skills to adapt it to the web (and obviously since you know the limits of html/css you can keep yourself from going to far in a direction that would be overly complicated to implement).

Also, keep it simple to start and make incremental changes.
If you guys have a good idea, come up with unique name for it

It appears that's what they are doing if you read the whole post:

Since the app doesn't have a name yet, B Combinator will have to do until there is something more official.
Apigee Strips Facebook Naked, Letting You Play With Its Innards
I was looking for at least several javascript frameworks (server side). Plus the author seems to mix client JS framework ( jQuery, mootools ) and server ( JSMVC ).
5 points by scottregan 1 minute ago

5 upvotes in a minute? Flagged
I can actually read some of the syntax. I guess that a mathematical background helps when you're accustomed to seeing function definitions that map one real to another real or some of the other constructs. And I certainly recognize interfaces from Java (and why they can be a lot nicer than C++ style inheritance).

What still gets me are some of the basic functional programming concepts like monads and the y combinator, which obviously aren't unique to Haskell. Yeah, I've read Wikipedia on both of those (more than once). And several other things. I've even written some Lisp for my employer. But some of the concepts have yet to "click." I know monads encapsulate side effects or something (and the y combinator finds the fixed points of a function), but I feel like I just don't get the details of how it works.

After all, you don't need to know anything about monads to call the print function.
Steal.
"the new antenna design holds calls and gets higher speeds than other phones"

Other iPhones right? Is there indication that this is a comparison with other phones on ATT besides the iPhone?
Smalltalk, and Forth and Lisp too!

The simple parsing in these languages means that none of them supports normal mathematical notation. But it also has benefits when it comes to extending their syntax and building DSLs.
You should record something about your experiences, whether in pictures, movies, or text. Makes it very easy to relive them in your mind.
I don't consider myself to have a lot of friends, but I'm 28 and virtually everyone I do spend time with is older than me. I got married and had kids young, so married and parenting peers are all older. I own my own web development/consulting business, so my clients and business peers are all older than me. My path works well if you started on it several years ago. If you need a short cut, find any adult fraternal organization to join. Religious and/or service-oriented will probably be most effective. For me it would be the Knights of Columbus or Rotarians, to give a couple examples. I don't know where you are or what exists there, but they can be a great way to meet older people in the parallel- or team-work for a larger cause context that gives people the opportunity to form friendships.

Also, among the reasons older people are useful besides connections is so that you can learn from their wisdom or lack of wisdom. (It can be useful to keep a list for yourself of traits you want to root out and avoid so you don't become that guy 20 years from now.) Usually you can do this learning by active observation on your part, but sometimes people will feel compelled to teach you explicitly. God knows I'm no expert at social graces, but most of the time you probably have to let that ride, and strongly consider the possibility that you deserved it. If you're sure you didn't, try to understand why they thought you did.
Yes, but creating that environment for change is a pretty difficult task. As an example, several times I've hired people who did customer support before to do customer support for me, and de-training all the customer-hostile and ultimately time-wasting behaviors is really hard. I mean, sure, it can be done, if you understand the behaviors and values you want, and if the employee is willing to work with you, but it is /hard/

My experience with this sort of thing is that if the person looks like they failed in the past due to having a bad boss[1], yeah, I can fix it. But otherwise? you are in for a whole lot of work with a very small chance of success. Sometimes, it's worth it, but you need to go in with your eyes open.

[1] oh man, bad bosses do a whole lot of damage. that's the funny thing; I don't think a good boss, even a really good boss helps all that much. I mean, sure, they help a little. I try to be a good boss. But a bad boss can easily swing productivity in to the negative. Goal one is to not be a bad boss.
That paper was great. Thanks.
I agree, but the article didn't contain any actual research figures, just a few suppositions (which made the inaccuracy stand out).
> Marx was completely wrong because he based his entire ideology on a flawed axiom - the labor theory of value - and should be treated with the same level of intellectual respect as phrenologists and astronomers.

what about people who confuse astrology and astronomy?
Approaching complete unknowns outside of your network - in my case, a girl who'd spent most of her time arguing with another guy at a bar and got up to leave. This girl is now Mrs Nailer.
There were several articles over here about the "Experience Self" vs the "Remembering Self", all based on a talk by Dr.Daniel Kahneman (http://www.ted.com/talks/daniel_kahneman_the_riddle_of_exper...)

Some articles have a summary:

http://sheshtawy.wordpress.com/2010/03/01/experience-self-vs...

The remembering self of the old man definitely appreciated the trips better :)
For a design book that is an ugly cover.
Relation to praying?
Dolphins belong to suborder Odontoceti, which is a whale suborder. So yes, Dolphins are whales.

However, in common naming, people generally call things in the Delphinidae family "Dolphins" and whales not in that family "Whales." Orcas are an exception to this pattern, they're in the family Delphinidae but are called whales.
And now we cicumvent all evolutionary purposes, by moving across the country, and having children in our 30's, making it very hard for the elder generation to become involved with our children's lives.
I'd imagine that if you are creating a commodity, rather than a bespoke solution, then it's good to offer PHP 4 support to your customers.

So, for example, a shopping cart product built on a legacy framework, might sell better with support for PHP 4.
Apparently the only difference between the unregistered and registered versions is a pop-up. The OP was telling Divvy that removing the pop-up was worth $5 to him, but not $14.
agreed and this is coming from Zee, the editor of TNW. I can only assume someone at Apigee is voting this up to get more attention to their product. That is only an assumption though, not fact.
World Cup ... in lego. GER - ENG (in German)