skysight-inc/HackerNews huggingface dataset:
(disclaimer: I haven't watched the talk yet, this is just branching off of Animats's comment)

One thing I wonder, and which I don't know enough about containers to answer myself, is:

Let's say I have a bunch of containers which share most of their system packages, but which each have some extra per-container state (possibly packages, possibly just application data). Suppose I decide to build one read-only image for the common data, along with one smaller, read-write overlay per container.

As I understand it, when you run multiple copies of a program on a system not using containers, read-only parts (eg, the .text sections of the executable and of any shared libraries) are only loaded into memory once. Would this behaviour carry over to multiple containers using the above setup?

If so, that seems like it would accomplish most of the memory usage reduction for this case, without needing explicit memory deduplication. Of course, this won't fit all use cases, but is it a viable option?
Who said the devs have access to the production systems? :) You can still lose valuable information with the loss of a testing server.

But you're acting as if you know which dev is the one who is going to do 'it'. I'd rather have a firewall that is largely set-and-forget than keep tabs on teams of devs that go through hiring cycles. There's already enough for ops folks to do without having to psychologically evaluate developers... besides, I've been through a few devs who agree sincerely not to do $bad_thing, and then caught them a few days/weeks/months later doing it again.

It's sad, really. I'm not even a security zealot, but I have overheard the folks in my small company tell each other not to let me know that they've signed up to a SaaS with a weak password (company name + digit).
A Selection of the 30 Most Disappointing Under 30
Miniature brain and skull found inside 16-year-old girl’s ovary
If you're processing an HTML form then 'name' could be the form name attribute, the input element name attribute, the person's name, the person's username, the person's identifier within the application or database, and so on. Try reading some badly written PHP form handling code where the logic and the HTML are in the same script and you see this precise problem.
You should use a lower gear going downhill
You can check the source code of the script.

You can not check the source code of windows.

Who of those could have something to hide?
Stop thinking literally, and instead think of the concept. A king is a male monarch. So remove the male, and you have monarch. Add female and you have female monarch = queen.

Similarly with woman + person, the concept of woman is femininity. It makes sense if you think in terms of concepts.
I know you don't work at $dayjob because the last commit would be "fix X test which is dumb", which removes the test entirely.
Finding a Libc for tiny embedded ARM systems
Did you consider or try ExtFS via FUSE? Did you consider to upgrade your FS to AFS (Apple's File System, the successor of HFS+)? What about disk encryption? Did you use e.g. VeraCrypt? Did you consider using the SD card or USB stick on your Mac?
Not going to court summons was your $100k mistake.
Because it breaks the doctrine of mutually assured destruction. If China loses the ability to effectively retaliate against a hypothetical US nuclear strike, it loses its superpower status.
The regular expression syntax; sigils on (some) variables; shortcuts like `bar if foo`; optional parenthesis on function calls; `chomp()` and `chop()`; those are just a few things that come to mind.
If one party in a standoff think they have a chance to survive/win they may turn aggressive.
(not the author)

> probably the JVM will get in your way

Not so much the JVM, but Clojure and how it uses the JVM (although, as you say, it's possible to get not too far from top JVM performance with Clojure). It's fairly easy to get C performance (and even beat it in concurrent code) for the same amount of effort on the JVM. Currently, the main handicap the JVM has is the lack of arrays-of-structs which may cause lots of cache-misses, and requires less-than-elegant code to overcome. This, thankfully, is being addressed by the addition of value types.
Virtual DOMs are used to make the rerender-everything-all-the-time approach acceptably fast, which is desirable since that approach tends to lead to nice UI code with few state related bugs. Still, this is a pretty costly way to update the UI, as the virtual DOM causes a lot of memory churn.
I found I mistook some modern art for toddler art but 0 toddler art for modern art. Once you get a halfway decent eye for composition, you can clearly see where some skill and training is required to achieve a certain result.
Well isn't that true of all abstractions? They give us tools that we couldn't use before, and some of those tools don't make sense. I mean, in real physics it doesn't make sense to add different dimensions, eg time and distance, but math lets us do that, because they are 'just numbers'. We need to know that dimensions can only be multiplied and divided, and dimensional analysis needs to be done afterwards to check the unit of the result.

However, something like the dot-product here does make sense, since you can use it to determine similarities of vectors.
> as long as you put the right type hints everywhere.

I'm a novice Clojure programmer and haven't previously heard of this. Can you please elaborate?
What an odd assumption to make.
This was solved long ago: https://access.redhat.com/documentation/en-US/Red_Hat_Develo...
Yeah, if Nokia were to produce a Lumia 920 styled phone with Maemo and support for newer band plans (B12/B66, etc), it would sell well. Cloning the iPhone won't take you very far when its on the decline, but making a phone that is enjoyable to hold in your hand, running a solid OS will make $$$, especially with the fit and finish Nokia can bring to the table.
Check the REPL and compare the input to the output: https://svelte.technology/repl
Condom Fish
For complex numbers it usually means the modulus of z is larger than zero.
Regarding the tools, I recognize two-third of the tools from my web security class. So there are places where you can learn this.
> Truth is, we all have these tales. We've all made these "blunders".

Why are you so sure of this? Don't you think it is possible others have been smarter and have avoided making these kinds of mistakes?
Vinci and Bouygues, two french companies in the construction business with a long history of corruption all over the world including Russia (qatar, turkmenistan, french pentagon, cambodia airports, notre dames des landes, ... just to cite a few of the most recent). Both have ties with previous France president and have pointed for shady practices from illegal construction to use of migrant as slaves and forced labour.

The attribution of the sarcophagus contract to those two was suspicious at the times. It's not unheard of in Vinci and Bouygues cases that whistleblowers and witness tend to die or be sued into oblivion using SLAPPs. AFAIK no one came forward to speak and the deal went on.

Seems to be a nice engineering work though, sadly it funnels money to rich family with poor ethics and practices.
And the new Swiss Francs, which I find the most beautifully designed notes I have ever seen. Some of the following notes are not out yet, Switzerland has been replacing the old notes slowly for the last couple of years.

I wasn't able to find an image of all the notes, here is the new 50 franc note:

http://www.snb.ch/n/mmr/picture/3a29e64cf82f471d00257f8d0021...
Your anecdotes seem scary. So anyone can get away with reckless driving?

Over here the owner of the car needs to identify the driver. If that person refuses to do that/cannot do that, they might be required to have a "journal" (think: like a cab) for each and every ride with the car..
(defn [o n] (.write o n)) will have to look up the .write method by doing reflection on o & n at runtime, which is really slow.

(defn [^WriteInterface o ^long n] (.write o n)) can be much faster because the compiler knows the type of o & n.
I wonder if it still would work in Android 7, with the new restrictions that kill any application that tries to link to non public NDK libraries.
It makes more sense to sort of factorise each thing into its different components. King is a masculine monarch. Man is a masculine person. Queen and woman are the feminine equivalents.

So king + woman = queen + man is better described as:

Masculine monarch feminine person = feminine monarch masculine person

A bit of reordering of adjectives and it is exactly the same. Even monarch is the wrong word, because you seem to be getting hung up on nouns, when these are all actually a bunch of chained adjectives. Perhaps "regality + nobility + rulery". English is a bad language to describe this, because we tend to noun and verb our adjectives regularly.
Perhaps. Maybe even a mistaken one. What's great I think is that people can discuss things and figure out why it is they might have some disagreement, and learn that there might not actually be one, perhaps only due to a misunderstanding.
If we truely have high-level terrorists crossing borders, then yes, every person's identity should be checked against national police files and thus, when Internet is down, every decision should be suspended, if we want to be consistent.

Obviously I say "if" because those who actually want to deceive the system walk through borders by foot (taking advantage of the terrain), and register as migrants (under no less than 14 identities for one person - that's what happened for the last terrorist in Europe). Heightened passport security rules are great, but they mostly catch citizen who thought they were law-abiding, while it's much, much harder to deal with real criminality.
Primitive in terms of UX where?
Short version: put :warn-on-reflection in your leiningen file, And then add type hints (google them) to reduce the warnings to zero.

There's no reason the average Clojure project ever need be using reflection for dispatch.
S. Korea is also a democracy. The regime is highly suspicious of any foreign culture which might make people more interested in control of their own government.
It is a bad thing, since while it usually is easy to avoid self-asphyxiation, when given enough rope to hang themselves people invariably use it.

When I've had to read/bugfix/adapt Perl code, most of the time all the bad things people say about Perl were there, that's just the way how the world works, that's how people are.

The same applies for other languages. Get a task for maintaining random C code, you will have to fix memory handling problems; get a task for maintaining random JavaEJB code and you will invariably see unreasonable extra layers of indirection added; get a task for maintaining random Perl code, and you will have readability problems.

For maintainability, you want something that prevents people from tying all sorts of interesting knots whenever standard, idiomatic solutions can be used.
It's not going to be easy, I agree. Matching hand-optimized hand-written code written by experts is not realistic for single primitives, of course. But getting close may be. It's all about programming at a high enough level that the compiler doesn't have to think too hard about what the program means, so that it can instead spend its time worrying about how to express that in the machine code of the target platform.

Imperative languages are probably hopeless, but declarative languages may work. Functional languages in its current popular incarnations is about as hard to compile intelligently as imperative code, but I think that functional array programming (where bulk operations are primitives) show promise. Consider computing the average of every row of an n*m matrix 'a' (a 2D array). In Haskell-ish syntax, we would write this as:

map (map (/m)) (map sum a)

Now the compiler really only has to figure out two high-level things: how to apply a function (division by 'm') to every element of an array, and how to sum equally-sized segments of an array. Summing is again an instance of a more primitive bulk operation, reduction, which is parallel in theory, and has known efficient parallel implementations on most hardware. It's also possible to do some fusion for this small example, but my point is that we will need a programming model where the individual statement or expression works at a much higher level, and has much stronger properties, than in most current languages. You still need to teach the compiler about each specific hardware platform you want to target, of course (possibly by automatic learning or autotuning, as in http://www.lift-project.org/ ).
Surname is only seven letters and it doesn't suffer those problems
This technology will eventually be used by those in power to easily kidnap or kill targets via remote commands. Fake news will dismiss the accidents as malfunction.

Driving as a whole is safe now because everyone knows the stakes. If you screw up, you die. Computers don't care if you die, nor if they themselves are destroyed.

I don't look forward to a world where one Bluetooth RCE worm can kill tens of millions of people in 24 hours.
I tried tracing Bitcoin transactions once. Not being a security professional in any way, you should take my opinion with a grain of salt, but what I found was that if you send the coins through a mixer, it's probably impossible to figure out where they went afterwards. There's just way to many ways to obfuscate where they ultimately end up, with even a bit of effort. With proper precautions, I would not expect to be tracked down through the coins themselves.
Cryptanalysis with Reasoning Systems
i get 10 hours of battery life on my xps, and i get 8 on my libreboot x200.

Battery on linux if perfectly fine.
https://news.ycombinator.com/newsguidelines.html

Please don't post on HN to ask or tell us something (e.g. to ask us
questions about Y Combinator, or to ask or complain about moderation).
If you want to say something to us, please send it to hn@ycombinator.com.

But the title of the talk is actually "Bootstraping [sic] a slightly more secure laptop." Look at the first slide.
The word is"brake"...
"hackers have now hit around 10,500 MongoDB servers. That's about 25% of all MongoDB databases accessible via the Internet. The attacks don't target all MongoDB databases, but only those left accessible via the Internet and without a password on the administrator account."

25% of mongodb installs externally accessible lack a fucking password on the admin account.

They deserve it. Maybe it will teach them something.
This is definitely a problem when you mix different semantic concerns in one level of code.

Doctor, it hurts when ...
This Was 2016: Self-Tracking Over Past Year
Shaking things often fixes problems. This reminds me of the following story:

> [O]ne of the earliest [applications] of dither came in World War II. Airplane bombers used mechanical computers to perform navigation and bomb trajectory calculations. Curiously, these computers (boxes filled with hundreds of gears and cogs) performed more accurately when flying on board the aircraft, and less well on ground. Engineers realized that the vibration from the aircraft reduced the error from sticky moving parts. Instead of moving in short jerks, they moved more continuously. Small vibrating motors were built into the computers, and their vibration was called dither from the Middle English verb "didderen," meaning "to tremble." Today, when you tap a mechanical meter to increase its accuracy, you are applying dither, and modern dictionaries define dither as a highly nervous, confused, or agitated state. In minute quantities, dither successfully makes a digitization system a little more analog in the good sense of the word.

— Ken Pohlmann, Principles of Digital Audio
Show HN: Ad-block-promoting URL shortener
Agree -- people are missing the point that this stuff would easily take over an hour to do manually in the GUI.
It looks like you did have quite a few different cases to deal with, then, as well as the migration from an existing system? If so, that's pretty much what I meant by "relatively complicated requirements" and I assume would explain the difference in time and code volume compared to the greenfield implementation we did. I imagine most early start-ups would have less challenging requirements than yours for any payment platform integration, though.
I believe there is such a thing as the king-consort.
Hey! You're right, we have 4 open positions on Angel List: https://angel.co/doctrine-/jobs

[Disclaimer: Cofounder here ;)]
Rise of DevOps? Perl the hero? DevOps was a big deal some years ago but it has since been heavily criticized. You could have said DevOps was on the rise in 2009 but that's hardly so today.

https://techcrunch.com/2016/04/07/devops-is-dead-long-live-d...

https://lionfacelemonface.wordpress.com/2015/03/08/devops-is...
Do they have plans to fix whats below? "Elephants foot".
Correct, a lot of the average application-level code you see in the wild does not have to worry about this. If we're talking about things like load-balancers or databases or endpoints/functions that will be hit 1000s of times per second - then it's a diff. conversation.
When someone cites TIOBE as evidence for anything God kills a kitten.
But that requires there to be 3D printers in place; designed, manufactured and connected to the universe simulator, by whomever it is that created this infrastructure, with the intention of allowing "real" objects to be created from within the simulator and provided (in a way) a public API for it.

There is also the fact that we can't use 3D printers to create "perfect" or generic objects.
There is a simple test. Grab a random piece of Perl code and try to read it.
its a fair point, I have pondered just spending a couple thousand on dollar-a-minute live programming assistance, and then just creating my own course. I still think that's a really good route.

In the end though, if you value the in-person instruction that of course is hard to replace. I'm really glad I did them, if I wanted to jump into another brand new area of study I would consider it again.
Celular com sensor de impressões digitais e 3GB de memória RAM Galaxy J7 Prime
Hmm - thanks for the clarification. It must be something in our setups then, I will check further. Just to confirm - it works OK in your case for brand new monthly subscriptions where a coupon is applied at the point of sign up?
If you build any sort of deployment tools in perl today, the next guy who has to maintain them is going to curse your name forever.
Yup, the JVM is something that people (esp. startups & new-co's) are, all things being equal, vastly underusing or over-complaining about :).

Before I started doing Clojure the JVM ecosystem was this "scary" thing but 4 years later I've learned to appreciate it a lot - stable AND sound libraries, high performance out-of-the box, and very,very high performance if you really need it.
Currently China's nuclear strike doctrine is "no first strike". To be clear, this means that China won't launch first, even in the case of a warning of a nuclear strike[1].

This isn't the same as the US or Russian policy (since 1993), which both retain the policy option of preemtive strikes.

Tools like THAAD reduce China's ability to present a credible second-strike, which has led them to object extremely strenuously to it.

Partially because of THAAD it seems that China is considering changing their doctrine[2]. This would be unfortunate, and it seems likely that there are many in the Chinese government who would prefer not to have to do that. If they could get THAAD deployment in Korea cancelled it would be likely to strengthen their hand.

[1] https://en.wikipedia.org/wiki/No_first_use

[2] http://thediplomat.com/2016/02/is-china-considering-a-high-r...
Requiring an xrandr invocation equals to having issues. Perhaps it's a small problem, perhaps it's a very easy problem, but it definitely is a problem.

Not having issues means that you arrive at the hardware (which you may have never seen, e.g. at a customer's site), plug the wires, and it works immediately.

More importantly, not having issues means that you can rely on being able to just plug the wires and have it work, and that you don't have a risk of being unable to make it work immediately even if you forget the right invocations and are offline and can't look them up.
Naming is a social problem, and there's a strong risk of correlation with hidden social variables in any empirical study, while any non-empirical study is suspect because humans are what counts.

In particular the most likely explanation for correlation between bad names and bad code is unskilled or inexperienced programmers. This needs to be controlled for.

My personal observation is that well-factored code can use shorter identifiers because it deals with fewer concerns. Long identifiers frequently indicate muddy thinking that mixes concepts, where the identifiers are burdened with disambiguation.

Further, in languages with particularly verbose identifiers (Java especially), it can get hard to see the wood for the trees: the density of text obscures code and data flow in the program. There's a similar argument to be made about the tradeoff between symbolic operators and textual operators: the more frequently they're used in a domain, the better they're represented by a symbol. Symbols, of course, are especially short identifiers.
We used a two stroke atv. My father would go to the store (2km) and come back, no problem. I would go to get water from a spring (7km) and the engine would just die after about 4km. It turns out that the gas mixture was too light and the engine was overheating, but only after 4km of continuous run.
Ok this is a true story, and i still cannot explain it. But i will tell you anyhow.

We had a small clock that we kept in the closet. When you got up in the morning to get your clothes you could also see the time of day. In a quiet night, you could hear it ticking away.

One night it stopped ticking.

In the morning, we opened the closet to see if the battery had died. We gave it a good 3 seconds to make sure the needle wouldn't move, ... It did. It started ticking away.

The night that followed we stayed quiet and listened. It was quiet. So battery first thing in the morning. Morning came, we opened the closet door. 3 seconds later, it ticked. That was odd.

In the middle of the day we came to the closet, opened the door, the needle was still. Some seconds passed, the little clock started ticking.

Now it became knowledge in the whole family. We were kids so we would take it for a game. From time to time we would just stop talking and listen and hear nothing, we open the closet the clock is still, then it starts suddenly. We called it a ghost.

Years went by, new batteries were put in place, the clock still behaved the same. Everytime you started looking at it, it would start ticking.

It became a boring thing. No one cared about the little clock any more. I would open the closet, see it still, take my stuff and close it and it wouldn't even tick. But then i open it back up and it starts ticking two seconds later. Meh.

Then i had an idea. It was an idea so crazy that i was scared to try. I consulted with my brothers their eyes grew wide... So we did it... We removed the battery from the clock and closed the door.

Thr next morning was quiet. We were getting ready to go to school. All three of us stood in front of the closet door. Ready to see what was going to happen. My older brother opened the door. And the clock was there, quiet.

One second passed. I was afraid of what was going to happen. Two seconds passed. Lord please... Three ... Tick.
I think I heard that the long term plan is to remove all material from the reactor. But I don't when and most importantly, I don't think anyone has a clue on how to remove the material from the reactor.
It's not a bad article, but I do take exception to:

On 26 April 1986, the fourth reactor at the Chernobyl nuclear power plant exploded during a routine stress test.

… which is emphatically not what happened!
Iranian Group OilRig is back and delivers digitally signed malware