skysight-inc/HackerNews huggingface dataset:
I've used both Perl and Python. When using Perl I use anonymous functions all the time. When writing Python, I don't. There are instances where in Perl I would use an anonymous function, but in Python I define a local function an pass the reference. Each language has it's own style.

If you're trying to fight the language's style, then you will obviously run into friction. I'm sure there are plenty of people coming from C/C++/Java that think that dynamically-typed languages are unusable because type can't be enforced at 'compile time.' Defining an anonymous function vs. a one-time use local function is mostly a matter of style/preference[1].

| which of course was an ugly pain to port to Python with
| no multi-line lambdas

There are two things you are describing here:

1) It was a pain to name all of these anonymous blocks.

2) The idea of naming the blocks is annoying / aesthetically displeasing to you.

#1 is just part of porting something between different languages. You would equally run into issues porting JS and/or Ruby code to Haskell, even with support to lambdas. #2 is just personal opinion / preference, even if it's one that shared by many.

| (The fun part is that this necessity is touted as
| something good, instead of admitting that it is
| unnecessary complexity to learn.

I could use the same argument to rail against statically-typed languages. "A type system is just unnecessary complexity to learn."

[1] I welcome examples of where anonymous functions are unable to be replaced by local functions passed by reference.
What is the difference between doing:

git checkout -b bugFix
git commit
git checkout master
git commit
git merge bugFix master

And

git branch bugFix
git commit
git checkout master
git commit
git merge bugFix master
How do you know I didn't read the Bhagavad-Gita? I did actually.

Regardless, I'm not one of those "quote" people on facebook or in general. To me this post says more about the author than it does the people he is judging. Why does he care so much about the quotes they post? Whether you like the quote, hate it, or are indifferent -- is it so hard to just move on?
Wow! Author here, did not expect this to get submitted to HN yet (was going to finish out a few more levels this weekend and clean everything up). Forgive the giant "TODO" in the help dialog

The link everyone should see is the demo:
http://pcottle.github.com/learnGitBranching/?demo

That shows a few example commands, the completion of a level, and finishes with the help dialog.

Some interesting technical highlights

- I made heavy use of javascript "Promises" to route control through the entire app. The source code has some nice examples, but it would be callback spaghetti without it

- You can import and export trees to share with your friends ("import tree" and "export tree" commands)

- You can build levels from within the app with "build level". The intro diaog should step you through the process

- It even supports interactive rebasing! Try it out with "git rebase -i HEAD~3"

Git is a fairly complex too that can be explained really well graphically. I never understood what I was doing until I saw diagrams in the git manpages and various books around on the internet. I wanted there to be an interactive form of these diagrams but it didn't exist --- so I built it.

9,000 lines of JS later I have this. There's still some polishing to be done, but I'd love for the community to share their knowledge about different git workflows and different ways to explain git concepts.

I tried to make the bar for contributing as low as possible. You can build a level and submit a pull request without even cloning the repo!
No monads?!)
Why Even Radiologists Can Miss A Gorilla Hiding In Plain Sight
The retirement problem is particularly interesting. There are folks like my father who has spent > 40 years in the foundry industry about to retire, for whom there will probably be serious demand for part-time consulting (to answer questions for the 3 or so 20-somethings straight out of IIT they hire to replace him).

There's probably a business there in the connecting people (possibly over Skype, etc.) and handling all the billing and tax-related issues for mostly-retired people who are collecting social security and are computer-friendly but not heavily computer-savvy. I'm sure my dad would use it... from a nice part of the country where there are a ton of golf courses.
My bad (author here), this was submitted without my knowledge :P The demo here:

http://pcottle.github.com/learnGitBranching/?demo

Shows the help page, an example level, and the whole shebang
1. In general, I am on the computer I want to send from, then I go to the computer I want to receive on. This script seems to require I be at the receiving computer first. Is there a trick to do it my way?

2. A very minor point, but you are still required to know (or at least specify) a the filename on the receiving end. My solution does not.
"You shouldn't believe everything you read on the internet" -Abraham Lincoln
I think it was some programmer from NASA, can't seem to remember his name, though...
Life During Retirement: What You Can Do To Boost Your Pension
Software: Varnish > Nginx > PHP-FPM > MySQL + Memcache

Server: Debian 5, OVH Dedicated Server ($99 a year) Atom with 2GB RAM

3rd Party: New Relic (Free), CloudFlare (DNS), Pingdom (Free)

Running a blog and 3 other small projects
20-60 users online at anyone time, CPU usage rarely goes over 5%
A Google Retail Store? Why It's Not As Crazy As It Sounds
Because ‘newegg’ was taken.
Python packaging - reinvented.
A container for cheese.

From https://bitbucket.org/aragilar/wheel/src/38ab0c4bca96/docs/i...
Why would you need to drive around the block over and over? Cars can be parked.
This would be a great addition, I will add it as an issue, thanks!
Love it. I keep trying to paste stuff from github's gitignore project, but it's always too much of a hassle. This fixes it :)
Why software monocultures are bad
I don't have much of a knowledge of genetic algorithms so it might be good to explicitly say what part of GA algorithms set them apart from other branches of algorithms.

Nice story otherwise.
Ah! Finally a submission about what hackers can do to find business opportunities for which my age and lack of experience hacking is no barrier to me having something to say.

As mentioned in the second reply comment here, the "your parents have money" comment is mistaken relative to many of the hackers reading this site. A lot of young hackers, it appears to me, are leveraging their parents' investment in their own education to move into occupations with high economic returns, after the parents didn't have the same opportunity in their generation.

On the other hand, "someday you will be like your parents" is a probable future that most people forget too readily, so the point is well taken that if you want to build a better world for yourself in the future, you might get a reality check on your plans by building a better world for your parents today.

I can't speak to the issue of what single parents need. I know I would dread having to use any current kind of dating site if (God forbid) my wife predeceased me. Health information is always popular here on Hacker News, even among the young participants, so it stands to reason that anything that can help people a generation older than you are keep good health must have wide appeal. Even in an era of steadily increasing life expectancy at all ages,

http://www.scientificamerican.com/article.cfm?id=longevity-w...

http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2810516/

people still like to be healthier rather than sicker, and to live longer rather than die sooner.
Wanted to submit a review of WhatsApp's ToS (spoiler: they're horrible), but the method of communication is so untransparent... They use mailing lists apparently, and there are a dozen threads on Whatsapp's ToS already. I don't get it. This needs fixing if they want non-techies to contribute.
Trapping a Transcendental: There are reals that are not roots of polynomials
Think about quotes as an interesting multivariate optimisation problem.

How to maximize the amount of meaning while minimizing the amount of content? Quotes, much like good jokes, are at the bleeding edge of natural language elegance. They're the Haskell of English if you will.

No wonder some people spent hours practicing their off the cuff remarks and preparing impromptu responses. ;)
Not knowing much about it, I would assume that tracking people would be easier so long as you're in civilization. A deer would be suspicious at the site of any human at all. A human only becomes suspicious if they notice the same human more than once.
>With all respect, I have hard time seeing Apple laptops outside the US. Not counting some fanboys who acquired the taste trough some snob blogs.

Well, I see tons of Apple laptops in places ranging from France, to poverty striken Greece to SE Asia.

If you live in some Eastern European country, Latin America or Africa you might see way less. Macs are for the richer part of the computing buying public.

Worldwide Apple commands around 4-5% of laptop shipments, but in places like US and Japan that can get to 15-20%, and for specific categories like ultraportables it can get to 60%.
>Sorry about my comment coming off as a bit hostile, I did not intend it to be.

LOL fukk off... wat a poossy -_-
Yes, I've run into a few of these points often enough to see that we really need to find a better way to bring ease of use and intuitive designs for technology aimed at people who did not grow up with it.
Having moved from the east coast to the west, I often will try to find a way to get my mom to Skype/Google+ so we can see and talk to each other. However, it usually winds up turning into a phone call and me emailing pictures to her.

I love all that technology has to offer, but at the same time I hate the perceived limitation that we've made leaps and bounds when things like the above still are an issue.

*note: I'm speaking only about the benefit of consumer tech to parents/baby boomers, and not about things such as advancements in the medical field, automobiles, etc.
I'm not arguing that every business model deserves to survive; I'm talking about the specific case of consuming audio/video content without keeping it. Renting bits does seem antiquated, yet it's a type of transaction that both consumers and creators enjoy.

Obviously in a perfect world, DRM would be illegal (or at least, frowned upon by consumers), and all content would be available in a globally accessible digital library that magically compensated creators. But that would represent a huge shift in economics which would have to take place at the level of law and public policy, not the technology used to facilitate the transaction.

The situation is analogous to abstinence vs. sex education for young people: if they're going to do the wrong thing (DRM/promiscuity), they should at least do the wrong thing the right way (web standards/using protection).
>Look, I dislike DRM at least as much as you do but whether or not we like it, DRM is not going away any time soon.

I don't understand where people got this idea. The only reason it hasn't gone away is that we haven't made it go away. If the likes of the BBC and technology companies would collectively say "sorry, DRM is poison, we're not having any part of it" then it would already be gone. Sympathizing with or defending their refusal to do so only makes them less likely to do it, and makes the day when DRM only exists in the history books take that much longer to arrive.

>When you protest HTML5 gaining a standard way to specify this, you're saying “I would prefer most of the internet run on close binary plugins controlled by a single vendor until the rest of the world adopts my political views”.

How do you imagine any DRM could possibly work that isn't based on "closed binary plugins controlled by a single vendor"? Perhaps "closed binary plugins controlled by a cartel of large colluding vendors"? How is that better?

You can't actually publish how the DRM works in the standard or it isn't DRM anymore. You can't allow competitors to produce their own independent implementations or "competitors" from Russia will produce implementations that allow copying. Open standard DRM is an oxymoron. What they're talking about is adding to the standard a flag that says "use this proprietary DRM solution" -- in other words, promoting more binary blob nonsense, instead of encouraging content distributors to just be rational and abandon the whole idea.

>Finally, it's a canard to make this an open source issue: it's really about control of the underlying platform: if the decryption key is extractable, it's game-over – and so the studios desperately want to end general purpose computing. Neither Windows nor WinDVD were OSS and yet the first DVD key extraction happened there shortly after release.

How is it a canard? It isn't a matter of which platforms are secure, it's a matter of which platforms are legal. No DRM is secure. But open source exposes the facade of DRM security so comprehensively that no such implementations are allowed to be licensed. Or, if you're being more cynical, the point of DRM is to claim that against open source implementations in order to justify prohibiting them, so that they can prohibit free and open competitors to the Hollywood-sanctioned wall gardens that allow major content distributors to collect unjustified rents from smaller content providers and control the public discourse.
"Libertarian" has just become lingo for "people with political ideologies that I consider fringe". You can find people calling anarchist ideologies "libertarian" while also finding people willing to call those who dream of Singapore libertarians. There is not rhyme nor reason to it.
LOL, missed that!
Creating a branch with

git branch bugFix

does not automatically check it out, so you'd have to follow it up with

git checkout bugFix

but if you do

git checkout -b bugFix

it will create the branch and then check it out all in one step.
shameless plug: www.srctree.net - Ace editor + git + canvas for viewing commits/branches.

I built it about a year ago, mostly for learning and fun. I haven't advertised it a lot but it seems relevant in here. I hope it's not off topic!
| Something about sharing them on facebook strikes
| me as so counter to the point

The point of the quotes is to be sequestered and/or hoarded?
Just a warning: you are going to have a very difficult time marketing to retirees if that is your target market. Hacker News or blog spam through techy circles on Facebook is simply not going to cut it - you're going to need massive funding and do television, newspaper and physical signposts in order to hit any kind of critical mass for that audience.

Good luck, and may huge amounts of venture capital be with you!
Wow! How did you find that?
30 seconds/recording: presumed average recording length

1,000,000 seconds: a bit higher than the total number of seconds of audio recorded

8 months: Amount of time service was around

1,000,000 seconds / 30 seconds/recording = 33,333 recordings

33,333 recordings / 8 months = 4,166 recordings/month = 138 recordings/day.

Assuming that the average user tried it out once and then didn't use it again, VoiceGem was getting about 140 new users a day. If the average user used it more than once, they were getting even fewer new users. Startups are hard.

Edit: for some reason, Josh Constine at TechCrunch decided to reference my arithmetic. I just want to make sure it's clear that I'm happy for Arda and Alexander for finding an exit, and that startups are hard. I'm not trying to be snarky.
Ah, that's much better!
Yup, makes sense. Thanks.
One more Pinboard user here. Been using it for half a year and love it for its minimal UI, speed, stability and powerful tagging system. 2200+ bookmarks at the moment.

And count in one more fan of Maciej with his sardonic PR. :)
Do you mind sharing what skills your dad has? Maybe you could help him teach those skills to other people who would be willing to pay for them? Platforms like Udemy, Skillshare and training courses like patio11's deliver a lot of value for some people.

Even if your dad's skills are in a specific dying industry, he probably has some transferable skills which others want to learn.
git checkout -b bugFix creates the branch and puts you on that branch, git branch bugFix creates the branch and leaves you where you are, so in your first example you are committing on the branch and then merging to master, in the second example you are always committing to master.

try it in the website and you’ll see that in the second case bugFix never changes. the merge will say nothing needs to be done because bugFix already contains all changesets in master.
Sorry, I got to this thread late (author here). The demo link:

http://pcottle.github.com/learnGitBranching/?demo

Is far better
For anyone who needs background on this-

SmartOS: virtualization with ZFS and KVM
https://lwn.net/Articles/459754/
How to tell who is not smart
> I know you Mozilla guys don't have time to maintain ports

I used to have time to maintain at least sql.js, ammo.js and box2d.js, but recently work on asm.js and some porting projects has monopolized my efforts I'm afraid. My hope is people that use it will maintain those.

> but are you doing anything to encourage open source devs to actually use and maintain this stuff?

Do you mean ports like sql.js and ammo.js that I began, or new ports people make?

I don't know how to encourage people to work on my ports - either they do or they don't ;) I ask for help and mention the projects, but it's up to people to be interested of course.

Regarding other people's ports, I definitely try to support them as much as possible. Fixing bugs that those ports encounter is always high priority for me.

> I'm working on an emscripten port of a game myself that I do want to actually maintain and improve upon, but I get the impression that I am in the minority.

There are a few serious/long-running ports, like jsmess and nebula3. But most ports are more short-term: they accomplish the goal, and then not much is left to do.

There are also commercial emscripten ports, but most commercial work by nature is secret until it launches.
I am not sure it is fair to say scp is cpu limited per se, but it is slow.

A quick article that may help you out: http://intermediatesql.com/linux/scrap-the-scp-how-to-copy-d...
Squarespace commerce's first review gets 3/5 stars
Yep! Exactly. The status of the current branch your on is designated by the asterisk (like in real git), but in retrospect I guess it could be a bit more clear...
Need advice for project manager who wants to work in the software business?
Hi All,<p>Ruby developer here, hoping for a little "community" advice so to speak.<p>I have a friend who is in his mid 40's, smart, hard working, down to earth, from Auz but now living in the bay area who has just left a major telecoms company & wants to work in software industry as a project manager.<p>While he has a good understanding of Agile practices, the problem is he has no experience in building software (although he is smart & very eager to learn)....he has asked for my help to get him his first role but I'm not sure what advice to offer.<p>Are there any PM's out there who could suggest how he could go about breaking into the business? Any ideas are very welcome!
You're right. I'm listening to the History of Rome, and even they had a dictator appointed during war to 'cut the crap and get on with things' in times of emergency. Time and again, it has been proven that a single benevolent dictator is much better for the country than a democratic system.

The only problem is that it's hard to find someone who does not fall into the 'absolute power corrupts absolutely' category, which is why we as a society are rather uncomfortable with the idea of a dictator.
Show HN: Sploder the S3 uploader (CLI gem)
The problem is buying power isn't increasing across all domains of needs. Even though a 3rd world individual can now afford a smart phone and nice clothes my healthcare costs are only going up. Who cares if you can buy "luxury" items for pennies if these formerly middle class people can't secure something as fundamental as their health?
Good question. I'm tempted to just allow the courts to nullify TOS provisions. They periodically do, calling them "unconscionable."
Most of the code is a little verbose for Python. For example make() function could simply be:

return [random.randint(1,10000) for x in range(4)]

Also remember that a little kitten dies every time you write a for loop as follows:

for index in range(len(some_list)):
>I'm not a fan of a future in which the only people that can do interesting things (including the use of SIMD intrinsics) are the platform vendors (eg, Mozilla), while the rest of us live in a JavaScript sandbox.

What you describe as bleak is a much better future than what we have now. At least with Mozilla's proposal we will have a well defined low-level optimizable javascript "assembly", whereas now we just have Javascript itself.

We never had access to the use of SIMD intrinsics in browsers in the first place, anyway.

For that, use native.
He means Florida still kills people.

At the very least though to Florida's credit, at least Amnesty International is confident that they can get a solid read on the number of people actually killed by Florida. There are grave concerns over even the reporting of executions in Singapore.
Don't agree with this anymore. Quoting is wonderful. Free Software is like quotations. You don't need to understand and know everything about a library to use it. You will be better if you do but it's not absolutely necessary.

I think we have to quote, we have to copy, share, redistribute, what we can and what we should.

I will quote only one place for more details: https://en.wikiquote.org/wiki/Quotations
Google Stores: Google to open retail stores in 2013 | BGR
Hardened embedded systems.
For lack of a better term, he's a woodworker. He spent decades building really snazzy museum exhibits and booths for trade shows. He's usually identified as the most skilled person in whichever shop he goes to, but there doesn't seem to be a very high ceiling (again, I make below the US average for developers and he makes less than half that)

Here's an example: http://www.designdimension.com/projects/cranium-connection-h...

Is that something somebody would pay to learn? I don't know. Maybe.
>How do you know I didn't read the Bhagavad-Gita? I did actually.

He doesn't have to know what YOU did, he just has to have a good idea of what the 99% of the morons who shared such quotes have done. And they haven't read it.
Are you actually going after someone for a hostname resolution thing when the "b" in "bcp" is for broadcast? As in, you run it on a subnet and they "magically" find each other?
I support a fairly wide range of zoom levels... from +3 levels zoomed in to almost any level zoomed out. The main reason why I can't do more than 4 is the way canvas pixels interact with screen pixels and some of the text positioning logic.

If you're at a normal zoom level and getting that message, certainly let me know -- the zoom level detection logic is a unfortunately pretty hacky.
Stop writing comments, stop writing blog posts and stop doing anything at all because you know: you're not better than anyone.

Sigh. This kind of post annoys me. The purpose isn't to be "better than anyone", it's to share something you personally find interesting.

Most of the time like writing blog posts. But this time it's something I've seen before and here I really get the feeling that the writer wants to be "better than anyone". Well, at least show that "anyone" is worse.