skysight-inc/HackerNews huggingface dataset:
Can I just say I really appreciate your contributions on this thread. Answering crass company-bashing with well-referenced and informative replies.
Stability of Trumpet Winsock 2.0B impaired when receiving bad IP packets (1995)
For those that don't know, this was the last version before the timelock was added in 2.1.
So any thread which gets immediate traction is censored? Something seems wrong with that.
closures ?
Researchers harness DNA as the engine of super-efficient nanomachine
Kimsufi are a great low-cost provider, I ran an Atom dedi with a 1TB disk with them for 2 years at around £12 a month. Never had any problems - great bandwidth to move data around, mostly used the big disk for offsite backups. However, an important consideration - they don't adjust their pricing for existing customers or allow the hardware to be upgraded. Around the 2-year mark, they dropped the price for the same server to just £3 a month and doubled the RAM. I was told if I wanted it, I'd have to give up my current server and move everything to a brand-new one. They wouldn't drop the price, and when I asked about doubling the RAM, was told it wasn't an option. They then put the price of my dedi up not a month later. I cancelled the server and have run my own hardware since then.

Good for a specific use, but as the low price implies, there is no option to scale in future.
Clicked the link expecting to see some obscure license and wryly think "ah, crazy Apple logic again". Turns out it's the BSD license, probably the most well-known and widely used permissive open source license.
> Am I misunderstanding something, or isn't this the definition of a salaried position?

I dont know where are you coming from, but one person being able to demand unlimited amount of unpaid work from another person is called slavery, not salaried position, in my book.

> This also seems extremely standard (at least it's in every employment contract from the big tech companies), and probably exists more so to protect the company from extreme circumstances than anything else (although I am not a lawyer).

Perhaps it is standard, but I think one should NOT sign contracts that are requiring or enforcing something to what one dont want to agree, as simple as that. We're quite involved in open source projects, activities around teaching women how to program, we're thinking about creating a foundation tied to these activities... All this would be impossible or much, much, much complicated with such contract signed, and also simply stupid, if done with full awareness of what is that she'd sign.
> You could offer to rewrite if for them...

Nope. Because I can't read it. I plainly do not have the information needed to understand what's going on here, nor is the design document part of the source code. As you seem to have no trouble understanding what's going on, can you enlighten me, for example, what's so special about the number 271 that we see M being compared to?

> I don't see how giving the variables longer names would make it more readable.

Variables that are part of the algorithm itself probably make sense in their short name (though that's a common problem with math in general. Being more expressive isn't a bad thing), but there are also parameters to public API that are equally short for no gain.

Also, the code is full of magic numbers and I'm sure an algorithm design document would at least give names out to them.

Besides, even if the document was available (it isn't, at least not to the public), there's absolutely zero harm in making the code more accessible or at least reference the spec.
How are the interactive windows that are displayed in the page created? Is that a complete simulation of X server done with JavaScript or is it something unrelated to X server?
Even that has a search option. I suppose you might want to host a large number of big downloads.
the X11 server written in Javascript here: https://magcius.github.io/xplain/src/server/server.js
If a Portia spider has only 600K of neurons it is within range of simulating and testing it with current technology, for example the TrueNorth chip has 1 million neuronlike structures (Spaun, Blue Brain project or the TrueNorth chip) https://en.wikipedia.org/wiki/TrueNorth

Perhaps it can already be done with off the shelf hardware and software:
https://www.neuron.yale.edu/phpBB/
http://www.nengo.ca/
http://www.nest-simulator.org/

It all reminds me a bit of the Vernor Vinge SF novel about intelligent spiders:

"The planet's inhabitants, called "Spiders" by the humans for their resemblance to arachnids, have reached a stage of technological development very similar to that of Earth's humans in the early 20th century, although humans believe that they may once have been capable of space travel."

Is it a coincidence that Spiders and Octopi have 2^3 legs and are more intelligent then we expected them to be?
Which bits of the Rust runtime(?) do you think are too high overhead for this?
Oracle says it is committed to JavaEE 8 – amid claims it axed future development
I think blockchains and so-called "smart contracts" should be added to the list of exciting areas to watch.

Companies like Paypal are begging to be disrupted, we've all seen the problems of Too Big to Fail banks and the havoc they've unleashed. Globally remittances charge a fortune in fees, just to name another area that seems ripe for disruption by cryptocurrencies. Even big banks are expermenting with private blockchains for asset transfer and verification.

Smart contracts are in a phase somewhat similar to the dotcom 1999-2000 boom/bust, some great ideas and some awful missteps like the DAO disaster recently. Even Bitcoin had it's Mt Gox moment, which didn't kill Bitcoin. Eventually the diamonds in the rough will become apparent.

Disclosure: ethereum investor/miner
Alchemy, astrology, numerology, economics, and phrenology had tons of data.

They're not science.
> heap vars to be kept global (such as closed-over upvals you are complaining about to be leaking) are kept global and released at the end.

In other words, they leak if the program no longer references them.

> every dynamic language does keep it functions and closed over values global.

Yes, but most of them collect closed-over values when they are no longer used. Using a garbage collector. To avoid memory leaks.
Well, as a Mac fan, it unfortunately made sense. Aside from the top of the line Macs PRO, Apple doesn't sell machines good enough to support VR.

I have money, and I love mac, but I won't be buying Mac Pro for $3k just to play with the tech.
Shouldn't `say 'all done!'` just work without the osascript part?
I think that there's a scientific paper accompanying that code somewhere. So in order to understand that code one should read the paper and all those names probably just came from paper's algorithms.
Seems pretty well commented. There are definitely worse examples. I think you are underestimating the amount of temporary calculations that most mathematical formulas or algorithms require. It's actually a good thing to see so many vars because the variable names combined with the comments make more sense. Any js packer will most certainly get rid of the redundancy of memory allocations, so I'd say the superfluous var style is harmless.
Hygiene factors. Things that don't increase the upside, necessarily, but they sure as goddamned hell minimise the downside.
To me (as a complete layman), this is the most interesting topic in biology, the 21st century's origin of species topic. Intelligence in biology.

For species like this spider or octupi where our last common ancestor is so early, it begs the question is how much of the evolution of these minds is a product of convergent evolution. That would be a partial answer to one of the Drake Equation's components.

Biological Intelligence is such a big question and it goes to the core of discovering what we are.
Replacement of YC backed Kimono labs
Python 3 has async coroutines built-in, and there are a number of libraries for Python 2 (e.g. twisted, tornado). Python 2 & 3 also have threading and multiprocessing for concurrency.

Java, Rust & Ruby have built-in support for concurrency, but I haven't used those languages that much.
Yes, for certain programming jobs (i.e. work) Erlang is much better. Let's just assume we can mostly agree on that.

But "I switched" means you switched your main language, right? I wouldn't switch my main tool to something with a specific usecase. Your main language should be something general purpose, because most of your life's problems have a wide range of usecases to consider.

Therefore I would have expected an argument for why Erlang may be a beter general purpose language or a headline like "Why <project/company/service x> switched from Python to Erlang".
The variable names hardly seem complex to me.

D clearly refers to some form of "distance". M is "Medium". L is defined before this snippet of code, but I'd imagine it maps to a concept of Long.

And you're left with the variable 'q'.

The real issue is that unless you are comfortable, code involving pointer math can get confusing (all the * and + can be confusing, especially since they are such overloaded symbols in C). The single character variable names (especially when we're talking about what is basically code representation of mathematical formulae) is hardly a huge issue.
I've read Knuth's article on this and here's my thoughts. It's meant to be used with a single language (Pascal), which is sometimes good (because the tool really understands Pascal and can parse these code snippets to produce a cross-reference), but it's also a curse, because many of the tool's constructs are actually workarounds for Pascal shortcomings. Also, it only generates a single file, but today's projects are both multi-file and multi-language. So it's a bit dated.

I think the idea itself is so simple it doesn't really need any extensive book. Basically you take any text preparation system and add three elements: a code fragment, a reference to a code fragment, and a file, which is a fragment that will be written to disk.

(I myself use such a system based on reStructured Text. I want to post it on Github when it's ready, but it's not there yet, so I cannot show exactly how it works. But I use it to write a moderately complex personal project with C and Python mostly, and all the tooling, e.g. Makefiles. I found it very helpful; it does make the code much cleaner, that is it strongly urges you to. And it's invaluable when you want to remember why you did things that way.)
I wouldn't say there's concensus.

> because the alternative to this proposal is not "no DRM", the alternative is a worse UX from a plethora of more hostile, wider reaching proprietary DRM implementations.

Good. Everything which makes DRM easier to implement, more reliable/stable/cross-platform/interoperable/etc., more streamlined and simpler to use, just skews the cost/benefit in the wrong direction. Everyone should be Free to make whatever DRM system they like, but such anti-social behaviour shouldn't be encouraged, and I certainly don't want to see organisations (FSF, Mozilla, W3C, etc.) making that activity any easier.

Plus, the harder it is to obtain and set up a working DRM system, the easier it will be for me to avoid it. For example, online tracking is very easy to accomplish, and is supported by many Free Software browsers, which means I have to spend time maintaining black/whitelists, selectively enabling JS in NoScript, deobfuscating and reading through JS source, etc. to avoid it. In comparison, Silverlight and Flash can be avoided very easily by not installing them.

Consider an analogy to proprietary software. It still exists, everyone is Free to make it, and many say it has a better UX. That doesn't stop me from running pure Free Software systems. If, say, the FSF had caved in years ago, and accepted some proprietary software, then my choice to avoid proprietary software would have been much harder since I'd have to disentangle such blobs myself.

The point of the GPL is to make Free Software easier to write, without benefitting proprietary software.

> There's a time and a place to fight about DRM vs. no-DRM , but it's not here, this is the fight about how the DRM we will inevitably get works and interoperates.

If you've given up that's fine, but please don't get in the way of those of us still fighting.
Coding’s hard; learning to code is really hard
This is one thing that Google seemingly has never understood: A single device doesn't represent a single person. Even when it does, it doesn't represent a single usage scenario or persona.

Your family iPad is a perfect example. Another is the way I have personal emails and work emails both on my phone - but that doesn't mean I want to merge them all into one super-inbox and treat them all the same.
Anyone who's interested in X11 (the protocol) and the Ruby language should have a look at Mathieu Bouchard's incredible implementation [1]

There's some quite beautiful Ruby code in there, e.g.:

module X11
k = Keysymdef = {}
c = Cursorfont = {}
[k,c].each {|x| x.extend X11::MAssignForHash }
k[%w| space exclam quotedbl numbersign dollar percent ampersand |]=32..38
k[%w| quoteright parenleft parenright asterisk plus comma minus |]=39..45
[...]

[1] http://artengine.ca/matju/RubyX11/
How do you police land that you don't govern or control?

Traditionally, you don't; police services have jurisdictions within which they operate. We're not sending the British Metropolitan Police over to investigate the murder of Alton Sterling, for example.

The lack of availability of legal means does not legitimize the use of illegal means. The "Operation Wrath Of God" retaliation by Israeli security forces going round murdering terrorists in Europe went down incredibly badly but fortunately stopped after the first misidentified target. How would you expect the US to react if Chinese security forces started bombing US apartment buildings to kill Chinese expat dissidents?

The instability of those areas and lack of traditional policing isn't incidental to the threat of terrorism, it's completely connected to it. The only way out of this in the long term is to expand impartial rule of law. Remote assassination without trial is contrary to the rule of law.
Previous submission, roughly three weeks ago, plenty of comments there: https://news.ycombinator.com/item?id=11893868.
Hello Hackers, I’m Vikash the Co-Founder of Online Scraper. I’m super excited to have been hacked today.

I started DataScraping.co around a year back by launching the desktop app "Data Scraping Studio" as a point and click CSS selector scraping app with amazing capability to run multiple agents simultaneously and over 5000 users downloaded the application and uses now in their business.

Over the time we noticed, one of the major ask from community was the online solution and REST API. To integrate and use the scraped data in existing system without installing the desktop app or to use across operating systems. And we keep recommending our user to try (YC Backed) Kimonolabs, but then suddenly they shutdown their platform on March, 16 leaving 100k+ users leaving behind on short notice.

Today, I'm very excited to launch the online web scraper with the same capabilities and power of cloud along with REST API to get the same Kimono(or even better) experience back. Go to our website and signup to get 1000 free pages credit every month to test the feature and you can go PRO anytime if you like it.

I’ll be available all day to answer any comments, feedback you have, really looking forward to it!.
Golly [0], an open source, cross-platform application for exploring cellular automata, includes the Wireworld ruleset and some example starting patterns.

[0] http://golly.sourceforge.net/
Where did you read about this consensus? I certainly haven't seen one.

The EME stuff is a proprietary plugin by any other name. If evil Corp wants a root kit for you to watch movies evil Corp gets one. There is zero difference between EME and other plugin systems from the pov of the vulnerablility it exposed your system to to the depth it can infect your OS to enforce itself.
You can bet that there is a Linux version soon, and if it's good enough, it will end up in the default repo. For Windows, it's a different story, but maybe because of the iPhone and iPad, and many MS employees using them, will it be supported somewhere in the not so near future. Anyways, 7zip and Winzip will probably support it soon enough.
For me, the biggest change is using rem instead of px. With rem, all font sizes are relative to the root element. It is easier to scale up or down for devices.
If you don't understand the underlying mathematical algorithms its using, no amount of explicit varible names are going to help you. If you do, the concise structure makes things straightforward. The code is not meant to be read alone and understood, the papers published along with it need to be understood first.
As long as you're not appreciating that because you're thinking the page with the abstract would be smaller, the PDF is about 30% the size of the web page.
Top 5 Disaster Recovery Books That Can Save Your Business Time and Money
Swiss researchers devise simple procedure to improve Li-ion batteries
You make it sound like a problem, why is that?
Juno's brain is a lowly RAD750 running at 200MHz
It amazes me that neither iOS nor Android have an option for "Disallow all notifications from all apps" or "Opt out of notifications when installing apps". Every app I install immediately starts blasting me with notifications, and I have to go in and turn it off for that specific app. It makes no sense.

My phone should be allowed to make noise if and only if a phone call is coming in from somebody I know. I don't mind if it shows a count of email messages on the lock screen, so long as it doesn't attempt to distract me from what I'm doing to point them out. And that's it. No other notifications of any form.

I see people with things like Slack and IM binging away at them all day long, and I just can't fathom how they get anything done. It just needs turning off.
OK but which is more readable ... (I know it's a bit silly, I juts made up names)

} else if (D >= (1 << 14) || M == 0 || (x + 3) + M > 34) {

} else if (DirectWeightingFactor >= HUYGENS_LIMIT || MariachiBand == 0 || (xylemNonce + STANDARD_PZSH_INCREMENT) + MariachiBand > SWIM_RATE_B) {

I guess your opinion differs to mine. I like the one that looks like math.
I see your point and yes I know that Erlang has decades of production use and shines in lots of infrastructure applications, game servers, etc. I was mainly referring to the buzz generated quite a few years ago when the first Pragmatic Programmer books on Erlang came out. There were a lot of startups testing the waters with Erlang but I just got the impression that the language didn't quite take off despite the merits touted about Erlang's strength as a functional language and the built-in handling of concurrency.

This is all of course compared to the current buzz surrounding Elixir/Phoenix. I didn't intend to dismiss Erlang's amazing track record and applications to the domains where it continues to shine.

This is roughly the time span I was referring to when I said "buzz":

https://hn.algolia.com/?query=erlang&sort=byPopularity&prefi...
Well, what's the Weissman score?
Try out ConeCanvas Reddit demo (Was just awarded by Publicis90)
Org mode is very good, if not the best, way to do literate programming. My blog post about it: https://kozikow.com/2016/05/21/very-powerful-data-analysis-e.... I use it at work for data analysis and "researchy" projects.

Many of my blog posts at kozikow.com are written in the literate programming style in org mode, and you can see the org files at https://github.com/kozikow/kozikow-blog.

People have written whole books in it: https://github.com/jkitchin/pycse.
Try IceCat.
What about a middle ground?

} else if (D >= HUYGENS_LIMIT || M == 0 || (x+3)+M > SWIM_RATE_B)
'Leap Second' to Be Added on New Year's Eve This Year
Why even allow phone calls to interrupt you? I am serious: the world is a much more relaxing place when the only moments something can interrupt you are the ones where you purposely decide "this is a good moment" and look at your phone to see if anything happened. I have been operating without audible or tactile notifications of any form now for years. The only time my phone makes noise is when I have an alarm set to wake me up in the morning.
> what's so special about the number 271?

It's a Cuban Prime. Everybody knows that. Geez!
It's Kinda Like CNN for Web Developers
My main problem with literate programming is that it is difficult enough to keep short comments up to date vis-a-vis the code they describe. Longer comments would be even worse.

I also suppose the modern equivalent of this, in many use cases, is a Jupyter notebook.
The flower. And between the chicken and the egg, it was the egg.
It's a simulation of an X server done with JavaScript. The README.md explains it in a bit more detail: https://github.com/magcius/xplain#demo-framework--xserverjs

Basically, I emulate what an X server would do, semantically, without implementing any of the actual wire protocol. The codebase is, I hope, pretty well commented and designed as something to learn from.

https://github.com/magcius/xplain/blob/gh-pages/src/server/s...
Throwing people into the deep is not learning to code. It is a filter that leaves only the people with predisposition towards coding.

It is a great way to leave only the natural born coders (swimmers/painters/musicians/whatever). Which of course is the opposite of egalitarian.
Browse this snippet with hover overlays and semantic linking: https://code.woboq.org/lzfse/lzfse/src/lzvn_encode_base.c.ht...
I guess its because for chatting with my wife (when we're in separate places I might add!), friends and occasional work project stuff Whatsapp is great to have. Email is clunky and sending attachments for ephemeral but important stuff is inelegant.

Twitter DMs are no better than SMS except that you can compartmentalise those users by not giving them your phone number.

I've never had Facebook messenger or the Facebook app and I've recently deleted my Facebook account entirely.

SMS, email, Twitter DMs, Whatsapp and telephone are my limit but trying to pare this down further without losing some of the utility I infrequently enjoy.

In the mid 90s I was in my late teens when I got my first candybar phone. The sparkly lights of smartphones for the last 10 years have now lost their shine. I guess I'm nostalgic for the good old days of SMS and phone only whilst I'm away from the office.
But knowing that still doesn't bring you that much closer to simulating it. There's a couple a of great papers where they got biologists to attempt to figure out how relatively simple, very well known things worked - one was a radio[1], one was an old Atari chip[2]. So they used biological techniques used to try to figure out how brains worked. For example lesions - they took transistors out of the arcade machine and tested if the game still started up. And if, say, they found that taking a and b out stopped Donkey Kong from working, and x and y stopped space invaders working, then maybe they could make the assumption that a and b were the Donkey Kong transistors, etc. Or if they destroyed tiny parts of the radio circuit board and it still appeared to work, then those parts were junk, unnecessary. But of course that's completely misleading. It doesn't matter how much data they had either.

It's not to say the data that is currently held isn't important; it is, but it doesn't then translate to 'we can model this insanely complex system', because there's so, so much missing from the understanding of how it works

[1] https://www.cmu.edu/biolphys/deserno/pdf/can_a_biologist_fix...
[2] http://biorxiv.org/content/biorxiv/early/2016/05/26/055624.f...
'Fake' claims over Nefertiti bust
I love the logging/comments in that design.
PromiSees: a Promise visualization playground