skysight-inc/HackerNews huggingface dataset:
As a general point, a lot of computer science is poorly documented or difficult to find in the literature but well-known among the practitioners that use it. A great example is the recent flurry of activity (including patent activity) around "hyperdimensional hashing" and similar concepts. The irony is that the concepts are so old that some of the original patents have expired but the work is sufficiently forgotten that academics are attempting to re-patent those ideas. I am familiar with it because those algorithms are de rigueur for some types of massively parallel systems (I've been designing parallel systems for ages). No one publishes papers on it though because it is not new to those people. A large part of it is that much of the original literature is lost in paper form and cannot be found electronically. I've been burned by this personally, having done work that I later discovered had been previously done in the 1980s by a respected academic but which is not cited in any modern literature; from the standpoint of modern literature, the work is completely forgotten. But it had been done and rare people exist that are familiar with it.

So more specifically (I got back from vacation a couple hours ago, forgive the terseness):

Spanner is an old, old idea in literature and a number of bespoke systems were built on the concept. Ancient transaction processing literature mentions it, I've worked with a few crusty mainframe environments that used variants of it. It was considered a stupid idea for decades because the hardware required for a reasonable implementation was outrageously expensive for most applications. Atomic clocks and satellite-delivered time codes don't cost what they used to. I used to have a transaction processing book from the 1980s that described a couple specific implementations that were quite close to Spanner (written by a couple guys with Indian surnames, wish I remember the book). It had been written off so long ago for inexpensive commodity systems that apparently it took Google to rediscover it but it never fell out of use.

Similarly, I think a lot of people in the HPC world were surprised to discover that MapReduce was patentable. Not every problem in HPC looks like computational fluid dynamics (CFD), which is often the stereotype. If you are actually an academic then you should know better than anyone that the number of cites is misleading. The MapReduce model (though not under that name) was a standard design pattern for some non-CFD problems in HPC in every respect going back to at least the 1990s. The specific novelty claimed by MapReduce has never been clear to me. A lot of the (terrible) compilers for obscure HPC platforms back in the day transformed the code into a canonical MapReduce model. Maybe I am missing what makes Google's version unique?
The phrase "re-inventing the wheel" comes to mind, the definition of progress is moving forward from the current, not artificially handicapping oneself the past and then working back towards the current. My statement is extremely easy to refute, but I see no examples in the article which show they have advanced the forefront of technology.

There is no doubt that these people are creative and tinker, it just seems to me that their efforts are wasted, or at least extremely sub-optimal.
I learned regexes entirely from the tutorial at http://www.regular-expressions.info/tutorial.html. It clearly explained how the regex engine works so I can simulate it in my head and understand why a given regex does or doesn’t work. I tried out various regexes in TextMate as I read through the tutorial – nowadays I would use one of the online sandboxes listed on http://stackoverflow.com/tags/regex/info. That free tutorial was enough to get me very comfortable with regexes.

I also tested my understanding afterwards with some online exercises chosen from these lists:

http://www.emacs.uniyar.ac.ru/doc/em24h/emacs081.htm

http://blogs.msdn.com/ericgu/archive/category/11323.aspx

This reference was handy while doing the exercises: http://www.regular-expressions.info/reference.html

Knowing regexes has been very helpful to me in general. I have used regexes in reformatting my code through find and replace, in finding the code that I need to edit next or that could be causing a certain problem, in writing Apache config URL rewriting rules, in writing poor man’s language parsers that assisted me in generating code, in converting raw data into programming language literals, in understanding user input validation rules, and in other ways. I think that any serious developer who expects to work with more than one programming language in their lifetime should understand regular expressions. Thus, I encourage the OP to try learning regexes, using the resources linked above.

That said, I agree that regexes could be easier to understand. I rather wish that Perl 6’s revised, simpler regex syntax (http://perlcabal.org/syn/S05.html) were the universal standard.

If you use regexes a lot, and get mentally strained by the complexity of some of your bigger ones, consider learning about parsers too, another type of tool that lets you manipulate text in more powerful ways, with longer but more readable code than regexes. http://kschiess.github.io/parslet/ is a simple parsing library to start with if you use Ruby. In fact, Parslet is rather like a more powerful and more theoretically-sound version of the OP’s library RegExpBuilder. Like RegExpBuilder, Parslet uses chains of methods with English names to build parsers.
The deal is also very interesting as it clearly points to what the board of MS sees as the future - to truly become a device vendor. They have had success with Xbox, but failed with Zune and first generation Surface.

Can they really transform MS into a prosperous device company while not alienating their partners and affect their core enterprise SW business? I have my doubts and that they don't acquire the patents, just license them makes their position imho much weaker.

Also, the new Nokia feature phone, will it even appear on the market now before being killed?
If someone's less proficient, or slower to respond; I wait patiently or simplify my own English to make it easier to understand. I'm genuinely impressed by how much effort everyone else puts in to learning the language that I can't hold someone's skill in it against them

If all the people in the world reasoned like you we would all live in a better place..
All these libraries suffer from the problem of decribing regexes in a non-formal language (english!).

An example: What are .Letters()? [a-zA-Z]? Are diacritics included? The whole UTF-8 letter range?

And suddenly, you have to specify that character soup and the example goes to hell, because it reintroduces most of complexities in the original regexp.
> or worse yet, during code review have the sudden realization that it is indefensible.

When all else - I mean google and more importantly talking with colleagues during breaks about what you're doing - to make you realize this is the point of code reviews. And it's good - after that realization you suddenly have one more known mistake under your belt which you won't make in future.

When I was young I practiced kendo. One of the things I learned then was that when a partner hits you, he's actually helping you realize your technique has a flaw. That's how you grow as a swordsman - and as a developer too.
A very similar situation here, although I'm running Linux on this machine and not OS X. I feel that the SED stuff (while technically true) is misleading -- I specifically chose this drive over cheaper and better drives because of this feature. Lesson learned, though.

The only thing I could ever find for Linux that supported Opal was "SecureDoc for Linux" which, apparently, is impossible to get ahold of unless you're an enterprise with a fat bank account. Fortunately, like with FileVault, dm-crypt (which also leverages AES-NI) is more than sufficient for my needs.

Thanks for the reply.
The defunct smartphone OS was named Symbian. Sybian is a sex toy brand, I believe.

You're the first person I've ever heard praising the Symbian SDK. It was a miserable mess without clear ownership or direction - Nokia made the UI while Symbian Ltd made the base OS, and neither gave a damn about third parties unless they had bags of money for special API access.
The Deal That Makes No Sense
Sorry, in my opinion only the thunderbolt port might be added (I don't see a lot of use for it yet though).

Other features are tablet/smartphones stuff I don't need to run my computer. Those belongs in a phone/tablet and would only increase the laptop price substantially for a minority of consumer. Let's keep it simple and obvious.

Though there could be some kind of external minimal (in style and in packaging) pci-express add-ons to support GPS, better camera, etc. MS should make money on those.
Just wondering: why do you build a regex and not directly a finite state automaton? Sure, you can not have backreferences, but you can use Hopcroft minimization, etc.
Seems mostly everybody agrees that this is a great move for Microsoft, and it might really be. But, what I'm really interested is how this is going to play out for both companies in the long run. Specifically the integration of their managerial cultures.

Now Microsoft being on top has an important decision to make. To force itself onto Nokia, or learn their ways. In other words, they can suffocate Nokia's engineering culture, or relearn it from them.

The later would be the best option for everybody including us all. However, I don't have much faith in the managerial class to play this right.
Quoting TOmi Ahonen's blog here should be blasphemy , to be frank. He presents a very contorted narrative, with unjustified venom. As for as his summarizing things with hard data, take a look here: https://news.ycombinator.com/item?id=6319063
He said Gates vetoed Ballmer's decision to purchase Nokia, and hence gave him 6 months to chart his way out. He squarely blamed Nokia-MS partnership for Ballmer's retiring. Now look at today.
There are implementations of this idea for lots of languages (including C#) available here:

https://github.com/VerbalExpressions
That's irrelevant in many countries. The EULA is non-binding in many countries.
NoScript is the 4th most popular add-on for firefox with 2 million users. ( https://addons.mozilla.org/en-US/firefox/ )

Conversion rate is a limited metric. It misses the entire concept of word-of-mouth. Conversion rate can't measure people who don't show up in the first place.

I expect NoScript users to be more sophisticated "power users" - the kind of users that regular users go to for advice. If they aren't using your site then they will never recommend it to their more naive and more easily converted friends.
The Kurdish one says Turkey which helped me guess, not sure if that is being too picky though :)
Retask 0.4: Celery for humans released
> If you have used eclipse over the years you will see the
> kind of gradual automation happening there

The programmers job is not to do the things that eclipse can do. It's doing the things that he could do on paper, or just in his mind.

Automating programming is like automating composers, writers and actors.
Possible, but hardly desireable.
Nowadays I measure acquisitions in Instagrams. At $7.2B Nokia cost Microsoft ~7 Instagrams. That sounds crazy when you think that Instagram had 13 employees, compared to 30000 employees moving to Microsoft from Nokia.
This is exactly the issue. And not only in the US, but elsewhere as well. In my country, you pretty much never see operators promote the iPhone, but you see constant TV advertising for Android phones. Carriers only carry the iPhone because they have to in order to not lose customers.

The only way for Microsoft to entice carriers is to bend over backwards with deals, promotions and letting them customize the phone. Which was exactly what Microsoft was trying to avoid by copying the "we're calling the shots" way of Apple.

The other option, of course, is to make a phone that is so desirable that customers will start demanding it. So far, WP8 is not that phone. Partly because it's _not_ so much better than iPhone or Android, and partly, perhaps, because people's not so positive association with the Windows brand ("isn't that the thing that always needs updating?").
The Nokia n95 was announced in September 2006 and available in March 2007. Its ad slogan was "It's what computers have become."[0] What stands out in the second paragraph of the article where they highlight the capabilities is "the ability to install and run third party Java ME or Symbian mobile applications".

By contrast, the iPhone was decidedly not a computer. Not in the traditional sense. It is apparent in hindsight that people don't care about the downsides of being inside a walled garden.

[0] https://en.wikipedia.org/wiki/Nokia_N95
My tips reflect my attitude more than general advice, but here goes:

- Decide what you want out of the interview. How do you decide to work for this company? An interview is a two-way street. Engage with the interviewer, connect with the culture. Push back (a little) on their ideas, see what happens.

- I hate puzzles. I think they're junk and have never found them to be good predictors (for either party). I usually (1) parlay it into some relevant experience "I encountered something like that when I..." or (2) describe how I'd solve a problem rather than dig into it [1].

- Demonstrate your common sense, flexibility, good social skills. Talk about how you work in a team. Talk about what you do when you encounter a problem you can't solve yourself. Talk about any self-lead learning you do. You need to fit in and you need the company to demonstrate they want you to help. Even if the interviewers aren't aware of it, more often these form the lasting impression from an interview.

[1] Long, long time ago I was asked to produce a "sort" implementation. So I drew a bubble-sort. When one of the interviewers was somewhat outraged by this, my reply was "I didn't have any constraints, so I optimized for maintainability." A bit cheeky perhaps, but worked in the context.
You're probably over-weighting the trip to Paris, which sounds ridiculously extravagant. Fortunately, we were able to do it on the cheap since the majority of attendees were already living in or traveling through the region. The local Mozilla office which was able to host us during the workday. Opportunistic hack weeks ftw.
This reminds me:

I was in the SF area, pitching a product, for a few weeks last summer.

You can imagine my utter elation when somehow the mag strip on the only viable credit card I had with me ripped half off, and _nowhere_ did they accept chip and PIN.

I was lucky I wasn't travelling alone.
There are a lot of cool tools for helping write regexes, my favor is re-builder mode in emacs. You write the regex in the minibuffer and see what matches in the text in the buffer. It makes debugging regexes very easy.

Tools like sed and regexes are compact and very powerful, and they aren't difficult to learn. I really don't understand the need for this library, which seem needlessly verbose. And you will still need to be able to read regexes in other people's code.

It's a nice idea, and good work, but in my opinion it's solving a problem that doesn't exist.
DEADLINE DAY SIGNINGS
Super 30 is a good initiative, but what the news generally masks is that his students enter IIT through reservation. In India, special seats are reserved for "backward castes", and these students typically do not need to score as high as "general" class students. Hence, his marvelous success rate in IIT JEE exam.
No doubt, he has started a very special initiative worth laurels, but this little information also needs to disseminated.
Looks like a nice language. The warning of "Caution: This section is already outdated! XXX" in the language manual makes me wonder though whether it's ready to use.
Wow, it's even the same style of story .. how odd !
And {1,1} (twice) is completely unnecessary.
How to get hellbanned from HN in minutes
There was a great TED talk a while back about this. [1]

People talk about nonprofits being "irresponsible" when they behave like for-profit corporations: advertising, perks for engineers, whatever. And yet the for-profits do these things because they work; advertising gets sales, perks get you better engineers (and it's usually cheaper than just bumping up salaries, because macbooks are shiny). If these things don't work successful corporations will stop doing them, and if they DO work we should stop giving nonprofits shit for doing them too.

That said, your point about Mozilla in particular coming crumbling down is interesting--I'm not sure I disagree. However, if they need smart people to pull them out of the hole, offering free macbooks isn't a bad way to do it.

[1] http://www.ted.com/talks/dan_pallotta_the_way_we_think_about...
Also, spare a thought for those who have to use screen readers.

If your 'app' is just a web page — use a web page!
In fact, Nokia Windows Phones are the
fastest-growing phones in the smartphone market.

It's easier to grow by 78% YoY when you started off as low as they did. They jumped from under 3mm devices in 3Q12 to just over 7mm in 2Q13 (slide 9).

For comparison, in April 2013, Google was reporting 1.5 million Android devices activated every day. http://www.engadget.com/2013/04/16/eric-schmidt-google-now-a...
There are the parts of the Googleplex that are kind of fun and sometimes serve as a weird tourist-y attraction (parts of the main quad, the infamous slide, various Google Earth machines, lots of other stuff), and the rest of the content of the buildings is definitely just boring offices and some cafes.

I've only been to the Googleplex like three times, but I think it's fun to go visit at least a few times. Past that, it just becomes a place with desks to work at and some free food.
Showing a distribution of scores would be cool too. EDIT: D'oh. Just saw the "stats" link. Would still be nice to see a distribution of scores.
950 and I went twice against my initial hunch and lost :-)
Heh, I'll keep the MacBook Pro around then. I don't foresee the need to ever fire up an OS X VM other than at home.
You don't want the correct answer on the client before the answer is submitted - it would be trivial to cheat by extracting the answer with a little bit of reverse engineering.
You get to keep it.

(source: comment below and friend who interned at Mozilla)
That sounds like more trouble than I want to deal with. If it were as effortless as running Windows in a VM I might pursue it but I don't have enough of a real need for it to bother. Thanks!
You must be new to the internetz

http://www.urbandictionary.com/define.php?term=this
The problem is that you are assuming that is only a single form of complexity, while yes the declensions and conjugations have since disappeared in English (and most of the West European languages) the complexity of the word order (syntax) has increased substantially.

Also, the reduction of the morphological complexity in English PRE-DATES the Norman invasion. So, it had nothing to do with the French rulers. Not to say that they didn't leave a mark on the language in other ways.
Good to know, thanks. I'll just keep the MacBook Pro close by.
Greatly disappointed by this list. Some of the popular websites that should be on there like Reddit or Dropbox is missing while companies like Mahalo and Lanyrd is on the list. I doubt for the mass majority, those two would even be known.
Software is eating the world. For real now. And it is eating hardware. This is such a strong force that even old time franchises like Microsoft and Motorola can't do anything about it. And apparently "pure software" companies don't mind venturing into it. They know it's software, for the most part, and believe vertical integration is worth the trouble with the messy hardware parts.

How deep is the integration anyway? Did Google and Microsoft end up owning the manufacturing plants? Apple is known to outsource the manufacturing itself.
Completely off-topic: I enjoy when automatically generated blog urls give me a window into the writer's thought process.

I agree, Kumar, "On Friday I sat in a bank" sounds better as a post title than "I sat in a bank on Friday"
Makes me think of a talk I had with a German railway security expert. He told me that everything which needs to be absolutely error-proof is air-powered, even in modern-day locomotives. Some even feature mechanical compressor "CPUs" (especially in locomotors which may be at some time be deployed in coal mines and must therefore remain electricity free).
Thanks, I appreciate the reply. It's looking like I won't bother actually attempting this, though. If it were real easy I might do it but from all of the replies it sounds like way more trouble than I want to deal with.
Retask is really "Celery for Humans" that implements and manages the queue so soothingly.
+1 for the docs too, nicely maintained. Retask saves a lot of overhead time in comparison to Celery.
Paul Graham- What happened to Yahoo!
The web giants pumping us for information
The vast majority of users don't know what a bookmark, a URL or a back button is. This isn't any kind of argument. We don't do the right thing because people know about it. We do it because it doesn't secretly break so many of the conveniences we're used to. We. Us. Power users. Hackers.

Tell me, why should you be lazy just because you think the vast majority of your audience are fools and won't notice?
I don't know the complete story behind HN, will you please explain how PDL and HN have a similar story to you?
> And it's a good service, and something that is hard to replicate and thus a competetive advantage.

It's a service that Google will not let manufacturers replace even if they want to. Horribly anti-competetive. http://www.mobileburn.com/news.jsp?Id=14923
Totally understand. I paid just under $2300 for my MBP in June 2011 and a few dollars more for this Thinkpad in May. Five or six years I probably would've put a serious effort towards the Hackintosh but nowadays I'd rather not have to spend much time maintaining or fixing it if/when it broke.
The commentary was terse (hiking in the mountains, limited IP access) but accurate. I have designed interesting algorithms and software on large-scale database and HPC systems for much of my adult life. As a consequence, I am much more familiar with these domains than most casual programmers or academics in these fields.

The important point was that ideas like MapReduce and Spanner are literally rehashes of very old ideas that never fell out of use in some domains. But they are so old that no one that uses those ideas would dream of publishing a paper on it because it has been in continuous use for ages. In most cases, a deep enough dive in the dead tree literature will often turn up examples of these in real implementations. I learned most of it from graybeards working on cool stuff when I was young, not from the literature.

I am not exactly young but both MapReduce and Spanner predate my time in computer science. BigTable was actually a novel composition of existing but obscure bits of computer science so I give Google full credit for that.

Google has shown an exceptional ability to exploit ignored or forgotten computer science. However, to the extent they exploit it there is often little invention beyond those that they borrow the ideas from. In that respect, I think the credit is somewhat misplaced with respect to invention.
In the server space I agree. However, in the mobile space, ARM has a huge advantage of licensing their cores to dozens of SoC manufacturers that provide very appealing, integrated, low cost chips for mobile vendors to build products on. It's like the Android of the mobile processor market.

If Intel ever start leasing out their manufacturing process to SoC vendors to allow them to build whatever chips they want, then I'll be more optimistic about Intel on mobile.
Ask HN: Best place to learn to develop random events for game programming?
I'm looking to develop random events for my new tech startup sim (hipsterceo.com) - not sure where to start though. Any help appreciated - thanks folks!