skysight-inc/HackerNews huggingface dataset:
software engineer, backend stuff, mostly c++

side project: working on a crossword editor, intended as a complement to the (fantastic) open source app qxw [http://www.quinapalus.com/qxw.html]. qxw does one thing (grid filling) and does it well; v1 of my app will import a grid from qxw and deal with adding clues to it, and publishing it in a variety of formats. v2 will add support for importing a blank grid and clues in various popular formats, and letting you solve the crossword interactively. (i might add a web frontend somewhere around then too; right now it's a desktop app in F#/Gtk#/.NET)
Even though Gtk3 is still riddled with regressions compared to Gtk2, and there's no stable theme interface, and for example the Raleigh theme engine completely broke in 3.20, the GNOME devs seem to have decided to take it to the next level.

That means, unless I'm reading things wrong, this is the gist:

1. API and ABI breakage twice a year

2. Applications that have been linked for 4.2 on a system with 4.2 dev files installed will still run when the system gtk4 is 4.4. But you're not allowed to build a 4.2 app anymore once 4.4 is on the system. This means, the 4.2 .so can exist in parallel but not the development files. Those are allowed to exist for only one gtk4 release.

3. (2) combined with (1) is a nice way to prevent adoption

Now, this may sound rude, but given the state of Gtk3 after 10 major releases and the overall way devs have dealt with the community, I must say I welcome this, because it can be a nice motivator for everyone that still believed in Gtk3 to look at Qt.

* Wireshark has a Qt frontend now

* wxWidgets has a Qt backend now (experimental for now)

* mkvtoolnix is Qt only now

* the list goes on

If anyone believes developers ported from Gtk2 to Qt for fun, please consider the effort it takes.

Yes, gtk2 has limitations, but there was ABI and API stability on all layers. Since gtk3, the development model seems to be inspired by web applications in that breakage is frequent and stability is mostly not guaranteed. It starts with drawing regressions and extends to a theming api which is unstable and therefore could also not exist, because each theme has to exist for each major gtk3 version.

Had Gtk3 only added Wayland and HiDPI support, and kept API stability for the most part, we wouldn't find ourselves in this unfortunate situations. Since, more than a few applications have migrated to Qt.

I don't like some of the things in Qt5 like the file selector, but that's a minor nuisance for avoiding gratuitous regressions.

I have to use Firefox ESR because the switch to Gtk3 broke too much in the UI (in addition to general non-existence of stable Gtk3 themes).
I've counted votes a couple times before and can tell you that where I come from in the US recounting is minimal (if done at all). We pair up with a person of our choosing and then count and recount. Collusion is trivial. Just make sure the total counts add up and that your results aren't so wildly disproportionate from the other people's that they'd get reexamined when all the pairs' numbers are summed.

I don't know what you mean by scrutiny on the TV - are local polls counted live on television in the UK?
The key has had the word option on it for several years now.
Does anyone use that standard? This is the first time I've heard that there was a standard.
Count me in too. Among other reasons, because I administer both Linux and OSX systems—and the systemctl(8) utility is basically invocation-for-invocation identical to OSX's launchctl(8), so I never really have to context-switch.
If your SaaS does $10k/month you're paying expenses proportionate to how many people use your service and you've probably got upkeep.

If your app does $10k/month that can be pure profit and not even have a website.
I have a car that does. My last phone would play audio on it for about 30 seconds and then immediately disconnect. On a previous version of the firmware it would reliably panic and reboot after ~20 minutes of playing music. It worked fine with other speakers but there was something"magical" going on between it and the car.
The first half of this course was previously offered at edx during Fall 2012, Spring 2013, and most recently Spring 2015 (CMIIW). Back in 2013, when I just graduated from high school and waiting for uni to start, I enrolled myself in the Spring 2013 offering and it was a great course. Just note that this is a quite a heavy course to take (there are lectures, homework, and projects); but the project is really fun, you're to make Pac-man more intelligent in its environment :)

From the knowledge gained from the MOOC, later on I made this game http://kenrick95.github.io/c4/demo/ which I implemented a simple AI as the opponent, which is a minimax agent. It is not perfect, but it is good enough for me :)
Deadlines aren't always meant to be made, depends on who's doing the estimate and how much the scope changes along the way.

Some managers also setup impossible deadlines to try to squeeze all the productivity they can out of their team.

But you can work on improving meeting deadlines or raising a flag early on with your manager that you need to bump out a deadline a couple days. He'll appreciate hearing it earlier rather than the day it's planned to be completed.

If there is a topic you're curious about set aside a couple hours in the evening to research it and play around with it. Run through some dev ops tutorials.

As you do more and more projects you'll get a feel for how the design UI/UX should be. As a backend engineer I would expect you're not doing much design. But for mocking things up use a framework like bootstrap or one your team uses for projects.

Try to learn from senior developers around you.

Start doing some side projects at home. Sometimes the most learning occurs trying to build an application you are interested in for your own use instead of following a todo list tutorial.

Pick topics you are interested in. Google some tutorials. Don't just watch them or read them. Dig in and do them, extend them, take them beyond where the tutorial stops.

Get involved/netowrk with forums, user groups, bloggers and podcasters who develop in your language creating similar things.

Check if your company sends employees to conferences.

Development is definitely a continued learning experience.
There are many of of OSX-iOS only apps that I would buy have it been available in Android.
I assign a unique ID for each token (the `jti` claim). So each token has a unique identifier and can be invalidated that way, and every token has the user's ID (the `sub` claim), and can be invalidated that way, if that fits your use case.
For anyone who wasn't already aware, there are many intentional and open Ponzi dapps running out there.

Source: http://dapps.ethercasts.com/ (search for "Ponzi")
The U.S. Navy’s Big Mistake: Building Tons of Supercarriers
If you have access to TouchID, you're going to be using Safari to browse the web.
I imagine the few people sitting quietly with >1k btc understand quite well the problem of liquidity, that it's impossible for them to sell of such large quantities without crashing the market and taking huge losses, their only choice if they want to cash out is to slowly trickle it out without disrupting the market.

For everybody else, whose potential trading volume is very small relative to the total btc supply pool, btc is just like any other security.
Critical LinkedIn vulnerability (XXE) proactively resolved
Apple killed Flash deliberately, by choosing to support HTML5 exclusively. Nowhere today was anything mentioned about hybrid apps being banned from the App Store. So the analogy is flawed.
HFS+ already supports file compression, and all system files already are. You can use it yourself depending on how much you trust it.

https://github.com/diimdeep/afsctool
You can also set the volume limiter in the settings if you want, so that 'full' volume doesn't rupture your eardrums.

Including the sibling replies, there's several solutions to this problem if you dig.
A huge advantage of disposable things is it's no big deal if they are damaged. Stuff breaks outside of normal ware use. Cars for example often fail due to an accident which limits there maximum useful lifetime.

Time value of money also hits in. A cheap mattress that last for 7 years is arguably better than spending 2x as much for something that last 14 years.

Finally, some things simply don't get used much. Often buying say a cheap snowboard to start with is much better simply because it might not maintain your interest. High end home exercise equipment can be a great investment, but it's likely to just end up as an expensive coat rack.
Show HN: Bookmarks with reminders and other rediscovery features
Sounds like what you want is a TRS-80 model 100:

https://en.wikipedia.org/wiki/TRS-80_Model_100

Though maybe it's not quite as light as you were hoping (at least, not by modern standards)
The guaranteed 1 ETH payout only lasts until TheDAO funds its first project, after which the payout is only the investor's percentage of TheDAO tokens times TheDAO's remaining ETH. So the potential for a "natural ponzi" won't be around for long.

There are a fair number of people who've decided to hold ETH long-term regardless of short-term price action, and for those people, a risk-free way to increase ETH holdings is more attractive. But in this case it's not entirely risk-free, since people have described various attacks on TheDAO, including at least one that could prevent people from extracting the ETH. The attacks can be prevented with code updates, but not until people vote to adopt the updates.
It appears there isn't too much of a gap with the Web Payments API. Today, the Safari team posted their intent to rectify the differences: https://lists.w3.org/Archives/Public/public-payments-wg/2016...
>and having 3 modifier keys is so useful (e.g. emacs + iterm2 + spectacle) that I can't see myself going back to linux/similar

Linux has control, alt, and meta (aka "super" or "the Windows key").
I did the first half of this as an edX course (CS188.1x) and it covered up to and including the reinforcement learning content. It was really fascinating and enjoyable - definitely one of my favourite courses that I've done.
Is Differential Privacy Practical (2013)
It falls under the appeal to hypocrisy fallacy, albeit with inverted logic.
Do you believe the majority of GOP voters support Trump?
With this headline, I cannot hear anything in my head except “the dial-up noise.” TCP over sound was how I used to connect to the Internet…
> Yet, if you had invested in bitcoin 5 years ago you would have outperformed Berkshire Hathaway's lifetime performance.

People who get in on a ponzi or bubble in the early days tend to do well, yes. Plenty of folks picked up BTC when they were $1k+, though.
I would say: Oh, yes, be as afraid as you can be. But don't let that stop you from figuring out why it is perfectly rational to be afraid of signals ;-)

Now, it is not impossible to use signals, but there are many opportunities to screw it up, often in non-obvious ways (so, things seem to work, but it's not actually reliable). And at the same time, signals almost never give you any advantage over alternatives if you do it correctly. That profiler thingy might be one of the rare cases where it actually makes sense.

In particular, what tends to be so tempting about signals is that they are executed "immediately", so you get to react without any further delay, no matter what else your program is currently doing--who wouldn't want that? Except that doesn't actually work, because you need to somehow access the state of your program in order to actually do anything useful with the signal notification. But you cannot access that state unless you can be sure it's in a consistent state and that your accesses won't interfere with what your program is doing in some unpredictable way. Just like in multithreaded programming. You have to somehow coordinate with your program to make sure things happen in an orderly fashion. Which essentially means that you only can access the program's state at certain times when the program isn't currently using it. Like, when it is unlocked. Except the signal handler potentially preempts your program, so you can't use locks to perform the coordination, because that could deadlock. Except if you were to use locking primitives that also block signals, so that preemption during critical sections can't occur. But then, you effectively have a weird polling solution (the unlocking at the end of the critical section/before entering the event loop dispatcher effectively acts as if you were polling for signal events).

Also, you cannot even reliably queue signals without potentially dropping some. Now, the kernel does that anyhow, so you can't rely on all signals being delivered individually anyhow, but it still is important to understand why that is (which is also why the kernel behaves the way it does): If you consume events, you have to either have some mechanism to slow down the source to prevent it from generating events at a higher rate than you can handle (like, if you can't keep up reading from a pipe, the writer end of that pipe will block in order to stop it from producing more data), or you would need potentially infinite amounts of memory to be able to store all those events for later processing. Now, the latter isn't really possible, of course - but it's even worse in signal handlers because you cannot really allocate memory there because there is only one memory allocator in the libc and that most definitely is not reentrant (like, you cannot allocate memory right in the middle of your thread freeing memory).

What this boils down to is that you always have to somehow defer processing of signals to some point in time where you can actually safely access your program's state, which is something that you can achieve with pipes and sockets much more easily.
Comparing JavaScript frameworks
which JavaScript framework is a good choice to study in order to build an app that:
- scales in performance
- doesn't involve steep learning curve
- has a good and supportive community behind
thanks
>>if you can describe your access patterns as consisting mostly of table scans (or at least large index scans), rather than seeks, you will likely be able to find benefit from a columnstore engine.

I think this is very accurate for first generation column stores, but some of the newer research systems are addressing this issue with technologies like behind-the-scenes indexing.
The most powerful RTG ever flown had a power output of 3kW.

A typical commercial jet engine (on a SUBSONIC aircraft) is on the order of 50MW.

Might as well try to power an ocean-going freighter with a hand-held sterling engine.
The thing about online voting that has always gotten me is that it violates the ideals behind the "Australian Ballot." [0] ie, one should have the right to cast a secret ballot, and doing so in a public polling place at least theoretically guarantees this.

With online elections, there is no proof or protection of this. For me that's the most important thing. Full Stop. Security implementations, hacking, etc. are all secondary concerns in my opinion.

[0] https://en.wikipedia.org/wiki/Secret_ballot

note: As a True Capitalist(I say sarcastically), I've actually come to believe in being able to sell my vote (I'm quite serious), which of course, the secret ballot precludes me from doing. After all, if I'm going to be forced to essentially only choose between the lesser of two evils, I should at least be able to profit from the poorly designed electoral system.

I actually "back of the napkin" calculated this for the last presidential election, and I believe it came down to something like a rather pitiful $3 for each presidential vote (forgive me, this was a while ago). Of course,once you add the other elected positions, this increases, but I believe it was still generally under $20 per vote. I did not take into account geographic discrepancies (different number of positions up for election/different amounts of money spent on highly contested elections, etc)
They can't be trying very hard if swollen.member.blown is a valid address, which it is: https://map.what3words.com/swollen.member.blown
Yep - this is the kind of thing:

https://www.youtube.com/watch?v=XydeHaqxBbg

It's almost impossible to imagine that someone could bribe that many people to influence an election in the UK. There are 650 seats with over 100k population per seat. I just can't imagine it being bribable on a large scale. Maybe some tiny constituency in a tiny district might get influenced, but the absolute smallest is about 20k votes. That's very difficult to rig.
I'm not looking to buy your vote. But should you choose poorly come Election Day, maybe me and the boys will pay you another visit.
Given that there are other companies shipping ZFS without Oracle's blessing, I am curious why Apple could not do the same? (honest question)

Is it that Apple is a much bigger target? Patent issues?
I get what they are saying, I think, but do not trust them to be the messengers. Perhaps if their website didn't have new collections of items each season, and had a more stable catalog, I might believe them more that they are creating more timeless items (that you should only buy a few if) than just items that are fashionable at the moment.
Apple did just release a Apple Pay JavaScript framework, so I'm thinking not.
Or swipe down the top drawer and tap the Sound setting to Mute.
> Why would you care what anyone does with their money?

Really?

Two fairly obvious reasons I can think of in ten seconds: sympathy for other people, and the desire to not see the entire sector tarred as a giant scam. I suspect there are other valid reasons.
This question was anwered in a prior recent HN thread: https://news.ycombinator.com/item?id=11849172

Not an expert so I can't vouch for its veracity, but I'll inline it:

"This can theoretically be more efficient than growing plants under sunlight. Chlorophyll mostly absorbs light in the 400nm to 700nm band which is about half of all the photons that hit lights. Even in that band ~24% (https://en.wikipedia.org/wiki/Photosynthetic_efficiency) of the energy in them in lost due to the higher energy photons (closer to the 400nm side) being converted to lower energy photons.

"So right there plants are only 25% efficient at collecting energy from photons. This is why you see indoor plants grown under red LEDs. Modern commercially available solar panels are about 21% efficient so that is actually getting close to plant can do (I'm not going to include inefficiencies in power conversion right now). Solar panels in the high 40% efficiency range exist, but they are crazy expensive and only used on things like satellites.

"So using current (very advanced) technology we could actually get about double the plant output per area land by using the most advanced solar panels we have to collect light energy to power LEDs."
It's telling that Service Workers and Web App Manifest remain unimplemented by Apple but they are releasing a (proprietary) payments API, as though it's a bigger need.
Here's a good (and fun) column on how Ms. Kondo helps many people overcome cognitive biases.

http://www.theatlantic.com/business/archive/2015/05/an-econo...
Are the millionaire migrants a blessing or curse to the Canadians?
You'd have to sit there and read the entire base system image before booting to verify that signature. But only have to decrypt a block when it comes time to read that block—with the ability to kernel-abort right then during the boot process if the block doesn't decrypt. (Or were you suggesting individually signing every block?)
I have a Priv, you will like it. You don't sacrifice any Android features (or security updates), and the keyboard is there. I have had it since December and only typed on the touchscreen about 3 times. It is a bit big, but it is the same as any other phone manufacturer makes. I find it is fine in my front pants pocket and it also fits nicely in a shirt pocket.
If you bought bitcoin at 1k you'd be down 28% right now... Not exactly a fantastic investment, but no worse than the nasdaq on some years.
On a side-note, the DragonFly that is mentioned in a picture is $149 retail! [1]

Anyone have a recommendation for a reasonable quality USB DAC/Amp that isn't audiophile price?

Also "AMP" isn't an acronym.

[1] http://www.audioquest.com/wp-content/uploads/2015/12/AQ_PB_U...
But safety for all! /s
And taxpayers would end up spending as much (or more) due to the costs of the litigation.

I don't want to live in a country where unsafely shipping materials in a shared plane is legal and handled by civil suits. Putting others in extreme danger should always be illegal when it's as black-and-white as this.
The key claim is: there’s no way with any reasonable amount of resources that you can guarantee that the software and hardware are bug-free and that they haven’t been maliciously attacked

The same could be said about other electronic systems that already govern lives, like planes, cars, phones and medical equipment.

And yet life goes on.
> However, it isn't really realistic to do re-counts right now, nor do people do them regularly.

About half of the states require by law a recount by hand at a random selection of voting locations.

> If the people doing the counting are bought then that is an issue too.

That's why you have hostile observers from opposing parties present.

> open source software

So you have the source. Now prove that it is installed at both the client and server. Then prove that the operating system, bootloader, and every other part of the computer you need to trust is actually loading and running your software properly.

Difficulty: Volkswagen showed it's easy evade inspections, and good luck proving anything on a system with Intel ME. Do you know that there isn't an extra core or ROM hidden inside one of the chips?
Job Role:

Firmware developer with some scripting on the side. C, shell script, Python, ARM/Thumb ASM on occasion. Mostly C.

Side project(s):

Probabilistic programming in Haskell and Venture. This involves using Haskell and Python to do most of the coding. Writing a paper involving some information theoretic properties of certain probabilistic programs, which involved translating a bunch of estimators to get them working quickly on larger datasets.

Also eventually going to finish formalizing the correctness of my type-inference algorithm in Coq.

I eventually want to learn enough of how monad-bayes and Clash work to write a compiler that takes monad-bayes probabilistic programs down to hardware descriptions I can flash onto an FPGA and use it as an accelerator for probprog.
Well a bigger gain on investment, probably
Senior software engineer @ Gogobot

In my day job I do 100% of Gogobot's Devops.
I feel that statup stacks are too complicated to bootstrap on the cloud so I am working on the-startup-stack[1]

It's a framework to get things started, it's a toolset of other open source tools to consolidate everything under one roof with a set or production-ready bulletproof recipes.

I realize it's a mouthful, docs attached.

[1] http://docs.the-startup-stack.com/

I've been working on this during my spare time for a long time now. I have 3 startups already running on earlier versions of this and it's a work in progress.

Looking for contributors and early adopters.
This part:

"In practice, however, it's fairly trivial to replace the session mechanism at a later point, with the only cost being logging out every user once, when you make the transition."

Is not true in terms of needing to log everyone out once. It is pretty easy to write transition code, to accept the old style session and return the new style. You might not be able to transition everyone (if they don't use the session in the time you have your conversion code running), but you will get MOST people, and certainly most active users.