Canonical to remove all Sun JDK packages from the Partner archive - <AUTHOR> https://lists.ubuntu.com/archives/ubuntu-security-announce/2011-December/001528.html <comment><USER2> Since this is a licensing issue, Ubuntu isn't the only distribution dealing with this. Here is the announcement from Debian Project News:

The release of Java update 29 from Oracle marks not only security updates, but a change to the licensing, removing Debian's ability to distribute the non- free JVM. The clause in the Java license under which we were able to distribute Java, the DLJ, has been removed. As a result, the sun-java6 package is no longer suitable for the archive, and has been removed, as documented in Debian Bug #646524 [2]. Sylvestre Ledru suggests [3] that sun-java6 installs be migrated to openjdk, the open-source alternative, using the following command: "apt-get --purge remove sun-java6-jre && apt-get install openjdk-7-jre" Kai Wasserbäch has also been pointed out elsewhere [4] that this upgrade path might not be suitable for all Java programs, and special attention should be paid to re-testing installed Java applications on OpenJDK.

       2 : http://bugs.debian.org/646524
       3 : http://sylvestre.ledru.info/blog/sylvestre/2011/10/25/removal_of_sun_java6_from_debian
       4 : http://www.carbon-project.org/Removal_of_sun_java6_and_ElsterOnline.html

<comment><USER3> The notion of replacing the sun java6 with a openjdk7 is extremely laughable. If you have a high performance java server app, openjdk just doesnt cut it.

<comment><USER4> Don't just laugh at it - make a suggestion. What do you suggest they do?

<comment><USER5> Well, people can go download jdk7 themselves... but that doesn't really solve the problem that the article is describing.

</comment></comment></comment></comment><comment><USER6> This seems like an good thing, but man is that an awful way of going about this. Forcibly removing the packages during a software update is shady enough, but pushing out blank packages that will cause a user's system to produce issues that the user might not know how to fix, or a reason for the failure?

Ubuntu has pretty much always been the "set it and forget it" distro. Problems are often introduced in upgrading to a new release, but once you've installed a release you generally don't get it broken with a routine update. Many people have installed Ubuntu on non-techies' machines in order to not need to do maintenance on them. Unless I'm misunderstanding, all those machines now need to be manually updated to avoid being broken?

I know the blame goes back to Oracle, but Canonical could have handled the issue better. In this case, it seems they're breaking the system to spite Oracle.

<comment><USER7> Since Oracle prevents redistribution of newer versions, there are only three ways we can handle this:

1- Leave the insecure packages in the archive, and not update them 2- Remove the insecure packages from the archive, but leave them installed on users' systems 3- Push out an update that removes them from users' systems

Please keep in mind that the security issues present in the old version are currently being exploited by malware on the Internet.

If we do option #1, our users are at risk, and their systems will get compromised. If we do option #2, new users cannot install the vulnerable packages, but current users get compromised. If we do option #3, we make sure our users stay secure, at the cost of breaking some installations.

There's no good way of dealing with this, but we are of the opinion that #3 is unfortunately the best way to handle it. If you have a better alternative that we haven't thought of, please let us know. Thanks.

<comment><USER6> Remove them from the repo, leave them installed, and figure out a better way to inform users of the risk. Some people would find that risk acceptable. Some will take the notification and uninstall or update the software.

Personally, i don't think that's a decision the developers should make for the users. You don't force them to use your proxy servers or firewalls, why are you taking it upon yourselves to forcibly remove software from their machine without being able to install a newer version? What this update does is fix half a problem and introduce an entirely new one. You can't be the software police.

<comment><USER7> If people find having the risk is acceptable, they may use apt pinning to force the older packages to remain installed.

Our users are expecting that the normal software update process ensures that software they are using is maintained in a secure state with timely security updates. To leave Java at a known vulnerable version would be irresponsible, and most likely not what our users are expecting.

<comment><USER8> To add to that, once the java plugin is removed the browser will prompt them to install the default (icedtea) which is secure.

They will see the prompt the next time they visit a web page which uses java.

</comment></comment></comment></comment></comment><comment><USER9> An Oracle developer's comment on why the DLJ was retired: <http://robilad.livejournal.com/90792.html>

I think this won't have a big impact on Java development or use on Ubuntu. Ubuntu's bundled Sun java lagged behind the Oracle official releases, so it wasn't much different from OpenJDK. Disabling the Java browser plugin by default should have always been the sensible option. The plugin has always seemed like an infrequently used security liability.

<comment><USER10> Personally I've always had problems with OpenJDK on Ubuntu. Eclipse just doesn't run the same on the OpenJDK as it does on the SunJDK.

<comment><USER11> It happens to me too and considering my past experience with Eclipse I don't think OpenJDK is to be blamed - I just uninstalled Eclipse and went with IntelliJ IDEA. Works fine.

</comment></comment></comment><comment><USER12> And thus the first nail in the java coffin. Or at least the Oracle version.

Anyone know why Oracle doesn't want people to use java? (and by people I mean linux users and by java I mean their version).

<comment><USER13> Monetising Java has always been problematic. Linux/GPL people have always been stroppy. Making sure everyone has the latest version is a hard enough problem even without politics.

The take home lesson is that getting your language onto every desktop is hard and probably not worth the effort.

Which is sad because the best thing about Java was always how it was OS agnostic. People always used to say about Java "write once, run anywhere"... but that was wrong. It was better than that. It was _compile_ once, run anywhere.

I recently grabbed some of my old (1996) Java code from storage and then ran it on my desktop. The desktop was using a different OS, different chip architecture, everything was different from the machine it was originally compiled on. After 15 years it still ran perfectly.

C is a "write once run anywhere" language, but you have to recompile it for each different platform, which often turns out to be non-trivial. There's no way I could take C code from a Windows 386 machine and run it on a Mac or Linux multi-core 64bit machine over a decade later.

<comment><USER14> "After 15 years it still ran perfectly", that's because the language is still 15 years old.

Java is at best, write once, test everywhere.

<comment><USER15> Write Once Run Somewhere Else

</comment></comment></comment></comment><comment><USER16> Remotely deleting stuff on your user's computers reminds me of the Kindle. You just don't do that if you still want people to trust you. Instead, an automatic transition to OpenJDK should be put in place. With this, your java package at least still does java, albeit in a maybe incompatible way.

<comment><USER7> Once the browser plugin gets uninstalled by the package update, visiting a web site that requires a Java plugin will cause the browser to automatically suggest installing OpenJDK/icedtea-plugin.

<comment><USER17> That sounds like good behaviour for the browser plugin, but removing the entire JDK would be annoying if you used Eclipse. I suspect that non-plugin use of the JDK would not be as impacted by the security issues.

<comment><USER18> And would BREAK things if you run Tomcat/JBoss/Glassfish/etc... Seriously the idea of running a package update that would erase key requirements to running my production J2EE apps is totally insane. I guess I'll stick with RHEL. For all it's issues, they've never talked about silently deleting my JDK.....

<comment><USER19> redhat also removes packages when they cant update them

<https://rhn.redhat.com/errata/RHSA-2011-0368.html>

<https://rhn.redhat.com/errata/RHSA-2008-1045.html>

</comment></comment></comment></comment></comment><comment><USER20> So I don't know how Gentoo is currently planning on doing this, but one thing I've noticed with several packages is that if you try and install it, it will exit with a message telling you to go download it from the company however they want you to and stick it in Gentoo's downloaded source directory. (Actually it already does this for the sun-jdk package.) Can't Ubuntu do something similar? Silently removing the package from the repository is one thing and relatively fine; silently removing the actual binaries is another thing and out of the question. That JVM being available may be incredibly important, you have no idea what it's being used for or how susceptible it is to theoretical 0-day JVM vulnerabilities.

</comment><comment><USER21> Richard Stallman doesn't seem so crazy now, does he?

<comment><USER22> Oracle isn't demanding Ubuntu actively remove Java from user's computers: Ubuntu has simply decided to do so; they could keep distributing the old version, or even distribute no version at all. Meanwhile, the driving factor behind the license change is "use OpenJDK instead", which would be a step in the right direction with regard to RMS's issues with Java. Oracle is not the problem here: Ubuntu is.

<comment><USER11> This reminds me of a quote from the movie Analyze This (2002):

        Jelly: Anyway, two of the witnesses decided not to
               testify and the third guy, well, he commited
               suicide.
        Dr. Ben Sobel: How?
        Jelly: He stabbed himself in the back four times
               and threw himself off a bridge.

_Oracle isn't demanding Ubuntu actively remove Java from user's computers_

Except that it makes it impossible to do otherwise, as security (a hallmark of desktop Linux) is compromised. Technical users that need to keep their servers up will know how to workaround this, while mom and dad won't care.

Despite the backlash, I think this is the right choice.

<comment><USER22> Yes, I know how to work around this. No, I do think it is reasonable that I might be forced to work around this while I'm in the middle of doing what should have been a routine security upgrade; remember: the original package is gone, and Ubuntu's Java packages have extra supporting material (such as dpkg- alternatives logic) that is missing from Sun's.

It should also be noted/realized that many Ubuntu users even use the "unattended-updates" package that is provided by the distribution, which means that at some point in the middle of the night all of their software is just going to stop working with no notice. Apple isn't even this insane, and people give them all sorts of flak for theoretically having the ability to remotely wipe apps from peoples' phones.

<comment><USER19> It's what everybody else does see?

<https://rhn.redhat.com/errata/RHSA-2011-0368.html>

<https://rhn.redhat.com/errata/RHSA-2008-1045.html>

</comment></comment></comment></comment></comment><comment><USER23> Hey, it looks like the garbage collector finally got around to doing its job... :) OK, it's a stretch, but...

(If Java had true garbage collection, most programs would delete themselves upon execution. -- Robert Sewell)

<comment><USER24> Re: Sewell, wouldn't that make Java the inverse of a quine?

</comment></comment><comment><USER25> To go in the Description field of your bookmark: (quote)

If you are currently using the Oracle Java packages from the partner archive, you have two options:

1- Install the OpenJDK packages that are provided in the main Ubuntu archive. (icedtea6-plugin for the browser plugin, openjdk-6-jdk or openjdk-6-jre for the virtual machine)

2- Manually install Oracle's Java software from their web site [4].

</comment><comment><USER26> I have to accept not having the latest default JDK on my OSX dev machine... and now my server as well?

"Run anywhere (we want you to)"?

</comment><comment><USER27> Redhat's response to the DLJ retirement: <https://access.redhat.com/kb/docs/DOC-64765>

Basically they have bought a binary code license (BCL) which gets around the problem. Does this apply to Fedora too?

</comment><comment><USER28> _[...] so that the Sun JDK will be removed from all users machines when they do a software update_

A ridiculous solution...

 _Oracle has retired the "Operating System Distributor License for Java"_

... to a ridiculous problem.

</comment><comment><USER3> As a developer who had need to run high performance Java, I gotta say your #1 option is just not an option. OpenJDK with icedtea isn't even remotely close to a replacement.

I understand that Oracle is forcing your hand, but the lack of compassion and sympathy and the ignorant insulting "recommendations" is really off putting.</comment>


How React brought Model-View-Controller back to the masses - <AUTHOR> https://blog.talkjs.com/how-react-brought-model-view-controller-back-to-the-masses-4f3caf3a3f2f <comment><USER2> Nice article.

You might find a way to update it to either change the 1988 date, or make it clearer that 1988 is when the particular formulation of MVC that you're talking about was invented, not the origin of the MVC idea.

</comment><comment><AUTHOR> Disclosure: this article is an elaboration of my HN rant at [https://news.ycombinator.com/item?id=12928869](https://news.ycombinator.com/item?id=12928869). There's some overlap. Hope that's okay.</comment>


Atari Centipede's Hidden Code Trap - <AUTHOR> https://arcadeblogger.com/2019/06/29/atari-centipedes-hidden-code-trap/ <comment><USER2> >Simply stating that "this game copied our idea!" is all well and good; but in a court of law, the case has to be proven beyond any reasonable doubt.

In common law systems such as the US and Canada, "beyond a reasonable doubt" is generally the metric used for _criminal_ law. Civil cases, such as this, generally use _preponderance of evidence_ ; it's a much weaker standard, essentially meaning that whichever side is more than 50% supported by the evidence will win.

Doesn't take away from the interest in this code trap, but Atari did have a lower bar for success.

<comment><USER3> Wouldn't this have been criminal copyright infringement, since it was for commercial gain and impacting the commercial prospects of Atari?

<comment><USER2> IANAL (or an expert on Canadian IP law) but while it perhaps _could_ have been as well, it's pretty clear from TFA that this was a civil lawsuit. Use of the term "lawsuit" and "plaintiff" (the latter in the only actual document provided[1]) are dead giveaways, as is the fact that the government (who prosecutes criminal cases) does not appear to be involved.

1: [https://missilecommand.files.wordpress.com/2018/12/ilovepdf_...](https://missilecommand.files.wordpress.com/2018/12/ilovepdf_merged.pdf)

</comment></comment></comment><comment><USER4> The article tells us the non-Atari game retained a damning Morse message in its ROM. From another source[1] (unverified), this _may_ be the ROM data the article refers to:

        .BYTE 2, 0BB, 5A, 30 (where 0 is dot and 1 is dash and nothing for a space)
        .BYTE 5F, 0EE, 7D, 0A8 ; Morse code for "COPYRIGHT 1980 ATARI"

[1] [https://www.binarni.net/2013/07/centipede/](https://www.binarni.net/2013/07/centipede/)

With all the ROM images floating around in the MAME/retro scene, someone can probably verify this.

<comment><USER4> Okay, replying to my own curiosity... The above byte sequence can be found in a dump of Centipede's ROM.

        00001280  a2 13 a9 ab 5d 20 21 ca  10 fa 85 fe 60 02 bb 5a  |....] !.....`..Z|
        00001290  30 5f ee 7d a8 20 b3 21  85 ae b9 c0 21 85 b0 a9  |0_.}. .!....!...|

The entire arcade game is contained in 12 kilobytes of code, BTW. (!) The amount of imagination and fun and replayability that this era of gaming delivered under such constraints (by modern luxurious standards) is mind boggling.

<comment><USER5> Spent a little time decoding this...

      02       BB       5A       30       5F       EE       7D       A8
      00000010 10111011 01011010 00110000 01011111 11101110 01111101 10101000
            C. ..O..P.. .Y...R.. I.G..H.. .T1....9 ....8... .0....A. TA.R..I.

*edit: formatting

<comment><USER6> Did you use the source code for this?

<comment><USER5> Nah, I just did a little manual pattern-matching on the bits looking for "ATARI" (morse code : "0110101000") and working backwards from there.

</comment></comment></comment></comment></comment><comment><USER7> A similar technique was used to prove that the mobile game Heroes Charge was built on stolen code [https://www.facebook.com/allstarheroes.en/videos/15770877858...](https://www.facebook.com/allstarheroes.en/videos/1577087785877567/) Except that code has become a lot more complicated since the Atari days. So, you don't need a hex dump to show the evidence. Just a gesture sequence on a certain screen and the UI pops up "Copyright: The Original Company".

Meanwhile, the original company was simultaneously being sued by Blizzard for blatantly knocking off the character designs of World of Warcraft [https://blizzardwatch.com/2015/03/24/blizzard-files- lawsuit-...](https://blizzardwatch.com/2015/03/24/blizzard-files-lawsuit- against-lilith-games-for-copyright-infringement/)

</comment><comment><USER8> Similar to [https://www.folklore.org/StoryView.py?story=Stolen_From_Appl...](https://www.folklore.org/StoryView.py?story=Stolen_From_Apple.txt):

 _"Steve decided that if a company copied the Mac ROM into their computer, he would like to be able to do a demo during the trial, where he could type a few keystokes into an unmodified infringing machine, and have a large "Stolen From Apple" icon appear on its screen."_

</comment><comment><USER9> Ha! This makes Rap Genius's apostrophe trap even more delightful, then.

[https://www.rollingstone.com/music/music-news/genius- google-...](https://www.rollingstone.com/music/music-news/genius-google-stole- lyrics-morse-code-848781/)

</comment><comment><USER10> So how was the code trap implemented?

<comment><USER11> I wrote a few game cartridges for the Atari 400/800 computers when I was there in the early 80s. We were told to include a specific bit pattern, I think it was 5 or 8 bytes long, somewhere in our code. The idea was that the presence of a non-functional, unique bit pattern was going to be very difficult for a defendant to explain in court, since pirates mostly just copied ROMs and made minimal changes to obvious bitmaps and strings. Even if they found the mysterious bit pattern and were clever enough to (say) zero it out, they'd have to explain why most of a ROM was identical except for visible assets and that one set of bytes with no function ("What are these bytes for? Oh, you don't know? Let us show you...")

We weren't told what the pattern meant. I played with it for a couple of hours once; I knew it wasn't executable 6502 code or simple logical bit operation (NOT, reverse bits, etc.) of anything obvious. Morse code makes sense now.

Some coinop machines (Tempest, for sure) used character encodings so that the visible copyright messages were also executable code; changing the message, even slightly, would crash or have unpredictable behavior. In the case of Tempest, when the "final" ROMs were released to manufacturing, the dev team went on vacation while production ramped up. Some lawyer decided that the copyright message had to change, so they patched the ROM on the factory floor. Unfortunately this modification didn't lead to an immediate crash, but opened up a hole where the contents of the score line could do things like give you 100 extra lives (e.g., die with the low digits of your score being "50" and you'd be able to play for free for _hours_ ).

<comment><USER12> Side note here, the Atari 800 was my first computer, and I absolutely loved every minute of it. Thanks for all your work and ingenuity, they gave me a good start on a career in technology.

One question: why didn't the Atari 800 ever take advantage of the double cartridge ports?

<comment><USER11> My understanding was that the second cartridge slot was not a very well thought out thing. I think there was one cartridge made for it (some debugging tool?)

That port cost a lot of money per unit; Atari's early efforts were not very well cost reduced. If they'd been more aggressive about cost reductions (and improving I/O speeds) they might have done much better in the market against Commodore. Instead we got more unclear hardware directions (the 1200XL's "Help" key was a prime example of the hardware group just not caring about or talking to the software folks), even more expensive machines, and a bunch of work being done by outside contractors instead of inside staff because it was easier to build empires that way. The 7200 game machine (developed by General Computer Corporation in Cambridge, IIRC) was a surprise to most of us, for instance, and not a good one.

</comment></comment></comment></comment><comment><USER13> It would have been really rad to tie this embedded message to an input sequence. I guess in centipede that's extra hard, but it would make for a great moment in court when the devs roll in defendants machine and moments later copyright Atari shows up..

<comment><USER14> Jarvis and DeMar did exactly this on Robotron:2084, in the hopes it would be useful in court one day:

[https://youtu.be/3zr4CdUdt0w](https://youtu.be/3zr4CdUdt0w)

</comment></comment><comment><USER15> This reminds of the story why Van Halen had a M&M clause in their contract for rock concerts.

It is a trap to ensure that the contract was fully read and complied with.

[https://www.snopes.com/fact-check/brown-out/](https://www.snopes.com/fact- check/brown-out/)

</comment><comment><USER16> >Simply stating that "this game copied our idea!" is all well and good; but in a court of law, the case has to be proven beyond any reasonable doubt.

This sounds like patents or copyrights can grant monopoly on an _idea_. As far as I know, this is not the case. (Well, at least not in principle.)

</comment><comment><USER17> Xor ftw!</comment>


New U.K. Government Focuses on Startups and Spooks - <AUTHOR> http://techcrunch.com/2015/05/09/tory-tech-landscape/

<comment><USER2> When the party that was the most opposed to GCHQ's surveillance powers is the one to drop the most, you have to wonder whether GCHQ or its partner, the NSA, played a role in that - maybe a little "anonymous" leak here, another anonymous leak there, to drop their popularity.

That said, the FPTP voting system has got to be the worst voting system ever, in any "democracy".</comment>


Steve Bannon's far-right Europe operation undermined by election laws - <AUTHOR> <comment><USER2> missing link ?</comment>


Sony Pictures acquiring movie rights for new Steve Jobs biography - <AUTHOR> http://www.appleinsider.com/articles/11/10/07/sony_pictures_acquiring_movie_rights_for_new_steve_jobs_biography.html

<comment><USER2> Already submitted by another user, fyi.</comment>


Rebuilding Racket on Chez Scheme Experience Report [pdf] - <AUTHOR> https://www.cs.utah.edu/plt/publications/icfp19-rddkmstz.pdf <comment><USER2> > _" The main Racket distribution now consists of roughly 1.2M lines of Racket > (including 270k lines of documentation source), but that code is still > supported by roughly 200k lines of C. Large parts of Racket's implementation > remain in C only because the original interpreter was in C, and all of that > C code is relatively difficult to maintain."_

For context, cloc says that Chez Scheme has ~100k lines of scheme code and 16k of C (plus 15k of C headers.) I didn't know Chez was that much smaller than racket/base; that's pretty cool. 16k instead of 200k is a huge difference.

<comment><USER3> I think that is fair to say that Chez is something of a marvel; though gambitc/gerbil is nipping at its heels.

</comment></comment><comment><USER4> I've been hearing nothing but good things about Racket for the last few years. I finally downloaded it last month. It really just puts a silly smile on your face. The language-oriented programming is terrific too. I really want to find ways to integrate Racket into my work.

<comment><USER5> > I really want to find ways to integrate Racket into my work.

Normally engineers search for tools to solve their problems. Somehow, when it comes to programming languages, software engineers start a search for problems for their cute tools. Please don't get me wrong, I'm not making a snarky comment against lisp. I'm very much in love with lisp, but I do understand how people see us lisp people like bunch of gray wizards in some remote castle. What needs to be shown is a set of problems that can adequately be solved by racket that cannot be solved as well with competing languages. We should really stop treating programming languages anything other than tools. I use GNU grep for 20 years, one day I realize ripgrep is better, I switch.

Again, I want to underscore that I'm not saying that particularly disagrees with you. I just don't think this rhetoric is helpful. We should be thinking about what makes racket that puts a smile on our face, and discuss whether we can use these tools in other languages. Not that this is not being discussed, of course.

<comment><USER6> One of the things that boggles me about Lisp is there seem to be more lisps and schemes out there than significant applications built in them. I say this as a former lisp weenie (and present day J bum). It's certainly more fun to develop in Lisp than Javascript, but ... for all these tales of power its achievements since Macsyma seem lacking.

I mean, someone must be building stuff with all these lisps that gets used, but compared to, say, Javascript or Java, it seems most lisp developers develop new dialects of lisp. I guess this isn't unexpected as it was originally a language for developing interpreters (aka "AI v1" expert system shells).

<comment><USER7> (I am referring to Lisp here as mostly the Common Lisp and the Scheme variety)

There is also the issue where are a lot of areas like UX and tooling requires boring engineering work that no wants to put in. Dependency management, language servers, static analysis etc.

Scheme is stuck in academia; its creators are more interested in forcing language constructs like Continuation Passing Style onto end users rather than fixing ecosystem problems. Despite having a multitude of standards, every Scheme has to roll its own dependency manager. Chicken libraries aren't directly compatible with Gambit and good luck with Racket's licensing.

Quicklisp is relatively recent and a lot of books that are considered "standard reading" are so old that they don't mention it. Simple things like exporting a binary using save-image-and-die etc. don't work properly, easy Rust/Go style cross platform compilation support is almost non-existent and the whole process is extremely flaky in general. Stuff like Roswell improves the UI a bit but the underlying foundation is extremely barebones. Now most of these problems would go away with proper funding. But the major users of Lisp tend to be small niche companies in areas like natural language processing and quantum computing. They are not Sun, they are not Google. They never had to onboard a tremendous amount of new people in a short time. They have their pick of a community with too much supply and not enough demand. The people in charge of using them are happy to stay within the safe walls of Emacs and tradition, expecting all newcomers to do the same. They are not gonna drop a couple million of investment to fund tooling and infrastructure. Even with Clojure where you have new editors and tooling the language authors are infamous for being reluctant to address user needs and concerns at a core level. Forget about a language whose ANSI standard has never seen an update for 2 decades and whose improvements are fueled by a hodgepodge of mildly incompatible language extensions and macros. Sure there are two new compiler projects in CL that are coming along nicely, but they are not dedicating the attention to UX that languages like Elixir do. The CL21 project looks nice on paper but never caught on, and everyone is happy to push for more compiler implementations instead. A lot of the compilation and ecosystem stuff that are really important such as mobile, Web, GUIs etc. are tied to proprietary software. Sure the situation is improving with electron and I heard that the Qt binding is slightly better these days but the language situation resembles more to closed sourced relics like Embarcadero Delphi than the highly vaulted insane-productivity-startup-secret-weapon that HN seem to give the impression of.

<comment><USER8> What's the barrier with Racket's licensing? It's currently LGPL (looks like v3).

[https://docs.racket-lang.org/license/index.html](https://docs.racket- lang.org/license/index.html)

[https://github.com/racket/racket/blob/master/racket/src/COPY...](https://github.com/racket/racket/blob/master/racket/src/COPYING_LESSER.txt)

<comment><USER9> Adding to Neil's answer:

Racket is currently being relicensed as MIT / Apache 2.

[https://github.com/racket/racket/issues/1570](https://github.com/racket/racket/issues/1570)

It's a slow process though. Not because people object to relicensing, but some people are no longer in contact with the Racket community and they can be difficult to find.

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> Very cool to see that this is getting ready for prime time. It seems they succeeded in achieving the primary goal of making the implementation more maintainable and easier to work with. But the lesser goal (or perhaps non goal, but something some people might have secretly hoped for) of inheriting some of Chez's speed hasn't really panned out (yet).

</comment><comment><USER10> I would recommend either a change to lazy jit compilation, or dumping the jitted image, for the startup-time problem.</comment>


Real estimates of mortality following Covid-19 infection - <AUTHOR> https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30195-X/fulltext <comment><USER2> Confused — the article starts off with the reasonable point that we don't know the true number of covid infections (likely only the most severe ones) so calculations of death rates are flawed. But then they address this by instead computing # deaths that day/# infected 14 days prior? How does this solve the initial problem?

<comment><USER3> they are attempting to relate the infections to an average outcome 14 days later, this seems to view the dynamics as a series of interleaved 14 day cycles.

in this case if one has a number of outcomes that resolve in death or recovery and that number is larger than your original number for infections, then you can fudge the numbers after and say thats the number of infections we didnt know about 14 days ago in order to adjust.

this is interpolation and if it occurs it must be made obvious in your data presentation. it really does help to provide an expected value to compare to a future observed value. youll be able to correct and get in the right ball park, then ask where the deficiencies in theory are that provide explanation for these differences.</comment></comment>


Ask HN: What back end features are pain in the ass to build? - <AUTHOR> <comment><USER2> Access Control and its variants -

source: building it right now for our app. supports sharing, organizations, and role hierachy (viewers, editors, admins).

<comment><AUTHOR> Can you share on what tech stack are you building it? Are you using any of the big cloud platforms like AWS?

</comment></comment><comment><USER3> Initial setup: deployment, DB, development environment

<comment><USER4> that's about the only thing i am good at and can do quickly

</comment></comment><comment><USER5> Subscription management.

<comment><AUTHOR> Hi, OP here.

With my friend, we are building [https://foundryapp.co](https://foundryapp.co). It's a tool that helps developers build their backend much faster. We offer prebuilt templates for specific backend functionality that we deploy onto your app's backend.

Would you mind sharing more about what are the exact struggles when implementing subscription management?

If you don't want to share it here, feel free to send me a DM or email me. The email address and my twitter handle are in my bio.

</comment></comment><comment><USER6> Custom fields on a key entity that can be added without additional code or refactoring.

</comment><comment><USER7> Oauth flow.

</comment><comment><USER8> Keeping out spam signups

</comment><comment><USER9> Dashboards</comment>


Mercedes-Benz AMG Vision Gran Turismo - <AUTHOR> http://v8.autorgy.com/home/blog/mercedes/mercedes-benz-amg-vision-concept

<comment><AUTHOR> Do you think they should have produced a real car instead of just a Demo?</comment>


The FBI Is Tracking Our Faces in Secret, and We're Suing - <AUTHOR> https://www.aclu.org/news/privacy-technology/the-fbi-is-tracking-our-faces-in-secret-were-suing/ <comment><USER2> I wish we would stop emphasizing the social justice/accuracy concerns so heavily when talking about this. Starting that way will cause a huge segment of the population to switch off as soon as you start talking.

Imagine it works perfectly, and a three-letter agency with practically zero oversight, transparency, or accountability is collecting an accurate history of every single thing you do--everywhere you go, who you talk to, what you say to them, what content you consume and create, what emotions you feel, detailed biometric profiles, and so on. Are you ok with that?

<comment><USER3> Sadly, I know a lot of people who _are_ ok with that. They're very much of the opinion, "Well, I'm doing nothing wrong, so I don't care. Especially if it helps catch bad guys". Not really sure how to fight that.

<comment><USER4> \- do you know anyone who has been stalked, harassed, worse? or: do you have kids?

\- yes (hopefully)

\- would you tolerate use of software that allows users to more effectively stalk, harass, or worse? [especially your kids?]

\- no (hopefully)

\- are you aware that software with that power exists today, and that since at least 2007 some of its users have been convicted of using it for stalking/harassing/worse?

\- no, tell me more (hopefully)

<comment><USER5> > _\- would you tolerate use of software that allows users to more effectively > stalk, harass, or worse? [especially your kids?]_

It's easy to dream up ideal scenarios, such as the above (even though they are almost never realistic). For example, one possible unexpected response to the above question might very well be:

> _" Such as Tor?"_

<comment><USER3> Or, the one I get the most, "But it's our government and I have nothing to hide from them." So while they wouldn't want _private_ actors to have that information, they're fine with the government having it because they still believe the law is actually fair and impartial and such.

</comment></comment></comment></comment></comment><comment><USER6> After listening to Joe Rogan's interview with Edward Snowden I bought and listened to his book "Permanent Record." At this point I have to assume that at least a dozen agencies in a handful of countries are watching me through my webcam as I type this message right now. Snowden suggested (or at least I inferred) that he didn't reveal all there is to know about the scope of government surveillance and it's only logical to conclude that techniques and technologies have gotten more advanced and more subtle since he fled the country.

<comment><USER7> They aren't watching you. They're recording you. They're running algorithms to classify and index you. They're building massive data centers to house all of this semi organized and raw data.

And when _they_ leak it all _they_ won't be held accountable because terrorists, children, and stuff.

It's not a conspiracy theory. It's real and it's a black hat's wet dream.

Oh yeah, they can use it for political purposes too I suppose. To silence dissent and all that.

<comment><USER8> Also -- and I swear I read thid in the NYTimes, but I can't find it -- CEOs are now not uncommonly ditching cellphones and laptops before going into important meetings.

In a general sense, this sort of thing seems to have the potential to have incredible conseauences for liberty, justice, the economy and Western society.

</comment></comment></comment><comment><USER9> What a poorly designed site. Nothing but a spinning circle with Javascript disabled - Firefox reader mode doesn't work, either. Completely unacceptable from a privacy and usability perspective.

<comment><USER10> It's great if websites work without Javascript but, I don't think its fair to call them poorly designed if they dont.

The web is made from HTML, CSS and Javascript. Turn off one of them and of course things aren't going to work or look right.

<comment><USER11> Javascript required for text rendering is incredibly poor design. For those of us with limited connections, I turn off Javascript because I don't want to download 10MB of Javascript ad tech and frameworks. This is expensive and takes forever to load on satellite and rural connections.

Good design takes these basic common issues into account.

<comment><USER12> rural != common

<comment><USER11> A quarter of the US population isn't common? Not to mention entire countries with limited connections.

<comment><USER12> Common is 50% or more by everyone's definition.

<comment><USER13> You confuse "Most" with "Common" e.g., A Toyota is a common car to see on the road. See.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> Ironically, it's impossible to read this ACLU page without enabling Javascript, which opens one up to more browser fingerprinting attacks, potential Javascript vulenrabilities, and tracking.

<comment><USER15> I am hard-pressed to think of a popular page which doesn't use JavaScript.

<comment><USER16> "doesn't use JavaScript" and "can't work without JavaScript" are two separate issues.

Google, the _most_ popular page on the internet, doesn't force you to use Javascript.

<comment><USER17> > Google ... doesn't force you to use Javascript.

About 3 months ago Google became unusable when browsed through w3m: search results are not rendered as links, just as a regular text that can't be followed-through. They clearly assume you always browse with js enabled, I can't think of any other explanation.

<comment><USER16> That sounds like a w3m problem. Still works on elinks and links.

Actually, I just tried it on w3m. Still works just fine. It must be that whoever compiled your w3m messed up in some way.

<comment><USER17> My w3m installation didn't change in the last year or so. I also had opportunity to test this on various machines when needed to google random things in a hurry—it's consistently broken for me.

As for reproducability, in just this week I've seen two versions of image search page back and forth, with little visual changes here and there as well as CORS headers that break some bookmarklets that I occasionally use. I guess they're doing some A/B testing, or just roll out changes slowly.

</comment></comment></comment></comment></comment></comment><comment><USER18> The United States government treats it's citizens like the enemy.

Why on earth should we accept this situation?

<comment><USER19> Completely agree and we shouldn't accept it.

</comment></comment><comment><USER20> I remember a time when it was good manners to ask before taking someone's picture.

<comment><USER21> Ironically, I suspect people are more concerned now about random people taking their photo, or photos of their children. Remember the outcry over Google Glass?

</comment></comment><comment><USER22> To give a government absolute control like this is insane.

</comment><comment><USER23> Pervasive surveillance is inevitable. ACLU would be better served fighting to protect rights that exist in the constitution (the second amendment) than rights that do not ("privacy" right not to be tracked in public).</comment>


AppEngine Tuning - Schlemiel, you're fired « point7 - <AUTHOR> http://point7.wordpress.com/2011/09/10/appengine-tuning-schlemiel-youre-fired/

<comment><USER2> I wonder about the relationship between "total instances" and "active instances". I always have <1 active instances, but somehow end up having 2-3 "total instances".

<comment><USER3> It turns out I think that you get billed for active instances + your min idle instances, or total instances, whichever is less. I need to update the story to reflect that.</comment></comment>


Tic-80 Tiny Computer - <AUTHOR> https://tic.computer/ <comment><USER2> Tic-80 is one of the most successful pico-8 inspired fantasy consoles (I don't think it's fair to call it a "clone" since it has diverged quite a bit at this stage). Perhaps more relevant it just released the beta for v0.80 with some sweet new features[0]. That also highlights that it's open source, which had lead to some nice community additions like the recent 3DS port[1]

[0] [https://github.com/nesbox/TIC-80/tree/master/build/n3ds](https://github.com/nesbox/TIC-80/tree/master/build/n3ds)

[1] [https://github.com/nesbox/TIC-80/releases/tag/v0.80-beta](https://github.com/nesbox/TIC-80/releases/tag/v0.80-beta)

<comment><USER3> I don't know, it's pretty hard to argue it's _not_ a clone. The APIs are so similar, the interfaces are so similar some of the demo carts are literally remakes of pico carts from the pico-8 BBS. It has a lot of different features, like the different scripting language options, and fewer restrictions, but to say it's only "inspired"? Tic-80, Pq93, Pixelvision 8, Liko-12, PX8, etc all look, feel, operate almost exactly like Pico-8. How many other ways could they have chosen to layout the editors, or different APIs or different set of core features (code/sprite/map/sfx/music editors), all with similar resolutions and similar limits on pallets and spritesheet sizes even if they're not based on Pico's restrictions. Clearly they're slightly different, with different goals etc, but it doesn't take that discerning of an eye to spot a clone. IMO only.

<comment><USER2> While I get your reasoning, I would argue that that is simply a new "genre" of software applications called "fantasy consoles".

The other reason I wouldn't call it a clone is because historically speaking (as I understand it at least) "clones" in the context of computers and consoles are referring to hardware that is compatible with the platform that they are cloning. A Mac clone could run Mac software, and IBM PC clone could run IBM PC software, etc.

Since that is not true here (all these fantasy consoles are incompatible), they wouldn't fit that part of the (historical) definition of clones in a computer context - which I would consider the most appropriate one for something that is supposed to be an impressionist idea of a console platform.</comment></comment></comment>


Edison: Never waste time inventing things that people would not want to buy - <AUTHOR> http://www.thomasedison.com/biography.html <comment><USER2> It is interesting how, any mention of Edison on the internet quickly turns away from his achievements to an impromptu discussion of how he was a dick and tried to fuck Tesla over. Every single comment in this thread is about Tesla. This amuses me greatly.

<comment><USER3> Yes, it sucks that Edison screwed over Tesla, but how about the fact that he had serious BALLS?

And Steve Jobs wasn't a dick at all? C'mon.

Edison was a great entrepreneur. Despite his personal failings, he had the vision and determination to bring a lot of great things into the world.

<comment><USER2> Yes I see the correlation, come to think of it Steve did kind of screw Woz over that breakout game.

Anyway maybe it doesn't suck at all, I believe Tesla needed to learn the customs of the American entrepreneurship if he was about to start his business there. And, um... I am afraid he didn't. :(

</comment></comment></comment><comment><USER4> Edison was exactly the kind of person that I do not want to become.

<comment><USER2> He is the exact opposite of what defines a "hacker".

<comment><USER4> Unfortunately, many modern hackers (myself included heh) are adopting Edison's method: Build before learn, try everything, bruteforce a solution, skip math. Hackerspaces are particulary guilty of this non-optimal behaviour. The opposite of this is a man of science.

</comment></comment></comment><comment><USER5> Relevant : <http://flyingmoose.org/truthfic/tesla.htm>

The other side of the coin. Edison had a large vested interest in the DC power plants which he had been building.Therefore he was opposed to introducing AC power plants and transmission because it would not make him money.

<comment><USER6> Edison was the father of FUD: <https://en.wikipedia.org/wiki/Topsy_(elephant)>

He electrocuted an elephant (Topsy) in New York just to prove how "unsafe" AC design was.

<comment><USER7> Honestly? Your reply is what's FUD. I clicked on that link ready to be outraged, until I saw this:

 _Topsy belonged to the Forepaugh Circus and spent the last years of her life at Coney Island's Luna Park. Because she had killed three men in as many years (including a severely abusive trainer who attempted to feed her a lit cigarette),[1] Topsy was deemed a threat to people by her owners and killed by electrocution on January 4, 1903, at the age of 28.[2] Inventor Thomas Edison captured the event on film. He would release it later that year under the title Electrocuting an Elephant._

He didn't electrocute an elephant just to prove the unsafety of AC, he filmed an electrocution of a previously (even wrongly) condemned elephant. Yes, he may have been a heartless bastard to take advantage of the death sentence of a beautiful (innocent?) animal to further his own goals, but it wasn't as senseless a killing as your reply would suggest, and certainly not him that did it. He was the guy behind the camera.

</comment></comment></comment><comment><USER8> Edison was my hero when I was a kid. I used to believe of Edison as one of the greatest inventors of all time. As I admired him, I started digging about him. Slowly I realized Edison was one of the greediest, heartless, criminal of all time. He not only bought and stole inventions of others, he cashed on killing of people. Most people know how he screwed Tesla. What many people don't know about Edison is that his employees created electric chair which is considered as device of cruel punishment. So, he made money by selling this device of painful death. He even took opportunity to film the electrocution and killing of Topsy (elephant) to demonstrate superiority of his DC system over Tesla's AC.

Edison is an example of what one should never become in life.

</comment><comment><USER9> Edison: Never invent anything if you can fuck over Tesla to get it for free.

</comment><comment><USER10> If you think that the Edison-Tesla fuckover was epic, read aboit how Sarnoff screwed up and stole Farnsworth invention, i.e. the TV (incidentially, part of that story explains why there's no channel 1 on TVs in the US).

</comment><comment><USER11> Edison: Never waste time inventing things that can be stolen on the way to the patent office.

<comment><USER12> Tesla: do as much cool stuff as you can, no matter what kinds of trolls get in your way.

<comment><USER4> The Tesla vs Edison personality duel is equivalent to Knowledge vs Brute- force, Science vs Business, etc. At the end, Edison may be more known for the general population, but the standard unit of magnetism is named after Tesla.

<comment><USER13> What Edison >>actually invented<< ( not steal or buy )?

<comment><USER11> Well, according to The Simpsons, it was a chair with an extra set of hinged legs to stop you falling over backwards when you swung on it...</comment></comment></comment></comment></comment>


Bus-size robot set to vacuum up valuable metals from the deep sea - <AUTHOR> https://www.sciencemag.org/news/2019/03/bus-size-robot-set-vacuum-valuable-metals-deep-sea <comment><USER2> The bad feeling I have with this is that we haven't learnt a thing and will come to regret this in a few decades.</comment>


Ask HN: Groups to help individuals start businesses around their skill sets - <AUTHOR>

Are their any groups/incubators etc that actually look at an individual ( and their skills/passions/interests ) and tries to help facilitate the creation of businesses around them? I'm saying this in contrast to the ideal of some group having a 'start up idea'. <comment><USER2> Pretty much every Business Accelerator does this. They help you handhold in setting up the business & other formalities associated with this for a certain period of time and you learn in the process to manage it all yourselves.

Having an idea which is workable on and could well translate into a business is in itself a 'startup idea'.

A start-up idea does not have a different definition, IMHO.</comment>


Show HN: A Chrome extension to detect zero-width characters - <AUTHOR> https://github.com/aido179/zwBlocker <comment><AUTHOR> Following on from the recent discussion [0,1] on zero-width characters and how they might be used to fingerprint messages.

chpmrc built an extension [2] to detect these characters, but as some people mentioned, the way the extension worked was less than ideal.

I decided to build a better version that works in the background and alerts the user if they have selected text containing these zero-width characters, showing a notification that allows you to copy a clean version, and a version with zero-width characters replaced by emojis.

I also wrote a blog post about it [3].

[0] - [https://news.ycombinator.com/item?id=16749422](https://news.ycombinator.com/item?id=16749422)

[1] - [https://news.ycombinator.com/item?id=16754987](https://news.ycombinator.com/item?id=16754987)

[2] - [https://github.com/chpmrc/zero-width-chrome- extension](https://github.com/chpmrc/zero-width-chrome-extension)

[3] - [https://medium.com/@aidobreen/hidden-text-fingerprints- and-h...](https://medium.com/@aidobreen/hidden-text-fingerprints-and-how-to- avoid-them-d0103edd2ce4)</comment>


DNSChain – A blockchain-based DNS and HTTP server - <AUTHOR> https://github.com/okTurtles/dnschain <comment><USER2> Can it serve more than 6 HTTP requests per second worldwide?

</comment><comment><USER3> OkTurtles home: [https://okturtles.com/](https://okturtles.com/)

</comment><comment><USER4> Latest commit, March 31st? Is it abandoned?

<comment><USER5> I think Slepak said he's waiting on Ethereum or blockstack to pick up where namecoin died.

<comment><USER6> Dead? Namecoin is about to have a major release.

<comment><USER7> There's next to no ongoing interest in it and the market confirms that.

</comment></comment></comment></comment><comment><USER8> Is anyone using block chains to verify ad serving and viewing?

<comment><USER9> How would this work? Ad-viewing is a client-side function.

<comment><USER10> The device where the impression is served would do a little work, proving that the ad was indeed viewed and thus preventing fraud.

<comment><USER11> Is that even possible to prove?

<comment><USER12> Yes, but only if the viewer proceeds to buy the advertised item.</comment></comment></comment></comment></comment>


The Case Against Queues - <AUTHOR> http://teddziuba.com/2011/02/the-case-against-queues.html

<comment><USER2> I agree with some of the articles points and queues can make things complicated. However, people too often ignore elementary queuing theory which goes a long way to simplifying things:

<http://www.shamrock-software.eu/erlang.htm>

[https://secure.wikimedia.org/wikipedia/en/wiki/Erlang_%28uni...](https://secure.wikimedia.org/wikipedia/en/wiki/Erlang_%28unit%29)

That's the original Erlang :-)</comment>


VMware May Be Microsoft's Top Rival After Google - <AUTHOR> http://www.nytimes.com/2009/08/31/technology/business-computing/31virtual.html?pagewanted=1&hpw <comment><USER2> My experience is that enterprise VMWare shops buy more server OS licenses, not less.

<comment><USER3> Someday they're going to realize VMware is arbitrating access to their hardware and is therefore an operating system, Windows (or Linux) on top of it is just a ridiculously large API compatibility layer, and they only need that until they buy or build native VMware apps to do the same work (I think the marketers call them "appliances").

<comment><USER4> People _are_ realizing that. Why do you need a Windows file server when a NetApp speaks CIFS? You would need some sort of storage array anyway!

Even these days, an awful lot of Windows servers are doing exactly what Netware was doing before them, file and print serving. MS obviously recognize this with the new Server Core Edition. But printers are first-class citizens too now, many of them don't need a server, they just plug directly into the network, run their own admin app over HTTP...

<comment><USER2> Because the NetApp costs a whole hell of a lot more than a Windows server?

<comment><USER4> You would have to buy the disks anyway.

</comment></comment></comment></comment></comment><comment><USER5> Here is one simple threat, happened to me using VirtualBox but same applies on VMWare.

Say you got 10 Linux Machines on your startup. Your developers are all doing their development on the linux but have to test the product on windows as well. Moreover, you need to author/edit/view some files on windows/ms office.

Since you are running your windows/ms office instance on a virtual machine, you will need to buy a single license for the product and then once you had it activated, you can simply clone the machines across the network having each one of your developer his/her own copy of this windows instance.

In this case it might or might not be legally permitted but there can be a virtual product which breaks the licensing model without breaking the law.

</comment><comment><USER6> I think the whole premise of the article has to be re-examined. Microsoft doesn't have "a rival", per se-- it is competing in too many different arenas, and may or may not have significant rivals in each of them.

<comment><USER7> _it(MSFT) is competing in too many different arenas_

That is one of the reasons I don't like them. Whenever someone comes up with something innovative, MSFT jumps into that area, copies the concepts; uses the financial muscle and its huge presence the existing markets to kill the competition. Netscape is only an example of that strategy. It's a bad thing for a lot of potential startups.

</comment></comment><comment><USER8> Google Link (no login) [http://www.google.com/search?client=safari&rls=en- us&...](http://www.google.com/search?client=safari&rls=en- us&q=Challenging+Microsoft+With+a+New+Technology&ie=UTF-8&oe=UTF-8)

</comment><comment><USER9> Doesn't Apple play a role at the top there?

<comment><USER10> Depends whether there means 'in virtualization' (no) or 'as a Microsoft competitor' (yes).

Judging from the moderation I think people have taken it both ways.

<comment><USER9> I definitely meant as a Microsoft competitor. I read the article's emphasis on virtualization as an explanation of VMWare's product, not as the emphasis of the article.

</comment></comment></comment><comment><USER11> Microsoft is a little slow on the defense as well. Apparently Windows Ultimate comes with a virtual XP mode that pales in comparison to even VMware's free product, Player. Keep it up VMware :)

<comment><USER2> Almost all of VMWare's products are free, including a version of ESX. Nobody is using Win7 XPM as a VMWare replacement.

<comment><USER12> The products that are actually useful (eg workstation) are not free. Even those products you mentioned are free only in the sense of free beer -- with obligatory registration.

<comment><USER13> concur. I stated off on workstation and when i tried to revert to VMPlayer i was dismayed. its barely usable for even running VM's.

</comment></comment></comment></comment><comment><USER14> Microsoft's top rival is itself. Why buy Windows 7 when you can continue to run XP and have Windows 7 in a virtualized environment?

<comment><USER12> Erm, how do you get win7 to run in a virtualized environment without "buying it"?

I think the "more natural" course of things would be to run the existing win xp installation in a virtualized environment on a non-ms os.

</comment></comment><comment><USER15> Adobe anyone?

MS has a massive effort underway to compete with the Flash platform and associated tools for designers.</comment>


Show HN: Streamable 2013 Oscar Nominated Films - <AUTHOR> http://htmlpreview.github.io/?http://github.com/tdicola/Oscars_2013/blob/master/Streamable%202013%20Oscar%20Nominees.html

<comment><AUTHOR> This is a quick IPython notebook I made to parse the list of Oscar nominated films and search various movie streaming services for them. You can view the output of the notebook at the link above, or grab the notebook from my github repo [https://github.com/tdicola/Oscars_2013](https://github.com/tdicola/Oscars_2013) and run it yourself (I tried to make it reasonably easy to add new services to query). Sadly I could only include Netflix, Amazon, and iTunes because I found almost every movie streaming service doesn't provide a public search API. Also it's not perfect and gets a few false positives from Amazon (the release dates they provide can be very odd).</comment>


Conductor: A framework for testing distributed systems - <AUTHOR> https://github.com/gvnn3/conductor <comment><USER2> I looked seriously at Conductor, but its world is very much tied into using a static configuration files so it's not very programable. This works ok if your experiments are simple, but not so much if you have more complex needs. So, I wrote something inspired by conductor and PSSH ([https://code.google.com/p/parallel-ssh/](https://code.google.com/p/parallel- ssh/)), but which is basically a little embedded DSL in python called ReDo.

[https://github.com/mgrosvenor/redo](https://github.com/mgrosvenor/redo)

I use ReDo to set up and run experiments, much like Conductor, but I can program custom code around each experiment. I have a cluster of 20 machines that I run distributed systems experiments on (installing, configuring and running firmware and software for multi-machine tests), that I only ever interact with through ReDo.

<comment><USER3> I think the key problem here, as you point out, is that these types of solutions make assumptions about the complexity and control-channels of your infrastructure.

The intelligent place to install a distributed infrastructure testing automation framework is on top of a capable general purpose infrastructure abstraction and automation system.

Such a system would include the ability to fully deploy and configure any number of component services (ie. Continuous Deployment) on any type of requisite infrastructure. It would also be better placed to see which variables are available to tweak (testing for example specific inter-service [OSI layer X] network infrastructure latency or lossiness). Simulation is one thing, simulation on real hardware another. A competent system would handle both with the same codebase through a pluggable architecture. There is to date no broadly accepted open source or commercial solution in this space.

If anyone wants to do a startup that builds one, email me.</comment></comment>


Save poddery.com, community run diaspora pod - <AUTHOR> http://savepoddery.com/

<comment><AUTHOR> Save poddery.com - A community run and decentralized Social Network, as opposed to Corporate or Government controlled and centralized services like Facebook, Twitter and Google+. Diaspora* is a Social Networking service that doesn't spy on its users, and we need your help to continue running

</comment><comment><USER2> Social Network users are stepping up to run their own communication infrastructure, because they value their privacy and they cannot trust the big companies and governments to give it, unless they stand up and do something. Join this community to protect online privacy.

<comment><USER3> I don't see much improvement going on Diaspora's side. I'm with "Own your data" concept but Diaspora has failed to stand upto its promises where as Friendica surpassed every other federated concepts and works out of the box. the developer even went ahead with developing new platform called Red learning from mistakes in Friendica.

Friendica federates well and uses well defined zot protocol so any one wanting to write extension to other services can easily do that. It federates with statusnet and even with propreitary platforms and it can do a lot of more cool stuffs including authenticated zrl's (Zot url's) which will allow only authenticated user to access posts. On the other hand what does Diaspora do other than having nice UX?

People have already invested in Diaspora once but it didn't do very well why do you think people need to invest again? May be providing some strong points other than simply saying "online privacy" will help people to see if its really worth contributing again.

<comment><USER2> copyninja, I have nothing against friendica, please promote it on its own merit. There were problems with diaspora development community, but we have sorted it out and now diaspora is a completely community run project. How do you say it didn't do well? Yes, we could have done more, but that doesn't undermine how much we already have done. We are not looking at people already using friendica to use diaspora, but to people who are using neither to start using either. Friendica and Diaspora are in the same team, if you like friendica, more power to you, we don't want to pull you to diaspora. We want everyone to move to any decentralized network, be it friendica, diaspora, gnu social or pump.io.

</comment></comment></comment><comment><USER4> If poddery.com, one of the oldest and well known Diaspora pods, is closed down, it will have a huge negative on the wholde Diaspora ideology. So let's not let it happen.

</comment><comment><USER5> Diaspora* has more effects today when we have to struggle with surveillance programs like PRISM where privacy, one of the basic needs of man is simply neglected.

<comment><AUTHOR> True, Recent incidents shows the importance of a decentralized system.

</comment></comment><comment><AUTHOR> Even if you are not able to contribute in the form of money, please share the word around.</comment>


Quora : What is it like to lose all of your investors' money? - <AUTHOR> http://www.quora.com/Startups/What-is-it-like-to-lose-all-of-your-investors-money

<comment><USER2> Isn't that basically Quora's own issue?</comment>


Andrew Yang says the coronavirus outbreak shows why we need basic income - <AUTHOR> https://www.inverse.com/innovation/basic-income-coronavirus <comment><USER2> Tulsi Gabbard took on the primary UBI campaigning after Yang ran out of money and went to CNN, and floated a bill in congress very early into the CV19 panic. Crickets from the media about this, but lots of noise about other pols who subsequently stole a lot of the messaging and legal framework. As a Gabbard supporter I found this extremely irritating.

<comment><USER3> As a former Gabbard supporter I was shocked that she endorsed Joe Biden who has said he'd veto Medicare for All if it passed. To me that's a much more direct impact on the COVID issue.

<comment><USER2> The rationale for Gabbard supporting - not endorsing - Biden was in part to short circuit the insane msm Russia/Assad/Modi smears and the 3rd party predictions. As the only lifelong Democrat in the field, Gabbard had legally agreed to support the DNC candidate, who is clearly Biden based on Sander's lamentable performance. Not the outcome I wanted but given that the media hid Gabbard this tees her up for another shot in 2024 when Trump leaves office.

<comment><USER4> Can you elaborate on "legally agreed". She was openly talking to lots of alternative media about the currupt establishment and how the DNC does not want her. She should "illegally" support Sanders or nobody. She would got lot of press for it. Super disappointed with her, there was also this Israel Gaza thing where she voted wrong and disappointed me already but I could let that slide. I will never put my hope into any politician anymore. The system is broken and even the outcasts who are, at least when they start out, for the people pathetically cave to it. Same for Sanders, he endorsed Hillary - pathetic!

<comment><USER2> [https://twitter.com/olivermarks/status/1244501028122189824/p...](https://twitter.com/olivermarks/status/1244501028122189824/photo/1)

</comment></comment></comment></comment></comment><comment><USER5> UBI is social security 2.0.

Change my mind.

<comment><USER6> Guaranteed Income is raising the sea level of capitalism so that people start from $1000/mo. instead of $0/mo. That's not SS, that's changing the ambient conditions of capitalism.

</comment></comment><comment><USER7> Hayek, the god of libertarians, advocate of UBI In the Libetarian Bible "The Road to Serfdom".

Strangely, I never hear Libertarians tell me that.

[https://en.m.wikipedia.org/wiki/Friedrich_Hayek](https://en.m.wikipedia.org/wiki/Friedrich_Hayek)

</comment><comment><USER6> Too bad UBI gives money to everyone indiscriminately, weakening the dollar that makes it to the hands of the needy. UBI should be a gradient-based income scheme for people below a threshold. Otherwise, we are conceding that "Billionaires will die without UBI" which is disingenuous and not true.

<comment><USER8> I'm trying to understand your point here. Weakens the dollar, sure, to some degree. I'm not understanding the "billionaires will die without UBI" part though.

<comment><USER6> It's a tongue-in-cheek statement to highlight the absurdity of giving money to everyone especially the affluent. Clearly, issuance of new currency must be done decisively, the point is that billionaires do not need UBI and therefore it should not be "universal." Giving money to all without "means testing" increasing the cost of the program by about 2x and reduces the benefit to the people intended to benefit. It does not delete the income inequality gap, but would simply displace it vertically without affecting the endpoints if everyone got an equal sum.

<comment><USER9> And are billionaires a meaningful portion of the populace or total payments? Or are you trying to both use means testing as a way of significantly restricting beneficiaries while still calling it "universal"?

<comment><USER6> The "universal" in "universal basic income" is what makes it undesirable because affluent people don't need money and giving it to them devalues money given to the needy, commodity prices spike when a fund is issued (like in Kuwait, they could not avoid it because when the supply of money increased commodity prices spiked up). While there are only 607 billionaires in the US, I was using the term billionaires as emblematic of anyone with a decent level of affluence. I do not think we should be striving for "universal" basic income because it turns into "universal" rampant inflation with diluted (= eventually zero ) beneficiaries</comment></comment></comment></comment></comment>


Tech news blog - Microsoft hits the road with 'Guitar Hero' - <AUTHOR> http://news.com.com/8301-10784_3-9711199-7.html?tag=nefd.aof <comment><AUTHOR> We saw their van parked in front of Cnet on Friday. It drew immediate attention with loud rock blasting and large screens. The "crowd" thinned to about 4-5 people after the first hour. This is in a place where hundreds+ walk by in an hour.

It was, however, a media savvy move though as Cnet published it. (When they first parked the truck, the music was blasting and you could see most people in the entire Cnet building had gone to the windows to see what in the ( _& (_ was going on.)</comment>


Broken pebbles offer clues to Paleolithic funeral rituals - <AUTHOR> http://nouvelles.umontreal.ca/en/article/2017/02/06/broken-pebbles-offer-clues-to-paleolithic-funeral-rituals/ <comment><USER2> Archaeology articles make it quite often to the front page these days. It'd be interesting to find out what sort of computer technologies archaeologists use. Does anybody have any information on computer use in field work in this branch?

</comment><comment><USER3> They are supposed to have broken the stone tool after a ritual, to 'kill' it and remove is power. Or, I suppose, they just gave them to the kids.</comment>


Go Playground Now Supports Time - <AUTHOR> http://play.golang.org/p/3fv0L3-z0s

<comment><USER2> Details on how they implemented it:

[https://groups.google.com/d/msg/golang- nuts/JBsCrDEVyVE/FIyZ...](https://groups.google.com/d/msg/golang- nuts/JBsCrDEVyVE/FIyZwiu4-I8J)

<comment><USER3> <https://codereview.appspot.com/6892048/>

</comment></comment><comment><USER4> Wow! That's impressive!

I didn't realise it was the moment I had been waiting for, but now...

<comment><USER5> Haha. I am a Go fan, but that was kinda my reaction too.

<comment><USER5> *However, even if the practical befenits are questionable at least, the technical feat itself is well in the wow factor.

</comment></comment></comment><comment><USER6> (offtopic) made me realize how bad the ":=" operator looks with fonts that don't have the horizontal centers of ":" and "=" at the same level...

<comment><USER7> OTOH, making the colon less invisible can reduce errors of omission.

<comment><USER6> Had a conversation about UI design once that went along the lines of:

Q: How do we make that [...] _noticeable_?

A: I know, let's make it freakyn _ugly_!

...

A: Hmmm... seems that we overestimated peoples' aesthetic sense.

</comment></comment></comment><comment><USER7> In an Elm-backed website, it would be completely boringly straightforward to emit the output with time-handlers attached to atttach to the time stream. No need for awkward setWindowTimeout callbacks.</comment>


Learn CSS Layout - <AUTHOR> http://learnlayout.com/ <comment><USER2> I've also found The Magic of CSS useful: [http://adamschwartz.co/magic-of- css/](http://adamschwartz.co/magic-of-css/)

</comment><comment><USER3> I'd like to give a big sloppy wet kiss (or just a high five) to ScottyE for linking this. I always felt like I walked in halfway through the CSS story and like I just needed to play catchup through trial and error because try as I have, I've failed to find a resource as clear as this. In short, as a designer who never really learned CSS properly before today, this is a godsend. Thanks.

<comment><AUTHOR> I felt exactly the same way upon finding the site and so had to share!

</comment></comment><comment><USER4> You need to explain what things do.

This page, for instance, doesn't explain what flexbox does.

[http://learnlayout.com/flexbox.html](http://learnlayout.com/flexbox.html)

</comment><comment><USER5> Well done. Everything is accurately explained using simple terminology. I'd love to see this expand beyond just layouts. CSS is overwhelming to beginners, but this is dead simple while still delving into deeper, more complex topics.

</comment><comment><USER6> This was on HN some time last week: [https://news.ycombinator.com/item?id=7521180](https://news.ycombinator.com/item?id=7521180)

Good site, though.

<comment><AUTHOR> I'll note that a search of '"learnlayout.com" site:news.ycombinator.com' on Google doesn't bring up any other threads, but searching through the footer of the HN site does.

</comment></comment><comment><USER7> Page 2: "it wouldn't make sense to make an inline div"

Page 15: makes inline divs.

:)

<comment><USER8> Page 15 doesn't make inline divs, it makes inline-block divs. That makes all the difference. I think since the inside of the div is displayed like a block, a div is more appropriate than a span. It would be weird to have a span with block insides, even if it's inline in its context.

</comment></comment><comment><USER9> I don't know where I'd be without [http://css-tricks.com/](http://css- tricks.com/) \- great site and super helpful forums.

</comment><comment><USER10> This is a great tutorial and helps me a lot by just reminding me of things.

There's a mistake at [http://learnlayout.com/float- layout.html](http://learnlayout.com/float-layout.html) though were they talk about clearfix and how they are using it without actually using it on that page. I just thought I'd say that here in case the author reads it.

</comment><comment><USER11> I wish I had this when I was figuring out how it all works. I'll definitely point it friends who start with CSS.

</comment><comment><USER12> I really like CSS Mastery: Advanced Web Standards Solutions by Collison, Budd, Moll.

<comment> atom-morgan I just finished this book a few days ago. While some content is a bit outdated, it's by far the best CSS material I've ever read and helped clarify a lot of concepts for me.

<comment><USER12> I agree about it being slightly dated but it presents everything in a very clear manner. CSS otherwise is just hard to do right.

</comment></comment></comment><comment><USER13> For the clearfix can't you just use `clear:right` or `clear:both`? Also for inline-block you can also use the ie7 hack `display: inline-block;*display: inline;zoom: 1;`. Nice tutorial though.

<comment><USER14> This comment is tangential on purpose, but if anyone is curious as to _why_ we use the `display: inline-block; *display: inline; zoom: 1` "hack" to support IE7, then I will gladly explain it to you.

First, CSS is cascading, meaning a rule following another rule will override it. Second, attributes with an asterisk prepended to the property name are only picked up by IE7. Finally, in a nutshell, IE7 treats layout differently than other browsers. On IE7, certain elements get layout by default, but other elements can be "given" layout by using certain properties (that we refer to as "hacks") like `zoom: 1`. When an element has layout in IE7, it can be given a display of inline and act like inline-block. This is one of the many reasons why older versions of IE were such headaches for web designers. More info about IE7's hasLayout quirk can be found here[1].

If we apply what is described above into these rules, we get this:

1\. display: inline-block is applied to the element.

2\. on IE7, display: inline is added to the element.

3\. on IE7, zoom: 1 gives the element layout, thus making it act like it act like an inline-block. Other browsers attempt to "zoom" the element, but since it's at "1", this is like saying "zoom the element 1x the size," so it does nothing.

I hope that helps clear up why we use this hack.

[1]: [http://reference.sitepoint.com/css/haslayout](http://reference.sitepoint.com/css/haslayout)

</comment></comment><comment><USER15> [http://www.reddit.com/r/ProgrammerHumor/comments/22xb60/i_ha...](http://www.reddit.com/r/ProgrammerHumor/comments/22xb60/i_hate_css/)

</comment><comment><USER16> If anyone wants a complete view of the picture, there is htmldog[1], which covers CSS, HTML and JS.

[1] - [http://htmldog.com/guides/](http://htmldog.com/guides/)

</comment><comment><USER17> This site is great for teaching CSS layout skills. Next time someone asks me, I'll refer them here.

I especially like how it references caniuse for each property it discusses. Nice work!

</comment><comment><USER18> Really cool, another quality resource to help kill W3Schools.

<comment><USER19> I ask in earnest: why do so many people dislike W3Schools so much? It always seemed pretty helpful to me.

<comment><USER20> well turns out - [http://www.w3fools.com/](http://www.w3fools.com/)

</comment></comment></comment><comment><USER21> Awesome work, thanks for sharing that link ♥</comment>


Startups Secrets by Michael Skok [videos] - <AUTHOR> http://breakoutroom.co/o/67

<comment><AUTHOR> Found these videos to be really helpful, so thought it'd be worth organizing and sharing. They're in a similar vein to the "How to Start a Startup" lectures.</comment>


OSHA slaps Amazon for not reporting job injuries - <AUTHOR> http://www.cbsnews.com/news/osha-slaps-amazon-for-not-reporting-job-injuries/ <comment><USER2> _Amazon has had a litany of labor issues and complaints related to conditions at its warehouses. One temporary worker was crushed to death in late 2013 after getting stuck between a conveyor system while sorting packages in Avenel, New Jersey._

Lest we forget: that would be 57 year old father of 4, grandfather of 7 Ronald Smith, of Irvington, NJ:

[http://www.nj.com/middlesex/index.ssf/2013/12/worker_crushed...](http://www.nj.com/middlesex/index.ssf/2013/12/worker_crushed_to_death_at_amazon_identified_as_grandfather_from_irvington.html)

In which context the %7,000 "slap" issued to Amazon for continued violations at the same facility is nothing short of laughable.</comment>


Gamblers Take Note: The Odds in a Coin Flip Aren't Quite 50/50 - <AUTHOR> http://www.smithsonianmag.com/science-nature/Gamblers-Take-Note-The-Odds-in-a-Coin-Flip-Arent-Quite-50-50-181022961.html?utm_source=smithsoniantopic <comment><USER2> What I don't understand is, the article discusses about "coin spinning" versus what the heading said - flipping?

        to flip a coin ... There are no hidden tricks. It's a fair bet — safe to take,
        if you're looking for a 50/50 chance.

Not sure how many of us out there are spinning coin.

<comment><USER3> I'm guessing they talk about coin flipping precisely because nobody spins coins. They wanted to start off with something people are familiar with, then segue into what they really wanted to report.

There's a hint of truth in the title since they mention that coin flipping is biased 51/49 towards the side that was facing up when you flip it.</comment></comment>


Why Google and Android Must Deal with the Mobile Protection Racket - <AUTHOR> http://paidcontent.org/article/419-why-google-and-android-must-deal-with-the-mobile-protection-racket/

<comment><USER2> Is there any meaningful way to engage in activism or civil disobedience related to software patents? I support the FSF and EFF with donations, but I want to do more. As I see it, code is speech, and software patents are a restriction on the content of speech. I wish there was some way of dramatizing the issue, some way an activist could use software for a clearly beneficial charitable project that would also trigger legal action and produce headlines like "Software company dedicated to helping parents of chronically ill children research treatment decisions sued for billions for patent infringement."

<comment><USER3> I'm with you on this, I'm personally outraged by the situation, and the analogy to mob protection rackets is way too accurate for comfort.

The analogy has me thinking about how real mob protection rackets are dealt with (well, at least in the movies). The individual small business owner can't directly fight back, they have ties to the community that they have a real chance of losing, just like a software house that want's to be able to operate in the U.S. can't just up and leave or afford to fight back. The consequence is a legal equivalent of having your shop burned down. The only real power that can fight this kind of collusive power is that of public opinion. Other commenters have already mentioned this, but we cannot dismiss it because Google is an unsympathetic giant, we have to do something because you and I are the ones in real danger.

We don't have pi billion dollars to hire lawyers or bid on patent bundles, but we are the small guys, the rags to riches, the huslters, the american dream. Software patents are a lie invented by old people to stomp out innovation and maintain the status quo. If anyone can make software patents sound bad and get sympathy it's going to be us. We need to find a way to make these issues matter to people, to put it in their minds and tug on their heartstrings.

I don't know how to do it as an activist, but I bet we could do it as story tellers, as bloggers and media producers. We are the generation building the products and services of tomorrow, we know how things should work and what we want things to look like. In my opinion, we need to produce some pop culture. I've watched a lot of crime drama's, what's to stop us from making a biz drama with the same human impact but set in the context of the information age rather than NY city streets.

Even Google can't fight on their field, what chance do we have going head-on against money and greed. Our best hope is to use the most powerful weapon we have, public opinion.

<comment><USER4> It's exactly like a "protection tax" that small guys have to pay. After the small guys pay, they go to the big ones and show them the list of complying companies as "proof" that they are right. It's a typical patent troll strategy.

But Samsung is a big company. They should join B&N and Motorola and go to court with Microsoft. This will get others to do the same. It works both way. The more of Microsoft's patents get invalidated, the better for them in the long run anyway, because not only will Microsoft _double_ the price next time, but others will start looking through their patent database and see if they can use _anything_ to get a license fee from Android manufacturers as well.

</comment></comment></comment><comment><USER5> Losing the auction is more a failure of partnership than anything else. The Apple team included MS, Sony, RIM, Ericsson, and EMC, while the Google only teamed up with Intel. Where were all the Android partners?

There are enough companies with high enough stakes in Android (Google, Motorola, Samsung .. etc) that if they pooled patients for their common defense, they would make MUCH less inviting targets. Heck, isn't this what MS has been saying they would do with Linux for years? Doesn't this legal precedent concern the corporations that are dependent on Linux (which is probably a large majority of tech companies today) ?

<comment><USER6> patents and patent auctions is a long-term chess game..

Google knew ahead of time it did not have the $4 billion that might be bid by a group..it was not in it to win the auction but to use the auction as a bit of distraction among those potential groups that could file patent lawsuits as to enforce $4 billion in patents is not millions of dollars but more likely $1 billion in lawyer fees, etc..such resources is not built up over night even among big companies.

</comment></comment><comment><USER7> When was Google ever called a "one-trick pony"?

<comment><USER8> All the time: <http://lmgtfy.com/?q=google+one+trick+pony>

<comment><USER7> Oops, missed that whole discussion. I guess interpreted it wrong: Google has tons of tricks, but only one makes money.</comment></comment></comment>


Above Us Only Stars: Exposing GPS Spoofing in Russia and Syria - <AUTHOR> https://www.c4reports.org/aboveusonlystars <comment><AUTHOR> The full report may be found here: [https://c4ads.org/s/Above-Us-Only- Stars.pdf](https://c4ads.org/s/Above-Us-Only-Stars.pdf)

</comment><comment><USER2> I don't know about spoofing, but I could swear I've observed GPS jamming in Washington DC.</comment>


Neurogenesis Deep Learning - <AUTHOR> https://arxiv.org/abs/1612.03770 <comment><USER2> They simulate neurogenesis, I guess, but they do not incorporate the most interesting part of that neurogenesis: That is the new neurons are born into the dentate gyrus, a region thought to have a particular capacity to orthoganalize feature representations that are similar (e.g. pattern separate) allowing distinct memories to be formed for similar events. The dentate gyrus outputs to a region called Cornu ammonis 3 (CA3) which is heavily recurrent, and thought to br able to pattern complete a full representation from partial inputs. That is, CA3 can encode and retrieve the relations between 2 or more features or objects. For a mathematical model and review one might read: Rolls (2013) [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3812781/](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3812781/)

but many others exist. I'd write more but typing in my phone is driving me to distraction.

<comment><USER3> this is really interesting, where/how did you learn this?

I'd like to learn more about these things - brain regions, connections, functions - and what they might imply about the kinds of computations that are going on, but my background is mainly on the AI/math side of things.

<comment><USER2> I'd like to add that our knowledge of the details of hippocampal neuroanatomy are probably the most advanced of any brain region, which allows the somewhat informed construction of computational models. I wish I had more time to learn modeling methods, I have specific developmental hypotheses I'd like to test in such a model. In the end, I'd probably need to find a knowledgable collaborator though.

</comment></comment></comment><comment><USER4> Neurogensis? How about neural death as a way to prune large neural networks into more compact ones--now that is a research idea!

<comment><USER5> I believe several papers have examined efficiently pruning neural networks, but neural death would be better branding ;) ([https://arxiv.org/pdf/1506.02626v3.pdf](https://arxiv.org/pdf/1506.02626v3.pdf) [https://arxiv.org/pdf/1510.00149v5.pdf](https://arxiv.org/pdf/1510.00149v5.pdf))

<comment><USER6> Yann LeCun called a technique for pruning weights "optimal brain damage" back in 1990: [http://yann.lecun.com/exdb/publis/pdf/lecun-90b.pdf](http://yann.lecun.com/exdb/publis/pdf/lecun-90b.pdf)

</comment></comment></comment><comment><AUTHOR> Basically trying to achieve a certain level of plasticity in deep neural nets by getting inspiration from [https://en.wikipedia.org/wiki/Adult_neurogenesis](https://en.wikipedia.org/wiki/Adult_neurogenesis)

<comment><USER7> To add on to this - they "specifically consider the case of adding new nodes to pre-train a stacked deep autoencoder", by basically keeping track of when certain layers cannot reproduce their input and then adding more nodes+retraining with both new (not reproduced) and old data. It is quite intuitive, basically the most naive and obvious first attempt at the problem (not meant in a condescending way, just want to point out it's not that generalizable and is pretty ad-hoc).

</comment></comment><comment><USER8> Sorry if I'm being snobbish, but I do wonder why this paper is only being submitted to IJCNN, a 2nd tier machine learning conference. I know students who publish undergrad research at workshops with lower acceptance rates than IJCNN. I can't think of any important machine learning papers published in IJCNN in the recent past.

<comment><USER9> It depends on what conclusions you're trying to draw from that information. What conference a paper was accepted to is a second-order signal of the noteworthiness. It's probably easier for someone versed in the field to just read the paper to determine if it's interesting. If you're using the conference as a quick pass/fail as you skim through the abstracts of hundreds of papers, ok, but you probably wouldn't make time to comment on HN about it in that case.

This paper looks like it builds on pretty well-known techniques like stacked autoencoders, so let's see what first-order noteworthiness data we can gather from a quick skim of the paper. If I had to guess why it wasn't accepted into a better conference:

\- It uses stacked autoencoders, which are pretty out of fashion

\- It bothers reporting results on MNIST

\- (more subjectively) It pulls an unfortunately common technique of saying "here's something the brain does" and then hand-waving that it's a deep reason why a technique they've come up with is useful, when in fact the relationship is just "inspired by the general idea of", not "performs the same function as" the biological mechanism. In this case, I think the tenuous connection of their technique to research on neurogenesis is pretty flimsy. Clearly neurogenesis is not how an adult human brain forms new memories or gains proficiency in new skills (which they acknowledge in the conclusion)

<comment><USER8> > It's probably easier for someone versed in the field to just read the paper > to determine if it's interesting.

> If you're using the conference as a quick pass/fail as you skim through the > abstracts of hundreds of papers, ok

You answered your own statement, I think. Most researchers will skip a paper in a second tier conference. In fact, most I know won't read an entire paper - they'll only read some of it and skip stuff.

You're correct that I am not an active researcher (otherwise I would not have time to be commenting). I merely did some research back in college. But honestly that little experience gives me a huge leg up on most HN commenters in understanding research. It's unfortunate that the only reason this paper is #1 on HN is because it has a cool title.

That being said, MNIST is not really a disqualifier. (Unfortunately) MNIST is the most popular dataset referenced in NIPS 2016 papers ([https://twitter.com/benhamner/status/805864969065689088](https://twitter.com/benhamner/status/805864969065689088)). The handwaving is also forgivable; many NIPS papers handwave a lot too.

</comment></comment></comment><comment><USER10> A good point was made that a model of neurogenesis must also incorporate neuronal death besides neuronal birth (since hippocampus and the brain as a whole have physical constraints, you can't keep growing your network infinitely :). That's why any model of neurogenesis must incorporate interplay between birth and death of new (and old) neurons; that's was the main idea of the paper I mentioned in an earlier post (this year ICLR submission [https://openreview.net/forum?id=HyecJGP5ge](https://openreview.net/forum?id=HyecJGP5ge)) Note that just adding nodes to networks was proposed before, eg. the classical work on cascade correlations.

</comment><comment><USER10> For a model that incorporates both neuronal birth and death, see ICLR submission at OpenReview:

[https://openreview.net/revisions?id=HyecJGP5ge](https://openreview.net/revisions?id=HyecJGP5ge)

NEUROGENESIS-INSPIRED DICTIONARY LEARNING: ONLINE MODEL ADAPTION IN A CHANGING WORLD Sahil Garg, Irina Rish, Guillermo Cecchi, Aurelie Lozano

</comment><comment><USER11> Very wishful thinking on my part, but I think we're far closer to a general intelligence than most expect.

<comment><USER12> I think what we might see is a kind of autonomous corporation that is nominally under the control of shareholders, a CEO or a board, but which makes decisions without very much or any human input, and which gains some amount of legal rights through corporate personhood.

It won't be a 'general ai', though. More like a set of loosely connected systems that operate 'in the best interests of the shareholders', however that's defined.

It's pretty much the end state of the trend of pushing decision making to algorithms to remove moral and legal culpability from individuals.

<comment><USER13> I'm hoping that eventually translates to the state.

</comment></comment></comment><comment><USER14> How does this relate to Progressive Neural Networks [0]? That technique is also about accumulating knowledge (while not forgetting existing knowledge)

[0] [https://arxiv.org/abs/1606.04671](https://arxiv.org/abs/1606.04671)

</comment><comment><USER15> It never ceases to amaze me that the best steps towards achieving AI is to look at how we perceive that a Neuron works and simulate it.

And the thing is, we aren't exactly sure why exactly that is.. it's amazing.

Sometimes the best thing we can do is imitate nature

<comment><USER16> I completely blame my own community, rather than you, for writing this, but as an AI researcher, your comment is terribly painful to read. We have little to no idea how actual neurons (let alone entire brains) really work. The things that are often called "(artificial) neural networks" really shouldn't be called that. I strongly prefer terms like "computational networks" or (where applicable) "recurrent/convolutional networks".

<comment><USER17> > We have little to no idea how actual neurons (let alone entire brains) > really work.

I think that slights neuroscience, which has devoted the past 60 years to answering this question, to a fair degree. But I agree that the biomimetic motivations offered up for various flavors of neural net feel pretty bogus. It seems to me like, among the major old-school researchers in the field, only Geoff Hinton still does this.

<comment><USER16> Fair. I was definitely unnecessarily harsh on neuroscience; my quibble is only with my own community's claims that what we're doing is anything like how the brain works. Thanks to you and sxg for correcting the record.

</comment></comment></comment></comment><comment><USER18> Very nice coin term for just another deep learning method

</comment><comment><USER19> Slightly off topic, but I hate how publications are written. It seems like authors are purposely using big words and sentences that are often 5-6 lines long in order to make it seem more clever.

I find myself often having to reread a sentence in order to understand it.

These algorithms are often very simple and can be easily explained. Don't over complicate them.

<comment><USER20> Then here's a challenge: could you write the abstract of the article in "simple English", without changing the meaning?

<comment><USER21> Here's my attempt; not a huge number of changes because it was not too bad to begin with, but with slightly less self-indulgent language, and a lot of the jargon has to stay (partly because I don't know the field):

Neural machine learning methods, such as deep neural networks (DNN), have achieved remarkable success in a number of complex data processing tasks. These methods have arguably had their strongest impact on tasks such as image and audio processing - areas where humans have always performed better than conventional algorithms. In contrast to biological neural systems, which are capable of learning continuously, deep artificial networks have a limited ability for incorporating new information after a network has been trained. As a result, continuous learning methods could be very helpful in allowing deep networks to handle data sets which change over time. Here, inspired by the process of adult neurogenesis in the hippocampus, we investigate how adding new neurons to artificial neural networks can allow them to acquire new information, while preserving what they have already learned. Our results on the MNIST handwritten digit dataset and the NIST SD 19 dataset, which includes lower and upper case letters and digits, show that neurogenesis looks like a good approach for tackling the "stability-plasticity dilemma" that has been a problem for adaptive machine learning algorithms for some time.

As an academic, I tend to agree that we frequently feel compelled to apply more verbosity than is strictly required in order to communicate the intended semantic constructs.

<comment><USER2> Academic writing avoids using periods. Unfortunately.

</comment></comment></comment></comment><comment><USER22> Seems a bit like a GAN

</comment><comment><USER23> TL/DR:

\- "We specifically consider the case of...a stacked deep autoencoder (AE), which is a type of neural network designed to encode a set of data samples such that they can be decoded to produce data sample reconstructions with minimal error

\- "The first step of the NDL algorithm occurs when a set of new data points fail to be appropriately reconstructed by the trained network...When a data sample's RE is too high, the assumption is that the AE level under examination does not contain a rich enough set of features to accurately reconstruct the sample.

\- "The second step of the NDL algorithm is adding and training a new node, which occurs when a critical number of input data samples (outliers) fail to achieve adequate representation at some level of the network.

\- "The final step of the NDL algorithm is intended to stabilize the network's previous representations in the presence of newly added nodes. It involves training all the nodes in a level with both new data and replayed samples from previously seen classes on which the network has been trained.</comment>