skysight-inc/HackerNews huggingface dataset:
Eleven or twelve years ago, I was presenting a paper at the European Joint Conferences on Theory and Practice of Software; I went to a talk while I was there by Gogul Balakrishnan, and spent some time talking to him about decompilation: I remember him telling me that the problem you describe is simply not possible to solve for x86.

FWIW, jumping into the middle of an instuction is not actually a problem (even though I do realize it trips up a number of disassemblers: I actually publishef a proof-of-concept obfuscating assembler that was designed to specifically break all the best disassemblers at the time, and leaned heavily on that), as you just need to build your own graph of the execution of the program: don't try to mark regions of memory, as that will screw you.

What really gets you quickly are computed jumps: even super popular disassemblers often hiccup on simple switch tables, as there is no way to really know for sure all the cases that were proven to be impossible by the compiler and left out of the checks. And one could imagine a case where a jump is computer based on the output of a potentially undesirable function... you essentially need to be able to prove things about programs to even ask the question, and those proofs almost always fail due to incompleteness :(.
5 Marketing Ideas to Boost Your Business
'Anti-IS group' claims BBC website attack
So I'm not the only one who saw this quickly disappear.

Couldn't find it on the 2nd or 3rd page, very odd.
Perhaps this could be used to suppress subvocalization during reading:

(1) Look at a lot of people reading the same text, divide in to subvocalizing and non-subvocalizing group.

(2) Find difference in neuronal activation patterns.

(3) Let subvocalizer read the text and apply electro shocks if the fMRI shows the typical patterns for a subvocalizer. Perhaps the cortex will self-organize to turn off the subvocalization.
> 30-50 years of replacement time is apparently not sustainable, since most of the things we buy have 3-5 years of expected lifetime tops.

In practice, yes, most things we buy are designed to fail. But in principle 30 years is possible, if anyone is willing to pay for it. Lots of people aren't, for many reasons including time cost of money, fashion, or just not caring.

> Most software has to be replaced after at most 10-15 years, either because of security issues or just because it's no longer supported by hardware.

Yes, so there's the answer for why the software upgrade treadmill exists: it's for software not important enough to run on dedicated separated hardware. Few people are upgrading CNC controllers or power plant controllers or aeroplane controllers because of security issues or because the hardware is no longer available.

Anyway, even on the consumer side the lifespans are rapidly lengthening. In the 1990s running current software on five-year-old computers or using a five-year-old OS would have been basically unheard of in the mainstream. Today a five-year-old computer is only a step behind current and Windows 7 has turned 6 years old and is still extremely widely used.
"I wonder if there may have been higher-end VCRs with this same technology, but I haven't seen one."

I recall having one that did a digital snapshot instead, however this was the early 90's and I'm struggling to recall the manufacturer & model. Ferguson, I think...
The font atlas is definitely still worth it. For example: your comment, which fits in a single browser tile, is made up of 735 drawn glyphs. There are 50 distinct glyphs used (not counting italics because I'm lazy).

Assuming it takes twice as long to draw a glyph into an atlas but half as long to draw it once it's in the atlas, an atlas that starts completely empty will speed up text drawing for your comment by 66% (735 divided by 50 * 2 + (735 - 50) * 0.5, which is 442.5). And this underestimates the savings by a lot (drawing glyphs from an atlas is much more than two times as fast, and some glyphs are probably in the atlas already).
It's beyond experiments now and there are clear uses for such things. For example, a recent post describes using MirageOS to build a firewall VM [1]. There are also network security/intrusion-detection systems [2].

There are a number of ways to build unikernels and they're not all OCaml (which is just MirageOS) -- http://unikernel.org is trying to bring these together.

[1] http://roscidus.com/blog/blog/2016/01/01/a-unikernel-firewal...

[2] https://galois.com/project/cyberchaff/
Yes yes, let's do that. Let's start over with all the lessons learned. Let's build something that will not be able to be morphed into something close to ... hidious.
What's common to Symbian, QNX, car-infotainment and in-flight entertainment (system's I've interacted with)? In all those cases (QNX->blackberry) they're systems with awful input lag from my personal experience. I also noticed that performance was mentioned in the article only in terms of throughput. coincidence?
I'm not sure how that Plato quote demonstrates any advantages. He's talking about how reliance on the written word can erode one's memory. It's precisely about the disadvantages of using external tools that replace internal faculties. I cited it to show that the founding father (if you will) of Western philosophy broadly agreed with your point about "assistants" causing us to lose useful skills.
The "Secure Enclave coprocessor" on the iPhone runs a modified L4.
Functional Options for Friendly APIs in Go
Are software profit margins really that slim?

How big is customer support in the final bill per consumer ?
The relationship between the writing of doctrines, books, etc and people rising to power is a pretty interesting one.

See also: Obama's Dreams From My Father, The Audacity of Hope. Trump's Crippled America. Hitler's Mein Kampf (the copyright on that is expiring very soon). Mao Zedong's "Little Red Book".

In Ender's Game (fiction, but compelling), Ender's siblings go on to become incredibly influential because of their writings. And it's also why things like propaganda is so powerful, why we have phrases like "the pen is mightier than the sword", books like Farenheit 451, and even, if you think about it, the Bible, Koran, Torah, etc.

Books are powerful things, and people who seek power are typically associated with them one way or another.
SEEKING WORK

Location : UK.

Remote : Yes and/or willing to travel.

Technologies : C, EC++, low-level middle-ware and OS services development for mobile/consumer devices, Linux, SDLC, Git, *nix systems programming, familiarity with C++11/14, HTML, CSS and JavaScript.

Quick learner, with ability to work on multiple projects and various platforms and technologies.

Résumé : https://careers.stackoverflow.com/ajit_kamat

Email : ajit [dot] kamat [at] live [dot] in
Ah yes, switches, I totally forgot about that bit but you're absolutely right, those were impossible to get right, especially with the optimizer on. The end result that best matched the code would be a jumble of ifs and gotos rather than a switch and because you don't know the bounds you're going to have to make a bunch of assumptions about the contents of the addresses of the jump table. Bad luck to you if one of the jump tables (you can get more of them for disjoint sets of case statements that cluster together) happens to be shorter than you think and is followed by other address pointers.

Decompilation for C is a very hard problem. Conceptually super easy but extremly hard if not impossible to implement. The java folks have it so much easier in this respect.
Location: Poland (EU) / Taiwan

Remote: Yes, currently remote employee

Willing to relocate: Yes, pretty much anywhere

Technologies: Ruby on Rails, JavaScript, Node.js, React, SQL, Redis, WebSockets, CSS/SASS, HTML/HAML, Responsive Design, Bootstrap, Heroku, AWS, Git

Github: https://github.com/snicky

Resume: please send email

Email: mpruszynski at gmail dot com

-----------------------------------

I've been working on web apps and servers for mobile apps with heavy traffic for the last 5 years. Spent 4 years in an American startup that develops one of the iOS TOP10 Photo/Video apps (100M+ users). Would love to work on some interesting problems with great devs and learn new stuff, no matter the stack or technology (AI, VR, drones and spaceships all welcomed). Early stage startups are fine too :)
As a hypothesis, the evidence presented by the article seems to give some support to it. What's the alternative hypothesis?
Public schools are still segregated. Here's how to fix it
They're generally not priced down.

European countries get more expensive versions of software because the price is often converted into the same amount in euros, which ignores the fact the euro is priced higher than the US dollar. And it's not about VAT either - often you pay for VAT outside of the marked price anyway.
Wow.

I mentioned FastNetMon to them, but I just read the status update. They're blocking entire continents by communities... Holy shit. This is not some skiddie, this is likely state sponsored or BTC ransom.

Worrisome how the attacker knows so much of their infrastructure, makes me think ex-employee as he knows where to hit their servers, etc.

So glad I replied 'nope' to taking the cheaper SysAdmin position, after hand feeding them how I did mitigation. They asked me how, and were very interested in why. This was a week before this happened.

It's all making sense now. But even FastNetMon couldn't help this, you need a shitload of bandwidth (OVH size) and thousands (hundreds in cases for arbor) of equipment to match.

They need to GRE their /24's from Voxility or some large ass provider, as this is beyond fucked. I just read the status, they're cutting off parts of the internet to VMs. What in actual fuck.

I've worked in cloud for 10 years, and recently left, and will not be going back. Bare metal and OVH FTW. I can understand the 'going above and beyond' during holidays, but the lawyers I work for just want their 'f email online NOW' (direct quote)
Shippr | https://www.shippr.in | Bengalooru, India | Full Time | ONSITE

At Shippr, we are working on the future of logistics. We provide ways for businesses and consumers to fulfill their needs, be it house shifting or cargo moving by leveraging technology and reducing friction. No matter where your interests lie, be it in application development or algorithms, or even data science, we have a place for you at Shippr. You will get to work with some of the best minds on hard problems like automated resource allocation, route optimizations, capacity optimization and so on. Every developer at Shippr gets complete ownership over his or her work, and we have great fun doing it! :)

We are currently looking for hackers to fill the following roles:

* Back end development (3-4 years experience)
* Android development (2-3 years)
* Frontend (1+ years)

Our tech stack consists of

* Django (Rest Framework)
* Node.js (and socket.io)
* Android
* Angular
* Docker

However, we are not particular about these technologies, since we have a service oriented approach to architecture. So, if you find us interesting, mail us at work@shippr.in with "[HN]" in the subject. We're excited to hear from you!
Interesting. I wonder what percentage of the readers took that one way or the other.

Thank you for the addendum. Below a couple of interesting viewpoints on the 'augmented human', I had not considered those. Trying hard to imagine a modern society without the written word, and whether or not such a thing would even be possible. Imagine somehow leaping to a technological society without having writing in between, what would that society look like?
We'll add more detail in future but here's a brief article covering the key points: http://flingos.co.uk/docs/reference/How-CSharp/

I've also added a sentence to the Introduction section of the Why C# article linking to this How C# article.
10 Quick Tips on Improving the Web Chat Experience
"Every web company, as soon as they get large enough will stop playing nice and will start trying to lock their users into their own ecosystem."

I think you hit something here... Why is this happening? Over and over again? Like a broken record. It is deep roooted, survival instincts which are acquired unconsciously because of the medium you're born and living in.
Can this be changed? So future (web) company wil not be like this? Is anyone reflecting on this? Working on this? It is one's resp/job/passion to do this? I would love to know, help.
Show HN: Talkus – Chat with your website users from Slack
While on the topic of airplanes, we shouldn't think they have perfect user interfaces. There have certainly been some design choices that should be criticized, and likely contributed to people dying.

https://en.wikipedia.org/wiki/Air_France_Flight_447#Human_fa...
Thanks youre right!
> The main issue I have with microkernels is that they don't solve any problem that I have.
>
> […]
>
> Do microkernels offer any application-visible features that I don't have today with Linux? To the best of my knowledge they do not.

Don't you hate having to upgrade your whole kernel (memory manager, scheduler, fs, network stack) just to fix a small-but-annoying problem with your GPU (for example tearing)?

With a microkernel you could update that driver without updating the rest of the kernel, or of the OS. Yes "OS", because an update of the kernel often requires an update of the corresponding user-space programs (lmsensors, libdrm, mesa, X11, libalsa, iptables). If our systems were built upon microkernels and developed with strict boundaries between components it would be much easier to maintain them.

However I think Torvarlds has a point when it says that going down the path of microkernels means turning many low-level problems into IPC problems, most of which are not yet solved or not solved in a way that is compatible (performance-wise) with current hardware. Let's hope research and the brewing libre hardware community will tackle this problem.
Agree. Twitter has been better than Facebook overall. But yes, it has limitations. Recently its pressurized by governments to modify trends, and seemingly it obliges.

Recently blockchain based ideas of twitter (like service) was mooted[1]. I guess we all should work on such apps and get Facebook first, and then twitter to just go obsolete. Reclaim the Internet.

[1] https://medium.com/backchannel/how-bitcoins-blockchain-could...
The Magic Schoolbook O.S. Project
I have about a million of these and similar log entries:

WindowServer: _CGXRemoveWindowFromWindowMovementGroup: window 0x1d is not attached to window 0x4d

My El Capitan installation is fresh. Didn't help. I think reading the logs in OS X since Yosemite, does make OS X feel buggy and it should probably not work as well as it does. :-/
Like it says in the article, the uncanny valley is a large part of it. Your brain gets spooked by things that look almost but not quite right. Like a cat barking, or a face with no features.
Symbolic differentiation is what you learned in school and do by hand. Automatic differentiation is, as far as I understand it, you take your nice function, develop it into a Taylor series around x:

f(x + h) = f(x) + f'(x) h + f''(x) h^2 / 2 + ...

Suppose that f is a really, really nice function (defined and holomorphic in a large enough domain in the complex numbers and a Taylor expansion with real coefficients). The curious thing happens when you think of h as just an indeterminate and you evaluate it, for instance, at i s, where i =sqrt(-1) and s is a tiny number. Then

f(x + is) = f(x) + f'(x) is + f''(x) (-s^2)/2 + ...

Just looking at the imaginary part gives you:

Im(f(x+is))/s = f'(x) + O(s^2).

This means you can compute the derivative with an O(s^2) error just by evaluating at a complex number. The only thing needed was that all operations are implemented not just for real numbers but complex numbers.
Instead of the R-algebra R[i] = C, why not try to use the R-algebra R[ε] and evaluate at ε, where ε is a symbol with ε^2 = 0? Remember, i is also just a symbol with the property i^2 = -1!!!

f(x + ε) = f(x) + f'(x) ε + f''(x) ε^2/2 + ...

Since 0 = ε^2 = ε^3 = ..., all higher order terms vanish and you get

f'(x) = coefficient of ε in f(x + ε).

(Compare with the complex numbers: Im = "coefficient of i" but this time around, there is no error)

Everything that you need is to know how to implement arithmetic operations for numbers in R[ε], e.g.

(a+b ε) + (c + d ε) = (a+c) + (b+d) ε
(a+b ε) (c + d ε) = ac + (ad + bc) ε + bd ε^2 = ac + (ad + bc) ε

A problem occurs when you try to divide by ε. This is simply undefined in R[ε], which, unlike C is not a field. But not all is lost, suppose you want to divide (a + b ε) by (c + d ε), where c is not 0, then

(a+b ε) / (c + d ε) = (a + b ε) (c - d ε) / (c^2 + (-cd + cd) ε) = something with ε in the numerator / c^2,

That is, division by ε only occurs when you divide by 0 in the first place.

To recapitulate: If you have a class DualNumber with overloaded +, -, * , /, ^, you can find the derivative of, say, the fourth-order approximation of e^x at x = 0.5, by computing

DualNumber x = DualNumber(0.5, 1);
DualNumber approx = 1 + x + x^2/2 + x^3/6 + x^4/24;
cout << approx.EpsCoeff() << endl;

(Sorry if this not a good explanation but I've spent too much time on it :P)
Only because it's still illegal to grow it legitimately. How many of those small time farmers will keep doing it (for the money) when the government finally gives out some licenses to farm it commercially and the bulk marihuana price becomes a hundred to a thousand times lower?
Good answers to common patent questions. I'd like to add re: Worldwide Protection, filing a PCT application does provide a system to file a single patent application in over 140 countries, but a PCT application does not give you protection in 140+ countries. A PCT application never issues to patent and you have no protection in any country until you have an issued patent. The advantage of PCT filing is the amount of work to perfect filing rights is minimal, and filing costs greatly reduced as opposed to direct filing in separate countries.

Once PCT application filed, one can then file the PCT application at the national phase in the countries which protection is desired. If a positive examination result is received in the PCT application, the patent examiners in the countries entered nationally are more likely to issue patent.
So what's actually included? A comment here mentioned koa, and there's some kind of ORM, but the README has no information.
New Features in Microsoft Family Safety for Windows 10
My takeaway from the article was that the driver was actively trying to spot the car prior to changing lanes, and because the car remained in their blind spot for an extended period the trucker went ahead and changed lanes only to learn too late that the car was there. I didn't think there was any intent to do harm to the car.

Let me tell you about a personal experience which may help illustrate the problem, and help you be safer when driving your car around trucks. Years ago I was driving a 'cabover' tractor-trailer (the kind with no hood, it's straight down from the front windows to the bunper). I had only five months experience but I was doing pretty good so far. I came up behind a car on a four-lane highway that was going slow, so I started to pass. The car was black and the sun was low and opposite, so as I began to pass and check my mirrors, I made a mental note that the black car riding on blacktop in the shade was harder to see than the other cars further back. No problem, I accelerated more and the car dropped back near my trailer tires. My exit was a couple miles ahead so I wanted to get back over into the slow lane. I looked in the mirrors and the car was gone. I took a long, hard look in the mirrors again and slowed down, in case the car had sped up again and was in my blind spot next to the truck. Nothing. A pickup truck in the slow lane flashed his lights, which is a courtesy signal meaning 'come on back over' that a lot of truckers and work trucks do. I started to change lanes back to the slow lane, nice and slowly, 3-4 seconds of turn signal in advance, and heard tires starting to skid. I held position and scanned all my mirrors again, trying to find where the noise was coming from. I slowed down more. No clue, just a loud skidding noise of tires dragging on pavement. It sounded like a long skid and I was waiting for the impact sound. I thought I'd better get over in the slow lane because someone was in the middle of a huge skid and was going to crash. I completed the lane change and slowed down more, and was horrified to see the black car flop around sideways in front of me, stuck to my bumper. A quick panic stop and I was relieved to see the man inside was fine. The side of his car was all chewed up from the tire lug bolts spinning against his door but he was calm and okay. When the police came he told them he was trying to stay in the shade next to me because he didn't like the low sun in his eyes, and he apologized for 'causing the accident'. It was totally my fault and the police cited me, but they gave me a really minor ticket for some obscure law because of the man's foolish decision. It was 100% my fault but he could have done more to help me avoid him, that's what I was making a genuine effort to do. His speeding up and slowing down to match my speed was dangerous, and you should never do this around trucks. They really can't see you well and there are a lot of other cars around they are trying to keep track of. Hope that helps you avoid an accident in your car some day.
Too add to that, cost of patenting will increase with country you choose to take out a patent in.
Feel free to take a look at mine - https://myyear.co/@mikeaag/2015 :D
Location : UK.

Remote : Yes and/or willing to travel.

Willing to relocate : Yes.

Technologies : C, EC++, low-level middle-ware and OS services development for mobile/consumer devices, Linux, SDLC, Git, *nix systems programming, familiarity with C++11/14, HTML, CSS and JavaScript.

Quick learner, with ability to work on multiple projects and various platforms and technologies.

Résumé : https://careers.stackoverflow.com/ajit_kamat

Email : ajit dot kamat at live dot in
>What previously was a thirty-line function with several indentation levels and intermediate variables that had to be kept in the head is now ten functions, each having a self-documenting specific name.

My gut feeling is this wouldn't pass the unofficial code reviews at my work - too many functions making the code look messy, instead of cleaner.

Does anyone have any counterpoints?
Footage of 101-year-old woman jumping out of car to make snowball goes viral
I tend to rely on the Apple's UI guidelines.

Please explain the OS X iTunes UI to me. It's beyond awful, and it seems to get worse with every update.

If there were a death penalty for bad UI designers, and I were in charge of implementing it, I'd have the iTunes designers first against the wall.

My guess is that iTunes doesn't follow Apple's guidelines?
You can already switch/upgrade graphics drivers without rebooting, thanks to dynamically loaded modules. Just stop X, rmmod the old driver, modprobe the new one, and start X again.
Actually, AltaVista was a good search engine, if you knew how to use it. What Google did was deskill search, so that you got good (or sometimes better) results from very simple queries, rather than complex search strings.
Perfect gift idea
It is everyone's responsibility to do the right thing, but when someone does something wrong, it's completely unacceptable to make a more hazardous situation in response.
I agree that you can split validation parts into separate functions but this is conflating two concerns, for example the rewriting of the guard statement from

guard item.count > 0 else {
throw VendingMachineError.OutOfStock
}

to

if count == 0 {
throw VendingMachineError.OutOfStock
}

only proves that you can refactor the code to not use guard whereas the article starts by talking about small functions, where you could in fact still use guard in this case.
Ian Murdock Last Tweets