skysight-inc/HackerNews huggingface dataset:
Abstractions are important as they reduce complexity, and simplify operations.

...but only when used correctly. Abstraction is a means to an end, not the end itself. Unfortunately, years of CS education seem to have taught most people that it's the other way around, causing massive increases in design complexity that are only justified by dogmatic adherence to "more abstraction is better". Some programming language communities are more disposed to this effect than others (e.g. Java.)

Correct application of abstraction is not common in mainstream software, and rather difficult to describe, but the simplicity and clarity is unmistakable when one encounters it. The occasional articles on HN about seemingly impossibly tiny programs are good examples.

This article is a bit "X considered harmful" reactionary but I see their point - often, software today is on the side of far too much abstraction.
There's nothing wrong with Amazon's system, these people are committing fraud, it's illegal to submit a paid review without disclosing that the reviewer has been compensated.[0][1][2]

... The Guides, at their core, reflect the basic truth-in-advertising
principle that endorsements must be honest and not misleading. ...

In addition, the Guides say if there's a connection between an
endorser and the marketer that consumers would not expect and it would
affect how consumers evaluate the endorsement, that connection should
be disclosed...

OTHER THINGS FOR ENDORSERS TO KNOW

Besides disclosing my relationship with the company whose product I'm endorsing,
what are the essential things I need to know about endorsements?

The most important principle is that an endorsement has to represent
the accurate experience and opinion of the endorser:

You can't talk about your experience with a product if you haven't tried it.

If you were paid to try a product and you thought it was terrible,
you can't say it's terrific.

Amazon's terms also forbid paid reviews [3]

Who can create customer reviews?

Anyone who has purchased items from Amazon.com. All we ask is that you
follow a few simple rules (see "What's not allowed" below).

...

What's not allowed

...

Reviews written for any form of compensation other than a free copy of
the product. This includes reviews that are a part of a paid publicity
package

The comment I responded to said that the manufacturers may not have known. I simply pointed out the fact that, as stated in the complaint, some reviewers arranged to receive empty boxes so their reviews would appear to have come from a "verified" purchaser.

Amazon doesn't ship a lot of the items listed, many are merchant-fulfilled. Apparently some merchants were soliciting paid reviews and conspiring with those reviewers (by shipping empty boxes so there's a trackable package) to give those reviews more legitimacy. Again, without disclosure, that is illegal and against Amazon's terms.

The ability to have a 5-day, free download promotion is great for new kindle authors; it gives them a chance to receive legitimate reviews for their work. That doesn't translate to a problem with the system, rather a problem with some of the people using the system. That's what Amazon is trying to correct.

"Amazon mistakes mislead customers."

Victim blaming?

I don't even know how to respond to that statement because it makes no sense. Are you saying that it's Amazon's fault that people are mislead (by illegal reviews) because they provide a review mechanism? If so, that's absurd.

[0] https://www.ftc.gov/tips-advice/business-center/guidance/ftc...

[1] https://www.ftc.gov/news-events/media-resources/truth-advert...

[2] (pdf) http://www.ftc.gov/sites/default/files/attachments/press-rel...

[3] http://www.amazon.com/gp/community-help/customer-reviews-gui...
The question remains if companies and developers value or care about the flexibility of creating "page table rules".

For highly scalable systems, the perf trade-off is just a matter of spinning up more VMs.

The higher-order benefit is you can expect your operating system and VM to behave the same, no matter what
From the Wikipedia page, it looks like Rotterdam had 36,315 vessel arrivals in 2008 while Oakland had only 1,928. Is this comparison really apples to apples? They point out the difference in tonnage, but I'm just wondering if there isn't a better comparison to be made.

https://en.wikipedia.org/wiki/Port_of_Rotterdam
https://en.wikipedia.org/wiki/Port_of_Oakland
LOL

That reminds me of an old classic:
http://craphound.com/spamsolutions.txt

There are a lot of obvious problems with email.

* It's hard to run your own mail server, as described in the original post

* Your address is tied to your provider

* The standards involved in delivering mail (SMTP, POP, IMAP, etc) are complex, layered with hacks (SPF, STARTTLS, etc), hard to implement correctly, hard to secure.

* The standards that govern the actual body of email (multipart MIME, a 90s-vintage subset of "HTML" and "CSS") are even worse

But despite all those flaws, email is built on ubiquitous open standards running on a federated infrastructure.

It's the best thing we have.

Proprietary standards and centralized designs like AIM, ICQ, MSN, FB Messenger, Slack, and Twitter DMs come and go.

Email is forever, and is more useful than all of those combined. The flipside is that it's very hard to "fix".
Neonto is a prototyping-oriented GUI tool that generates iOS and Android code:

http://neonto.com

The code generation is tailored for each platform, so there's no common framework or other library dependencies in the generated project files. Instead the generated code uses the native stuff directly. On iOS that means you get UIViewControllers, UINavigationControllers, UIPageControls etc. Likewise on Android the native equivalents.
Do you actually believe that this is the way the world works?

Super curious if you do or if... https://xkcd.com/6/
It's hard to say with that mess of config fragments but having the mod_proxy_connect module loaded was probably the culprit.
Funny you mention that. When I was a teenager I earned pocket money by running cat5 cable through buildings. In this case it was professional licensing, not unions, that made what I was doing illegal. I think professional licensing is even more pernicious than unions, since it operates entirely through manipulating the legal system.
Why state-sponsored hacking specifically, as opposed to any (likely) unauthorized access?
One of the paper's authors, Dawson Engler, went on to found Coverity.
Some photocopiers have actually replaced numbers with different numbers in copied documents because of pattern-based compression: https://news.ycombinator.com/item?id=6156238
My biggest takeaway from the article is that you "want something simple", and most people would agree with you. What you don't talk about, or dodge along the lines of is saying "X is how we should do it".

Personally I like node's way of using package.json and cargo's Cargo.toml. If someone made that for python that'd be awesome.

The other thing node has specifically is the "node_modules" folder, which recursively has all the dependencies and their node_modules folders. While it might not be super space efficient it's really stupid simple.
" Unfortunately, years of CS education seem to have taught most people that it's the other way around, causing massive increases in design complexity that are only justified by dogmatic adherence to "more abstraction is better"."

Abstractions only create design complexity when they are applied incorrectly. Abstractions should scale horizontally across a layer of the software stack (VMs, Storage - NFS, APIs, etc). If you're create a single-use abstraction, it's not really an abstraction but a complexity
This question obviously is unlikely to have an answer, but someone has to ask: does "nation-state" include the Western countries, namely the US/EU and friends?
If they have the information, the heads-up could save a life/personal freedom?
Also, how will sending a new password to your cell phone help? If you are dealing with state sponsored actors, why not assume they can see all text and email?
I was referring to the fact that it was primarily due to Apple refusing to support any format other than this, not that they were the sole patent holder or sole beneficiary. Google and Mozilla were all for standardizing on an open format. Microsoft was basically indifferent and was going to drift whichever way the wind blew. Apple was against the proposed open formats and insisted on standardizing on the proprietary format they had a stake in both in terms of sharing in the patent revenue and the fact that they already had hardware decoding support in their iDevices. The latter point is likely the main driver.
> booky.io is a private project and therefore completely free of charge. We want to provide a useful service for you and we do not ask for any money.

How do they make money to continue this project? When people use a bookmark service, they want to know if it will be available several years later.
Of course not. The only states that do bad things are China, Iran, N.Korea, right?
I think they're arguing that the OS should be the minimum software representation of the hardware necessary for "secure multiplexing", and any abstractions/layers after that should be per-application as needed (and only as needed).

Certainly you can call that minimal representation an abstraction as well, but I'm not sure it's helpful in this context, since it seems clear enough what they're arguing against.
I never even considered logistic regression for this problem. Now that you've pointed it out, I'm going to look into.

Neural networks aren't really core part of the system. As long as I can get good + quick results, I'm really open to swapping out the learning algorithm.
Except the USA, of course. :)
… in which the authors describe application level device drivers to map between the physical hardware and a presumably common abstract interface. That doesn't seem to change the world much over a kernel device driver mapping to a common abstract interface, except that you can implement a different common abstract interface if you wish. You'll just have to write new drivers for all the cards. This is fine for experimentation, but not nice for production.

I think the ground shift between 1996 and now is the democratization of kernel code. These mysterious "kernel architects" referenced in the paper who handed down a system from on high are now any decent C programmer with an itch to scratch. If you don't like the Linux/*BSD/whatever abstractions given to you, then make your own. If people like it and it doesn't offend an influential developer it can even be widely deployed.
I once received this alert from google, a few months later had a run in with the FBI.

I don't see why any non-Western countries would be interested in me, so yeah.
Police Pleasantly Surprised to Learn Man They Shot Was Armed
it's quite obvious, really. Regular unauthorized access means: batten down the hatches, man battle stations, i.e. change password
State-sponsored hacking means: delete social media profile, move residence, change phones, start praying, etc
;-)
Absolutely right - good catch.
There are many non-state actors who can threaten life/personal-freedom.
A two-factor authentication token to sent via text, not the actual password.

That said, I find SMS-based 2FA to be pretty dodgy as well. Cloudflare was hacked once by somebody who managed gain access to an admin's mobile phone by social engineering their telco. If a site does not offer TOTP based 2FA I usually don't bother using it.
This is so stupid since they can be forced to give information with no hacking involved...
The real problem with abstractions it promotes the lowest common denominator. If you have lots of different storage options, an abstraction will try to abstract them and create a standardized interface.

But this is a trade-off. The real benefit comes in simplifying the programming model and not forcing developers to read through manuals figuring out how to flip a bit on a hard drive. Instead, they can leverage open-source and libraries that rely on that standardization to deliver most of the value (with a small perf hit)
It looks like the page header/navigation got lost in time. Archive.org shows a lot of now-missing content [1], perhaps in the move to GitHub Pages?

In any case the download page does still exist: http://mentat.za.net/supreme/download.shtml

Which leads to the repo: https://github.com/stefanv/supreme

[1] https://web.archive.org/web/20140204102520/http://mentat.za....
If you are deliberately choosing to sacrifice your classes for side projects, then your side projects better be great. Make sure you're not one of those people who kid themselves that they are too busy 'working on side projects' when really all their time is spent fucking around on reddit or some other mindless crap. You should set aside a minimum amount of time you plan to spend on schoolwork and spend that time actually working, and also think about how low your grades can go before you want to change your priorities.
Will it disregard National Security Letters to notify users?
The idea is to multiplex, not abstract. To illustrate the difference, say you have an OS that runs only applications written in JVM bytecode. This is an abstraction: the OS is providing a different interface (bytecode) than the actual hardware interface (machine code).

Most OSes don't do anything like this. They allow applications to be written in raw machine code. The applications run as if they had full control over the CPU hardware. The OS then multiplexes the CPU by saving and restoring the program counter (and, typically, the rest of the registers and CPU state as well, though the exokernel design in this paper doesn't even do that). The idea is to (as much as possible) provide the same interface as the underlying hardware provides, then do a little extra work to make sure different applications aren't stepping on each other's toes.
Yup install something like fail2ban & setup email alerts. You'll get a new notice every 5 minutes or so for the first month from all the china based bots trying to login via common ssh credentials.
Yeah, I suspect this wouldn't show up if Facebook received an NSL...
I think they do, they're just being extra helpful here and specifying that they think whoever owned you was a state actor.
Very interesting: this is directly analogous to something that happened in Java: people started out writing native code to conform to a standard Java interface. They ended up writing Java that mapped to the native code very closely, and then abstracted all of those implementations in Java. SWT is the poster child for this movement, but it happened in other places too.
Yes. The worm c.elegans has 302 neurons, connected in a specific way.

From the article:

"For almost 30 years, the list of connections between individual neurons has been known. Despite the low number of neurons, its neuronal networks possesse a high degree of complexity and sophisticated behavioral output; the worm thus represents an animal of choice to study brain function."
From part two[p2]: "After stumbling back into my custom Apache configurations directory, I found a file I made to redirect all the proxy settings to /etc/httpd/conf.d/proxy.conf. I can't believe I missed this file."

(...)

"I changed ProxyRequests On to ProxyRequests Off and restarted Apache sudo service httpd restart. My blog & my websites loaded. I finally came to the solution after a few hours of looking at configs."

(...)

"I ran top and noticed fail2ban was consuming 98-99% of my allocated CPU. [Note: As mentioned by the original author in part1, fail2ban was set up to track Apache httpd access logs, and that's (presumably) why it was consuming so much CPU. -e12e] Holy shit. This culprit was running in the background and I did not even know that it was such an intensive resource hog on my machine. I turned fail2ban's service off sudo service fail2ban stop and I removed it from2 auto-starting on system boots with chkconfig fail2ban off."

Apache is a bit of a complicated beast, and it probably doesn't help that way back when, one didn't set up proxies to web application servers, one ran code in the server (mod_php, mod_perl and even mod_python). Java/tomcat got their own proxy module (mod_jk), and after a while, as more (hw) resources became available, it started to make more sense for everyone to follow the good practice of breaking up services by user (either actual (human) user, or at least service user, like "php" or "cgi-bin" etc). And it became more common to use mod_proxy to forward requests to backends (like php-fpm).

For those new to Apache, it's still easy to miss that Apache can also work as a full http proxy -- and it's easier than it probably should be to set up an open http proxy without intending to. But you generally do have to type in a setting of "ProxyRequests On" -- which kind of does give a hint of what's going on.

[p2] http://blog.atrament.net/how-my-apache-server-became-a-malic...
I doubt it.

This is just propaganda by Facebook showing everyone that it cares about your privacy. Unfortunately, I believe government all around the world are going to have a talk with Facebook about what is acceptable levels of privacy.
Why so many naysayers? I can't see this having any detrimental effects, regardless of how effective it is in practice.
Show HN: SciZone – Embed scientific datasets and phenomena on the web
I really hate this kind of writing. After five paragraphs, I still don't know where it is going. What a waste of my time.
I think the problem is that in this case the "market system" is not a free market system, since the ILWU has a monopoly protected by regulations, which they somehow managed to get implemented.

Is that a good thing? Consider that the handling of each container costs $300, about double what it does in say Rotterdam. Who pays for the difference? The American consumers.

Or suppose all the fast food work was, by law, under the Fast Food Worker's Union. They demand that their members pay is equal to the ILWU, $227,000 inclusive of benefits per annum. Now a Big Mac meal cost you $15. Does your argument still hold?

And consider also this: such unions are often cesspits of nepotism and corruption, usually manifesting as union not admitting new members without some special considerations.
Yes, but do software companies really care about "giving direct, (but mediated), control to the programs".

What is the trade-off between that, and the added complexity in understanding all the different ways you can program something?

IMO, developers want a simple and standardized model to build applications on operating systems so they don't have to care about the internals.

This article represents a marginalized view by the larger industry as a whole.
I want to see an 'algebra' approach to packaging -- strongly-typed packaging modeled as types and operators. Package and import systems present a lot of surprising behaviors and edge cases in part because they're not well-defined enough to be well-documented.

Also, packaging systems need to get better at integrating with VCS versioning. The elm packaging system goes beyond this to automatically bump versions when your api changes https://github.com/elm-lang/elm-package#version-rules, whoa cool. But at minimum, make a note of git/hg id.

The 'just use npm' approach is interesting too http://dominictarr.com/post/25516279897/why-you-should-never.... NPM's approach to 'dependencies of dependencies' has a lot of fans.

Finally: part of the problem here is that there's no package manager for C. The author dances around this in saying 'C extensions are hard, we should ignore them'. If we had a good C package manager a lot of work linux distros do in supporting C libraries would be simplified and builds of everything would be so much more portable.
> I once received this alert from google, a few months later had a run in with the FBI.

Sounds like quite a story; any details you can share?
This says as much about capitalism as it does about aviation.
Author here - I've been working on this add-on for some time. SciZone allows you to paste little 'snippets' (urls) onto web pages. Any user who has the add-on can hover over the link and see the data.

For instance, if you have the add-on, you'd be able to hover over this link: sci.zone/#9LeYO and see the weekly number of nuclear arms the US and Russia have had over the years since the Cold War. If I wanted to pop in a definition of the Dunning-Kruger Effect, I can: sci.zone/#LNcSk. (There may be an issue with Hacker News changing up my links)

It is my hope that SciZone will help make discussions on the web even more informed and backed-up with hard data. In some sense, it acts as a citation; except now the citation is interactive!

The project has a long way to go and I could use all the feedback I can get. Just be constructive. Thanks.
I think you should share your story. The more the people know, the better.
Use Anaconda and be done with it.
When the authors talk about applications having their own OS, I think they have in mind infrastructure programs like databases and web servers: complex, low-level programs that have domain-specific needs from the hardware and can gain greatly by using it only in the way that they need to.

They obviously don't mean that every CRUD app should build its own OS, since that would be absurd.
"we strongly encourage affected people to take the actions necessary to secure all of their online accounts."

This is an important aspect. The affected individual might be using several other services that don't have the sophistication of Facebook's security team. Facebook might have been able to thwart the attack but his/her other online accounts might have been compromised.
Nobody is saying we should write all our programs directly against hardware. The point of the paper is that the operating system should let applications define their own abstractions. This is already standard practice for the CPU: the OS lets applications run machine code directly, and you can use whatever language you'd like to generate that machine code.

You can still have a standardized model for writing software. The argument is against baking this standardized model into the kernel, where it will stick around for decades, unable to be changed.
It all depends, tech/developer vs BD/Marketing - Have experienced the up/down too of the Bay Area, and sometimes it takes months to get back in the saddle. Everyone wants the perfect employee, ready to go, nothing to train, Knows all stacks, all systems, liked by all 6-8 people who interview him/her, asks for 10% less than market rate.

Some companies want you to be an unicorn yourself, I've gone through stuff like:

'So you have years of mobile ad marketing and also years of online security service experience, years doing app marketing, already know our reporting and tracking systems, but you DONT have experience specific marketing on an online security app? Thanks for coming'
Given the vast body of experience we do have with using C and given that we are in fact still writing new code with off-by-one errors in it, I'm not sure this argument holds much water. There are plenty of developers who have decades of professional experience programming in C, and some of those people are really smart and make software that millions of people depend on, and they still make those mistakes. A bad workman might always blame his tools, but even a good workman will do a better job with better tools.
Suckerberg loves Xi jinping, read Xi's book, and even want Xi's wife to name his daughter. How much bend over he would want to give to the Chinese government if facebook is allowed to operate in China? Will facebook block all human right activists in China, or send their information to the Chinese government?
how can you create an API around this microsoft ocr library so I can just call localhost:3424/api/Parse/Image ?
Surprising, probably not, but still amazing in my opinion! Our last common ancestor was in the Pre-Cambrian and we still share genes. That information has been preserved for billions of years!