skysight-inc/HackerNews huggingface dataset:
Hi, I'm the CTO at the MailOnline so can comment. The biggest reduction in loc was due to the move from a relational DB to elastic search containing flatter representations of our content. This basically meant that we could delete thousands of lines of boilerplate and create a very simple processing pipeline to render content, and for this clojure really shines of course.

The REPL made the first week of exploring the problem and solution space really effective, and even as a node guy I was impressed with what could be done.

I can say that there is definitely a big productivity boost, but as others have said it isn't purely the language, but rather thinking about the problem in a completely new way that really did it. I do credit clojure though with giving our engineers the ability to think differently, as that is often the hardest part.

There was a comment I made in a speech recently about functional programming being frictionless for content management system design, this is what I was alluding to.

I don't want to start a flame war, but we built an earlier version in ruby (with one of the best OO guys I know leading it), and it was much more complex through attempting to model our home page as a set of inter related objects, using visitor patterns to traverse etc., than the clojure version.
may be the only technology they could get for the price/quantity. At the end of the day most people dont care if they screen is 20% better, they want the functionality
Ever? For any purpose whatsoever? That seems overly prescriptive.
Perhaps a different title wouldn't have been upvoted sufficiently to get us all reading about and discussing the issue. It strikes me there's a strong element of direct marketing in getting from the New page to the front page. Once you're on the front page, of course, your content speaks for itself.
Discovering new niches in which life survives gives us more possible extraterrestrial habitats that could, potentially, also harbor life.
My Subaru has it to, I'm so surprised it hasn't caught on for how useful it is.
Interestingly, I find that online shopping permits me to diversify my impulse buys to products I normally wouldn't ever have the option of buying.

The chocolates and gum in supermarkets, convenience stores, and pharmacies are all the same 50 or so products everywhere you go, sold by the same half-dozen candy companies. Instead of getting these candies, I can instead buy more interesting candies and other foodstuffs that I've not yet tried or find hard to get.

Online shopping is going to hurt the fat tip of the power-law distribution and move things out towards the tail. Furthermore, I wouldn't be surprised if there was an otaku of impulse candy buyers already out there or forming now, who focus on blogging and tweeting about more interesting candy than those at the fat tip of the curve.
Loved this article you linked to about startup growth. Thank you.
http://swtch.com/~rsc/regexp/regexp1.html should be required reading before any developer tries to become a "regex wizard".
This is misinformation. OP's strings are just wrong...

>> "\u0308"
=> "̈"
>> "\u00eb"
=> "ë"
>> "noe\u0308l"
=> "noël"
>> "no\u00ebl"
=> "noël"

His noël examples work just fine if you don't copy/paste the string he posts, and instead type them in like I just did.

If anything, languages are reporting correct reverses and length, since he's really manipulating 5 characters rather than four.
They have zeitgeist in the gaming world, not the software engineering world. They aren't doing anything remotely cutting edge software wise. I don't see why an engineer would think it's such a special place to work, other than just because they like video games, and by extension Penny Arcade.
Alright, 90 points, most comments being meta about the title so I'll be the brave one and ask: What is this actually good for?

I can't think of any reasonable use case. Grab little NPM ditties and incorporate them into your Go binary - Javascript to Go becomes as Lua is to C? Somebody enlighten me.

Edit: Not that this needs a use case per say, just that the intent behind it is underspecified enough for me to wonder about it.
You're still wrong on UCS-2: Except for JavaScript were it's still used (afaik there are unportable workarounds, but it's still specified that way) all others use UTF-16. Yes, many methods operate on code units instead of code points (because the character type is usually 16 bits wide), but code-point-aware methods usually exist in Java, .NET and others. Just because a string is treated as a sequence of UTF-16 code units that doesn't make it UCS-2. You could with the same argument say that everything that uses UTF-8 and gives you access to the underlying bytes doesn't support Unicode at all, but only ASCII.
Yes. People don't purchase the iPad alone, but for the ecosystem. I moved to Android but just bought an iPad as it has an App I need for work that isnt available on any Tablet OS. Thats why theyre able to do it and still win over the others.
Lavabit DarkMail kickstarter successfully funded
Helvetica the Perfume
Ask HN: Why isn't Amazon the largest online wine, beer & spirits merchant?
What is it about over the internet alcohol sales that prevents Amazon from being the largest online seller of wines, beers and spirits?

I would imagine that it would be trivial for them to add an age verification process where a user verifies his or her age with government issued ID and takes a photo of his or her face, then at checkout, they take a photo of the user at checkout with the getUserMedia API to confirm the person buying alcohol is the same person who verified their age.
To my total surprise. Considering the complete lack of marketing, updates and comments on the Kickstarter page, I was certain it was going to fail.
If it was fully functional it could be useful for automated testing. Write your tests in javascript, execute them at the point of integration in Go.
I think giving them the benefit of doubt is wrong here, but expecting Apple to sell the best hardware is also misguided.

Apple has never been about selling the latest and greatest hardware, they have always been about selling the hardware that works well enough to satisfy their standards.

They have always had high standards for colour accuracy, the rest of the industry has caught up and moved past them, but they will continue to ship what they think is "good enough". People like Apple because their "good enough" is usually of a very high standard.

Same thing for retina displays, Apple introduced them and did a lot of work to allow for their existence (especially in pushing Intel to develop stronger integrated GPUs, developing drivers). Now the industry has caught up and surpassed Apple in pixel density — but Apple doesn't care because they are not competing on pixel density — it's at the point where it's good enough for their products.
Visual Query Builder
Show HN: Bitcoin Index - Watch your BTC pass $1000
good point. missed that. but does your text editor have a trim function, too?

i've thought of a case i used a regex the last time. and it was removing whitespace in some code file.
Well gold has this one minor benefit test it is intrinsically valuable ... That and you don't have to. A nerd to understand how to use it.
Microsoft has got our back
However, with Bitcoin the percentage claim on the total economy is constant. So, in a sense, the real price of all consumer goods also remains constant. In this view there is no inflation or deflation and inflation indeed is a purely monetary phenomenon.

What is correct view? I don't know, the only thing I remember about the monetary economics class I took, is that the professor and I didn't agree. About what I don't know. I do know that these are interesting times for him and colleagues. When/if Bitcoin stabilizes they can study the effect of monetary policy, the PPP, etc. I almost want to become one.
Not everything needs a use case. But if you really want one, here's one: I'm a student and I want to write my own interpreter. Well, here's a good example of how to write your interpreter.
Eh, computational constraints are likely to be true in a large number of universes. There is no way to prove the universe isn't a simulation in a universe with arbitrarily powerful computers, but we can rule out universes with high constraints (like our own), or else test for things like approximations going on under the hood.

I think it's pretty unlikely, but it's possible and if a test confirmed it that would be incredibly important.
I don't see why such a big deal is being made of this. If users want it, they can install the app from the CM website. The Windows app is also being installed from their website.

Google doesn't want people to hold it liable for potential bricking of devices and took it off its store. What's the issue here?
Top Algorithms for Coding Interview
For a lot of usecases, you're just dealing with ASCII though (hello HTML). Wouldn't it be possible, in a string implementation, to have a flag indicating that the string is pure ASCII (set by the language internals), thereby indicating that fast, O(1) operations are safe to use?
Any deviation from the current laws of physics might be considered as either evidence that we are living in a simulation, or that the current laws of physics are incomplete.

Some arguments are given that some deviations are especially indicative of the former. In my opinion these arguments are very weak. Mainly because the simulations they have in mind are sufficiently elegant, that the deviations they cause are things that could also arise in an elegant mathematical model.
This looks like Intel's way of trying to prevent ARM from running away with yet another section of the market.
Installing chroot()ed BIND – Ubuntu 12.04 Server
that's right, I had a momentary lapse in judgement, sorry
To a degree. Both memory and disk bandwidth are shared resources. It's hard to prevent one algorithm from stomping on another without giving it exclusive control. So while you may be able to swap in a memory manager that doesn't have this pathological case, it might negatively affect other applications.

To give an extreme example, imagine that an application sets up a custom memory manager that takes all available RAM, and makes it exclusive to that application. In reality, it would probably be less insane, but you would still get regressions with multiple memory managers. And if you decide you have to have one true memory manager... you're back to the situation that exists today, only potentially slightly easier to configure away from bad behavior.
Are you kidding me? They tell me exactly what data they collect and for what purpose. To say that is malware is either extreme sarcasm or extreme stupidity.
Could you elaborate on the Snowden bit? Do you think Bitcoin is being monitored (or was designed) by the NSA?
Sure, for scripts, adhoc analysis, command line hacking and whatnot, go ahead.

Regexes should be seen more like a last resort than a good software engineering choice. They're a code smell. I have seen so many incorrect, slow regexes from people who don't know what they are doing that I have to recommend as a best practice that you don't use them unless you are going to study automata, read Friedl's book, the Dragon book, and study with Tibetan regex monks for years, and mentor everyone who has to maintain your code until you die.
There's also the issue of "does the username belong to the user". So if user a deletes their comment and user b quotes them both by comment and name, should user a's name be masked when they delete said post? Well, isn't that user b's content that's now being infringed upon? The current non-delete mode is fine - just don't write stuff you don't want on the web on a forum, and if you do then update with a new comment retracting the statement.
If Google wanted to, they'd figure out a way. It just isn't in their interest. They only care about the new shiny. We'll see what happens with the 2012 Nexus 7 and Nexus 4 this time next year. They'll probably be discontinued too, as none of the Nexus lines have had updates for more than 2 years.
Interestingly, they want to do the opposite of what Microsoft did with their C++ compiler and linker. To enable "whole program optimizations" Microsoft's compiler writers added the intermediate code analysis, optimizations and code generation to the linker, allowing to, for example, if it is beneficial, inline function invocations for small functions that aren't declared as inline and that come from the different module. So their linker can now do both the classical linking (what Go authors have as the goal now) and the "linker does the code optimization, including intra-module, and generation."

Did Go ever use intra-modules optimizations in their linker? Do Go authors really find there's no need for that, when they want to fix the new object code format to only the "generated code" one?
Great List: 10 Psychological Experiments That Went Horribly Wrong
Have you considered the possibility that the data and math I cite is what caused me to have my "agenda"?

Incidentally, data: http://www.bls.gov/cps/cpswp2011.pdf
Did you read my post? Bitpay converts bitcoin to the fiat currency of your choice. It is hassle free and much cheaper than credit cards.
It is a useful convention in C and C++ to group includes, but I don't see the benefit in Go.

Since gofmt sorts imports, the grouping is soon undone.

In any case, it is quite easy to distinguish the three kinds of imports if local imports share a common prefix or set of prefixes.

Am I missing something here?
Ask HN: Why do some names appear in green?
I have seen some peoples names appear in green on the homepage and in comments. Any particular reason for it ?
Monty Python reunion tickets sell out 43.5 seconds
Wrote this recently: https://communities.sas.com/docs/DOC-2462

Industrial size data linkage in SAS.

I'm pretty sure I can make it even faster in Lisp, but just finished doing the SAS version and haven't gotten round to it. Don't know if its HN type material, but its cool to be done.
This entire fiasco with the Android ecosystem stems from locked down bootloaders. How many people have bricked their PC's by installing a different OS on them? Why can we not have the same model for phones: If you brick it, some tiny bit of ROM can be invoked which connects to the Internet, downloads, verifies, and installs the latest carrier approved OS. This simple fail safe means that it is impossible to brick a phone and I bet instructions for how to initiate this reset could be made very simple. Instead, it seems that the OS and the bootloader are tightly coupled and the OS can actually screw up the bootloader, which is the root of all Android evil.
I like Plone a lot - it mixes the admin with the site itself.
Green names are for new users, I believe.
This thing is bloated and of questionable use. Just another way of showing how much the arm ecosystem is ahead in the embedded sector.
What Is Real Is Imagined
Another thing I'd love to have while we are discussing data would be a way to download all of my own comments. I guess I could scrape the threads page, but an API would obviously be nicer.
Yes, I believe they are for new users - possibly under a week old
No, but maybe Minerva?
asm.js is not "a better JavaScript". It's not "JavaScript with better performance". In most senses that people would use, it's not even JavaScript, really.

asm.js is not a faster jQuery. It's not for doing yellow-flash alerts, or for more quickly selecting and manipulating DOM elements.

asm.js is a way to ship traditionally desktop-type software, including software which was originally written in a language like C or C++ and compiled into asm.js from that source, to a web browser, to be run in the web browser.

asm.js is (a subset of) JavaScript's syntax, used as a transport/intermediate representation for that code. It will execute just fine as JavaScript, and well-optimized JavaScript engines can do quite well with it (hence it is fully backwards-compatible, if not as fast, in a browser which supports JavaScript but not asm.js), but the intent is primarily to treat it as an IR, with the browser performing the final step of compiling that IR to native code before executing it as native code, rather than executing it as JavaScript.
Don't be so dramatic. The phone home to provide statistics, it's much better then what is built in every stock rom.
Also, phoning home is not malware behaviour. Every single website in the world does it, is that all malware?
Single world wide government? ... Sheesh ... Don't hold your breath.
We have distributed crawler written in go configurable with xpath and javascript for advanced crawling using javascriptcore-go[1] and also our knowledge engine serves various form of formatted information card scripted in javascript.

Duckduckgo goodies[2] also a good example of what we've been doing.

1) https://bitbucket.org/rj/javascriptcore-go

2) https://duckduckgo.com/goodies
Bitcoin now between Zimbabwe and Angola
From an architecture point of view, I'm convinced that the CMS is better treated as a service, and not as part of your web application. This is especially true in a larger organization where content needs to be collected and managed in different ways (via import, or where people edit or curate content).

At the start of this year, the company I work at had about six different CMS platforms. Many of the applications that used them were built on top of CMSs, and were tightly coupled to them. As for static content generators, we tried that. It really didn't scale, especially for dynamic content. Too many hacks, deploys, and hard to train people.

As of today, our team has switched nearly all public content for our company to LocomotiveCMS (http://www.locomotivecms.com/), and deployed a centralized multi-tenant system. In many cases, we use our Locomotive instances as an API, pushing content via the API or the command-line tool, wagon. The CMS then renders HTML templates (or even JSON), which are consumed by our applications via HTTP. Sometimes it's just a tiny part of a page, or sometimes entire mini-sites. As a result, most of our apps don't need to know about a database.

Whenever there's a change that requires a new model, or the addition of a field, it can be done quickly through the LCMS back-office UI (or the wagon CLI tool). We update the application(s) affected, and re-deploy. Non-techies can edit the content using the admin web UI in a familiar way.

In any case, it's been working really well for us. The CMS has become an API, a service, and a separate app, shared by many applications. We've become more flexible and efficient as a result, our web applications are no longer burdened by CMS frameworks or admin interfaces of their own. And we dont have to struggle with Sharepoint or Wordpress or any other nonsense.

It's been a fundamental shift in how we think about the CMS, and has scaled well across multiple projects.
> They built drives with extreme speeds while entirely sacrificing longevity and reliability.

You don't say. One example being the OCZ RevoDrives.

Our company investigated replacing our traditional HDDs with SSDs and with RevoDrives to see how that impacted our build-times and development efficiency.

Almost every second user who received a RevoDrive experienced critical data-failures and 100% data-loss.

What they didn't say on the package WITH CAPITAL LETTERS was that it was a RAID0/JBOD of SSDs with zero redundancy. If one drive failed (and they did) you lost all your data with no means of recovery.

We could have asked for replacement units because they were still under warranty (some as new as 2 months), but needless to say, we weren't very eager on more drives from OCZ.

If the rest of their product line-up was like this, I can't say I'm too surprised about them not making it for the long run.
I think a big part of it is regulation. Namely, the difference in regulation between countries (and even local laws), their need to follow regulation (not only age verification, but also licenses) and then also duty of care and insurances. That is of course on top of sourcing, storing, distributing, shipping, warehousing, training.
Agreed. I bet there was very little debate in soviet Russia or in nazi Germany, so at least we have some kind of debate here. We are clearly better than those two examples.
Android isn't open. It's Google's and they want to keep it this way. iOS isn't open. It's Apple's and they want to keep it that way.

The open spiel was pure marketing to gain market share. Now that they have it, they are locking things down to maintain control. Threatening decertification, requiring google play services, certification by a private party,...

Now that the open argument no longer works, people are defending it as pro consumer. Hogwash.

Edit: http://techcrunch.com/2013/09/18/cyanogen-mod-7m-benchmark/

Cyanogen has basically become a competitor to Google
I actually am from Microsoft. If I were to call you, would you play me that cool bowl sound too?

It looks like it would sound really relaxing which could be of great value in many of our project management conference calls!

:-)
What language is the healthcare.gov backend written in?
You'll know it when you wake up and say "whoa".
Well, what if specifications included something like minimum heat output? If government / society wants it, why wouldn't they include it in the specs?
Show HN: A JavaScript parser and interpreter written in 30 lines of Go
I wrote an app for my company to extract data from the database and form xml feeds for various e-commerce services. I took the opportunity to learn OO principles and read through Object Oriented Design in Ruby.

What I eventually came up with was pretty much exactly what this post is advocating for. YAGNI was the rule, I was new and wanted to demonstrate results quickly. Instead of classes, I put constants in modules, realizing that all that a class I'd written was holding was basically a hash, and since that data wasn't changing anytime soon, they might as well go in a constant.

I caught the refactoring bug sometime around when I was tasked with adding a third service. I found turning the logic I'd created into proper classes incredibly easy, make changes, run rspec, rinse, repeat. The interfaces between the various pieces were surprisingly loose. So I could play around with different implementations of a piece of logic and at every point have something that could be made to work if I suddenly had to shift gears.

I had two services and they were each slightly different. Waiting to build the abstractions until I had multiple implementations of them wound up being a big win. Now that I have a third, I can already tell that it's going to be an easy add. I spend much more time figuring out service-specific stuff than wrangling with my code.

Hard-coding really does get a bad rap. You're not building a castle, you're fixing a pressing business need. If you do it well, then one day you'll be able to open-source your work, because your company will want to add more and more to it because of how badass it is. Not because your delusions of grandeur led you to over-abstract everything to the point of uselessness.
This is exactly what I thought when reading the article. Gamma rays have not been found beyond a certain level of energy? We must therefore live in a simulation!

Even the big bang had a finite amount of energy, this doesn't prove anything, just that we don't know about anything beyond that.
Throw in Pandas and you're well on your way to modeling universes with document-term matrixes, assuming you have some basic familiarity with possible world semantics, natural kinds, rigid designators, etc. à la Kripke.

One, two, skip a few you've got schemas for modal hypermedia APIs across universes (at least). UPIs? Modal hyperpredicates?
I came here to say this. For anyone else interested, it's a movie.

http://www.imdb.com/title/tt0139809/