skysight-inc/HackerNews huggingface dataset:
I'm working on a single page application that heavily utilizes IndexedDB. While feature detection can tell the presence of it, it tells nothing about the quality of the implementation. For example, in Safari, inserting ~9k rows takes 10 minutes, and IE doesn't support compound key path.
While it's possible to write custom logic to detect the latter, it's impossible to detect the former cheaply and reliably. I guess I have to resort to UA sniffing.
When its battery is low, make it go outside and recharge itself with solar power. I think fairly accurate indoor navigation along a pre-recorded route is possible using a compass sensor and distance sensor.
Availability bias tends to make these discussions confusing.

Jerks are memorable.

They create drama, which draws attention. There's a reason soap operas and reality TV have a generous supply.

In any case, luck matters more. Without adoption, without growing up in California at the dawn of the information age and without meeting Steve Wozniak, Steve Jobs would've been a jerk nobody had heard of.
The equivalent of taxes on alcohol and cigarettes would be a tax on unhealthy food, not a tax on unhealthy people.
Inside Elon Musk's $1.4B score
By Betteridge's law of headlines: no. Also, common sense.
A bit heavier on the theory (still a great introduction), describing what to me pretty much seem axioms of human perception in the area of user interfaces, you're going to need the Gestalt Principles:

http://www.andyrutledge.com/gestalt-principles-1-figure-grou...

It's a series of five, that should provide great insights on principles like spatial relationships, grouping, contrast, size, texture, and more. Read them, get a piece of paper and a pencil, list all the actions and buttons and whatnot you need, start sketching until you've got something sensible.

Oh but before that, do what Pxtl said, and simplify. I was going to say, "you can't confuse a user with a button that's not there", but that's not strictly true. You gotta make sure the user doesn't expect the button to be there either :)

Still, simplify ruthlessly. And make it easy for the player. I don't know your game, but say there's a number of buttons that almost always get used in sequence or together. Combine them into one. Even if you think "yes but this is a powerful combo move that I want the players to discover", that's cool but you can always make your game harder later on, after you've made it easier to play.

Another (tangentially related) rule of gameplay UX is this one: make the game follow the player's intention, which is not always the literal machine-like interpretation of the rules. For instance for action-platformer games, make the hitbox of powerups slightly bigger, and the hitbox of enemies slightly smaller. Add a bit of leeway to jump after you walked off a ledge. Again it makes the game easier, but the player will feel their intentions are followed (also, barely missing an enemy that you feel you should've hit is fun, as is just barely grabbing an item that you didn't think you could reach, the opposites of both are not fun), you can always add more stuff to challenge them, but without encumbering the gameplay.

Now your game sounds like some sort of strategy game so these platformer-tips won't apply directly, but I hope it shows the right way of thought, that you can translate to be relevant for you.
Er, wasn't it struck down by the ECJ, not the ECHR?
The Reshaping of Bill Cosby's Legacy
What I was hinting at with my closing line that the first world spends a lot of money apparently fighting - among other things - symptoms of poverty and illiteracy. Perhaps there's a better way to spend some of that money, although the military-industrial complex would disagree strongly.

As for the "the US does it because noone else will" - true, but it's not because we don't want to spend the money and sacrifice our troops. It's because we still believe that fighting fire with fire is wrong (and the results so far speak for themselves).
Copy-on-write is not the same thing as content-addressable.

ZFS has deduplication as an optional feature, which is implemented as a content-addressable store of filesystem blocks. In contrast to e.g. git the content-addressable aspect is an implementation detail that is not exposed to users.

http://blogs.sun.com/bonwick/entry/zfs_dedup
What can I use this "coprocessor" for?
So the documentation apparently sucks. OK, this is a bad sign, but can be fixed. Also, apparently the raw on-the-wire protocol is less than optimal. This is harder to change, but the implementation of kdbus has an excellent opportunity to fix this for itself and its associated client library.
X11 was a great success because it was a protocol that you could write X servers and X clients and X window managers against.

Nobody wants to do that anymore. There are two major forces to blame.

First, open source. A well designed protocol is much more work, and you can avoid it by just pointing to the open source'd implementation, as this article (hilariously) shows for the case of DBUS.

The second force is the adware/spyware model of web and app monetization. You don't want people to use their own clients against a protocol (email, usenet, web 1.0) because you can't serve ads as effectively and you can't run analytics on their every mouseclick, touch gesture and keypress.

The whole systemd debacle would be much defused if systemd had been a couple of well thought-out and stable protocols, much like X11, instead of a big source-blob of underspecified and ever-shifting implementation.
> 32. Be able to get into an ER for under $100. It's ridicoulous that a mere 15 min consultation can cost somebody (the system) $1000+.

Thought this was basically urgent care.
The oral history is that the UK's systems were built by Australians, because we and the kiwis have had this level of convenience since the late 90s.
Yget is an alternative I've found to be more reliable. It's just for youtube though, and doesn't support all the things (such as bypassing age restrictions).

http://repo.hu/projects/yget/
Good job! The compression is very good (close to mozjpeg).

Even though lossy recompression theoretically is suboptimal, I think tools like that are still great in practice.

Lots of casual users don't pay much attention to the quality setting, but in JPEG quality setting makes files grow exponentially, so getting quality right makes a huge difference.

And many graphics tools still use libjpeg with default settings, which don't include even basic filesize optimizations.

Just getting a properly optimized JPEG encoder that has reasonable quality setting is going to be huge improvement for many users.
Once, when I was pretty much a noob, wrote a language called OOJASIC which I implemented in Java. It was loosely typed, compiled to Java. I wrote a wrapper over swing as its UI library, and a simplistic visual IDE along the lines of BlueJ, that would show a smiling dino face if the file was compiled, and an anxious one if it wasn't.

All that's left of all this is the compiler code (decompiled using cavaj), and screenshots of the IDE (that I called Rex).

It was the most complicated piece of software I'd written at that point of time, and there's little left to show for it.

Here's a link to the project page, btw.
And don't judge. This is from a long, long time ago.

http://justaddhotwater.webs.com/oojasic.htm
That's very hard. The hop it does is just a few hundred kilometers. ISS orbits at around 300 km height. Just crossing the atlantic would require 6000 km horizontal travel. So 20x horzontal vs vertical. If you want to avoid the radiation belts, you need a relatively shallow trajectory. The velocity needed is near orbital.
High ICBM trajectories have issues...
TR here.

:(
I really can't tell if this is a parody or not - the number of meaningless b.s terms they throw around is absurd.
I use this tool a couple of times every week. I love this tool!

And I must say I'm impressed by its ease of use (basically zero installation effort), and also by the frequent updates.

(I wonder why those frequent updates are necessary, though. Are you under the impression that google is actively working against tools which attempt to download material from youtube?)
Personally, in terms of just convention, I've taken to the style of using "packagename/" as a function-name prefix in my own Elisp code. Since the hyphen is the conventional between-word character for function names, it sets it off much better visually.

But more specificially, I don't really like the idea of adding this "feature". I don't mind the extra characters in the function names. Verbosity and clarity are good things. So long as package maintainers follow naming conventions, that's far preferable to trying to read code that may or may not have apparent duplicate function names.
If you would like to register a business in the UK, go here: https://www.gov.uk/register-a-company-online

It says it takes 48 hours and costs £15. You must be at least 16, and you'll need an address -- it could be a rented post box so long as it's a full address.

As far as I can see, you don't need to be resident in the UK.
Yeah, because at the core of human civilization lies a respect for copyright, a BS notion that was developed for exploiting the restrictions of (analog) physical formats for profit...
On my Android phone it ran really smooth, but after like 2 minutes Firefox crashed?!
Indeed the cross-chunk recombination is quite something. We're used to clean cut boundaries and here he is going away from this rule to bring new opportunities. But I wonder how hard it is to think about, design and test such assoc. combiners ..
Be careful that you don't trip up using this rule for everything - its not always correct [0]

[0] http://stackoverflow.com/questions/16260417/the-spiral-rule-...
Gestalt principles of Design: http://www.andyrutledge.com/gestalt-principles-1-figure-grou... bit more theoretical, but simple and introductory, and interesting to read. IIRC (it's been a while) the five articles in this series would take roughly the same amount of time as these two big ones in the OP.
Here's a related idea: take a piece of land made of granite. Cut a 1km diameter plug of granite, one km deep. Store power by pumping water under the plug, raising the whole thing half a kilometer in the air. It would store enough energy to power Germany for a day.

http://www.solarserver.com/solar-magazine/solar-energy-syste...
It isn't ASCII only, and I don't even see where the author of this article got that idea. Read the spec instead of the article and you'll learn more: http://dbus.freedesktop.org/doc/dbus-specification.html
You should update it often, as internal formats, urls, options etc of the sites change.
https://www.youtube.com/watch?v=WRNYqsMIbg0
I would totally be able to reproduce it though, so it kind of misses the point. I wouldn't be as dedicated probably.
The current team should have more information, but I think most updates are due to other sites breaking and new sites being added that due to YouTube or bug fixes. I don't think YouTube is actively working against tools like youtube-dl, at all.
Smokers die sooner and cost the system less. You should get a tax break for smoking. Forcing people's choices is not a net good for society.
Just to be initially clear, 'spin' is a bit more subtle in quantum mechanics than just 'it's actually spinning', but it's an okay conceptual start.

> Why would the measurement of Up/Down spin destroy information about Left-Right spin in the classical case?

It wouldn't, if you like, which would make it another thing that would be different in classical mechanics, though it's a little strained because it's assuming a lot about quantum states being like classical states.

In quantum mechanics the different spin operators do not commute, which means if you measure it in the vertical direction (and get e.g. up) then in the left-right direction, you get each of left or right with 50% probability. But then if you measure it in the up/down direction you don't get up again, you get up/down each with 50% probability, the original state is irrelevant. This is obviously different to your marbles, which just have letters that don't change.

> Can a spin be not 1 or -1? Could it be in between?

No. When you measure the quantum state you get an eigenfunction, though the state before collapse could be a superposition. Indeed, this is the case for different directions - spin up is a superposition of equal parts spin left and spin right in the horizontal spin basis, which is why you get each direction equally if you measure it in that direction.

> Doesn't that capture everything?

You're still trying to encode everything in a hidden variables theory, where the quantum states secretly know everything beforehand about what it will do, but the observer can't access the information without performing specific measurements. This immediately fails as above, because the quantum states inherently don't have fixed up/down and left/right components and each measurement in a different basis gives a random result.

You can try to fix things by adding more complex rules about the letters on the marbles changing when you read them, but it turns out there are fundamental limitations on what physical results any such theory can predict. This is famously addressed by Bell's theorem (as in, seriously famously, this is really important), which demonstrates specific limitations on what physical results are allowed by such models, and experiments have shown that quanum mechanics does breach these limitations. I'm not sure how to explain more simply what's going on though.

(Strictly, we can allow hidden variables (though more complex than a predetermined left/right and up/down as above) by breaking the speed of light to let the separated states communicate instantly, but this brings up its own problems.)
Fix a page in Barbie's book
Gngr – A new browser championing privacy
the author got it from exactly that link, the exact text is the one reported in the article, just CTRL+F "the protocol is ASCII-only".

I presume text was edited a few times in different places withou re-checking everything.
Oh when you are trying to work around different bugs in browsers that claim to implement some features - i.e all the fucking time if you are doing interesting things client side.
I hope that you're saying this as a developer/engineer that is unaware of all the theory behind design, not as a designer that believes what they do is all intuition and there's no theory to learn that will make themselves (and their intuition) better.
Okay. From the spec:

"D-Bus is low-overhead because it uses a binary protocol" -

Alright, got it. It's binary.

"The protocol is a line-based protocol, where each line ends with \r\n. Each line begins with an all-caps ASCII command name containing only the character range [A-Z_], a space, then any arguments for the command, then the \r\n ending the line. The protocol is case-sensitive. All bytes must be in the ASCII character set."

Wait a second. This section describes a line-based ASCII protocol. Is this some other protocol?

"A nul byte in any context other than the initial byte is an error; the protocol is ASCII-only."

Ookay. So... it's ASCII only, except for the first byte?

"Returns auditing data used by Solaris ADT, in an unspecified binary format. If you know what this means, please contribute documentation via the D-Bus bug tracking system."

Oh, no, okay... unspecified binary format. THIS IS ACTUALLY IN THE "SPEC".

Sorry for yelling. I lost it a bit there. Not quite as much as the authors of the dbus "specification", though.
Does anybody know how these sorts of devices are presented to an operating system? Is it controlled/programmed in a similar manner to a modern GPGPU card?
No. It means everything is on-wire essentially the same as it would be in memory. Read the spec: http://dbus.freedesktop.org/doc/dbus-specification.html

This article is essentially "I didn't understand something after spending 15 minutes (or so) on it, and here are my criticisms of how I speculate this might work."

You know, fair enough. But if you as the reader want actual knowledge you can read the docs and code yourself and spend more than 15 minutes (or however long it was, but not long enough to have accurate info for sure).

There are hundreds of people and packages using dbus after many similar technologies were tried and didn't catch on. A curious person might ask why.
Why do people use .cpp for files and yet CXXFLAGS for makefiles, anyway? (also see .cc, but almost never .cxx)
great insight into guiding principles on how to evolve a language used by millions of users and running on a billion machines, from the language architect of maybe the most popular language in the world today (Java).

Insight into advantages of Value Types for Java 10, the talk not Clojure specific unlike the logo might indicate (it just happened at Clojure conf).

Great stuff, liked it a lot / recommend.
Could you provide some source on that bullshit?
EPA is barred from geting advice from scientists
The FIRST website in the world that simulates the human brain and emotions
Well, you certainly have a point, but I'm not sure you're right or not.

Pointing to a library instead of protocol isn't some recent fad. Say, this was the case with ALSA/libalsa. I guess OSS folks had ranted, yet ALSA is what we've ended with. So, it's certainly not something related to webapps and proprietary APIs. Well, I think in 2000s everyone who had some relation to FLOSS just hated such things. Microsoft's stuff had been a pain in the ass, probably more than they are now. Although, the webapp trend may have had influenced overall mentality with "aw, just link to this and you're good." Some sites, notably, Mega, had even switched to that model from a previous API-first approaches.

There are also cases where implementation-first approach has worked well, though. For example SQLite - while most users just link to the library, the format is well-documented, thought out and is quite sane. So, systemd can recover. I'm not keeping myself up-to-date with news on that, but I think I've heard (maybe, incorrectly, though) there are some efforts in that direction.

Just my thoughts on this.
Android is not distro, it is a fork. In similar way they could build a new os based on linux but the work compared to just replacing UI is massive and maintenance is absolutely not something you want to do if you just want to replace ui.

http://arstechnica.com/gadgets/2009/02/an-introduction-to-go...
That's right, usually the best quality audio you can get from youtube is in m4a format. The only problem I'm having is youtube sets the format inside the m4a to dash, which some stupid players (including iTunes) don't want to play. So I have to run something like

ffmpeg.exe -i "Keith Wiley - The Fermi Paradox, Self-Replicating Probes, Interstellar Transport Bandwidth-AUk6ZlePtQA.m4a" -c:a copy 2.m4a

to change the format in the file header to M4A.
Thank you! I keep meaning to figure out that power-management thing, but keep putting it off because I vaguely don't know where to start. Now I have something, I will dig into it :-D
Hands-on tech learning service with gamification, has anyone paid for this?
How to Learn Hacking
I don't mind the declarator syntax in C so much. What I do mind is the way some things are implicitly converted. For example: in

char buffer[10];

the name "buffer" is a pointer to the first element of the buffer. This always feels like a hack, because "buffer" is an array, not a pointer to an element. I'd rather write &buffer[0]. This also feels like a hack when the buffer is coincidentally of size 0, and buffer[0] does not exist. So I'm just left with the feeling that something is missing in the language.
How I built a nuclear reactor at the age of 13 [video]
I'm not against any of these projects in particular (they all solve a specific problem), however as you describe, all the recent infrastructure being pushed on desktop and servers is poorly designed and initially badly implemented. I cannot even blame the distributions, as projects such as DBus/-Kit/etc were initially just part of other, unrelated, projects that got mass adoption.

The implementation got better (actually, systemd partially got rid of many -Kit components which never truly worked, which IMHO, doing us a favor), but the design is still wonky, still poorly documented, very difficult to debug as a result and understand as a whole.

The fact that these tools rely on self-describing protocols with one single implementation without documentation also results in very tight coupling.

It's also shifting the idea of having a cli interface to perform a task to a dbus interface. Often without any documentation of the dbus interface itself to begin with (or with a crappy cli wrapper).
Thanks - I was curious what it was for. I see:

- Black-Scholes Valuation Computing

- Weather simulation

fairly specialist number crunching I guess

[update]

I see the 'worlds fastest computer', Tianhe-2 uses 48,000 Xeon Phis. Wonder if they got a bulk discount?

https://en.wikipedia.org/wiki/Tianhe-2#Applications
Great job rg3, thank you very much for your work!

Do you think DRM support in browsers and major tube sites will soon prevent tools like youtube-dl from functioning?
> People seem to be tolerating Windows 8 "flat" design, though, and that is pretty much a nightmare for usability as far as I'm able to discern.

FWIW, usability is being able to do something with as little thought or confusion as possible. So there is nothing inherently wrong with a flat UI - its the design choices made using it that matter.
I am not familiar with those. But I will offer a general comment: most vendors completely miss the boat as to the code they provide.

What I'm looking for is a way to quickly build numerous applications which will be maintained for a long time. To really utilize the microcontroller I will need to get low-level anyway, so there is no point in "high-level abstractions": they always come back and bite you in the end. Give me libraries, but make them low-level libraries, and maintain them well. Give me a way to easily upgrade those libraries in my projects (e.g. code templates, code generated from an IDE are no-nos). Don't give me a "universal abstraction layer for cross-device portability". Give me good bootloaders, clock management libraries, simple APIs for switching energy modes, low-level libraries for comms.

So far I found nothing of the kind, which is sad. I think it's one of the reasons the software world is really lagging behind the hardware.
...people of lower income that cannot afford to eat better.

People of lower income can't afford to spend less money on food?

...keeps them awake while working two jobs.

Please familiarize yourself with even the basic statistics on poverty in the west before discussing this topic further (hint: google the fraction of poor people who work).
pulseaudio is a continuous disaster for me.
> A nul byte in any context other than the initial byte is an error

Oh, just found this in the spec, too:

"The marshalling formats for the string-like types all end with a single zero (NUL) byte"
I think people who haven't hacked on making nice UIs for system features don't understand what problems these things solve. But people who have do, and that's why they code them.

Is there a simpler, less-engineered way? Probably, in the truism sense that all software sucks. But then, anyone could have coded this better way and made it work, and they didn't. So the current work has the advantage that somebody did it and it exists. I'll take that.

Knowing the problems solved here I actually think the current stuff is pretty good. Not flawless -it's software - but good. It does pretty much work. Go use 15 year old Linux if you want to replace nostalgic memories with a good dose of how much it sucked :-p
For #4: https://www.indiegogo.com/projects/findster-the-gps-tracker-...