skysight-inc/HackerNews huggingface dataset:
I am just beginning to realize how many delicious puns are hiding in the name. "There is a bug in your database" - "No, the database is the bug." ;-)

Seriously, though, this looks like a very interesting project. Until now, I had not been aware it supports SQL. I think I have to give CockroachDB a try in my next toy project.

It sounds like they try do build something very ambitious. To my knowledge none of the commercial database vendors (except maybe Tandem back in the day?) have succeeded in building a distributed/replicated SQL-based database engine with strong consistency and high availability. I know MSSQL supports hot-standby/failover, but AFAIK that does not cover all the scenarios CockroachDB seems to want to address.
Java would do fine, and much better than Node for this case.

Even if it wasn't better, the best language to use on a project is the one you already know. So still Java
Well don't forget france with around 250,000. Add spain + italy and not sure we should be that afraid
Apparently things-that-shouldn't-happen happen 10x more in C code than the next nearest language.
Quora’s first acquisition is Arab Spring instigator’s Q&A site Parlio
No risk, no experiments, no innovation and getting caught in a rut of mediocrity and boredom.

I love experimenting and taking chances with code and ideas. Yeah you end up spending more nights and it might take more time or it might blow up in your face but what's the point of being a programmer if you can't push limits.
The (funny, in my world) reaction of the show on Twitter is translated literally in the article:

Mr. Erdogan brandishing a fire extinguisher at a laptop, while threatening, “Either you erase this video, or I will extinguish the Internet.”

In German 'löschen' does mean to extinguish a fire (as the cartoon implies with the fire extinguisher), but more generally this is what you'd use for 'delete' in most/all cases.

So while the translation is certainly correct, the double meaning of 'I will delete the internet' is lost.

1: https://twitter.com/extra3/status/714804805798068225
Ah. Yes, you are correct - you need to use other contraception until you provide a semen sample that contains no sperm
Can anyone explain why it is:

var newState =
drawManuel(
drawBackground(
processInput(state)));

and not:

var newState = processInput(state);
drawManuel(newState);
drawBackground(newState);

When I read the first my intuition is that application of drawManual and drawBackground is important for the value of newState. The second one makes it clear that newState does not depend on drawManual (or drawBackground).

It would also make the first bug more easier to spot:

var newState = handleCollisions(state)
newState = processInput(newState)
drawBackground(newState)
drawManuel(newState)

The problem with the order of handleCollisions and processInput is now more visible because now it is obvious that just those two change the state - so we concentrate on them. And there are less parentheses.

(Initially I used another variable here to make it more functional - but then I decided this is useless - we are still in an imperative language)

I have a feeling that the author have some strange idea about what functional means. I stopped reading after this part.
Right - all these compiler tutorials, and many compiler textbooks are about the front-end only. The back-end is where all the fun and magic is.
Bash on Windows 10 – With Windows Anniversary Update
I guess it depends where you live, but I wouldn't be afraid of criminals. I've accidentally / naively walked through some of the more dangerous areas in the US for exercise and I've been okay. (I was visiting Philadelphia & thought I'd walk across the bridge into New Jersey to look around the city there, not knowing Camden is supposedly America's most dangerous city [1]... the people there were friendly to me but did say I looked lost).

I live in Australia and used to go jogging to a local lake and back (about 6km total), timing it so I'd get to the lake just around sunrise. There's usually a handful of other joggers there at that time too. Maybe see what other exercisers in your area do & where they go, if you're worried about being alone or targeted by criminals. Maybe ask a local running club.

Nowadays I have a membership to a gym down the street, and I go there at midnight (when the gym is usually empty). It fits with my current work routine a bit more than outdoor exercise does right now.

[1] http://www.dailymail.co.uk/news/article-2184246/Americas-dan...
Charlie – Free HR platform for small businesses
Possibly answering my own question, I found this SO question: http://stackoverflow.com/questions/8086364/are-there-any-boo...
Can someone explain why I cannot just check for collision before moving the character?
How can you be a leader of a country and not be aware of the Streisand effect or whatever it's called in Turkey related to whoever try to pull those stunts last time.
Tameem Safi – Custom Web Design
UberLAMA – Uber offering lama rides in Bucharest
Nitpick: this is not literate programming; it's good commenting.

Literate programming means the flow of the code follows the flow of the thought process: you write the story, and insert code where relevant. It includes other bits of code as macros.

From that Wikipedia page:

The literate programming paradigm, as conceived by Knuth, represents a move away from writing programs in the manner and order imposed by the computer, and instead enables programmers to develop programs in the order demanded by the logic and flow of their thoughts.[2]

...

Order of human logic, not that of the compiler

...

Instead of comments provided as side notes to source code a literate program contains the explanation of concepts on each level, with lower level concepts deferred to their appropriate place, which allows for better communication of thought.

Example (same page):

The purpose of wc is to count lines, words, and/or characters in a list of files. The
number of lines in a file is ......../more explanations/

Here, then, is an overview of the file wc.c that is defined by the noweb program wc.nw:
<<*>>=
<<Header files to include>>
<<Definitions>>
<<Global variables>>
<<Functions>>
<<The main program>>
@

We must include the standard I/O definitions, since we want to send formatted output
to stdout and stderr.
<<Header files to include>>=
#include <stdio.h>
@

Not to say these comments aren't good; they're great stuff, they make it very accessible and understandable! But it's not Literate Programming. Just Good Programming :)
Maybe it's a difference in interpretation, but to me, an 'intensive course' for people who are working is a few weeks of classroom-led instruction. That's the interpretation I was dismissive of.

Without wanting to make this into a discussion about what 'a productive machine learning guy' needs to know, I would say that you need to be able to understand, implement and calibrate most state of the art machine learning techniques. So then you need 3-4 semesters of undergrad maths (algebra 1 & 2, calculus 1 & 2, statistics, linear algebra), a theoretical machine learning specific course (course as in 'university course', so 8-12 weeks with 1/2 lectures per week plus lab sessions, plus homework/exercises, plus exam; this could maybe be consolidated into half that time for a more experienced person who commits himself 8 hours a day plus half a day on the weekends), an operations research or similar course, and maybe a numerical computing course or short course.

All of this is assuming that the candidate already has a solid grasp of computer programming, including some data structures, algorithms, distributed systems maybe. Plus good practical skills, but that should be the least of the problems.

This is at least one year of full time study, for a gifted person who can really commit to the program. Realistically it's 1 1/2 or 2 years for most people.

Somebody without a college degree will likely not know any of these topics (I mean the things from my second paragraph), save maybe some high school calculus and stats. Maybe they've used R a bit and have done some numerical computing or so. But that's a far way from becoming what I would call 'a productive machine learning guy'.

edit: typo
Well, the Netherlands will have the same type of renewable energy targets as the rest of the EU so that should be reduced by 2025.

I believe they already buy a fair chunk of their electricity from Norway, which is practically all renewable.
Because when i switched to OS X - over 10 years ago - I still needed access to Photoshop, MS Office and other modern business tools, most of which are still not available on Linux to this day.

And also because the user experience of OS X (and the "just works" aspects of the OS in general) is far above that of any Linux desktop.
should also note that, in my experience, if you need one nlp algorithm you probably need more than one, and if you have developed the architecture/skills/code to use one probably using the others will decrease in the time required to implement, while with algorithmia you don't seem to get a discount on higher numbers of calls, or using related algorithms.

This really also goes for other things, like image analysis etc. etc.
Interesting enough today I was thinking if we have an AST of a program we could have tools that apply semantic analysis like ownership in rust and achieve the same benefits of it in any language.

Does someone know any already existing tool like this ?

Cheers !
I still don't get it why people get so excited with every new even-more-scalable DB yet at the same time completely ignore what's happening with things like graph DBs or hybrid-document-graph DBs that seem so f cool!

Also... why would you want to live WITHOUT ANY JOINS nowadays?! Unless the scale requirements actually prohibit it, and let's face it, 99% of what people are doing is not even close to "big data" on modern hardware, and no, your 1TB DB is not big data and you can handle it with Postgres or a powerful graph db just fine on a pretty cheap VDS if you stay way from AWS/Azure etc. that get nowhere near the performance/price of renting "dedicated metal" on mid-term deals. I'm getting closer tho thinking along the lines of: not even plain JOINs are enough, I want at least Postgress-like recursive joins if not full-fledged infinite-depth graph traversals! I know the budget/hardware allows is, so give it to me, stop the whole "scalability" bullshit!
so from "Introducing-netdata" on their Wiki, there's this excerpt..

With netdata, there is no need to centralize anything for performance monitoring. You view everything directly from their source. Still, with netdata you can build dashboards with charts from any number of servers. And these charts will be connected to each other much like the ones that come from the same server.

So seems like this is on purpose. And if I understand this correctly, I can just build custom HTML dashboard to connect to multiple machines?
There is this scary video[1] done by NASA that shows the earth with the level of CO2 across a year. The CO2 from China goes right to SF... And then it goes crazy. You can also see why the amazon rainforest is named the lungs of the planet or in this video it looks more like the heart of our planet.

But China seems now to be really willing to reduce its impact on the planet. There are the huge investments on solar panels for instance.

[1] https://www.youtube.com/watch?v=TUUo2tL8rvQ
Putin subtle? Like the switcheroo? And a second one would be subtle? The guy's an outright buffoon.
Jason Fried and Gail Goodman Speaking at Business of Software '16
New Screen Capture Software Made for Sharing
March, 2016 – London, UK: Software development firm ccDevnet Ltd is pleased to announce the launch of a new screen capture, mark-up and share utility called goScreenCapture. Initially built to run on Microsoft Windows, goScreenCapture is free to download without restrictions. goScreenCapture is the ideal tool for IT support and software developers who want to convey issues and illustrate ideas quickly and easily.

Screen Capture and Mark-Up
goScreenCapture offers the user three screen capture options. You can capture the whole screen, a single window or grab any rectangular segment of the screen. Next, unlike many screenshot snipping applications, goScreenCapture provides a series of preconfigured mark-up tools for easy annotations. The user can choose from Highlighter, Line (with arrow), Box, Text and Text with Line. However, the software also enables the user to create personalised mark-up tools. The user can add, edit and delete as many drawing tools as they require. Finally, goScreenCapture makes sharing captured screens simplicity itself.

Screen Capture Made for Sharing
goScreenCapture makes it quick and easy to share screenshots. The user can choose to send a captured screen by email or ccDevnet’s own secure file transfer platform. Alternatively, the user can save the screenshot to their clipboard or to a desktop folder. The user can also copy the screenshot directly into Microsoft Paint for further editing. On opening MS Paint, goScreenCapture automatically saves a copy of the screen shot to a local goScreenCapture folder. All screens are saved as .png files (Portable Network Graphics). Using MS Paint you can easily convert captured screenshots to .jpg, .bmp and .gif image formats and send to print if required.

You can download a free copy of goScreenCapture now at:
http://www.goscreencapture.com
The correct term for the leader of Saudi Arabia is 'king', though, so it is quite understandable that dictator is not used there.

Which of course doesn't make the situation any better.
Indeed.

If the state is immutable, then drawing (which shouldn't modify the state) can be, conceptually, done in parallel. While in practice this is unlikely to actually happen, your code snippet reflects this conceptual property better and is therefore, in my opinion, much easier to read: I know where the state is modified and where it is merely read. I also know that drawManuel cannot mess with drawBackgrounds data and vice-versa.
"You are making it sound like they are forcing, or even automatically upgrading Windows 7 to Windows 8, or Windows 8 to Windows 10. They aren't."

That's not true. They're automatically upgrading computers. Read some of the thousands of below comments to hear the stories. My Windows 8.1 laptop automatically scheduled itself to upgrade, and I was fortunate enough to be paying close attention to cancel it.

https://www.reddit.com/r/technology/comments/4a0asv/warning_...

https://www.reddit.com/r/pcgaming/comments/4a5edx/psa_window...
A Directory Structure for OSS and Work GitHub Clones
> Now that you've said that, i'll never forget it again (although what the hell does -t stand for then?)

The "type" of key. :D

It would be nice to have a more fully featured auto-complete and it is feasible to do. I'd hope that it's the kind of thing that gnu-utils could get a standard for that other tools could just provide a completion script, rather than each shell having to do its own. Maybe someone's already working on it.
I have been working slowly through Sestoft's Programming Language Concepts, and through that I wrote a tiny interpreter in F# of a mini Forth-like language: http://ideone.com/24I5y0

Inspired by this though, I decided I'd try re-writing it into a compiler for it instead, targeting the MicroMini VM[0], and here it is: http://ideone.com/czXhoM

[0] https://github.com/jarcane/MicroMini
assert(false);
Actually Apple just uses the BSD-licenced version of units -- and not the GNU units -- which is currently at version 2.x.

You can get "gunits" via Homebrew though...
Wow, I thought this was finally done in February. IBM had done a wait and see. It looked then that SCO had agreed it was also finished. Wonder if the are lurching to life now that Linux apps can run on Windows, they think they can get cash from a new player.

IBM should get the troll-killers from Newegg to call over to SCO.
Apart from TrueCrypt, I've never seen source code without a license attached to it: either a proprietary license or non-proprietary license. So without the presence of a license there I'd simply call it proprietary.
I'm not sure about that, in 2030 he'll be 75 years old, he might have different perspective at this age.
Reminds me of the half life of knowledge
https://en.m.wikipedia.org/wiki/Half-life_of_knowledge
“Never half-ass two things. Whole-ass one thing.” - Ron Swanson
Ask HN: What to learn with 8-16 weeks of recuperation
I will have between 8-16 weeks of recuperation from a recent illness, there are no financial worries, therefore I would just like to ask you, what would you learn if you had this amount of free time?
I am still waiting for my electric motorcycle that goes >50 miles. Zero, KTM, and Yamaha are all making good progress, but I'm sitting tight.

If Tesla came out with a solid motorcycle, I would be beside myself. Maybe it is possible to fab a Tesla powerwall into an existing frame? :)
Yes, of course, and I'd much rather use something like it; and when it will support matrices with more than 2 dimensions, I will (or at least, I will look into it). In cases where I need more robust storage I already use HDF5 or NetCDF but they're a PITA to work with.

Of course in-memory operations can be implemented efficiently, R does that too. But Python needs to parse CSV into numbers just like everybody else, and even if it's done in C underneath, it'll still be 'slow' (for some values of that word).
PHP 7.0 is the default version in Ubuntu 16.04 LTS
That's great that it works for you. But for Skylake hardware, Displayport MST is completely broken and Intel have no plans to fix. The major players simply are not heavily investing in desktop linux, leaving the community to try and fill the gaps.
Introducing a 7-in-1 mobile app template for Tabris.js
Functional Testing Best Practices
Spot on, with one small exception. I suspect every machine shop has thread gauges for Imperial and metric. I'm a backyard hack and I have both, just because this problem is so common and annoying.

28mm is compatible "enough" to 1 1/8, as 14mm and 9/16 are a very common "either one works" interchange for sockets/wrenches.
Agreed, this is nicer way to see what's happening when something happen.. and if you only have one server haha.

For historical "monitoring", alerts, I still need my NewRelic / ELK kind of tools.
> Only the latter (that the order where pure functions are applied doesn't matter) has been touted forever as a benefit of functional programming, and what supposedly makes it "trivially parallelizable".

Functions that return the same values when given the same arguments are substantially easier to reason about than functions that return values that depend on both the arguments passed in and some state somewhere else in the system.

Additionally, functions that don't modify their arguments are relatively easy to parallelize. (Due in part to the fact that it's really easy to figure out locking in a share-nothing system.)

Anyway. I'm no scholar, but I'm pretty sure that no knowledgable FP proponent has ever seriously said "FP lets you call your pure functions in any order whatsoever and get the same end result, every time.". Perhaps I'm misunderstanding your statement?
Has it?

The order pure functions are applied in doesn't matter if their inputs don't change. Here, the inputs do change. The result of handleCollisions is a different state than the state you pass into it, so you should expect a different result when passing it to another function.

Pure functions are trivially parallelizable because they don't depend on non-local state. The moment you know what arguments you are passing to them, you can run them in whatever parallel or non-parallel fashion you like.

Every function that uses and returns a modified version of a single object can not be parallelized, since every single function in the pipeline depends on the result of the previous one. Here, for example, you don't know what the argument you are passing to processInput looks like until you've run handleCollisions.
So, of the remaining 10% which is not crap, 90% of that is crap.

Following this logic, everything is crap, which seems about right.
Newsfeed generation workflow
anyone have full workflow of how you can genrate a newsfeed for a user and what are the bestpractices to do so ? i have searching for days now and i found a lot of articles using different technologies and methods , it will be very helpfull if someone try to break it down to a step by step process , from the database model into the final rendering , thank you
Create graffiti on your GitHub contributions wall
If the code is commutative, then this that statement is true.

But functional programming isn't going to make a non-commutative problem magically commutative.

All code has inherently serial parts (eg because of dependency chains). These cannot be magically made parallel (although, especially with immutable data, it may be possible to apply parallelism techniques like pipelining). However, the parts that are independent can be trivially parallelizable. Immutable state and functional programming make it easier to tease this out, but it doesn't automatically eliminate dependencies or allow them to be evaluated in arbitrary order.
Blaming this on 'racism' is a poor argument. Maybe it has something to do with the incompatible cultures and values.
The Air Crash Investigations episode on the Gimli Glider is interesting: https://www.youtube.com/watch?v=cf2KCCv-NDo
The PageRank Citation Ranking: Bringing Order to the Web (1998) [pdf]
A collective list of public JSON APIs for use in web development
And once you understand the basics, you can move onto something more interesting like this self-compiling compiler:

http://homepage.ntlworld.com/edmund.grimley-evans/cc500/

This one is fun too, since it contains both a bytecode compiler and its interpreter VM:

https://github.com/rswier/c4

(Previously discussed on HN at https://news.ycombinator.com/item?id=8576068 and https://news.ycombinator.com/item?id=8558822 )

I think a Lisp compiler isn't quite as interesting for beginners as something that handles the more usual syntax with precedence etc., since it's so trivial that it leaves the "how does a 'real' compiler parse" question unanswered.

In that respect, I would suggest beginning with a simple recursive-descent parser that can handle the usual maths expressions - then extending it to e.g. all the operators in a C-like language is not a huge leap (table-driven precedence-climbing can be derived from recursive descent and makes this much easier), and it also leads to the opportunity for a compiler that can parse and compile itself - unless you are also writing the compiler in Lisp.

The AST stuff can come later; with expressions, the parser can perform evaluation as it parses, which gives the opportunity to write a calculator. Generating an AST is just replacement of evaluation with creation of tree nodes.

IMHO "it can compile itself" (as well as other non-trivial programs) is a good goal, and really makes people pay attention because it dispels the notion that compilers are somehow "magic".
Considering that PR people are trained to say things in the most preferable way for the company, and considering what happened in the Apple case and in the previous years with PRISM, it’s not paranoia to assume that Google has a backdoor one way or another. It’s probably even expected in the age of NSL letters and secret courts.

Overspecific dementi "We never had to add a backdoor" are usually a very good sign of a company under a gag order that still wants to notify the public.
WoundDesk version 1.4 is now available in the Google Play Store