skysight-inc/HackerNews huggingface dataset:
For me, killer feature of Chromebook is keyboard layout - standardized throughout lineup, and with all non-essential keys thrown out. Lower row with bare minimum: ctrl, alt, space, alt and ctrl - just plain excellent - clean layout, left ctrl/alt keys are of proper size, making them super-easy to hit with a pinky.

In contrast, on Windows/Mac side of things - desktop keyboard is already bad enough with bottom row cluttered with win(command) repeated twice, plus menu/right-click key (why does this thing even exist?); On laptop, it gets even worse by adding add "fn" and often pgup/pgdn and other clutter to the mix. Then there's question of order in which they all come - is it fn, then ctrl, or other way around? was that alt beside spacebar, or is that win? etc...
Don't give up so easily. According to Marvel[1], Wolverine is only 5'3, but Hugh Jackman played him at 6'2. For me, the most surprising stat from that page is that he weighs 195 lbs without the metal skeleton, and 300lbs with. He must be insanely stocky for that height.

1. http://marvel.com/characters/66/wolverine
Trump suggests leaving WTO over import tax proposal
Another religious article trying to proselytize why the author's new chosen path is The Right Way.

OOP has its benefits, I've been using it judiciously for 20+ years, and I've made an entire career out of it. Functional Programming has its benefits as well, but it also has its drawbacks (gasp!) much like everything else.

There is no One True Way. Nothing is infallible. You write code to solve problems, end of story. Some methodologies make some problems easier to solve, and others made other problems easier to solve. Getting hung up on the religious aspect of coding is entirely masturbatory.
> The database API has an "you want it, you got it!" mentality - if you tell it to add a unique index and MySQL refuses to because existing data is not unique, the API will parse the MySQL error message to identify the duplicated fields/values and delete them silently. You will get your index, but you might no longer have all your data. [0]

Holy shit. Just, holy shit.
all those symbols in haskell aren't really helping, even if the syntax is easy to learn...
You're asking if rubber is considered hard? What type of rubber do you have in mind?
Sorry emails in my bio.
You contradict yourself:

> backward compatibility means your code written in C++98, still works if compiled in C++11

> writing valid C90 (without using // comments), would compile file in C90 and above.

Aye. There's the rub: backwards compatibility is broken by introducing // as int i = 2 //* */2 which is perfectly valid code in C90 evaluates to 1 while 2 in later version. When releasing later versions you are always breaking someones insane code. It's a matter of compromises between breaking 0.00000000001% of the codebase and progress. The number of zeroes in that percentage is of course debatable, see http://www.cl.cam.ac.uk/~pes20/cerberus/notes50-survey-discu... where a number of "Do you know of real code that relies on it?" are answered by ~20% of yes and ~20% of no, that would be crazy. So it is entirely possible the standards committee believes a construct is not used, that'd be crazy but it actually is used.
Unfortunately this is hard to do because (a) insufficient time (b) insufficient number of Scott Aaronsons. I struggle to think of anyone else who can write about science in such an accessible way (without convenient misconceptions and falsehoods).
Oh! Thank you for correcting me on that.

I had based my understanding on images like this one, which is in the article:

https://cdn-images-2.medium.com/max/1800/1*_iqZ21FEdk-A_A0-j...

Which I thought said that everything which is at least as complex as everything in NP was in NP hard.

Thank you for correcting me on that.

Is there a term for "every problem such that being able to solve it in P time would allow you to solve NP problems in P time" (or, whatever is the correct way to phrase that)?
The slideshow issue is significant though. Where are the great FOSS presentation tools like Prezi or that have the polish of Keynote? The most recent PPT is decent.

Trying to do presentations on a Nix machine is a nightmare.
Improving code highlighting on blogs (Tutorial)
Could we perhaps change the click-baity title? Africa is far from borderless. This is just a PR promotion article, with a corresponding title.
I misspoke, I meant like "video visual". But you are right.
> absolutely horrible command-line UX-design, like tar(1) or ps(1) or rsync(1)

how would you improve their design
To me it sounds more like the man is indicating he needs other people to provide support (and motivates them by the story telling techniques he developed). Most introvert men would probably be able to provide for things themselves.
Regarding:

Class Copier
{
Scanner scanner;
Printer printer;
function start() {
printer.start();
}
}

---

Placing a Start() in a PoweredDevice base class doesn't make sense in the real world. There are plenty of "powered devices" that don't have start buttons. A phone, a fish tank pump, a smoke alarm, none have a "start." A powered device should have just that, a PowerOn() and PowerOff() or SetPower(bool isOn). I wouldn't even create a PoweredDevice base class unless you have a reason. This is the main fault in your design.

Scanner.Start() should return a byte[] which is the result of the scan: byte[] Scanner.Start(); A scanner is an input device.

Printer.Start() should take an argument of byte[] as to what it is to print: void Printer.Start(byte[] byteArr); A printer is an output device.

Having said that, your Copier class would look like this:

Class PoweredDevice
{
void SetPower(bool isOn)
{
...
}
// Start() doesn't belong here.
}

Class Copier : PoweredDevice
{

Scanner scanner;
Printer printer;

void override SetPower(bool isOn) {
printer.SetPower(isOn);
scanner.SetPower(isOn);
base.SetPower(isOn);
}

void Start()
{
byte[] document = scanner.Start();
printer.Start(document);
}
}

This can easily be enhanced to handle copy counts:

void Start()
{
byte[] document = scanner.Start();
for (int x = 0; x < copyCount; x++)
printer.Start(document);
}

Ideally you wouldn't even make an inheritable Start() method. The Scanner class would have a byte[] Scan() method and the Printer class would have a Print(byte[] byteArr) method. You're trying to ram a square peg into a round hole. Use inheritance when it is convenient and makes sense to do so. Don't force it. Think, what does a scanner and a printer have in common that works the same, then put that in your base class. A power button is about it.

A lot of inheritance is done backwards. You make your classes then find commonalities and put that in your base class. Only create a base class first if you've thought about your object model and you know the commonalities.

Also, there is no reason to make your inheritance chain deep, just because. Build your objects in a way that makes sense. Don't write code or base objects you will never use. You can always insert a class in the chain when necessary.

Mastering OOP is hard, and people who have mastered it get paid a lot of money for their skill. It took me a few years to really understand how to design with it. It's invaluable though. A good object model is a thing of beauty, and a hell of a lot of fun to design.

Edit: I don't know why the editor won't keep the CR's.
All that stuff you're talking about results in an increase in responsibility and labor for you. You have to handle your sushi chef and trainers. You have to second-guess the value in working on your interests when they do not benefit anyone. You have to watch some of those college students squander your money or accuse you of having an agenda.

In short, the more money you have, the more politics you have to engage in, and that doesn't always translate to increased happiness for you.
My impression of react is that it's very object oriented. Defining reusable, stateful components is classic OO design. Now, I don't have much experience with React so maybe someone can explain why it should be considered "functional".
> If you want to initiate an OTR session with your friend on an iPhone, you have to wait for them to pull the device out of their pocket and physically tap the notification

Is it still the case? I have never wrote code for iOS, but believe I heard this was the limitation only for very old versions and was solved quite a long time ago, with introduction of "silent" pushes (or whatever they call it, when there's no notification message but only a data transfer that wakes up the application). Should work unless the user had force-quit the app, in which case iOS won't start it.

> so if you want the benefits of forward secrecy, you have to "end" your OTR session after each conversation

[edit/upd some minutes later] I'm confused now. If full system state (incl. long-term keys) is compromised, the whole system isn't secure anymore, no matter how many times it's rekeyed. And if only ephemeral keys (but not long-term ones) are compromised, won't OTR "heal" itself after a few messages, so FS property remains?

I was misunderstanding OTR - I had assumed "ending" the conversation is required for deniability (by disclosing the MAC keys so anyone can forge the messages later), and encryption keys are changing as the conversation goes.

> You can do this today if you want to

In theory, yes, I suppose so. In practice, I've looked for a libpurple patch/fork with SP OTR-like overlay support, but haven't found any.

> but what's the point when Signal Protocol is being baked into the messaging services themselves

The problem is some popular services (e.g. Skype or Telegram) won't bake SP in. And a lot of users are there and aren't switching. The only viable short-term scenario is to ask them to layer the encryption (in my experience, there's way less resistance than when asking everyone to hop to another network) until the platform dies or otherwise becomes uncool.
But cuDNN itself is faster than those frameworks, so they are doing something to slow themselves down, and my statement stands.
Book? I got nuthin'.

Podcast however, there's "Writing Excuses". I've been listening for years. Totally amazing depth and breadth, hundreds of episodes covering all aspects of storytelling and authorship.
Here's more analysis of the impact of Africa's existing borders:

http://m.mgafrica.com/article/2015-01-09-africas-real-border...
Higher Algebra by Hall and Knight
Yahoo sold to US telecoms giant Verizon
ReactComponent are also very OO, just the render function is functional
Man pages are written (ideally) as the authoritative reference on your system, where you can go to find information. That sort of thing needs to exist somewhere, it has a clear use case.

An ideal man page is concise, informative, and complete. Learning to read them is like learning to read scientific literature: a pain, but once you figure it out, you're at a higher level.
According to the article:

> Nkosazana Dlamini Zuma says that the body has agreed “to create the conditions for member states to issue the passport to their citizens, within their national policies, as and when they are ready.”

In the article that the Smithsonian refers to:

> That's only two years away, and lately the AU has been citing 2020 as the new start date for visa-free African travel.

So far it's "they have cited 2020" which is quite a bit different from an actual statement that says that the goal is 2020 (I've yet to find that one). I've also not been able to find anything around members of the AU having committed to such or any date.

Considering that in the speech mentioned in the article that was submitted they say "as and when they are ready." I would be surprised this would happen this quickly. It would be awesome if it did though.
So the current worry is an electromagnetic pulse? [1]

The "prepper" version of this usually confuses an actual EMP attack (which requires an atomic bomb) and solar magnetic disturbances. They're totally different. An electromagnetic pulse is a big RF pulse with a rise time in nanoseconds. A solar magnetic disturbance results in DC currents being induced into the ground over a period of hours.

An EMP attack is a threat, but if someone is firing atomic bombs at you, you have a bigger problem. That's the military view. It's mostly a threat to things which have long wires attached to them. Mobile devices are too small to be affected. It also doesn't affect fiber optics.

A solar magnetic disturbance is mostly a problem for AC long-distance power transmission on circuits which use a ground reference. This is a big problem for power grids, and they have ways to deal with them. There was a big event in 1989 which caused a blackout.[2] It appears as DC in AC circuits, causing partial transformer saturation. If this isn't detected, it can cause transformer overheating and burnout. But the big grids have detection for this, and reduce power levels in some transformers when necessary. This happens at a low level a few times every year.

[1] http://americanpreppersnetwork.com/2016/07/emp-electromagnet...
[2] http://www.pjm.com/~/media/training/nerc-certifications/re6-...
I think that touches on one of the problems with hiring in tech. People tend to think things they learned earlier chronologically are simpler or more fundamental and necessary building blocks in order to be competent at the things they learned later. So we have programmers with CS backgrounds rejecting programmers without who would be perfectly capable of doing a particular programming job because they get tripped up on some algorithm or data-structure quiz that has no relation to what they'd actually be doing on the job (and could be quickly learned if and when it did).
Golang came from the systems programming world, not the Theory B world. In this regard it's similar to C or Java. If you want a language that came from the Theory B world, try Haskell.
Thanks for running such a tight ship and keeping HN, well... HN
In other literature the answer to inheiratance is "composition" or "components" rather than "delegate and contain." A nitpick, but I think it better captures the meaning of the method.

Bob Nystrom wrote a very good chapter on composition in his Game Programming Patterns book [1] and is worth reading if you want to program in the OO paradigm.

[1] http://gameprogrammingpatterns.com/component.html
Neil Young’s Pono Music will be offline for ‘several weeks’
tbh, I found this much more confusing to read than normal biology papers.
Looong time ago, as a recent graduate I had my ideal job doing research at the university, It was challenging, lots of fun and actually paid quite good.. (~$60K from 20 years ago) then I got the offer to join a new hot .COM, doing a boring, meaningless (technical sales support) job for four years and then not have to work for the rest of my life!

Two years after, with close to a million bucks on stock options, the whole market crashed and left me (Financially) about where I would he been, had I not left at all..

Would I do it again? Sure!.. Why? The experience made me much more marketable for higher paid positions from there on..

Work is work.. Not life. Go to work to make money, so then you can get out of work and do what ever you truly love to do..
Many out there that scale like Kafka, so surely you can name some?

Yes, zookeeper is a turd, but it's a battle tested turd. Distributed systems aren't easy to get right.
Why Many Smart Contract Use Cases Are Simply Impossible
It makes me wonder... would you be better off being heterogeneous group of states? That way you can accept your differences right away, and move on towards a common goal (economic union).

When homogeneous its almost as if you have to look for some artificial differences (nit picking) to avoid admitting your similarities... "oh, no... we are not like them... we are different", and then subscribe to a union for the greater good (like an EU). And probably after getting a lot of unicorn concessions.

I see the India model as being what Africa might end up getting. Many Indian states have their own distinct language, and often culture (food, etc). However India has a common currency. The easy part for India was that the states were defacto 'inherited into the union' at independence. For Africa it is going to be a 'subscribe into the economic union' with a lot of nationalistic arguments that are going to come into play.

I am hoping a group of mostly stable countries band together and make it happen first. My founders list would be Namibia, Botswana, Angola, Zambia, Malawi, Mozambique, Tanzania, and Kenya. A nice list stretching from the Atlantic to the Indian Ocean. These are moderate names, not often in the news and stable for the most part. If South Africa would join that would be a big win... but I am hoping one of the smaller countries takes leadership initially.
Did I miss something, or is my reading comprehension failing me? It seems like the author's reason for switching platforms, and ultimately a lot of hardware (remote speakers, phone), because they sometimes can't find their files? And that it sometimes feels faster.
you can use twitchls.com to see pure html5 twitch (I use it from linux)
That statement is true of NP-complete; if you can solve any NP-complete problem in P time, then you can solve every NP-hard problem in P time.
The Canada-US border is straight for the same reason many African borders are straight, actually. It was also drawn by foreign colonialists who neither lived in the area nor cared about the opinion of the people who did live there.
Let me get ti straight. It sounds a lot like P=NP means, there are no computer algorithms with O(n^k)? Trying to simplify the explanation might be just as impossible. Obviously I have no clue.

Are there other complexity classes that were shown to be non existent in deterministic machines?
You should write a blog post about that.
You're making the assumption that the additional features slowing down the service aren't adding value.

More common is a "death by 1000 cuts" scenario where the various causes of slowness are apparent to the developers, but quite difficult to remove because they've become necessary to the continued success of the business.
React is an interesting mix of functional and OO. It's OO, in that the primary approach for defining components is class-based, and components have state and lifecycles. It's functional, in that the render methods are expected to be pure functions based on component state and props, and simply output a description of what the UI should look like as a result. Also, as a whole, React definitely pushes you to view the system in terms of composition, state transformations, and pure functions, rather than imperative "toggle this, add that, update the other thing".
GalliumOS irritates me because to read their marketing copy, ARM Chromebooks don't exist, and I own an ARM Chromebook and would dearly like a normal Linux OS finetuned for it. I get that it's not their fault and ARM is a different beast, but it wouldn't kill them to add the word "Intel" to their front page, to spare others the disappointment I experienced.
The article does not support your claim. In fact, quoting from the second paragraph:

[I]n 23 states, state and local governments are together spending less per pupil in the poorest school districts than they are in the most affluent school districts.

As the graphic farther down shows, only in about half the states do students in poorer districts get more money; only in 7 states do they get more by more than 5%, and only in two states is the difference more than 10%. Those numbers strike me as piddling, frankly; 50% would be more like it, and 100% might not be too much.
If someone could just take the time to go back and flag all of my comments it would really help. Thanks.
:)
https://notalotofpeopleknowthat.wordpress.com/2016/07/21/ant...
You know its going to be pure garbage when the title is 'Doing X makes you happy!! '.

Fuck these studies that can never be reproduced even under the exact circumstances. These charlatans continue to be allocated funds instead of going to jail; despite being exposed as frauds countless times.

Just because reading stuff like this gives us good vibes doesn't mean we should continue wasting money on these "studies". Time to say enough is enough and put these "professors" behind bars for wasting public money.

This pointless scientific approach to human behavior and society has distracted us from any genuine discussion about our own internal and external conflicts . A Human being to these people is a machine which when given input X produces output Y.

Why do we continue to accept this?
Not to be (too) pedantic about it, but

St Barts and St Martin are not overseas departments of France. They used to be part of the Guadeloupe overseas department, but seceded to be a "collectivite d'outremer" (overseas collectivity), which is different status than overseas department or overseas territory (France also has a few of those). St Barts (really "Saint Barthelemy") and St Martin not collect income tax locally and it goes to their budget (I think they wanted to stop shipping all their monies to the French state and/or Guadeloupe).
WHY DID GOOGLE ERASE DENNIS COOPER’S BELoveD LITERARY BLOG?
If Eventual Consistency Seems Hard, Wait Till You Try MVCC (2014)
Gallons per hour would be a better analogy.
I studied under the author of this book [1] and I can anecdotally say that I finished with a very strong understanding of the subject. Learning linear algebra and being able to whip out some of the less common theorems has been very valuable to me as someone who uses numpy, pandas and tensorflow regularly.

[1]: https://www.amazon.com/Linear-Algebra-Applications-Otto-Bret...
The bone is a living organ coating it with stuff can kill it.

I think there was a darpa paper about surrounding bones with carbon nano tube meshes that would renforce them, prevent or reduce shattering and could be used as an internal cast with minimal fixture but I hope we never get to that point.
Scanner and Printer can be made interfaces, then Copier can hold reference to IScanner and IPrinter, it doesn't have to care about their concrete implementations, as long as it's something that has a scan() method and print() method, for all the copier cares it doesn't have to be a powered device at all, it could be a cloud printer and a scanner located 1000 miles away.
Rabbitmq, perfectly fine message bus in pretty much all use cases. Easier to operate and maintain without any extra dependencies and much simpler failure modes. A few more: zeromq, sqs, hornetq, nats, nsq, etc. Any one of those will most certainly fulfill whatever use case you have.

The point being kafka has a very heavy operational overhead and you better understand what you are getting into and what bargain you're making for the scalability you mention.
But an NDA can't prevent a company from turning over their backup data to the authorities when presented with a legitimate warrant from a court.
That's nice!

Turns out, biologists (many kinds of scientists probably) are in need of computer modelling, information retrieval and so on. Naturally it gives opportunity to us IT folks, even without terribly much scientific background.

I've co-authored a biology paper too. Here is the resulting code: https://github.com/alamar/microbe
They can't produce a bug-free version of their game, already. Why would they start implementing automated systems to ban people?
Indent it with 4 spaces to make HN recognize it as a code block.
Verizon to Pay $4.8B for Yahoo’s Core Business
Dr Craig Wright lodges 51 blockchain patents with UK IP office
Peter Thiel’s Heroic Political Fantasies