skysight-inc/HackerNews huggingface dataset:
Atom and Brackets, especially Atom, are beautiful.

I've stopped using standard text editors like Kate and KWrite and switched to Atom and Brackets for creating simple text files. Who doesn't like writing in Markdown?

And because I don't think it makes sense to ask people to learn how to use a text editor before they can edit a simple file, I always recommend and use Nano when I need to edit or create from a shell terminal.
...says website not using them.
Great now people who were suppose to be living and working together are going to be at odds with one another casualty being the end user. Also windows is taking this platforming thing under their consideration too. Given their reach and funding I think it would be smart to band together so it would not turn out like it did in July 1993
I'd say there is plenty of interest in a cross-platform Visual Studio. It's hands down the best IDE I've ever used, and if it was available on OSX you can bet I'd use it. That said, since VS is not in fact cross-platform, some VS-specific feature obviously doesn't apply to those developers who don't run Windows.

Personally, I do C# development in a Windows VM, everything else in OSX. With the new vNext stuff, the only thing still binding me to Windows for anything is the lack of Visual Studio (and WPF). I wouldn't be surprised to see an effort made to bring it to a larger audience now that .NET is going cross-platform.
A neat and elegant neural architecture for learning chess.
Previous discussion:

https://news.ycombinator.com/item?id=7962345
Should I Use Ruby on Rails or Node.js for My Next Project/Startup?
Do you have live chat? Here're 15 Strategies for your Chat Agents to follow
There's this feeling sometimes expressed that C actually held programming language design and everyday programming back (with null, buffer overflows, no string type, arbitrary memory access at will and aliasing issues, crappy basic library, etc). See also "Worse is better", etc.

Maybe Go does the same thing for the 2010's, but with fewer of the redeeming qualities that made C actually worthwhile then, and more competent contenders available as alternative.
4 Disciplines that define winning teams and founders
>Also SequelPro is OSX only which is a shame ...

I don't think so. Actually, IMO it is better than the alternatives exactly because it does not try to be everything for everyone but keeps focus.

That said, I really would like it to support other DB-engines like Postgres and SQLite too.
The Sequel Pro codebase is heavily tangled with the mysql code
ah yes that would explain it. Thanks
I can see the value of having an OSS solution as an API layer for any start-up that has complex billing needs.

A lot of start-ups make the "mistake" [1] of locking themselves into fundamental business services at the start: whether that's a payment provider, finance or CRM system. In my experience it's fine for a while, but you really feel the problems as you start to scale the business. Everything creaks and groans as you grow, and then you have to go back and fix the underlying business processes. Issues in some of these areas are actual company killers. Billing is a classic. Lots of companies fail due to running out of cash, and poor management of subscriptions and billing is often the underlying issue. There's a lot to be said for not getting tied in early on, and making sure the fundamental architecture is right!

[1] You can argue it's not a "mistake" as the primary goal is to relentlessly focus on shipping product that customers want.
If you're looking for a Postgres (and general) database frontend, check out DBeaver. Not exactly a thin app, but comes with all the batteries included. It's been indispensable in my day-to-day work.
It's not just RoR vs Node.js, it's the eco-system around it you need to think about. This is an interesting read as far as Node goes: http://www.breck-mckye.com/blog/2014/12/the-state-of-javascr...
Why are Bhopal survivors still fighting for compensation?
> Windows so damn slow all of a sudden

VS is an awesome development environment, but I was having your problems with Windows and programs running under Windows for most of my adult life. I switched to Linux full-time at about 5-6 years ago, and I've been happy ever since. I can leave the OS running for weeks with no issues, and it would probably go for months but I'll turn the power off.

Oh, and with Linux, if you don't run a graphical desktop environment like Gnome or KDE (which most distros have the option of doing), then you boot into a REPL you can program the system in (Bash shell). Windows used to have the same with DOS, but no more...
Simple WordPress Plugin to Manage Contacts and Send Emails to Them
Quite clean, nice job! I might have a use for this.
There are some methodologies for this: http://en.wikipedia.org/wiki/Architecture_tradeoff_analysis_...
Microsoft and Machine Learning Service
"A Shark on the Network" is more appropriate than "How to listen in on wireless network traffic" for this particular post. If it's a "how to listen in...", I would expect the article to introduce better passive attacks (in monitor mode) and raw packet injection attacks that don't require you to be associated to a particular access point, and finally the different wifi chipsets that allow you to perform these types of attacks.
Loved it, and very impressed with how concise the source code is.
Quite possibly :-)

At the moment I can definitely share an Ugly part - the code has thousands of #defines everywhere, and you will find parts with C++11 code(for PS4/X1) and parts which use some hardcore custom methods for everything since they don't have access to STL(for WII....which is a horrible console to write for). So within one file you can see code which uses autos and for each(C++11 parts) and then bits which can't even use Vectors. It's bizarre. And then you have gigabytes of ram on next gen console, but everything you do also needs to fit in the tiny, 128MB ram of WII. It makes you really aware how you write code - which I think is good.
Hotmail used to do this and still does, so easy to find if an email is real.

Email is found, password is not correct.
Email unknown.
9*19 Flowers: Poem written in JavaScript, D3 and Git commits
Stating that a word is offensive in some context doesn't in any way imply that it's wrong to use it in general.

A word - any word - is offensive when and if used to offend someone, but it doesn't make the words as such taboo. Various words such as 'squaw', 'nigger', 'faggot', 'retard', 'raghead', 'chink', 'kike' (did I miss some whole class of slurs? These come from http://en.wikipedia.org/wiki/Lists_of_pejorative_terms_for_p...) are the appropriate words to use in some contexts such as the meta-context of discussing political correctness, or historical literature (e.g. Uncle Tom) or descriptions of names as they were used back then - as in this topic, the original article about naming those submarine-like objects.
Usage has dropped drastically over the last 9 months. I think Google will kill it eventually.
#/shebang/tutorial
I'd agree with Billy's comments that this isn't really a real world test.

HTTP Archive shows the average number of requests per page is around the 100 mark (I suspect the median is higher) http://httparchive.org/trends.php#bytesTotal&reqTotal

By using many, very small downloads that probably never fill the congestion window the HTTP case is imposing a huge latency overheard on the test.

Looking at the connection view for the HTTP case in WebPageTest there's a HTTPS connection that delays the opening of the other parallel TCP connections - http://www.webpagetest.org/result/141202_VM_dc5d5bd74e398960... (for comparison SPDY test is http://www.webpagetest.org/result/141202_6B_a853f2009006b2ec...)

In my testing I've seen SPDY / HTTP/2 be anywhere from 35% faster to 5% slower, in my experience key factors to getting it to perform are quality of TLS config, whether the server supports prioritisation and TCP config.
It happened to me while re-implementing LPeg [0] as a pure Lua library[1].

While targeting Lua, the original is actually written in C. It compiles patterns to bytecode interpreted by a custom VM.

I was wary to write an interpreter in a language that's already interpreted and chose to compile patterns to Lua functions instead. It turns out that the most straightforward way to do that is by using closures higher level functions, in a way that I later learned was known as parser combinators...

————

0. http://www.inf.puc-rio.br/~roberto/lpeg/

1. https://github.com/pygy/LuLPeg
Out of curiosity (as I haven't been using virtualized servers or anything for a number of years, and used to use ESXi on the racks back then, for Windows + Linux), is Docker that widely used?

Reading up on it, I can't see how it is massively different to OpenVZ? Given Docker's youth, is anyone still using OpenVZ over it? And why? I'm interested.
The first thing that popped into my mind when I read this is http://xkcd.com/927/
With 320 x 200 resolution on the Grid Compass you might be able to use conventional techniques to convert from color to monochrome.

At the 112 x 48 resolution I used, dither with or without error diffusion lost most of the image. Well, it would have looked fine standing back 6 feet or two metres or so, but what's the point if it looks bad at normal viewing disance?

I experimented with edge detection and GIMP filters like Posterize and Cartoonify reasoning they would tend to bring out the rough shapes in the image. I ended up doing some of it with Posterize and most with Cartoonify. The result is acceptable enough, but I do think the "tunnel" effects could be made to look a lot closer to the original.
Fantastic metaphor !
You should ask: do I want it to be an art, or merely a discipline?
For the former, there's this tiny little library that I use for everything:

https://github.com/davidchambers/string-format
>> Imagine each binary being 5 mb on average and multiply that by 100.

> I don't think it's a factor of 100 times, that seems a bit outrageous.

I think he means 100 utilities all weighing in at 5mb
JS Template strings (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...):

Template strings are enclosed by the back-tick, `string text ${expression} string text`

var a = 5;
var b = 10;
console.log(`Fifteen is ${a + b} and not ${2 * a + b}.`);
// "Fifteen is 15 and not 20."

You can also 'tag' a template string:

tag`Hello ${ a + b } world ${ a * b}`;

where the 'tag' is a preprocessor function.
I guess you can cheat your way thru by placing all distorted tiles in seas, oceans and lakes.
World's fastest production ready web server
You get shitty fast programmers and shitty slow programmers.
You get good fast programmers and good slow programmers too.

'Fast' or 'slow' in isolation are not really a measure of anything valuable, except perhaps how an individual fits into the team culture.

The crucial thing to measure is how long it takes to get to good, robust software that does what it needs to do.

There are many strategies to achieve that (agile or big design up front or others) but software engineering as a medium is too immature to have found the one true way (maybe there will never be a one true way). Up front design and emergent design have both succeeded and failed on many occasions.

This post reads to me as someone who doesn't like working with younger teams as the work style often doesn't fit, and therefore concludes the team's working style is wrong, rather than he just subjectively doesn't like it.

Most of this thread sounds the same to me too.

Maybe the benefit of a fast programmer is it is quicker to find out if they are shitty?

I'm 42 and consider myself fast-ish FWIW.
Google killed XMPP federation because supporting open standards that allow people to use non-google services easily are bad for business.
How EBay’s Whitman and Omidyar Conspired to Steal Craigslist’s Secrets
I don't think so, but it depends on what you expect?

I use G+ before Twitter and I never use FB anymore.

But G+ is more than the social site, its the OAuth login, its the umbrella term, its the Android savegames, its one login.

I think this post says it best about G+.

https://plus.google.com/+MikeElgan/posts/cHdHJy8nKJS

I hope Google doesn't kill G+ as I find it more social than any of the other social networks I'm on.
Enabling is not enforcing. No downside.
Dolphin Progress Report: November 2014
Limited is the new free.
This study seems mostly of interest for students wanting to work in their room (as said in the beginning of the article). I do not think it is relevant for workers (I assume most readers of HN are professionals).

Is there any experiment to test the effect of listening music to cut yourself from a noisy environment?
Why aren't there code overviews for open-source projects?
I think zügig probably comes from the other, older meaning of Zug, "pull", "drag".
I think this is the problem with the "hacker" community.

They assume because they are happy relying on a browser and who knows how many webapps to get the job that the whole world is too.
Yes, someone in another thread is discussing about skill sets to be learned to engineer software, but I think academy already does a decent job.

To engineer a good architecture you need time to thoroughly think and explore alternatives. Coupled with deep field knowledge and an even deeper know how, gained by means of experience. And to build the best is impossible by definition: you can only hope to build a better one.

I didn't know what a fast programmer was until I had to work with one. The king of copy and paste. All his neurons on his fingertips. He showed to me that thinking with their hands wasn't limited to manual workers. Luckily for me, his awesome speed allowed me to become his "boss" a couple of months after being hired. And I'm not being sarcastic here. The manager saw he was better left typing and me better left thinking.
So we're back to "researchers are [...] sharing content [...] using clumsy, time-consuming practices."
And the old keyboard shortcuts to change search providers don't even work (ctrl+up & ctrl+down). Worst FF update in quite a while...

I imagine they only hid the icon so people don't know they're searching with Yahoo instead of Google...
I wonder if Jon Skeet will come to save the day.
Google Said So; an afternoon workshop with the best Android designers in Europe…
>Thanks for pointing this out

Well, I think you actually described it more eloquently, once we got there. :)
One example from Rdio's image server code base: https://github.com/rdio/thor/blob/master/src/main/scala/com/...

It's used to parse arbitrarily complex transformations to apply to an image in the URL.
Go Android support won't magically rewrite Android Java APIs (which is most of them, including whole UI toolkit).
The fact that modifying the observed public key doesn't change timing is not surprising: If the CPU is intended to verify the integrity of the microcode update using public-key cryptography, then the public key used to verify the signature must already sit inside the CPU itself. Everything else would be pointless.

The function of the public key inside the update is still somewhat mysterious. Conceivably, the signing public key is part of the microcode, and so it would be logical to have a field in the microcode update that can be used to change that signing key as part of the microcode update (so that subsequent updates can be signed with a new key). There are problems with that theory as well, especially that the author was unable to verify the supplied signature with the public key in the microcode update.
SheRides: the car app focused on the needs of women
I wonder if infecting a person with AIDS with milder form of HIV will make them better.
A little nitpicking: Everytime the author writes "infinite", a more accurate word would be "enough". For example:

if you had infinite computing capacity,
you could actually solve chess.

The statement is correct. But you do not necessarily need infinite capacity to solve chess. Just enough capacity.

Would be interesting to estimate how much capacity.
Die erfolgreichsten YouTube Kanäle 2014
More pertinent is what the program actually does (depends on school) rather than the surface level label.
> Well, I think you're underestimating the sheer brute force work needed to port an app with a large-ish LOC base.

I have done this professionally. You don't port everything, you just port services as they become bottlenecks. By the time you need to scale like this, you already need to have multiple engineering teams and you need well-defined interfaces between components, so having parts of your system in different languages doesn't impose an additional cost.

> So, if it can be so readily adapted to a new language and you're preserving so much code, then why bother porting it? Kind of makes may original argument. Just apply the scalability tweaks on the existing code base and you're done.

Sure, which is probably why Digg was happy to carry on using PHP. For the vast majority of systems you never get to the scale where using Java is worthwhile (at least in performance terms).

When do you want to port? When your server costs get high enough that a 15x performance factor is worth the constant cost in dev time that using a lower-level language would cost[1]. It might take more effort than writing in Java from day 1 - but it might not, if you go through several iterations of prototyping/refactoring in PHP and then only port once you've found the correct design. And more importantly, you get to pay the Java price much further down the line, when you're bigger and more profitable. As PG says, an early-stage startup should do things that don't scale.

[1] I'm not convinced you can't have your cake and eat it, with e.g. Scala or Haskell. But assuming for the sake of the argument that the only languages were Java and PHP and PHP really was more productive than Java but less performant.
Hope you don't mind if I hijack the thread a bit. I'm curious what your business model is, how does Kill Bill make money?

Do you offer paid support and hosting?

I'm asking because I'm a big fan and proponent of OSS, but I often struggle to see or understand the business models for OSS companies.
How Fixed-Price Contracts and Agile Can Go Together
'Slow programming' has too many syllables, and you end up having to say it fast. Let's call it slooowgramming.
No. Sharing the link once should suffice.
Still no reason for the journals to rip them off though.
More than you would have if the entire universe were transformed into computonium.

So effectively infinite.
Well, between the built-in click to play for simple use cases and noscript for more advanced setups, do you even still need FlashBlock?
Navicat feels snappy to me. I only use the features in the ‘Essential’ version which is £10: https://itunes.apple.com/gb/app/navicat-essentials-for-postg...
Websites Hosted at Amazon Web Services
You might be interested in learning about AIXI. It is in fact trivially easy to create a general intelligence effective in arbitrary domains ... if you assume infinite computational capability. It goes to show that the problem of artificial intelligence is really approximations and heuristics.
The Author lost me at "I'm glad I'm not a touch typist". Coding isn't about typing at the same time when programming you should be writing code not thinking about where the semicolon is. I type and interact with my IDE incredibly rapidly. Generally my ability to type quickly is not the bottle neck. Sometimes it is. When it is I'm glad I can do it as rapidly as I can.

Meanwhile I agree with other comments that slow programming is the wrong word. You can rapidly write quite a bit of code with out needing to resort to hacking or avoiding best practices. It depends on your familiarity with the space and ability to properly construct the problem in terms of implementation quickly.

The point here is that you work at the appropriate pace and put some sense of craftsmanship into your work. I doubt that over the course of a sizeable project the approach of being diligent versus hasty is going to result in the diligent programmer tacking longer to get the same amount of work done.
And rises interesting questions about spirit of the law, letter of the law, making laws too broad to not allow contradiction between the former and latter and opening doors wide for abuse of government when much is due to their discretion.
Hacking Secret Ciphers with Python [pdf]
It seems like you could get some improvements by simply training the evaluation function on the output of the entire Deep Pink system including the negamax search.

This would be a very easy way of getting more training data, and is actually very nice theoretically. Assuming enough training time and a complex enough evaluation function, etc, you'd eventually solve chess.

I may check out the code and try this myself...
Go binaries start at around 2mb on my machine, so not as bad as 5mb, but still much bigger than similar utils in c. Storage is getting dramatically cheaper all the time though, so the size is becoming less important.

Shared libraries for the std lib would definitely be nice for utils, but they do have drawbacks too (dll-hell).
Microservices in telecom applications
That's pretty typical for parasites (which include viruses).

Killing your host is never a good idea, the best parasites cause minimal disruption to their host.

All animals and humans are infected with countless parasites, but you never notice. For example https://en.wikipedia.org/wiki/Face_mite (don't scratch).
Are You a C-Suite Security Vulnerability?
Using wi-fi parameters as a public key for access to information
I won't bother dazzling everyone with a list of qualifications, but you're really misrepresenting Positivism here. Positivism is really the idea that being empirically testable is a necessary condition for being both non-trivial and meaningful. Not (except maybe when being polemical, as Ayer could sometimes) that metaphysics is necessarily unverifiable.

Most of the problems we class as "metaphysics" probably aren't empirically verifiable, but if a few turn out to be, it isn't a big problem for the positivist program. Their objection to metaphysics isn't as principled as you make it out to be. It just falls out of verificationist semantics.

So if a physicist manages to empirically verify a few things that might have seemend metaphysical, then cool, turns out they were doing physics not metaphysics.
Another person here willing to contribute.
SequelPro is really the best database client I've used, even though it might be considered 'spartan'/simple.

Panic (http://panic.com) gave the app a new icon, as they are using the source-code in their Coda application (http://panic.com/coda) MySQL client.
A naive brute force of Chess wouldn't end. Consider the case where both players make moves that perpetuate the game rather than working toward an ending.
That would imply that HIV viruses compete with each other, and this competition is able to suppress each other.

This is typical with bacteria, but I don't think it happens with viruses.
Not sure the universe is incapable of doing this.

The number of states a chess field can have is 13. It's either empty or has one of the 6 different pieces in black or white on it.

So 13^64 is an upper limit for the number of positions.

We could solve chess if we could put these 13^64 positions into a tree, right?

13^64 = 10^71.

The number of atoms in the observable universe is estimated to be 10^80.

So even the observable universe might be big enough to form this tree. Even if we use big clunky objects like atoms.

We do not have any idea of the size of the unobservable universe.

And I don't know how many states an atom can have. Who knows, maybe a single atom can solve chess if it's programmed correctly? According to quantum theory, pretty small objects like electrons can store and process an amazing (infinite?) amount of information in certain ways.