Google to reject Chrome extensions outside of Chrome Web Store - <AUTHOR> http://techcrunch.com/2013/11/07/chrome-on-windows-to-start-rejecting-extensions-from-outside-the-chrome-web-store-in-january/ <comment><USER2> There's a comment on the Chromium blog [1] (via magicalist's comment [2]) that nails this: if security is all they cared about, a signed certificate is all that's necessary.

Knowing that option exists and persisting with their store-only approach means they must have an ulterior motive of some sort, most likely control and money. Ad blockers that target Google Ads will be no more, as well as anything else that the user might want to use to subvert or circumvent. Extensions will also have to adhere to Google's moral code, and developers will once again be beholden to a greater authority in order to operate their business.

Just like with Facebook and the Apple app store, if you build a business on Google Chrome Extensions you now face having the plug pulled at any time for any reason, with absolutely no recourse.

[1] [http://blog.chromium.org/2013/11/protecting-windows-users- fr...](http://blog.chromium.org/2013/11/protecting-windows-users-from- malicious.html)

[2] [https://news.ycombinator.com/user?id=magicalist](https://news.ycombinator.com/user?id=magicalist)

<comment><USER3> Would a signed certificate approach allow them to deny extensions, or not? If yes, they could still deny ad blockers that way. If no, it is a weaker form of security than this is.

<comment><USER2> The alleged reasoning is to stop malware. A signed certificate must come from an authority willing to put their own reputation on the line, but Google does not need to be the only such authority.

<comment><USER4> Great! I am the "Definitely Not A Malware Author" certificate authority and I have signed this "Definitely Not Malware" extension.

<comment><USER5> Not quite. The DNAMA would quickly lose hard-won reputation once DNM was shown to be malware. Google not being the only CA doesn't mean everyone gets to be a CA.

<comment><USER4> > Not quite. The DNAMA would quickly lose hard-won reputation once DNM was > shown to be malware.

No problem. I am a completely different "Definitely Not A Malware Author 2" certificate authority and I have signed this "Definitely Not Malware" extension.

> Google not being the only CA doesn't mean everyone gets to be a CA.

Oh. In that case who gets to decide who gets to be a CA?

<comment><USER6> Who decides who gets to be a CA for SSL certs? Similar process. Somehow my browser doesn't recognize a CA that would allow any random person to pretend to be Facebook.

<comment><USER4> The web browser authors/distributors decide what root CAs will be included in their browsers. So in this case concerning Chrome, Google decides.

Which means Google is still in charge, ultimately.

Which means that this digital signature scheme hasn't actually accomplished anything.

<comment><USER2> Google controls the entire browser, meaning they are in absolute control, ultimately. They could inject code into your banking web sites, they could block all the porn, whatever they want.

The idea isn't that the certificates would wrest control away from Google, it's that they wouldn't be able to use "omg the malwares" as a shield for their intentions. If there's a root CA that's handing out certs for malware extensions then sure, pull the plug, but if the root CA is handing out certs for ad blockers and Google pulls the plug then it'll be plain as day what they're doing.

Heck, all the browsers nowadays use extensions of some sort, maybe they could form a consortium for extension certifications so no one company would be in complete control. You could bet Mozilla would keep that sort of behavior in check, at least.

<comment><USER4> > If there's a root CA that's handing out certs for malware extensions then > sure, pull the plug, but if the root CA is handing out certs for ad blockers > and Google pulls the plug then it'll be plain as day what they're doing.

Pulling a root CA is no more public than blocking an extension from the Chrome Web Store. In both cases it is clear that Google has taken the action, and whoever has gotten blocked can protest it publicly (just like people do now for Apple App Store rejections). The Chrome Web Store doesn't give Google any kind of "cover" or "shield."

Additionally, revoking an entire root CA that was letting malware through (intentionally or unintentionally) would be far more intrusive than pulling a single extension from the Web Store, because every extension that the CA had approved would be affected, even if they were not malware.

What annoys me about this entire thread is that the OP (which was voted to the top of the story's comments) presumes that you can sprinkle some crypto fairy dust and get just as much security against malware without having to give up any control. And it goes so far as to assume bad intentions on Google's part for not doing it. But it's not that easy; crypto isn't a magic wand that lets you have your cake and eat it too.

> (OP:) if security is all they cared about, a signed certificate is all > that's necessary.

Um no. It's not that simple.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> I am displeased by this change. Although the Firefox version of my extension is more work to develop, I will be pouring most of my resources into that in the future.

I currently have a product that uses a Chrome extension to work. I am privately beta'ing it out by hosting it on my own website.

Because I don't want to be killed with negative reviews of my unpolished first version in the Chrome store.

Now I am forced to show my work and suffer brickbats in public even before I finish it. WTF.

Second </comment><comment>=

And post-Snowden, the Chrome web store publication process is _LESS_ secure for my users than me hosting the app myself. In the Chrome store, you send Google your raw source (possibly minimized) files. They will sign it and push a blob to the end user. [https://developers.google.com/chrome/web- store/docs/publish](https://developers.google.com/chrome/web- store/docs/publish)

AFAIK, there is no way for the end user to have any assurance that the file being pushed by Google was the file that the developer intended to push.

With a privately-served version, the equivalent of a secret key created by the developer needs to be compromised to push updates.

Please correct me if I'm mistaken about this.

<comment><USER8> IIRC, the CWS allows you to distribute alphas and betas to a specific set of users.

<comment><USER7> Yeah, I looked into that. There doesn't seem to be a way to have a "hidden" extension whose URL isn't public, but which can be downloaded without signing into a Google account.

That sucks for people in my network who are being kind enough to test my software.

Instead of just messaging them on Facebook/Twitter/Skype/Email/SMS/iMessage/Linkedin with a URL, I need to find out their Google account and add it to a dashboard and they need to be logged in before they download.

</comment></comment></comment><comment><USER9> The security excuse is BS. Show me the numbers for what an enormous problem this is, to justify why such an _extreme measure_ is needed, Google!

And even if it does affect a ton of users, I'm sure there are other ways for Google to fix this, even if not completely. But assuming for a moment this wasn't a _malicious_ move from Google's part, I'm still angry with the lazy decision to "just close off non-store extensions" to fix the problem.

Should I expect side-loading to be gone from Android soon, too, Google? Don't you dare!

The way Android handles this issue is the best possible _compromise_ (there will always be a compromise between security and freedom - and that's a _great thing_ ). In Android sideloading is disabled by default, and if a user knows what he's doing, he'll enable it and do whatever he wants.

So why can't Google do the same with Chrome?! Disable sideloading by default, but still keep the option in settings somewhere. What's the big deal? Unless they have a completely different agenda behind this...

Also, I'm not sure, but do Chrome extensions work in Opera or Safari? I think it's about time we call Google on this and ask them to open up the format, so other browsers can use the same extensions. The browser _shouldn 't_ be another vector for "lock-in".

</comment><comment><USER10> actual source instead of useless techcrunch filler: [http://blog.chromium.org/2013/11/protecting-windows-users- fr...](http://blog.chromium.org/2013/11/protecting-windows-users-from- malicious.html)

Wasn't this already largely the case? You have to manually download extensions and then drag them into the extensions manager to install them outside the store right now, don't you?

The only change here seems to be that now you need a checked "Developer mode" box in order for that to work. I guess that discourages randomly checking the box, but if they had just labelled it "Allow third party extensions" it would make the change seem less overbearing.

<comment><USER11> Developer mode only allows installing unpacked extensions, no?

<comment><USER12> No. If that's the case I think that's new.

<comment><USER13> this was the case at least a year ago when I was making a chrome app/extension

</comment></comment></comment></comment><comment><USER14> Very disappointing if there is no workaround available to the "ordinary" user. Enough to make me fully question whether I want to use Chrome at all.

Question: what is the situation with ChromeOS? If this applies to ChromeOS then it is essentially in the same locked down, anti-competitive state that the Apple app store is in. It is the main reason I avoid Apple devices and would pretty much put ChromeOS devices on the same blacklist as well for me.

<comment> chestnut-tree _" Question: what is the situation with ChromeOS?"_

I don't know, but why would anyone even consider running ChromeOS? The fact that you have to sign in (with a Google account) gives Google _unprecedented_ opportunity to track your activity in the OS. Even something as simple as printing to your desktop printer requires sending your documents via Google's cloud print service.

Imagine having to sign in to Windows or your Mac with your email address and having to remain signed in always to use the OS. Most of us would be horrified. I'm just astonished by how little comment is made of Google's insatiable appetite to track and record online behaviour.

<comment><USER14> I am not concerned about "tracking" very much. I'm not sure what the giant issue is that you and others have with that (ie: exactly where and what is the harm you perceive, in concrete terms?).

Btw, new versions of Windows all but force users to sign in with an email address and then proceed store all documents by default in SkyDrive. Skype is turned on and signing out is not allowed, thus you are every minute constantly advertising your presence and activity to Microsoft. Plus even searching your hard drive sends the query to Bing and shows ads to you as a result. So I am not sure Windows is on track to be much better than ChromeOS in that regard.

But while I don't mind the "tracking", I consider freedom essential. An operating system must allow the freedom to develop applications that are hostile to the interests of the platform owner. That is the only defence against a descent into a monopolistic kind of dark ages. Eg: imagine if FireFox had never been allowed to run on Windows? We'd probably still be using IE6. New disruptive technologies can only develop when they have the freedom to do so, and it is rarely in the interests of the incumbents for it to happen. So this is what I care about far more than the implications for privacy and tracking etc.

</comment></comment></comment><comment><USER15> This has made me very, very irritated. I was quite upset at the initial change to preventing installation of third party extensions via a download, but then I realised it was for the best.

However, to fully remove the ability to install third party extensions is just ludicrous.

I develop a small Chrome application for internal use at my workplace. The staff love it, it helps them do their jobs a lot quicker. I don't see any easy way other than (as mentioned), building Chromium to remove this limit, as has been done before with crx files.

Might just move to Firefox and take my workforce following with me!

<comment><USER3> Private extensions are possible via the Chrome Web Store. You can make it available to anyone with the link, or a list of "trusted testers".

</comment></comment><comment><USER16> Let's start betting on when Google starts to squeeze ad blockers through feature changes or right out of the web store.

<comment><USER17> And Firefox will be there with open arms :)

<comment><USER18> Funded almost solely by Google.

<comment><USER19> Microsoft would probably be more than happy to take Google's place there, even if Firefox does compete with IE.

</comment></comment></comment></comment><comment><USER20> Naturally, extensions that block certain kinds of Google ads (such as Youtube ads) are not allowed in the Chrome Web Store.

<comment><USER21> Seriously? What about [https://chrome.google.com/webstore/detail/adblock- plus/cfhdo...](https://chrome.google.com/webstore/detail/adblock- plus/cfhdojbkjhnklbpkdaibdccddilifddb) (AdBlock Plus), for instance?

<comment><USER22> Adblock Plus by default whitelists Google ads.

[https://easylist- downloads.adblockplus.org/exceptionrules.tx...](https://easylist- downloads.adblockplus.org/exceptionrules.txt)

</comment></comment></comment><comment><USER23> So for normal (non-admin) users there is no way to opt-in to this. I can't understand that.

I don't think anyone would have a problem if this was a simple opt-in system like downloading unofficial apk's on android. Only a select few would be opting in, and those are not the core audience that Google is pretending to be security conscious about.

Giving no ability to switch on this ability for a normal user makes Google lose face with the general tech community. I don't understand the reasons behind this.

<comment><USER24> Don't you usually want to limit non-admin users from installing things you don't know about anyway?

<comment><USER23> If this was something that a lot of admin users wanted to restrict from their users surely Google could have made the complete disabling of this feature from all users available in the admin panel.

But that should be an opt in feature for the admin.

</comment></comment></comment><comment> jack-r-abbit Someone called "Google OS" posted[1] this about installing extensions not in the web store:

 _The developer option will still work: replace the crx extension with zip, extract the files to a new folder, go to the Chrome extensions page, enable developer mode, load unpacked extension and select the folder you 've created._

Sounds like a huge pain in the ass but at least people doing this are less likely to be in the same group of people that are complaining about malware.

[1] [http://blog.chromium.org/2013/11/protecting-windows-users- fr...](http://blog.chromium.org/2013/11/protecting-windows-users-from- malicious.html)

</comment><comment><USER25> Finding it very strange that this change is presented under the guise of safety, as there are absolutely very malicious extensions currently circulating on the Chrome Web Store.

<comment><USER3> They do seem to have very little policing of the Chrome Web Store. It's actually annoying to have an app on there that is legit, as so many of the top places in the store are taken up by unscrupulous rip-offs of Super Mario Bros and Sonic the Hedgehog. I could make some money too by putting classic games into a javascript emulator, plastering the page with ads, and submitting a few hundred apps (one for each game) to the Chrome Web Store. I'd rather play by the rules and have Google properly run their marketplace, though.

</comment></comment><comment><USER26> Another day, another step closer to Apple.

<comment><USER27> Presumably Chromium has no such restriction.

<comment> jack-r-abbit I'll admit I don't fully understand the Chromium <=> Chrome relationship. (I believe that Chrome is Google's browser built on the open-source Chromium code.) But isn't this an announcement made on the Chromium blog? It would appear to me that this is going to be in the Chromium source... not just Chrome. Am I missing something?

<comment><USER27> Not sure if the Chromium binaries have this restriction turned on but it doesn't matter as someone will compile it without it (probably the official Linux channels, for instance).

</comment></comment></comment></comment><comment><USER28> Does this really solve the problem?

I imagine most of these complaints come from people who pick up the extensions via bundling (not opting out of something when installing software). As those bundles run off of executables with admin privileges in Windows, the last change was circumvented simply by altering some files in the user's chrome directory and the registry. I imagine a similar tactic will defeat this measure. At least before the removal of the third party installation route, Chrome was able to control the messaging and generate warnings. These changes are simply pushing the malevolent even further underground.

</comment><comment><USER29> Surprise surprise. Closed garden mode.

</comment><comment><USER30> Amazing, an actual reason to consider the Blink build of Opera.

</comment><comment><USER31> I'm guessing it's time for alternatives then. Has anyone tried the new Opera, and what other browsers are out there?

Or maybe I'm just overreacting.

<comment><USER29> Firefox, Chromium.

<comment><USER32> I think Mozilla may be headed in the same direction.

Add-on File Registration System: [http://www.ghacks.net/2013/11/01/mozillas- add-file-registrat...](http://www.ghacks.net/2013/11/01/mozillas-add-file- registration-system-serious-consequences-developers/)

Merging of AMO with Firefox Marketplace: [http://www.ghacks.net/2013/10/26/thunderbird-seamonkey- kicke...](http://www.ghacks.net/2013/10/26/thunderbird-seamonkey-kicked- mozilla-amo/)

<comment><USER33> In Firefox's case, at least, it's clear that the only motive in doing so would be genuine concern for the safety of their users— Mozilla wouldn't have any incentive to stop people installing extensions that hurt their own business model.

</comment></comment></comment></comment><comment><USER34> Today's serving of feudal security is brought to you by...

</comment><comment><USER35> People who commented until now don't know how blessed is this measure. If you're a programmer, you probably don't get lots of malware in your computer, but if you ever had to use the same Windows PC as your uncle, mother or brother-in-law, even for a short time, you would know how bad it is to see huge amounts of malware and changed home pages, new tab pages, default search engines, everything messed up inside Chrome.

I don't know how these people get all these malwares, but is a fact that they get them installed. And if you don't have a better solution, Google at least has a temporary potentially good one.

</comment><comment><USER36> Does anyone know if this will include Greasemonkey-style scripts as well? (e.g. like the ones from userscripts.org)

</comment><comment><USER37> Just for Windows users.

<comment><USER38> So far.

I believe that part of Goog's motivation is to stop malware, but part of their motivation is platform control. I just don't know the proportion.</comment></comment>


Averting Disaster – A Guide To Computer Backups (2014) - <AUTHOR> http://www.anandtech.com/show/8030/backup-guide <comment><USER2> My backup strategy which so far I am happy with: \- on my Macs use Time Machine even on my MBP using a NiftyDrive with a selected set of folders that are important since the NiftyDrive is limited (currently I have a 64Gb) \- remote with CrashPlan which I got a few years back during a Black Friday sale at a great discounted price (wish they were doing that again)

I had a few times to use both to restore some files and in one case my MBP HD that went bad... Through CrashPlan I was able to restore everything (it took almost 12 hours to re download everything) but at the end to my extreme surprise I lost less than 5 min of work since CrashPlan was quite up to date.

I do use of course Dropbox but I don't consider it as a backup destination and rather a sync'ing service. I do have for a few months now a FileTransporter from Connected Data and start to use it more and more since I can store up to 1TB and no monthly fee for it, but not yet done the full jump from Dropbox.

I will be curious to hear anyone else solution.

<comment><USER3> > _on my Macs use Time Machine_

Time Machine for the Mac is excellent--I use it myself--but I must say that it is not sufficient by itself for the following reasons:

(1) Since the Time Machine backup drive is typically online all the time, it is vulnerable to malware that'll encrypt, corrupt, or erase you backups. (An example from the Windows world is CryptoLocker: [http://en.wikipedia.org/wiki/Cryptolocker](http://en.wikipedia.org/wiki/Cryptolocker) ).

(2) I imagine that most Time Machine users will have the Time Machine drive right next to their Mac. So whatever physical trauma befalls their Mac--fire, theft, electrical overvoltage--is going to affect their Time Machine drive as well.

Time Machine users need a real _offline_ backup as well.

(I realize that you said that you use also use CrashPlan, a remote backup system, so my comment is not directed at you.)

</comment></comment><comment><USER4> While it's a bit dated, this book, _Backup & Recovery: Inexpensive Backup Solutions for Open Systems_ ([http://www.amazon.com/Backup-Recovery- Inexpensive-Solutions-...](http://www.amazon.com/Backup-Recovery-Inexpensive- Solutions-Systems/dp/0596102461/)) is highly recommended. And higher level programs like BackupPC and Bacula are still excellent solutions.

It's comprehensive, covers off-line bare metal backups (which aren't exactly changing any time soon), points you at tools like rdiff-backup which you can use to get reasonably close to continuous data protection (I do it every hour), etc. etc. Along with a few good and short war stories. And preps you for the big times, if you're interested.

</comment><comment><USER5> I've been using BackupPC on a Linux box for years. First with RAID5 and now with RAID1, using ssh+rsync I can backup my Linux and OSX systems and have access to older backups via the web interface. For totally irreplaceable items I also back up a subset to Glacier.

</comment><comment><USER6> I think it should be mentioned that any form of high-capacity flash storage (USB drives, memory cards, SSDs) is not recommended for storing backups that are to be kept for a long time (>1-2 years); magnetic and optical media are preferred.

Making sure that your backups actually can be restored is also extremely important; there's not much worse than thinking that you have backups, but when you need them, find that they've become corrupted and unusable.

<comment><USER7> Is there anything written about the storage lifetime of USB flash drives and memory cards? I assumed that they'd be better than optical media (which I have seen degrade in <5 years)

I suspect a combination of optical media and parity data stored (PAR2 or PAR3 if I can find an open implementation) on flash media might be a good choice

<comment><USER8> > (PAR2 or PAR3 if I can find an open implementation)

You should have no problem finding an open implementation [0] [1]

An other alternative is zfec [2], which has the advantage that you can choose the level of redundancy you want. It's also much faster.

[0] [https://en.wikipedia.org/wiki/Parchive](https://en.wikipedia.org/wiki/Parchive) [1] [https://github.com/BlackIkeEagle/par2cmdline](https://github.com/BlackIkeEagle/par2cmdline) [2]

<comment><USER7> Sorry, I meant if I can find an open implementation of PAR3 I'd use that.

zfec looks interesting though.

</comment></comment></comment></comment><comment><USER9> For long term backup, too bad that tape backup are still expensive for the individual user, as they seem to me as the more resilient type of backup compared to HDD or WORM media. Cloud backup are very dependent on your connectivity. The best option is to rely on 3rd party cloud provider like amazon Glacier.

<comment><USER4> For those of us stuck on low quota ISP plans, e.g. my AT&T 150 GiB/month, $10/every additional 50 GiB, 3rd party "cloud" providers are only a solution for our most "important" data. I use rsync.net (higher price isn't much of an issue given the much smaller amount of data) and LTO-4 tape.

</comment></comment><comment><USER10> Keep it simple: [http://www.jwz.org/blog/2007/09/psa- backups/](http://www.jwz.org/blog/2007/09/psa-backups/)

</comment><comment><USER11> I use Duplicity + flash drives. Works wonderfully, more so because Duplicity supports encryption out-of-the-box. Also, incremental backups.</comment>


Ask HN:  What happened to man 'claimed' have contract owning 50% of FaceBook? - <AUTHOR>

<comment><USER2> Its apparently all false, he was arrested and charged with fabricating evidence last year.

<http://en.wikipedia.org/wiki/Paul_Ceglia></comment>


Too Big To Comply? NSA Says It's Too Large... - <AUTHOR> https://www.aclu.org/blog/national-security/too-big-comply-nsa-says-its-too-large-complex-comply-court-order <comment><USER2> So we're supposed to believe that the world's greatest electronic spying organization is incapable of monitoring its own activities? That they are capable of collecting everyone else's data, but not their own? We bought them billions (if not trillions) of dollars of monitoring and storage equipment, the best in the world, but they do not have the monitoring and storage capabilities to comply with a court order? What a farce.</comment>


State and New CDC Data on Covid-19 Testing Don't Match Up - <AUTHOR> https://www.theatlantic.com/health/archive/2020/05/cdc-publishing-covid-19-test-data/611764/ <comment><USER2> >Generally, disease-surveillance data flow from local public-health departments to state governments, and then on to the federal government. But in April, Vice President Mike Pence asked hospitals to start reporting their COVID-19 testing data directly to the federal government.

So with a few words the White House further centralized government power, and doubled the Covid-19 reporting burden of every small-town hospital. As if they weren't diverting enough patient care funding to administrative tasks as things were.</comment>


You have a set amount of "weirdness points" (2014) - <AUTHOR> https://www.lesswrong.com/posts/wkuDgmpxwbu2M2k3w/you-have-a-set-amount-of-weirdness-points-spend-them-wisely <comment><USER2> Super interesting theory. I think the implication here is a little bit unnerving though: if an individual has three "weird" views, and the most effective way to convert another individual is to only expose them to one of those three, then are we doomed as a society to evolve at a slow pace, since humans are just not psychologically prepared to comprehend so many new ideas at the same time?

<comment><USER3> Yes that slows the rate of change, but the rate of change adjusts based on the times (and hopefully it's reasonably optimal but that would be hard to measure objectively because it's a complicated risk-vs-reward, explore-vs-exploit trade-off). Eg Historical revolutions usually saw rapid changes in many areas like politics, art, culture, technology. Societies (like organisms and ecosystems) are extremely complicated so there are serious risks to evolving too fast so slow isn't automatically bad.</comment></comment>


Joint Dust Analysis Deflates Big Bang Signal - <AUTHOR> https://www.quantamagazine.org/20150130-joint-dust-analysis-deflates-big-bang-signal/

<comment><USER2> Relevant discussion at Physics SE: [http://physics.stackexchange.com/questions/154288/the- status...](http://physics.stackexchange.com/questions/154288/the-status-of- the-bicep2-discovery-after-planck-2014)

<comment><USER3> This discussion is more than one month old, while the news leaked just yesterday.

<comment><USER4> The most recently leaked news is just a confirmation of what was discussed in the parent comment's link to Physics SE.</comment></comment></comment>


Spawn your shell like it's the 90s again - <AUTHOR> http://akat1.pl/?id=2 <comment><USER2> The posix file system API invites these race conditions. but when I want to access the fs from my app, it often feels like the only choice I have is to just accept it.

What can I do to change it? Is there a reliable, widespread and usable successor to the posix API that offers transactions, or "compare and swap"-type operations? Or are we forever caught in this catch 22 between OS writers and application programmers ?

I wouldn't mind an API that can be (unsafely) simulated on regular posix for compatibility, while being forward compatible with the next gen of file IO on systems that do support it, for example.

<comment><USER3> the problem is, you can't really avoid this kind of race condition. Not in a pre-emptive system. You can't stat a file and open it at the same time: the whole point of the stat is to see if you SHOULD open it. The best you could do is maybe stat the file after you open it. But I'm not sure what other problems that would cause.

<comment><USER4> What's so strange about stat() on the file after you open it? It's a security check against a known and abused exploit and it's not even hard to do. This seems like a simple fix to the problem.

Just make sure you fstat() the file descriptor and not stat() the file to avoid a second race condition where a malicious actor undoes their attack immediately after you open() the file to hide the evidence.

<comment><USER5> fstat is a more recent system call than stat, so old code bases do not use it, and mail.local is quite ancient.

Although a quick lookup tells me that it appeared in 4.3BSD-Tahoe (June 1988) and SysVR4 (October 1988), so one would have expected all reasonable distributions to have gotten with the program by now.

<comment><USER4> A little digging suggests that mail.local appeared in Version 7 Unix from 1979, so it is not a surprise that it doesn't include a syscall invented 9 years later.

Still, that syscall is 28 years old now. It's kind of embarrassing that nobody has gone though and checked for ancient and obvious privilege escalation issues like this. Or I guess they have, but on different OSes. This is one big downside to fragmentation, getting fixes distributed to all of the fragments.

<comment><USER6> fstat() isn't the complete fix here - it doesn't protect you against opening/creating an unintended file through a symlink, for which you need O_NOFOLLOW (which is a bit more recent).

</comment></comment></comment></comment></comment></comment><comment><USER7> Author is correct, this is an old bug. I can confirm it was at least present in SunOS 4.1.3, because I worked for an ISP back in the 90s that offered shell accounts and we found evidence of attempts all over the place (when you "lose" the race a root-owned file is created, so unless you ever "win" and clean up after yourself there's evidence of your attempt).

</comment><comment><USER8> Why Korn shell? Is there something special about the way it handles being run w/ a setuid bit?

<comment><USER9> It's one of the shells in the NetBSD base system. bash, for example, is not guaranteed to be installed.

</comment></comment><comment><USER10> Waiting for someone to say this wouldn't be possible in rust.

Spoiler alert: it would be.

<comment><USER11> I don't think anyone's claiming you can't use your system's API in Rust, to do things like gain root privileges. Just that Rust makes memory bugs and race conditions near impossible.

<comment><USER10> The vulnerability described in the C program (race condition in filesystem which leads an attacker to write to a file they should have no access to) is absolutely possible to write in rust.

I was attempting to parody the line that you see around here every time a vulernable C program is shown, that rust is magic pixie dust that removes all security issues. (This is exactly the type of bug that memory safe languages are still vulnerable to.)

(One could argue setuid is the real problem though.)

<comment><USER12> Yes safe systems programming languages are still open to logic errors, but getting rid of the memory corruption bugs that C spread into the world thanks to the adoption of UNIX is already an improvement over the daily CVE entries.

Had AT&T charged UNIX at the same prices as the other OSes, instead of giving it for free to universities and I hardly believe C would matter.

<comment><USER3> It's likely C, or something like it, would still matter. C, despite, and because, of its faults, fills an important niche: It's at a higher level of abstraction than assembler, but still provides the control you need for that very low-level code that you need to write things like operating systems. Yes, it isn't as safe as the Wirthian languages that you yourself prefer, and I will say that it certainly isn't ideal for most of the purposes it's put to, but if you want a high-level assembly language, than it works well, because that's pretty much what it is.

<comment><USER12> C has stopped being a high level Assembly for quite a while now.

Most of the features people associate with C are compiler specific language extensions that any compiler writer can bother to add to his favourite language and not part of ANSI C.

Inline Assembly, CPU intrisics, SIMD, calling conventions, out of order execution, hardware transaction memory, cache line control, GPU execution, attaching functions to interrupt handlers and so on.

Also the pile of UB patterns that C compilers have accumulated throughout the years, and the differences between compilers, makes it actually easier to reason about code at the Assembly level than looking at C code.

The only thing has going for it, us that thanks to the economics of free, we now have UNIX flavours everywhere.

So we can only get rid of C when UNIX is not an option, and that is almost impossible.

Only now almost 30 years later has C++ surpassed C in many use cases, but it still carries C with it.

C could have been made so much safer with a few tiny changes, like having optional bounds checking and not decaying arrays into pointers.

<comment><USER3> >C has stopped being a high level Assembly for quite a while now.

...No, not especially. It may not expose CPU-specific functionality in the spec, which is why it is somewhat portable, but it still is effectively good at the same things asm is good at. That's why C is sometimes dubbed "portable assembly"

>Also the pile of UB patterns that C compilers have accumulated throughout the years, and the differences between compilers, makes it actually easier to reason about code at the Assembly level than looking at C code.

Well, yeah. Asm is rigorously defined. It's perhaps the only language that has absolutely zero UB in practice (many languages CLAIM to have no UB, but if you're on multiple architectures, it's almost unavoidable, although few have as much as C): because it's totally unportable, it doesn't have to lean on UB the way C does for optimization.

>Only now almost 30 years later has C++ surpassed C in many use cases, but it still carries C with it.

Yeah, but C++ has... other problems.

>C could have been made so much safer with a few tiny changes, like having optional bounds checking and not decaying arrays into pointers.

Now that's something I wish happened.</comment></comment></comment></comment></comment></comment></comment>


What do you think of my eLearning startup? - <AUTHOR> http://www.classconnect.com

<comment><USER2> Cool.. always good to see technology being applied towards education.

Few comments, take what you will:

\- I expected the "ClassConnect" logo at the top to be linked to the home page.

\- "We saved the best for last. ClassConnect is 100% free. Forever." I don't think you should really save that for last.. seems like something you'd want to have stand out on the home page.

\- I got about 2 min into the intro video and it froze up, so maybe check bandwidth issues. The video seemed to be too long, and the first 2 minutes I weren't that interesting. I think starting off by showing your main workflow would be better - how simple it is to upload a document or save a video and share it with your class.

\- "Why license" and "License Features" look basically the same, and I'm still not totally sure what it is. Why would I want support?

Hope some of that is helpful. Good luck!

<comment><AUTHOR> First of all, you rock. Thanks for your great feedback :) I'm going to run all of your points past my two other co-founders</comment></comment>


TreeFrog: high-speed full-stack C++ framework for web applications - <AUTHOR> http://www.treefrogframework.org/ <comment><USER2> The sad thing is: This framework isn't really fast. Just by virtue of being C++ nothing gets faster. Have a look at the web framework benchmarks:

[http://www.techempower.com/benchmarks/#section=data-r9](http://www.techempower.com/benchmarks/#section=data-r9)

<comment><USER3> I had no idea rails/django are sooooo slow

<comment><USER4> ...which should tell you that speed really isn't as big a deal in web dev as some would have you believe. :)

<comment><USER5> It doesn't tell you that at all, since plenty of companies lose users/etc due to latency and other issues.

<comment><USER4> [citation needed]

I imagine that that issue is _highly_ overrated for most companies.

<comment><USER5> You really want me to start citing research papers which show that if you improve latency, even if users don't "notice" it, you gain users?

"web latency research user conversion rate" on google will turn up a ton.

Heck, back in 2004, ten years ago, you only got two seconds: [http://cba.unl.edu/research/articles/548/download.pdf](http://cba.unl.edu/research/articles/548/download.pdf)

Now 1 second [http://www.australianscience.com.au/research/google/34439.pd...](http://www.australianscience.com.au/research/google/34439.pdf)

Even that causes losses: [http://www.tagman.com/mdp-blog/2012/03/just-one- second-delay...](http://www.tagman.com/mdp-blog/2012/03/just-one-second-delay- in-page-load-can-cause-7-loss-in-customer-conversions/)

Google sees significant effects at 200ms: [http://googleresearch.blogspot.com/2009/06/speed- matters.htm...](http://googleresearch.blogspot.com/2009/06/speed-matters.html)

blah blah blah.

Feel free to find things that say the opposite, i've never seen a study that says "users will choose the slower service, if it's 'better', they just don't give a crap".

And sure there is a diminishing return, but if your latency times are 1s or greater for a web based service, you are almost 100% guaranteed to be losing users/conversions/etc.

<comment><USER6> From a psychological standpoint, a server that consistently responds quickly & doesn't break is easier to trust.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I don't really see the benefit of using Qt in this case, and the framework states that because it's in C++ it's faster which is just plain wrong.

<comment><USER4> They're likely building on the low-level OS and networking primitives in Qt.

<comment><USER8> I don't see why they use Qt doing things like this...

[https://github.com/treefrogframework/treefrog- framework/blob...](https://github.com/treefrogframework/treefrog- framework/blob/master/src/tapplicationserverbase_win.cpp)

</comment></comment></comment><comment><USER9> I don't see any mention of c++ being compiled to javascript. Without that, this seems to be server-only, not full stack.

On the other hand, there is Google Web Toolkit which lets you write both client and server code in Java, which is very close to C++ in performance, and compiles the client code to very efficient javascript. (CSS is also compiled into being very efficient.) [http://www.gwtproject.org/overview.html](http://www.gwtproject.org/overview.html)</comment>


I left MongoDB due to their business relationship with ICE - <AUTHOR> https://twitter.com/darpa42/status/1205155304750616576 <comment><USER2> Please. When can we be rid of the illusion that politics and business should be related at all?

Before America entered WWII, it sold weapons and arms to countries on _both sides_. Yet MongoDB sells SAAS software services to ICE they're unethical? Talk about hypocrisy.</comment>


List of Ubuntu Based Linux Distributions and Live Cds - <AUTHOR> http://www.debianadmin.com/list-of-ubuntu-based-linux-distributions-and-live-cds.html

<comment><USER2> This is an outdated article from Nov 28th 2006. Also I don't get the hn title. This article doesn't mention "spyware" at all.

</comment><comment><USER3> The root cause of the problem here is that users should never assume that their distribution is going to protect them. Other systems have remained closed or become like Ubuntu because that's how they thought they could deliver the best product to their users. The reason the FSF believes that free software protects users is that users have the right to view, modify and redistribute the source code. You also have a responsibility. Don't assume that because your distribution is on a list that it won't include spyware - look at the packages, see what they're doing. Be vocal as soon as you see a trend you don't like. Ubuntu's been headed in this direction for years. Nobody has time to view the entire distribution, but seriously - put more effort in than this.

</comment><comment><USER4> Very funny. Vanilla Ubuntu is #1 on the list.

</comment><comment><USER5> here's the best one which respects the user, works well and is extremely stable: debian.

</comment><comment><USER6> Lubuntu should be listed, not just in a comment.</comment>


The Real Problem with Facebook - <AUTHOR> http://www.25hoursaday.com/weblog/2011/09/18/TheRealProblemWithFacebook.aspx <comment><USER2> These articles are driven forward under the assumption that Groupon and Facebook share the same space. They do not. The sooner Facebook focuses on optimizing its traditional social network capacity, the better. Everything else is irrelevant and I spit on the corporate culture which demands companies take a megalomaniacal approach to growth.</comment>


Font Preview - Google Font Directory - <AUTHOR> http://code.google.com/webfonts/preview <comment><USER2> This is so insanely brilliant that it almost makes me cry...

</comment><comment> anon-e-moose Privacy?

(As in, are we really giving Google yet another look into the websites we visit?)

<comment><USER3> Then browse through a VPN. Seriously, raising a privacy question about _this_ is just silly.

<comment> anon-e-moose How does a VPN change anything? My point is that this gives Google easy access to stats about every website that is using Google-hosted web fonts. Like an old transparent tracking GIF...

</comment></comment></comment><comment><USER4> I love it, but the font selection is pretty limited so far.</comment>


MegaZeux: Game creation system released in 1994 and still being developed today - <AUTHOR> https://www.digitalmzx.com/ <comment><USER2> I used to be a part of the MegaZeux community years ago. It was a group where curious creatives would come together and learn how to program or to create digital art. The releases for MegaZeux have been plagued with demos, "engines", and utilities. Relatively few finished games have actually been released, which really isn't surprising considering how complicated games can be. But it was a great and supportive community where people cut their teeth learning game development concepts.

It's interesting to see some go on to bigger projects in programming (Gilead Kutnick aka Exophase) or music (Sai'ke, Emalkay), and animation (can't remember the name of who I'm thinking of for this one in particular, but he released some very well-made animations on Newgrounds before entering the industry).

MegaZeux has a built in language called Robotic that was basically a limited BASIC, but organized in entities called "robots". There were also graphical hacks that let developers adjust the appearance of the ASCII characters or change the color palette. There was a lot to it for the time.

The Day of Zeux, or "DoZ", was always a fun test where teams would organize and create a game in 24 hours based on a specific topic given by judges. My first entry humbled me pretty hard since I went into it cocky about my capabilities, but my teammates abandoned development and we came in dead last. I tried in a later year and my team then created a game about escaping from a prison, which even had multiple endings. We didn't win, but we were near the top that time.

If it wasn't for MegaZeux, I probably wouldn't be a full time developer today.

I hope college went well for RoSS. Also, long live Frozen Cow Industries

<comment><USER3> Exophase is the best programmer I've ever met. Also, he's the one that accomplished the port from DOS to Windows (IIRC, having nothing but the decompiled binaries to work from) back in the early 2000's, and is probably the reason there's still a community today. I could see MZX having died out otherwise.

<comment><USER2> He's a great dev. Despite that, a friend and I would troll him pretty hard on IRC. There was a user who popped on at some point named Elig who was good friends with him. We speculated that it was a fake alter ego of his (Elig is Gile backwards, short for Gilead).

Also his name Exophase came about because someone asked him to name a boss, but it was too cool a name for someone's game, so he used it for himself

</comment></comment></comment><comment><USER3> Ahaha, I wondered if MegaZeux would ever make it to HN. Which one of us posted this? Been using MZX for 20 years. It's what got me into programming. It's a treasure.

There's something about the programming model ("robots" so easily model people conversing and doing silly things) that allows you to just casually sketch out whatever's in your head. That's given rise to so many quirky, funny games for this system in a style that might never be made in any other context, except of course its predecessor ZZT. Dive into the archives and have fun.

The community, to my knowledge, still meets up yearly and also has impromptu hour-long game jams.

<comment><USER4> Me too, this was one if the first things I learned to program. This and MIRC scripting.

<comment><USER5> Blast from the past for sure. MZX, TurboPascal and mIRC scripting were some of the first things that got really into development after migrating from my brother's hand-me-down C64 and later an Amiga 600.

</comment></comment></comment><comment><USER6> Another system like this is BYOND [0] (which stands for "Build Your Own Net Dream".) I think it started in 2001.

It has a number of problems, but there are a few games with fairly active communities that are built on top of BYOND, like Space Station 13. [1]

[0]: [http://www.byond.com/](http://www.byond.com/) [1]: [https://spacestation13.com/](https://spacestation13.com/)

<comment><USER7> BYOND holds a special place in my heart. It introduced me to software engineering and the client-server model!

</comment></comment><comment><USER8> somewhat buried in the helpfile is context (pasted below). Seems to be based on Tim Sweeney's first attempt at gamedev, a text editor in Pascal that he turned into a game called ZZT[1]. Users could create their own games with the scripting language. MegaZeux is an offshoot.

        Overview of MegaZeux

        ...

        As you may already know, MegaZeux is a game system which
        allows you to play almost limitless worlds with
        dated-yet-charming graphics and with excellent digitized music
        and sound. Not only are there several MZX worlds out there
        already, but new worlds are being uploaded to large websites
        like DigitalMZX. However, the best feature of MegaZeux is the
        World Editor.

        Using the World Editor, ANYONE can create the world of their
        dreams. Make it as simple or complex (well, almost), as easy
        or difficult, as long or short as you please. We aren't just
        talking about worlds made up of petty, pre-programmed enemies
        and objects; MegaZeux has its own, easy-to-use PROGRAMMING
        LANGUAGE called Robotic that allows you to create objects,
        engines and worlds that do almost anything you desire. Not only
        can you make your own game with the editor, but every world
        MegaZeux can play can be opened in the editor. Take a look at
        how other games tick!

        For the newest user, it's recommended that you play Caverns,
        the first ever MegaZeux game, to get the feel of simple yet
        well-designed games in MegaZeux. You may wish to read the help
        section entitled "Controls" to learn how to play MegaZeux.

        If you're more adventurous, start with a more complex game like
        Demon Earth or Bernard the Bard, or a prettier game like & or
        Fritz Blitz to see what kind of graphics functions, bells and
        whistles MZX can offer.

        Once you have the feel for the game, feel free to dive into the
        World Editor and get messy! You should probably read the help
        section entitled "The World Editor" first.

        To go to one of these sections now, hit Enter after aligning
        the arrows with one of these choices. Press ESC now to exit to
        the game.

[1]:[https://en.wikipedia.org/wiki/ZZT](https://en.wikipedia.org/wiki/ZZT)

</comment><comment><USER9> I was into ZZT and so I got the first version of MZX back in 94. I played with it a lot, though never really finished and released anything major. Some version of the game I'm in the credits as a beta tester.

While I was doing BASIC and stuff before then, ZZT and MZX definitely pushed me along the programming path even more strongly.

</comment><comment><USER10> I was really into ZZT for several years. I played and made several games.

I liked MegaZeux for it's technical improvements over ZZT (sound, music, graphics), but I didn't like the programming language. It felt inconsistent and unfinished. Also, there were few great MegaZeux games at the time.

If anyone is curious, Alexis Janson is the original author of MegaZeux [https://mtg.gamepedia.com/Alexis_Janson](https://mtg.gamepedia.com/Alexis_Janson) . She also made some of the best ZZT games.

<comment><USER2> I wonder when he made the transition. He was Gregory throughout his creation of MegaZeux, and after he announced his departure from the project

</comment></comment><comment><USER11> I find this inspiring. As I am looking to start my own community driven project, I can only hope that I can find enough people that share my vision.

</comment><comment> jay-anderson To get an idea of the game you can try out the original version on archive.org: [https://archive.org/details/MZX102](https://archive.org/details/MZX102)

</comment><comment><USER12> there are many BASIC communities around as well!! now that i think about it, we should learn from what they are doing right. BASIC and variants have communities with super awesome survival skills.

</comment><comment><USER13> Oh wow, it's basically ZZT. I loved that game in the 90s.</comment>


Dutch city of Utrecht to experiment with a universal, unconditional income - <AUTHOR> http://www.independent.co.uk/news/world/europe/dutch-city-of-utrecht-to-experiment-with-a-universal-unconditional-income-10345595.html

<comment><USER2> > Basic income is a universal, unconditional form of payment

> place people on welfare on a living income

If they only give to people already on welfare, then it's not universal.

<comment><USER3> Arguably that's a way of introducing it gradually to not cause society to collapse overnight. If it's still available to everyone in Utrecht that chooses to quit their job and pursue something closer to what they'd ideally like to do (assuming that they're not doing what they want to do), then it can still be a worthwhile experiment.</comment></comment>


Porting Python to GRUB: "Networking without an operating system" - <AUTHOR> https://lwn.net/Articles/692638/ <comment><USER2> I'm one of the authors of BITS, and the presenter of the PyCon presentation this article discusses. Happy to answer any questions here.

<comment><USER3> I am always interested to hear when a language is ported to a new plaform, in this case Python (or a subset of) on GRUB. The question would be why? Is this because you have lots of test cases already in Python and can easily deployed those test cases on using this?

<comment><USER2> Originally, it was because we had a lot of one-off test cases _not_ written in Python. Before BITS, most BIOS test programs consisted of one-off DOS programs, or later one-off EFI programs. If you wanted a new test, or you wanted a customer to quickly gather some information for you, you sent them a new test program, or a bootable image. Now, many of those one-off tests have become Python one-liners, and you can use Python to explore the system with an interactive REPL.

Python also lets us provide additional APIs to make scripting easy. For instance, we include the complete ACPICA interpreter, so you can evaluate an arbitrary ACPI method with arguments and process the result. And we have an FFI with EFI support, so you can locate and call an arbitrary EFI protocol.

<comment><USER4> Wow. I thought this was one of those "just because you can," projects, but it looks like there are some real practical uses for firmware developers/testers.

<comment><USER2> Yeah, we wrote BITS almost entirely for practical reasons. Several groups at Intel use it to test both the BIOS and the CPU itself. (You have to have enough functionality to boot an OS, but once you have that, BITS can easily test things like CPU power management or MSR configuration.)

The module that displays presentation slides using EFI_GRAPHICS_OUTPUT_PROTOCOL, on the other hand, was definitely "because we could". [https://www.youtube.com/watch?v=bYQ_lq5dcvM#t=22m56s](https://www.youtube.com/watch?v=bYQ_lq5dcvM#t=22m56s)

</comment></comment></comment></comment></comment><comment><USER5> Was the talk recorded and can we expect it on the Pycon 2016 youtube channel[0] at some point? It's not there right now as far as I can tell.

[0] [https://www.youtube.com/c/pycon2016/videos](https://www.youtube.com/c/pycon2016/videos)

<comment><USER2> Yes: [https://www.youtube.com/watch?v=AlkKvetGFSk](https://www.youtube.com/watch?v=AlkKvetGFSk)

The first few minutes of the talk got cut off; the conference organizers have the original footage and plan to re-cut and re-upload it at some point.

The talk from PyCon 2015 on the Python port itself is available as well: [https://www.youtube.com/watch?v=bYQ_lq5dcvM](https://www.youtube.com/watch?v=bYQ_lq5dcvM)

<comment><USER5> Huh, I loaded all the way back to Pycon 2015 videos CTRL+F "Josh" or "Triplett" didn't find anything on my laptop. Strange

Anyway, thanks for the links!

</comment></comment></comment><comment><USER6> Could you make a python rumpkernel with this?

</comment><comment><USER7> How is this different from micropython?

<comment><USER8> Micropython is a independent implementation of Python with some microcontroller-specific extensions and able to run on smallish microcontrollers, this is a slightly modified "standard" CPython für x86.

</comment></comment><comment><USER9> why would they not use lua ? which is pretty popular (and pretty much designed) as embedded scripting languages. Not to mention much more lightweight than python.. and has a much smaller footprint.

Nginx is a pretty good example of this.

<comment><USER2> > why would they not use lua ?

The target audience for this is BIOS developers and firmware engineers. Several existing development tools in that area already support Python, including Simics and the Intel ITP, so the target audience is used to it.

Lua also has several other impedance mismatches with the target audience, such as 1-based array indexing (remember, the target audience writes assembly and C).

While people often describe Lua as "easy to embed", personally, I don't find Lua's stack-based C API easy at all; in particular, the references to stack- based indexes that change when you push or pop the stack feels like working with stack-based parameters in assembly without a base pointer, where the offset of a given location can change at any time. I much prefer the Python C API.

Finally, Lua would require additional libraries to provide a useful environment, precisely because it can assume so little about its environment. For instance, we'd need to bundle one of the Lua socket libraries in addition to Lua itself, as well as an HTTP library. Python's "batteries included" standard library works nicely here.

<comment><USER9> thank you for that. That explains a lot ! But Lua is already in Grub right ? wouldnt it have been more effective to just extend that anyway ?

<comment><USER2> Lua isn't part of upstream GRUB; it lives in a separate module, "grub-extras". As far as I can tell, it also wouldn't be easy to extend that with additional functionality or modules without forking it, due to the way GRUB builds out- of-tree modules.

Note that this port of Python is almost as old as grub's Lua; we've been working on BITS since ~2009, and it has had Python support since May 2011.

For reference, the Python port consists of less than 1000 lines of code, most of which provides compatibility implementations of standard C and POSIX functions that Python expects. (Plus another couple thousand lines implementing additional C Python modules like "_smp", "_acpi", and "_efi", but those are getting smaller as we move more code into Python using ctypes.)

</comment></comment></comment></comment><comment><USER10> is BITS building for ARM ?

<comment><USER2> No. We don't have any need for that ourselves, but if someone wanted to work on that, and produced a clean patch that wasn't filled with #ifdefs in C and ifs in Python, we'd take it.

The biggest challenge would be adding equivalents of the assembly that implements SMP support (waking up other CPUs and putting them into a loop ready to run code on request).</comment></comment>


(2005) Dabblers and Blowhards: A Response to Graham's "Programming and Painting" - <AUTHOR> http://www.idlewords.com/2005/04/dabblers_and_blowhards.htm <comment><AUTHOR> Just because somebody asked to post it standalone: [https://news.ycombinator.com/item?id=15682954](https://news.ycombinator.com/item?id=15682954)</comment>


Snoop Dogg Is Raising a Fund for Investing in Weed Startups - <AUTHOR> http://techcrunch.com/2015/02/06/of-course-he-does/ <comment><USER2> It's a shame BackBlaze is already taken. :)

EDIT:

Will it be an evergreen fund, I wonder?

</comment><comment><USER3> He has the necessary domain expertise. Great idea getting in on the ground floor of this nascent industry, modern day tobacco boom!

</comment><comment><USER4> Time to pivot!</comment>


Show HN: Ruby Meetup Resources - <AUTHOR> http://ruby-meetup-resources.github.io/

<comment><AUTHOR> Hi HN,

I hope this counts as Show: HN material .. it's my first time submitting anything and I thought it would be appropriate.

I help run a ruby meetup in Christchurch New Zealand, and sometimes we don't have any speakers lined up, so we run a hack-night of some description. I've put a couple of these resources we use up in a github organisation at [https://github.com/ruby-meetup-resources](https://github.com/ruby-meetup- resources) . I'm hoping that other organisers might find the links useful, and then contribute their own (ready to go) resources. This will hopefully make running a meetup that much easier for everyone.

Feedback most welcome :)

Thanks!

<comment><USER2> Awesome! Next time I'm down there I'll see if I can pop in. Nice start you've got there, will take a look at robotwars when I get home.! (I'm a ruby noob)

<comment><AUTHOR> Excellent, be great to see you if you're in the area :)

If you're a ruby noob... you're probably better off starting at: [http://iwanttolearnruby.com/](http://iwanttolearnruby.com/) or similar.. the ruby-meetup-resources site is more for people running meetups (just so that we don't always have to re-invent awesome wheels) :)</comment></comment></comment>


PSD2 – a directive that will change banking in Europe - <AUTHOR> https://www.evry.com/en/news/articles/psd2-the-directive-that-will-change-banking-as-we-know-it/ <comment><USER2> I can appreciate the concerns some have voiced, but there's two main arguments for this approach.

1\. It's better than what we have today. 2\. PSD2 is standardizing and increasing access to financial data, making the entire ecosystem more competitive.

Regarding #1: I understand the concerns regarding privacy and security, but this injects a whole new range of improvement that quite honestly we don't have today. Unlike many countries that have rendered their bank account number useless, the US has not. Today, we all provide our bank account numbers to a variety of companies (our jobs for salary, rent, etc.) via a direct credit or debit authorization form to a third party. The proliferation of Private Account Numberss in the digital age is exactly what's makes them such a high- value target for criminals. A digital authentication and authorization approach allows us to set parameters around authorization, rotate keys, create programmatic constraints, inject real-time security, and a number of other consumer controls (e.g. remove authorization for that annoying magazine company that charges me every month for that Better Homes and Gardens magazine I never ordered). This can all be done without providing the level of access we and banks provide on our behalf every day.

Regarding #2: Banks are great at a number of things, like holding and securing our money. They're terrible at responding to market forces or consumer concerns. Instead, they use the mountains of red tape and regulation to fortify themselves from new market entrants. Greater, more open access to financial information levels the playing field; thus, increasing both innovation and better pricing for all.

TL;DR - this is way better than what we have today.

<comment><USER3> Something that is often overlooked about PSD2 is the introduction of a real liability model and explicit customer consent. What happens today is that account aggregators and payment initiation providers (this is true in US and EU) are operating in a gray area where transparency, consumer protection, and liability are either completely neglected or totally insufficient.

PSD2 will create a clear regulatory framework, will introduce consumer protection, oversight from competent authorities and ultimately will create a transparent liability model for all the actors involved in the flow (data and payments). I think this is a great outcome for consumers and market competition. PSD2 is not perfect but is shaking the industry quite a lot.

I'm working on TrueLayer ([http://truelayer.com](http://truelayer.com)) which is a universal bank API platform in the context of PSD2. Email in profile if you want to chat about this topic.

<comment><USER4> I wonder how much this regulation has to do with the EU commission being terrified after Brexit and wanting to create more financial linkage between member states. I feel this regulation may backfire in that regard. What will an institution like Deutsche do if/when they fuck up implementing this ? What will the government do in response ?

Especially given the state of European banks (TLDR: who are going to need a bailout soonish).

<comment><USER5> A lot of PSD2 was pushed for by the UK I believe, pre Brexit

<comment><USER6> Indeed, and the EBA is based (for the moment at least!) in London.

</comment></comment></comment></comment></comment><comment><USER7> The fact is that banks already use 3rd parties to provide new features and share data with them today. As I understand this post, it forces banks to allow 3rd parties that I can choose. Even if I choose not to use any of these services, the services my bank offer will need to be competitive for those that do. I think this sounds great as it also means that companies that do develop new products aren't going to have to resort to hacks to access client data or risk being locked out by the institution. Great post, I hadn't heard anything about this before, but I don't live in Europe.

<comment><USER2> This guy gets it.

</comment></comment><comment><USER8> > AISP (Account Information Service Provider) are the service providers with > access to the account information of bank customers.

I do not see why I should entrust anybody but the bank with information about my wealth. This will get abused and I will probably get nudged into this, so that the company selling an unrelated product can sell my information.

If you want to do a product using my banking data, then do a product using FinTS ([https://en.wikipedia.org/wiki/FinTS](https://en.wikipedia.org/wiki/FinTS)) and not as a service that grabs my data to you.

> PISP (Payment Initiation Service Provider) are the service providers > initiating a payment on behalf of the user.

No thanks! Direct debit and wire transfer work good enough. This probably will open the door to insecure payments without 2 Factor Authentication.

> For banks, PSD2 poses substantial economical challenges.

They are already under stress to provide low-cost bank accounts with the low interest rates of today.

I am currently with a bank that I can trust (credit union) and I really do not see much of a need to change.

<comment><USER9> > I do not see why I should entrust anybody but the bank with information > about my wealth. This will get abused and I will probably get nudged into > this, so that the company selling an unrelated product can sell my > information.

Believe or not, many people (consumers) do this. For example: every Mint.com user

</comment></comment><comment><USER10> Once the responsibilities for managing customers money will be spread between banks and fintech services, its possible that at some point the system will become too complicated to foresee potential risks (in this case it could be cyberattacks on infrastructure or instability of the banks due to the lower profits, increasing costs and faster money flows). As we know from our history, misunderstood risks may eventually lead to crisis. What are the guarantees that it won't happen in this case?

</comment><comment><USER11> >> banks' monopoly on their customer's account information (...) is about to disappear

To clarify, this is presented as a good thing.

Of course, my bank doesn't have a "monopoly" on my account information: that information _is not a commodity_. More so, it is definitely not something that I would ever want to have change hands and be traded around. I entrust my money to the bank, very grudgingly, because it's a convenience, but I definitely, very very definitely, do not want it to share any information about the services it provides to me with third parties.

I really hope the article is misrepresenting the new directive, or that at the very least it will be a unique legistlative exception that somehow manages to provide adequate safeguards to my privacy, otherwise... OK, I don't know what, otherwise. This just sounds insanely stupid. In terms of protecting EU citizens' privacy it's a giant leap backwards.

<comment><USER12> It's not about the banks selling your information but about you having (or giving) access to your information.

For example, manually retyping my bank account transactions into my accounting software will hopefully become a thing of the past. And long overdue too!

</comment></comment><comment><USER13> I often wonder if authors of PSD2 whitepapers ever read the text of the directive they're discussing.

PSD2 is _not_ a carte blanche for every regulated PISP/AISP to consume Bank APIs for any arbitrary user. API access will be secured by the Account servicing PSP (ASPSP) security credentials. I.e. in order to initiate a payment the PISP will have to collect the users security credentials (password, mTAN or other OTP) issued by the ASPSP.

Same goes for AISPs, where the customer must be initially authenticated with ASPSP credentials and then authenticate again after 90 days.

<comment><USER14> There's still so many open questions though

* How do I know the PISP/AISP is going to do what they say, how are they accredited?

* If Spain has a very lax accreditation process then fraudulent PISP/AISP's will congregate there to scam other europeans - how do you stop this game of wack-a-mole when each country in the EU is defining their own system?

* There's hugely complicated Strong Customer Authentication regulation that's just been released in draft adding complexity to an already complex system

The problem is not _any_ arbitrary user that people are worried about, it's scams. If I approach 1000 people and 1 manage to scam one, I have access to all their financials

</comment></comment><comment><USER15> Anyone else wondering about potential security problems, and "hey where is my money" ? Now I didn't look into the protocol or security measures. But this has to be a risk.

<comment><USER5> So, the European Banking Authority (who wrote PSD2) have thought about this. The Directive mandates "Secure Customer Authentication" (SCA) which is pretty explicit about levels of security. It basically extends multi-factor authentication to all sorts of existing and new payment vectors.

Here's a fun doc if you're interested: [https://www.eba.europa.eu/documents/10180/1761863/Final+draf...](https://www.eba.europa.eu/documents/10180/1761863/Final+draft+RTS+on+SCA+and+CSC+under+PSD2+%28EBA- RTS-2017-02%29.pdf)

</comment></comment><comment><USER16> > Some banks have already started making their APIs available. Examples hereof > are the Danish Saxo Bank, that opened up for their APIs in September 201510 > and Capital One, a UK based bank, that already now enables affiliates to > benefit through their APIs.

The article author is sadly uninformed on this one. In Germany, HBCI is employed since 2002 by 2000+ banks, approximately half of German banks ([https://de.wikipedia.org/wiki/Homebanking_Computer_Interface](https://de.wikipedia.org/wiki/Homebanking_Computer_Interface)).

<comment><USER17> The rather informed author is speaking of APIs using the the PSD2 standard, which serves a completely different purpose than HBCI.

Of course ever bank everywhere has, for the last 20 years+, offered some way for their customers to interact via an API.

<comment><USER16> > The rather informed author is speaking of APIs using the the PSD2 standard, > which serves a completely different purpose than HBCI.

Sorry, you're flat out wrong there. You can implement both an AISP and a PISP using HBCI.

An AISP needs only a bank that supports HKKAZ/HKEKA transactions (aka, fetch transaction records). A PISP needs HKAOM/HKAUB/HKCCS (aka, initiate transfer transaction) transaction support from the bank.

> Of course ever bank everywhere has, for the last 20 years+, offered some way > for their customers to interact via an API.

In most cases only for professional customers. HBCI (in Germany, though) changed the table as it was explicitly intended for private/small business owners.

</comment></comment></comment><comment><USER18> The potentially huge implication of this is the marginalising of existing payment processors. In theory it may be possible for merchants to directly get a payment from your bank by a mechanism a bit like OAuth.

The underlying objective is the creation of a smooth and level market for payment services such that competition between European financial services companies increases, rather that being limited to banks which tend to be restricted to the country.

Actual text of directive: [http://eur-lex.europa.eu/legal- content/EN/TXT/?uri=CELEX:320...](http://eur-lex.europa.eu/legal- content/EN/TXT/?uri=CELEX:32015L2366)

See also [http://www.thebunker.net/blog-psd2-is-a-disruptive-game- chan...](http://www.thebunker.net/blog-psd2-is-a-disruptive-game-changer-and- success-depends-on-security-privacy-and-trust/)

and [https://www.out-law.com/en/articles/2015/january/key- feature...](https://www.out-law.com/en/articles/2015/january/key-features-of- psd2-and-what-they-mean-for-the-payments-industry/)

and [https://www.starlingbank.com/explaining-psd2-without-tlas- to...](https://www.starlingbank.com/explaining-psd2-without-tlas-tough/)

</comment><comment><USER19> This seems backwards and terrible.

Every other nation in the world allows direct person-to-person transfer between any bank. You put in your friend's name, BSB and account number into your phone in Australia and the next day they have money. In Germany, you have additional 1-time use TAN numbers.

Only in the US must we use PayPal, Facebook or paper checks. In fact, paper checks are the only way to send money fee-free between banks. You can of course just display a check on a screen and have the other person take a photo of it with their phone, but that's still pretty ass backwards.

Banking should allow direct transfer at the state level, without third parties or fees.

<comment><USER20> In the EU country where I'm from, you _do_ pay a percentage fee each time you make a transfer to an account from a different bank.

<comment><USER21> Where is that? SEPA room?

In germany all SEPA transfers are free

<comment><USER22> That's wrong.

<comment><USER23> It's not. Should I send you my business contract with a German bank?

<comment><USER24> "All transfer are free for my particular contract with a specific bank" is not the same as "In Germany all SEPA transfers are free".

I don't pay for SEPA transfers either. But they're not all free in my country.

</comment></comment></comment></comment></comment></comment><comment><USER25> Post PSD2, would a PSP be able to act as PISP and hold customer funds while acting as PISP since it already has authorisation to hold funds as PSP?

</comment><comment><AUTHOR> This post was re-upped and is part of [https://news.ycombinator.com/item?id=11662380](https://news.ycombinator.com/item?id=11662380) program.

Full message I've received: We thought you might like to know that we put [https://news.ycombinator.com/item?id=13921072](https://news.ycombinator.com/item?id=13921072) in the second-chance pool, so it will get a random placement on the front page sometime in the next 24 hours.

This is part of an experiment in giving good HN submissions multiple chances at the front page. If you're curious, you can read about it at [https://news.ycombinator.com/item?id=11662380](https://news.ycombinator.com/item?id=11662380) and other links there. And if you don't want these emails, sorry! Tell us and we won't do it again.

Thanks for posting good stories to Hacker News, Daniel (moderator)</comment>


Choices Narrowed for First U.S. CTO - <AUTHOR> http://www.businessweek.com/technology/content/jan2009/tc20090115_815265.htm

<comment><USER2> Padmasree Warrior is so obviously suited for this job. After all, she was one of those incompetent, political executives who ruined Motorola, then exited with golden parachutes into the arms of new companies (which, of course, extended a warm and hearty "golden hello" to them). People like her are part of what is utterly wrong with our economy - there's an entire group of people running large portions of government and industry in America whose only talent is in manipulating people and assets; they don't actually create ANYTHING.

And of course, we have the business press more than happy to engage in a round of brown nosing, as they are always in need of "sources familiar with the matter" and "unidentified executives" for their gossipy insider stories (how do you think all of those articles come to fruition? Looking through garbage?).

As thbe CTO of America is likely to continue the grand tradition of Corporate America wherein people make lofty public statements, issue press releases, and then hope someone else will take care of that oh-so-difficult task of actually getting something done, I wholeheartedly support Padmasree Warrior for this job.

If you Google for my name + Motorola, you will see where I am coming from on this matter.

<comment><USER3> Interesting stuff. But saying _one of_ isn't saying anything specific. As the CTO of Motorola immediately prior to and during the launch and success of the RAZR, you don't think she helped to make the product a success? Seems like she left before the fallout but I guess it's possible to spin that as either cowardice or wisdom.

Do you have anything specific to criticize her for? Lumping someone in with a negative peer group, especially one who voluntary left for greener pastures, isn't a strong knock against them.

<comment><USER2> You just reminded me that, during her tenure, she was one of the people responsible for cutting back on American engineering talent (or whatever there was left after the 90s) and moving nearly everything to Chindia.

Yeah, AWESOME choice for the US CTO, Obama! That's change I can believe in!

</comment></comment></comment><comment><USER4> Karma Warrior, awesome name.

On a more serious note tho' you have to be real careful about giving entrenched industry people political power by appointment. Here in the UK we are still feeling the aftereffects of Beeching, a lifelong auto-industry man appointed by the UK government to look after transport. His plan was to tear up railway tracks, who needed them after all, when there were cars? Only now public mass transit is "in" and it's too late, the tracks are gone, the land has been sold off, what's left of the system is overloaded. You want to be real careful she doesn't start tearing out bits of physical infrastructure, it's hard to replace.

<comment><USER5> Looks like it's actually Kar _n_ a Warrior.

</comment></comment><comment><USER6> Wow, I did some quick research on Padmasree Warrior, and she's incredibly smart. From the Mobilize '08 keynote:

"We have this question today, this question of where mobile devices will go in the future. So the question at hand is, 'What is mobility, really?' And in my view, mobility is not the device. It's not the network. It is the mobile experience.

Mobility as a term has existed for quite some time, and for most of the time it has been synonymous with 'cellular network' and 'device'. This is because cellular networks were the first time we were truly free of wires. I think this has changed though, mostly because of the massive, enormous scale of adoption. More than three billion people on earth use a cellular device to communicate. Every second, four babies are born. In that same second, thirty mobile devices are sold. And we're just now starting to see the innovation beyond mere two-way communication in mobility."

This is a really, really amazing talk: <http://www.youtube.com/watch?v=l5K-xXUKlec>

She gets mobile. And she understands the future of the internet.

<comment><USER7> I was a fan of warrior till the day she made a blog post on her first day at cisco, with her heart swaying the other way within hours. How can any passionate individual swing their strong opinions in hours, ofcourse it is just projected and fake. I lost the respect for her that day.

Her blog on motorola was extremely popular. Motorola took it down when she quit. Why would any large company do that unless there was huge amount of disconnect and disharmony with the leader who quit.

I was a fan but it all fell like a landslide, guess in reality she had captured many in a charm. I feel she is an impressive self promoter, probably a strong techie but weak at strategy. My cousin worked at Motorola and from what I hear, she probably was one of the key reasons why motorala doomed in the mobile run. She apparently predicted iPhone would be a massive failure when moto let the popular Razr phones die.

<comment><USER8> "How can any passionate individual swing their strong opinions in hours"

Umm, most smart, passionate people can swing their strong opinions within _minutes_ , when presented with the appropriate data. George Soros is legendary for this; he's been known to back out of billion dollar investments the next day. Most good managers are like this too.

The crucial part is _data_ , and how they evaluate that data. And not having read the blog post, I can't say whether Warrior's thought process makes sense. But I really hate the idea that "Passionate people cling to their ideas at all costs" - that's responsible for most of the failures and wasted effort in the world today.

</comment></comment></comment><comment><USER9> Why does the US need a CTO?

"If you put the federal government in charge of the Sahara Desert, in 5 years there'd be a shortage of sand" \- Milton Friedman

<comment><USER10> I'm surprised more people don't realize how short sighted it is to increase the power of government

Even if you think that Obama's ideas will be absolutely brilliant, and think he be able to increase the power of government to cause change which you want, it is still short sighted to increase the power of government. The reason is, your guy won't always be in charge, and when he isn't, someone you disagree with will be able to use these newly expanded powers in ways you don't want.

Everytime someone says, well we need a CTO to do this, because otherwise, the other party will do that, that person is setting themselves up for extreme disappointment. When the other party comes into power, these new found powers will be used against you, and you will be worse off than you were to begin with.

<comment><USER11> I want a small effective government and I vote Democrat. From what I can tell Democrats are more focused on actually reducing government spending than Republicans. As to the effects of "large government" look at how many freedoms each side wants to remove and Democrats win again. Limiting how old you need to be to buy video games pales in comparison to the loss of due process etc.

National Heath care might seem like bad voodoo, but the government is already pay for over 1/2 of all medical spending in the US yet medical bills are still the leading cause of bankruptcy in the US. Most countries with a national heath care system spend less money per person and relative to their GDP than we do now and we still have a crappy patchwork. When a hobo shows up at a hospital he is going to get treatment and we are going to pay his bill but I still need to buy expensive medical insurance.

PS: I am a consultant working for the DoD and I have saved the US taxpayer millions. If you had any idea what games where being played you would probably also vote Democrat because it saves you money.

<comment><USER12> Concur. Here's some evidence

<http://mibi.deviantart.com/art/Death-and-Taxes-9410862>

<http://www.wallstats.com/>

</comment></comment></comment></comment><comment><USER13> I've worked with Vivek Kundra a bit with his very revolutionary "Apps for Democracy" contest. The guy really gets it. He's smart and understands the power of openness and involving the outside for helping Government.

An interesting thing about him: when coming into power here in DC one of his first mandates was "District Government will operate off of the same data we make available to the public."

As such, remarkably, public data feeds coming out of the district got significantly better, more organized and more available.

Sounds obvious, but it was a big step for even a municipal Government to take.

</comment><comment><USER3> Title is misleading because a choice hasn't actually been made yet. But Warrior (<http://en.wikipedia.org/wiki/Padmasree_Warrior>) is really impressive as a possibility.

</comment><comment><USER14> Some days I hate the Web.

Why does even business week get nailed with a bunch of jingoistic nonsense in their comments. I was hoping to read some interesting and informed thoughts, instead the comments read like Digg.

</comment><comment><USER15> Is the CTO of the US handling software patent stuff or is that someone else's problem?

</comment><comment><USER16> Last I heard, Lessig was at the top of the list. What happened there?</comment>


Show HN: Fake weekend project: Update FAQ page via email - <AUTHOR>

I'm participating in Lean Startup Machine weekend seminar, and they want you to fake the project to gauge interest. Does this work?
http://unbouncepages.com/faqmailer/ <comment><AUTHOR> I tried to submit the url first, but it was considered spam - I guess using an unbounce page for a non-existing service is kind of spammy, but this seems to be considered the 'lean' way.</comment>


Report calls for radical redesign of cities to cope with population growth - <AUTHOR> http://www.guardian.co.uk/environment/2010/dec/02/report-redesign-cities-population-growth <comment><USER2> One day, Chinese central planners decided to do a city "right", from the ground up, complete with utilities, roads etc... all for 1 million people to live in it. Turns out, it's a ghost town:

[http://www.time.com/time/photogallery/0,29307,1975397,00.htm...](http://www.time.com/time/photogallery/0,29307,1975397,00.html)

A pretty ghost town nonetheless.</comment>