Using Ms. Pac-Man to Train the Next Generation of Military Drones - <AUTHOR> http://www.newyorker.com/tech/elements/could-ms-pac-man-train-the-next-generation-of-military-drones <comment><USER2> There's been a flurry of Military related posts on HN the last few days. Not complaining, I love talking/writing about this stuff. But I have to point it out that I've noticed.

So, are folks submitting more of those articles or is there something about the cultural zeitgeist right now that pushes people who frequent HN to up-vote them?

Perhaps more directly: Are people becoming more afraid about the Military co- opting advances in tech for use in Warfare?

<comment><USER3> Generally its the opposite, technology developed by the military is co-opted by the civilian sector.

Anyways all these new "AI" memes don't change anything, the weapons are just as lethal as they are today. All that's changing is more and more personal is no longer needed in the field and can be seated behind a desk. For the foreseeable future humans will still be involved in the decision to engage (kill) someone. When the day comes and robots will decide who they want to engage without a human in the loop, than we should really be afraid.

<comment><USER4> I think it raises questions about the rules of engagement if all your deployments are unmanned.

<comment><USER2> I think this is something that needs to be more deeply explored, especially if we're going to start using software to do things like "acquire targets." Now, lots of "deployments" for folks that fly Drones aren't deployments in the traditional sense of the word (they aren't in the combat zone). But...how will this work when you're part of a team that runs a semi-autonomous killing machine?

<comment><USER5> Software has been used to acquire targets for a long time. This excerpt on the F14 shows the original radar had a "single target track - auto acquisition" mode: [https://books.google.com/books?id=knvVwLX6mFMC&pg=PA245&lpg=...](https://books.google.com/books?id=knvVwLX6mFMC&pg=PA245&lpg=PA245&dq=awg-9+evaluate+threat&source=bl&ots=RhkjgwMSnj&sig=tiy1dMOZCvsQRzvyTY0LqlxfQ3w&hl=en&sa=X&ved=0ahUKEwjxp67_g4jTAhWDyyYKHc7zAM0Q6AEIIzAB#v=onepage&q=awg-9%20evaluate%20threat&f=false)

</comment></comment></comment></comment></comment><comment><USER6> Pinky's AI has a bug: [http://donhodges.com/pacman_pinky_explanation.htm](http://donhodges.com/pacman_pinky_explanation.htm)

<comment><USER7> Wouldn't that sort of bug have been fixed in Ms Pacman?

</comment></comment><comment><USER8> In the future, our enemies will distract our drones by dressing up as blue ghosts and throwing fruits.</comment>


Preregistration of clinical trials causes medicines to stop working - <AUTHOR> http://chrisblattman.com/2016/03/01/13719/ <comment><USER2> In case it's not totally obvious, basically...

* In 2000, a rule was passed that clinical trials must include their hypotheses (i.e. clinical outcomes) in their initial registration before the trial is conducted.

* From the graph, the number and proportion of clinical trials through NLHBI with positive outcomes (i.e. an improvement in some health condition) is far lower after 2000 than before.

It was previously easy for researchers to conduct a trial, and then find positive trends in the data to form positive outcomes by framing the data from the trial in a different manner, as if the trial were originally intended to test that positive outcome. This is a problem related to A Priori Probability, where you're essentially turning research, which could have been statistically applied to a larger population given some statistical confidence, into deductive reasoning which doesn't necessarily apply beyond the finite sample size [1] (also see @entee's comment and links for better explanation of why this is important).

This article is stating that the graph implies that, because there are fewer positive outcomes after this new rule in 2000 than before, most of the positive outcomes prior to 2000 (which likely lead to new FDA-approved drugs on the market) must have been illegitimate.

I would point out though, that at least from that graph, the last positive outcome shown prior to 2000 was in 1996, so it's not like it obviously continued right up until 2000 and then suddenly stopped. Even when that rule was imposed in 2000 (I'm not necessarily sure how the ruling was phased in), there was a 4-year gap since the last positive outcome before then, and I don't see another 4-year gap prior to that since before around 1979. I'm not saying I disagree with the article (obviously), but just that while the graphic used seems to imply a trend, it seems like more data would be needed to conclusively show that trend.

[1] [http://www.investopedia.com/terms/a/apriori.asp](http://www.investopedia.com/terms/a/apriori.asp)

<comment><USER3> The 90s is also around the time when we pretty much ran out of small molecule blockbuster drugs (the very profitable but low hanging fruit) and started shifting over to much more complex multi-drug therapies like those for HIV and cancer. There are still a few such small molecule candidates left but the major markets like blood pressure, heart disease, arthritis, etc. are very saturated. As the clinic trials start to target more complex diseases with more complicated drugs and therapies it adds a large confounding factor to the decrease in the number of successful trials.

<comment><USER4> I think you make a very salient point.

From the abstract:

> We identified all large NHLBI supported RCTs between 1970 and 2012 > evaluating drugs or dietary supplements for the treatment or prevention of > cardiovascular disease.

So this is for a narrow field where there are effective drugs already and where all the low hangoing fruits are fully picked because the business opportunity is huge.

</comment></comment></comment><comment><USER5> There's a huge amount of concern in the medical profession that lots of studies in the area are statistically compromised precisely because the authors gamed the statistics after the fact, or because improper metrics were used in the first place.

See these (kind of old but still quite appropriate) links:

[http://journals.plos.org/plosmedicine/article?id=10.1371/jou...](http://journals.plos.org/plosmedicine/article?id=10.1371/journal.pmed.0020124)

[http://www.theatlantic.com/magazine/archive/2010/11/lies- dam...](http://www.theatlantic.com/magazine/archive/2010/11/lies-damned-lies- and-medical-science/308269/)

It's this kind of work that led to pressure to pre-declare statistical objectives, and now we see the results. Biology is hard, medicine is hard, we must be quite humble about what we understand in these fields and therefore how easy it is to be misled by early promising results.

</comment><comment><USER6> Would someone care to explain what the graphic shown means exactly? I have a hard time understanding what the vertical axis tells me.

<comment><USER7> When experimenters are required to state their targets beforehand, they fail to meet them. If they don't have to state the outcomes beforehand, then its much easier to spin what they do find as beneficial!

</comment></comment><comment><USER8> If clinical trials were required to be funded and conducted by the government then you'd see the same thing again.

</comment><comment><USER9> In other words, declaring your lottery number picks prior to the drawing results in fewer winners than being able to pick your numbers afterwards. Ergo, pre-declaring your picks causes lotteries to stop working.

I really hope the article is satire.

<comment><USER10> It's not satire; that's just the sad state of scientific experimentation. A similar finding was widely publicized for psychology studies:

[http://www.nature.com/news/over-half-of-psychology- studies-f...](http://www.nature.com/news/over-half-of-psychology-studies-fail- reproducibility-test-1.18248)

</comment></comment><comment><USER11> My god. Can we please stop requiring this? I need my placebos to work.</comment>


Guido van Rossum: People want CPAN (discussion on Python packages) - <AUTHOR> http://thread.gmane.org/gmane.comp.python.distutils.devel/11359

<comment><USER2> A few weeks ago I argued that language distribution platforms should be based on a distributed version control system (like Mercurial or Git) and have an user-friendly web-interface (like BitBucket or GitHub). Reputation (like the one found in StacOverflow) should also be a part of the platform. Anyhow, read more here if you are interested: <http://amix.dk/blog/viewEntry/19475>

<comment><USER3> Nice post. I think this is a really cool idea in general. A few of us on one of my projects have been thinking myself recently about a package manager based on git, where you could literally merge in feature branches or patch branches as you wanted...

<comment><USER4> While a nice idea, it would be worth finding out why github abandoned this very concept in favor of gemcutter.org before diving in head first. I trust the github guys as being far more competent than most in all matters of distributed source control especially when it comes to package management.

<comment><USER5> The idea is sound, but it was a distraction for us, so we were more than happy to offload rubygems to a dedicated service that could give it the attention it deserves.

</comment></comment></comment></comment><comment><USER6> Both the CLI CPAN module/tool itself and <http://search.cpan.org/> are awesome to work with. I think every language should shamelessly copy them first, and try to improve upon them second.

It almost seems like Ruby/Python have been consciously reluctant to do so.

<comment><USER7> CPAN's success, as with Debian's, is not due to the technical infrastructure but rather the social infrastructure. There are plenty of ways to make packages not work at all, it's just that the Perl people don't do that.

(If you have ever read the CPAN source code, you would be surprised it works at all. Don't get me started on the various incompatible build systems, and what happens when your module's build system depends on a newer version of the build system.)

Haskell's Cabal is the technical model to steal. Don't let modules execute their own code unless they actually need to. 99.9999% of modules do fine with some sort of declarative interface, rather than actual code to do those things.

<comment><USER8> The CPAN works despite clunky code and competing implementations because the functional decomposition is sufficiently effective. (EUMM is some of the worst code in intent, design, and implementation I've ever read and used anyway.)

<comment><USER7> The CPAN software infrastructure only works for things that it was intended to do, it is very hard to make it do arbitrary things. If you want to find out what file to download from the BackPAN to get Foo::Bar 0.2, that's too bad, you have to download the BackPAN and index it yourself. Of course, there is no way to index things without evalling code regexed out of every file. (And there is no way to predict if "make install" will actually install Foo::Bar.)

Something CPAN couldn't easily do a few years ago was install to arbitrary directories. If you set the right environment variables, EUMM would sort of do the right thing. If you set different environment variables, sometimes MB would do the right thing. Eventually EUMM and MB were patched so that it almost always worked, and then local::lib was written to paper over the differences.

And of course, nothing requires the use of EUMM or MB, so if a package doesn't use it, you can't install it to your home directory.

Anyway, the EUMM is what you get when you write code to fix problems that people complain about. MB is what you get when you write specs to "fix" problems people complain about. Maybe someday we will have a build system that has a sane design and actually works.

</comment></comment></comment></comment><comment><USER9> I find package systems fantastic for things I don't want to care about it, but get frustrated when it handles the things I do care about.

Or maybe that's just my own experience using Common Lisp on Ubuntu.

</comment><comment><USER10> The scientists he's talking about are smart people, but aren't really into computers and (what's more) have no patience at all for the amount of pain it takes to compile the dependencies Python packages need.

It's not the Python side of things that's the problem. Numpy and Scipy (which nearly all Python scientific software depend on) is based on both bindings to C and to Fortran, and getting those library ducks in a row - especially on Windows or MacOS X, on Linux your package manager does it for you - is a pain for someone who knows what they're doing and almost impossible for someone who doesn't.

Plus, well, most scientists outside physics use Windows. If you need a command-line tool you've already lost in that respect. What you're competing against is often Excel.

The battle over Numpy being in core Python has been fought and lost, but short of that level of integration, I don't see that there's going to be much effective to do about this.

<comment><USER11> The problem is more complicated than just C code being more difficult to build.

The whole distutils infrastructure is messy and badly designed. It takes care of everything from build up to installation and packaging, and all those parts are tighly coupled. It is also incredibly inflexible, and the way to extend it through subclassing leads to incompatible code (if package A subclass distutils, and package B subclass the same thing, how can you use A and B ?). Almost every design decision of distutils is wrong, and badly implemented.

Numpy and scipy binaries are built for every release: actually, that's the platform we support the best in some sense since we can reliably build binaries, and that saddens me quite a bit.

<comment><USER10> You guys do an amazing and thankless job, and I'm sorry if I oversimplified that aspect of it. It's just difficult to see how to solve the problems you describe, let alone to explain those problems to a researcher you're trying to wean off Fortran. :)

</comment></comment></comment><comment><USER12> Debian's 'synaptic'. Help and leverage it to other platforms, if needed. Less pain all around.

<comment><USER13> Please god no.

Apt itself is barely good enough to handle libraries written in C, much less a dynamic language with multiple potentially-incompatible runtimes, and Debian's policies are dead set against making anything remotely wholesome:

      * As an author, affected middlemen have a stranglehold on easy distribution
      * License wankery (fuck debian-legal)
      * Teenagers randomly patching upstream software without review
      * Shipping non-standard configurations, often with features randomly disabled
      * Rearranging everything to fit their naive 'filesystem hierarchy'
        (this completely fucks up a decent packager like Ruby Gems)
      * Breaking off features into separate packages whenever possible
      * Shipping ancient versions of software with a selection of patches picked
        specifically to introduce no features, just cherry-pick 'bug-fixes'
      * Shipping multiple versions of a runtime with mutually-exclusive depgraphs
      * FUCKING RELEASE FREEZES
        There's no goddamn reason for any non-system software to be frozen ever

Ubuntu is making a decent stab at unfucking all this (at least on their turf) with PPAs: <https://help.launchpad.net/Packaging/PPA>

<comment><USER14> These are all problems with Debian's _use_ of synaptic; the program itself is a very good package manager.

<comment><USER15> Actually I believe a few ar problems with the parent poster: "* Rearranging everything to fit their naive 'filesystem hierarchy'(this completely fucks up a decent packager like Ruby Gems)"

The FHS is a known standard which works with every language. What specifically about Ruby makes it unique amongst all other software?

<comment><USER13> Gems (like NeXT / OS X .app bundles) are self-contained, with the documentation and data resources alongside the code in a standard way. This makes it very easy to support having multiple versions of the same software installed simultaneously, with an optionally qualified import statement to disambiguate.

The FHS inspires maintainers to large amounts of useless and regressive tedium in re-separating the peas and the carrots into global piles. It's not so bad with traditional C libraries, but the brokenness is immediately obvious when dealing with the libraries of a language that has anything resembling a module system.

What's specific to Ruby is that their community somehow managed to not fuck up their packaging medium.

<comment><USER15> Yes, but native package managers already allow multiple versions to be installed simultaneously.

'What's specific to Ruby is that their community somehow managed to not fuck up their packaging medium.'

Overwriting global binaries in /usr/bin is pretty fucked to me, and I don't think I'm alone in that. Say I'm using puppet or OVirt or other Ruby based system apps - I wouldn't want Gems breaking them. If Python did this (being the basis for most Linux distros) or Perl did this on older Unix there would be hell to pay.

</comment></comment></comment></comment></comment></comment><comment><USER16> Perhaps I'm late to the game but why not take a good look at the Gem/Gemcutter Ruby packaging and distribution system?

The Ruby folks have done a few iterations of packaging systems and have pretty much nailed it.

Might be worth studying the whole 'gem' system (discovery, distributed publishing, versioning, dependencies, uninstall, etc).

<http://www.gemcutter.com>

<comment><USER17> s/com/org

</comment></comment><comment><USER18> Common Lisp needs something well structured like CPAN too. The situation with clbuild, mudballs (deceased?), asdf-install etc. is rather confusing IMHO.</comment>


US moves to block AT&T and Time Warner merger - <AUTHOR> http://www.bbc.co.uk/news/business-42058846 <comment><AUTHOR> The reality here is that the President is blocking this deal because of his issues with CNN (To those that think this is not being driven by the Whitehouse...I have this bridge I am trying to sell....). This is purely political and I am sure his statements will be front and centre in the court battle.

Never though I would be on the side of AT&T or a cable company.</comment>


Open Source Everything - <AUTHOR> https://skuth.us/post/627714418651873280/open-source-everything <comment><USER2> At least open source everything paid by the public: [https://publiccode.eu](https://publiccode.eu)

</comment><comment><USER3> Nice post. I recently started civboot.org, check it out and tell me what you think

<comment><USER4> It's like a sci-fi version of Open Source Ecology.

[https://wiki.opensourceecology.org/wiki/Open_Source_Ecology](https://wiki.opensourceecology.org/wiki/Open_Source_Ecology)

<comment><USER3> It is an evolution of it! I came across OSE years ago and felt it didn't go far enough.

I just released my first podcast if you're interested [https://youtu.be/52J6vlS4US0](https://youtu.be/52J6vlS4US0)

</comment></comment></comment><comment><USER5> If anything, open sourcing hardware designs makes more sense than software. Seems like there's a much higher barrier to manufacturing than compiling something.

</comment><comment><USER6> Open Source is communism! _scnr_

</comment><comment><USER7> [https://privacytoolslist.com](https://privacytoolslist.com) privacy related open source tools

</comment><comment><USER8> Totally agree! We need to reorient our mindsets to sharing knowledge instead of locking it away under the banner of capitalism.

<comment><USER9> I'm not quite sure why you view open source and capitalism as being in conflict.

If I'm buying a mouse, I'll pay a lot more for one with an open source firmware, schematics, and design. It costs no more to product.

Mostly, there are problems of mindset. In most industries, keeping this stuff secret has minimal competitive upside, and a lot of downside.</comment></comment>


Building and implementing a Single Sign-On solution - <AUTHOR> http://merbist.com/2012/04/04/building-and-implementing-a-single-sign-on-solution/ <comment><USER2> _The cookie doesn't need to contain a lot of data, its value can contain the account id, a timestamp (to know when authentication happened and a trusted signature) and a signature. The signature is critical here since this cookie will allow users to be automatically logged in other sites. I'd recommend the HMAC or DSA encryptions to generate the signature. The DSA encryption, very much like the RSA encryption is an asymmetrical encryption relying on a public/private key. This approach offers more security than a shared secret like HMAC does._

"Yes, definitely build custom crypto for your single signon system, especially if you think HMAC is an "encryption" but just "not as secure" as DSA because it's "shared secret"."

SSO schemes are one of the primary reasons people build crypto for their web apps (they don't want the database dependency between the shared apps). These schemes usually fail calamitously, sometimes a year or two into production, when your app coughs up the ability for one person to log in as any other person without a password.

If you have a real app with a real customer base or doing real revenue and feel the need to put something like this in the field, please ping me. I'm not going to try to charge you. I may try to talk you out of it, though. I will _absolutely_ talk you out of using RSA or DSA.

<comment><USER3> Thanks for the expert feedback. From my very limited sec experience, I saw account_id in cookie, and identified that as a red flag. OTOH, I think a random token in the cookie, identifying a server-side session that stores the account id, would be a good approach, as it's the classical HTTP auth implementation. For example, what the Rails tutorial describes [1].

For SSO, the other apps can ping the cookie-originating app: "Hey, who is this browser with this cookie token" ?

[1] <http://ruby.railstutorial.org/>

<comment><USER2> That's a fine approach, but developers push back on it because it requires all the apps in the SSO federation to be connected at all times. Most shops should just accept that requirement and get on with their lives, though.

</comment></comment></comment><comment><USER4> This might be the right place to ask but ... is there a reason people keep reinventing SSO?

It's 2012. The first place I saw SSO was on a Banyan VINES network, in 1990. Years, I hasten to add, before NetWare figured it out.

We've got it, still, in the enterprise. It's now Active Directory, but I can use my same credentials for login and auth on Windows clients, unix machines, two different web apps from as many external providers.

Note, I have no idea how the web apps obtain my login credentials, save that the AD guy and the web guys did some black magic behind the scenes.

Why do people keep re-inventing SSO, sometimes badly? No way to make a black box that Just Works?

<comment><USER5> What is the 'de facto' answer for environments where AD isn't present?

I was going to say something about AD not supporting SAML, or federation, but it appears that my knowledge is dated. But in an enterprise where there are no Windows machines (to my knowledge,) much less Windows servers, what's the fill-in?

*Edited the snark out.

<comment><USER6> A lot of enterprises use SiteMinder (aka ChannelSecure), which used to be Netegrity's before they got bought out by CA. It supports both Apache and IIS, although I'm not 100% sure what the policy servers run on, it might be Windows. But I have seen LAMP apps that integrate with it, for example. It really is just an intercept-and-forward system that functions as a module on the web server and puts a few things on the HTTP headers to allow apps to handle authorization by themselves.

<comment><USER7> After about a decade of testing people's web applications, SiteMinder has defnitely emerged as the standard third-party tool for SSO.

Many years ago, it seemed like people were fairly evenly split between Siteminder and another one (I think it was called GetAccess, but the fact that I can barely remember it is probably an indication of it's current popularity).

Siteminder is a good solution (and I've probably tested about ~150 web applications over the years that are using it).

It's caused my attack plan to go from "Let's see how fundamentally broken this company's home-grown SSO solution is" to "Oh good, they use Siteminder. Let's see what areas they haven't implemented it properly in."

That's an important distinction, and the bulk of issues I've found with Siteminder over the years have all been in identifying specific pages or transactions which aren't properly using the SMSESSION. I found a forehead- slapping issue recently where there was one page that wasn't properly validating the SMSESSION (it was just checking to see that it existed). That page happened to be the "reset password" page, and it was possible through a series of redirects to modify anyone's password to whatever you wanted, even if you didn't have a valid account on the system.

And that's kind of the problem, which is that even using someone else's SSO mechanism (which, again, Siteminder is as good as any one I've seen over the years), If you've screwed up the implementation for any transaction or on any page, you're still screwed.

</comment></comment></comment></comment><comment><USER8> You might also want to examine the OpenID way, in which case you can use for example, this <https://github.com/jondot/passage>, or this <https://github.com/dbloete/masquerade> (depending on how complex the project you want to build on)

</comment><comment><USER9> Would openID be a good option for a SSO solution? If so what would be the best way to implement a openID server using Ruby?

<comment><USER10> Check out <https://github.com/dbloete/masquerade>

I haven't used it.</comment></comment>


Jeff Buckley's Record Collection - <AUTHOR> http://jeffbuckleycollection.com <comment><USER2> "Hover over album spines to reveal album information and stream music."

Hovering over any spine shows no such thing for me, on Chrome or Opera. In fact, the spines are not directly clickable and I have to use "Open in new tab/window" to see any detail.

And no Pat Metheny? _Heathen!_</comment>


Protecting Your Anonymity: A How-to for Sex Workers - <AUTHOR> https://www.eff.org/deeplinks/2014/07/protecting-your-anonymity-how-sex-workers <comment><AUTHOR> If Redbook users listen to the EFF and start using Tor, how soon before there's a redbook8x7r8ewjk.onion version much harder to take down?

<comment><USER2> This may sound like a very stupid question, but with Tor I've seen URLs where they have whateverxx9191.onion, i'm guessing the first part is randomised, how hard is it for them to get the first part of their name?

Is there a program or script that just keeps generating until the minimum hit (redbook* would be acceptable etc) is made?

<comment><USER3> There are a few different programs that will do it, but it comes down to brute force, so the difficulty depends on the length.

[https://github.com/katmagic/Shallot](https://github.com/katmagic/Shallot)

[https://github.com/lachesis/scallion](https://github.com/lachesis/scallion)

<comment><USER4> FYI I just checked and Shallot is entirely CPU based, so for brute forcing there is no point in using it at all - Scallion (open cl) will always be much, much, much faster.

</comment></comment></comment></comment><comment><USER5> Even the EFF now is recommending Bitlocker. Interesting.

<comment><USER6> Is there some sort of inside joke that I'm not aware of re: BitLocker?

By default, it does key escrow. It's pretty trivial to disable that. Other than that, I've yet to hear any substantive reason why I wouldn't use BitLocker.

<comment><USER7>
      Other than that, I've yet to hear any
      substantive reason why I wouldn't use
      BitLocker.

The thinking goes like this:

1\. RSA released software with backdoors, at the behest of the NSA.

2\. Therefore, the NSA has the ability to make companies release software with backdoors.

3\. The FBI and British governments are known to have asked for backdoors to be included in BitLocker.

4\. Therefore, the NSA has the motive to have a backdoor put in.

5\. Microsoft have not proved BitLocker /does not/ contain backdoors.

<comment><USER8> But you have to run Windows on bitlocker.

so you've already handed over your machine no matter what FDE you use.

certainly trusting less people is better than trusting more, since _any_ nefarious third party in this scenario already has the keys to the kingdom.

<comment><USER9> Full-disk encryption is primarily used to protect _offline_ volumes. If no one can boot your disk, it doesn't matter if Microsoft can upload its entire contents to the NSA once Windows is started. The concern is that a flaw in BitLocker's FDE would make it vulnerable to attacks while the volume is offline.

FDE doesn't really protect online volumes. Yes, the disk is still encrypted, but the OS transparently decrypts any requested sector, so other security measures are necessary to protect mounted volumes.

</comment></comment></comment></comment></comment><comment><USER10> I do wonder about technical solutions: are there any decent way to write sites that would:

1\. Run in the browser.

2\. Would be anonymous.

3\. Would use an anonymous host.

4\. Would encyrpt every private message, and would have clear differentiation between public and private content.

5\. Would have an easy option to download an extension to offer greater security.

6\. Would enable average programmers to build sites with it.

Is there something like this? And if not is it technically possible and what are the technical challenges ?

<comment><USER11> Yes! The basic philosophy is called "unhosted"[1], and there are several libraries that are made to help build unhosted apps. For example, I made a library called byoFS[2] that let's users connect Dropbox as an encrypted data store. It has several proof of concept apps like an encrypted diary[3] and end-to-end encrypted chat[4].

[1] - [https://unhosted.org](https://unhosted.org)

[2] - [https://github.com/diafygi/byoFS](https://github.com/diafygi/byoFS)

[3] - [https://diafygi.github.io/byoFS/examples/diary/](https://diafygi.github.io/byoFS/examples/diary/)

[4] - [https://diafygi.github.io/byoFS/examples/chat/](https://diafygi.github.io/byoFS/examples/chat/)

<comment><USER10> This looks great ! I'll be looking into deeply later on.

For those seeking simpler explanation of this look at [1], 7th paragraph.

[1][http://readwrite.com/2010/12/24/unhosted#awesm=~oIRyT1V2mrAL...](http://readwrite.com/2010/12/24/unhosted#awesm=~oIRyT1V2mrALff)

</comment></comment></comment><comment><USER12> I fail to see how this advice applies specifically to sex workers. What I see is a (good) guide on how to protect your privacy and keep your personal data from prying eyes in the general case. You will be at risk of seizure, surveillance or examination if you're doing less serious and more passive stuff than a sex worker has to do.

EFF could maybe come up with some advice that will narrowly target sex workers in this case. They mentioned MyRedBook was used to screen clients and keep from predators, so perhaps some advice on how to do that now the site's down will be valuable?

<comment><USER13> It seems to be about giving timely advise given the recent take down of of myredbook.com

[https://www.eff.org/deeplinks/2014/07/whose-redbook-why- ever...](https://www.eff.org/deeplinks/2014/07/whose-redbook-why-everyone- should-be-concerned-seizure-myredbookcom)

hackernews thread: [https://news.ycombinator.com/item?id=7974203](https://news.ycombinator.com/item?id=7974203)

</comment></comment><comment><USER14> I still believe "consent" and "free will" are overestimated when talking about prostitution...

<comment><USER15> You don't understand what 'consent' means, do you?

<comment><USER14> I mean that in the sense that a prostitute needs to consent, and be able to consent, to have sex with a client, otherwise it's rape, not a business transaction.

Turns out, a large proportion, in some situations the majority, of prostitutes can't even consent. They are underage, drug addicts (often not through a conscious choice but through pimps forcing the addiction), regularly beaten and/or they often are illegal immigrants (less legal protection).

That is why I say people overestimate the "free will" involved in prostitutions. Especially in the lower end you will hardly find prostitutes with clear cut cases of "I do it for the money". In european countries often they could have a better life living on welfare.

And no, catching welfare payments is normally not more demeaning than getting essentially raped multiple times a day.

</comment></comment></comment><comment><USER16> EFF are in full drama mode now. They have lost all credibility with me and I'll never, ever donate to them again.

P.S. If you want to be safe from many online and offline predators, don't get into sex work.

<comment><USER10> Let's assume you start with the premise that preventing surveillance if a good thing to do. In general, rational arguments won't get people to act. Drama might.

But this post does seems like a reasonable post if you try and imagine it through the eyes of someone who worked in myredbook.

> don't get into sex work.

That's not a good reason for them to be exposed to harm.

</comment></comment><comment><USER17> I always felt this was the point of the Glory Hole [http://www.urbandictionary.com/define.php?term=glory%20hole](http://www.urbandictionary.com/define.php?term=glory%20hole) ?

I feel the EFF has overstepped. At the end of the day, these people were committing crimes, an article dedicating to protecting their privacy, and impeding the law, is in bad precedent and has little to do with internet activism and more to do with prostitution laws.

<comment><USER18> I have no idea why you're being downvoted. This thread isn't about "should prostitution be legal".

<comment><USER19> I'm not sure if this is downvote worthy. It's certainly not upvote worthy. "Stick to glory holes, hookers!" probably puts it into the negative range.

In many cases sex workers are breaking the law. So are various journalists, bloggers, twitter users, homosexuals in a variety of countries. EFF & Tor often aim to protect people from official persecution under the law in their countries. Illegal does not necessarily equate to immoral.

This article and the articles it follows on from are in fact partially about protecting prostitutes from legal action and from the indirect consequences of legal action.

EFF: _The seizure is part of a disturbing trend of targeting sex workers_

Bay Area Sex Worker Outreach Project: _we also lost extensive online forums for a community of sex workers to keep each other safe, screen clients, and blacklist predators._

The bigger context of the article is what it means for anonymity, freedom of association and free speech if an allegation and subsequent warrant can lead to extensive records of everyone associated with a site being collected and filed.

Imagine a forum dedicated to recreational drug use (one of the first online discussion groups). Various people participate anonymously. Crimes (eg selling supplying drugs are committed. The site is frequented by drug users, advocates, maybe even rehabilitation professionals. A warrant results in full records of every participant being leaked.

If you can't see the damage done to the right to free speech and association by that, you are blind.

The comment boils down to 'Prostitution is illegal therefore protecting their anonymity is wrong.' It doesn't understand the bigger point about the meta issues. It's unintelligent. Flavored with 'glory holes, hehe' it deserves a down-vote.

<comment><USER20> The thing is that in the United States, the right to free association has never been taken to be a right to associate for the purpose of committing crimes.

The 'glory hole' thing in the original post was crude and pointless, I agree. But the EFF here is straight up providing a guide to a category of persons who are vocational criminals on how to do a better job of hiding their crimes from the police. (The primary purpose of the site the FBI seized wasn't discussion, it was solicitation -- the EFF never gets around to admitting that, that I've seen, which AT BEST means they're unintentionally misleading people in the course of their advocacy.)

I think a lot of people who supported the EFF in the past did so with the understanding that they were protecting a lot of speech freedoms and privacy rights. And yes, prostitutes and their clients do have speech and privacy rights. But they're also breaking laws that have nothing to do with speech or privacy, and the website was taken down in accordance with a reasonable police investigation into such matters. If you think prostitution should be legal, that's an entirely separate discussion, to my mind. But the EFF is moving into something that seems really close to straight-up providing advice for criminals in how to get away with crimes. And these aren't crimes against repressive regimes, or civil disobedience, or anything related to what I would've thought of as the EFF's mission. It makes me a lot less comfortable with the EFF being the leading spokesman for digital freedoms.

<comment><USER19> IMO, there are several ways of looking at this. One way to see it, which is possibly the position of the EFF and the sex worker support organizations they cite see this is as an unjust law which amounts to legal but immoral persecution of vulnerable people, prostitutes. Parallels could be a gay dating site in Jamaica or a political dissident forum in China.

From another perspective, it's one of those grey areas where you agree the activity should be illegal but prostitutes should be treated as victims or vulnerable persons.

Parallels to an information site for recreational drug users or a needle exchange. Harm reduction instead of law enforcement. Association is important here.

This represents a loss of a resource which provides them support and helps them bring down their risk of harm. More worringly, it's bullying. Creating a fear of that any associations will be persecuted.

From the perspective most natural to the EFF, the problem is exposing everyone because a few are suspected of criminal activity. Not all sex workers are criminals. But because some (allegedly) criminal activities happened on the site, everyone associated with it is compromised.

All together, this amounts to tactics fro preventing free association and speech. It's staring off by targeting a group that no few will openly defend, prostitutes.

I personally am sympathetic to all these views. I think prostitution (to the extent that it is consensual) should be legal. I think that if it is to be illegal harm reduction is much more important than enforcement. Arresting prostitutes is like jail-time for illiteracy.

The most scary thing out of all of this is the exposure of anyone and everyone that has visited or registered on these site. It starts with some marginal group where many/most are breaking the law, some are breaking the law on the site and everyone is marginalized by society. From there we gradually get to a situation where any online criminality leads to massive data seizure and exposure of anyone associated with the site.

Logged in to a body building site where some people sold steroids on IM, on a list. Commented on a blog discussing civil disobedience where some petrol bomber hung out, on a list.</comment></comment></comment></comment></comment>


Building a Maze by Destroying Walls Efficiently - <AUTHOR> http://codehowtos.blogspot.com/2011/04/building-maze.html <comment><USER2> I wrote a maze-generation program [0] in 1999 that used disjoint-set forests with path compression to generate mazes. Wikipedia didn't exist yet, so I didn't know what they were called, but I'm pretty sure I'd heard of them somewhere before.

[0]: [http://lists.canonical.org/pipermail/kragen- hacks/1999-Febru...](http://lists.canonical.org/pipermail/kragen- hacks/1999-February/000161.html) "mazewiz in C (second iteration), posted to kragen-hacks 1999-02-16"

Joe Allen's three-lines-of-C maze generator (included in the post), however, blows the hell out of my program for coolness.

<comment><USER3> It's really more like 7 lines, with the bulk of the program logic in a single massive line that includes 3 comma-separated expressions and 6 conditional operators. It's called three lines because it's been mercilessly stripped to 79-character line widths.

That does however mean that it's a 237 character maze generator, which is still pretty cool.

</comment></comment><comment><USER4> This "efficient" algorithm takes O(n^2) time (where n is the number of grid squares) because it has to repeatedly remove elements from the middle of a list. It can easily be improved to O(n) by simply shuffling the list once and traversing it in order.

</comment><comment><USER5> For those interested in maze generation, Jamis Buck's maze series ([http://weblog.jamisbuck.org/2011/2/7/maze-generation- algorit...](http://weblog.jamisbuck.org/2011/2/7/maze-generation-algorithm- recap)) covers the whole spectrum of algorithms and has recently started on weave mazes.

<comment><USER6> Wow, this is a fantastic link, thanks for sharing!

</comment></comment><comment><USER7> To build and run (I expected a build.xml file):

        cd ai4u-read-only/com.ai4u.util/trunk/src
        javac com/ai4u/util/*.java com/ai4u/util/disjointSet/*.java com/ai4u/util/games/maze/Maze.java
        java com.ai4u.util.games.maze.Maze

I like the output of this maze algo even more than the standard recursive backtracker, plus it's more efficient; from a few walkthroughs it seems to generate slightly more challenging mazes as well. (A solver line would help showing this and any bias.)

Also to make more fun (Maze.java):

        final int rows, cols;
        if (args.length == 2) {
          rows = Integer.parseInt(args[0]); cols = Integer.parseInt(args[1]);
        } else {
          rows = cols = 30;
        }
        final Maze m = createRandomMaze(rows, cols);
        ...
        .addGap(0, 13 * cols,
        ...
        .addGap(0, 13 * rows,

</comment><comment><USER8> I'm still puzzled how the Fulfillment[1] game builds a board by doing the opposite of this. Naively adding random walls clearly doesn't lead to a board filled with tetris pieces.

[1] <http://homokaasu.org/gasgames/game.gas?27>

</comment><comment><USER9> And a simple example of how to solve them: <http://thinkcode.tv/catalog/amazing-python/></comment>


HNWatcher: track keywords and follow users on Hacker News - <AUTHOR> https://www.hnwatcher.com/

<comment><USER2> I've been using this to follow some users whose comments I respect, and it's been a great improvement from loading the hn user comments page all the time. I imagine this is more valuable for startups and marketing managers, but it's been useful me the average hn addict as well :)

</comment><comment><USER3> Feedback:

\- Autofocus on input field in modal windows after clicking "Follow a new HackerNews user".

\- Remember my checkbox selection in the same modal window

\- Favicon!

\- Autofollowing e.g. "pg" could improve onboarding

\- Design is not very content focused right now, I would probably switch the middle and right column

\- Highlight found keywords in comment text

\- Notify/show me if someone replied to one of my comments

\- Modify title depending on what is shown (Right now following.php always shows "HackerNews users I follow" even when I have selected a specific one)

<comment><AUTHOR> Thank you for the feedback Sujan! Be sure we will work on this this week-end :)

PS: we highlight the keywords only when you click on the specific keyword for now.But not on the "All" sub-tab.

<comment><USER3> Ah I see. Why not? It would be especially useful there.

And I just noticed you remove all linebreaks in the output of comments right now. Intentional or bug? Makes for some quite unstructured reads with e.g. patio11's texts.

<comment><USER4> @Sujan done! =)

<comment><USER3> Perfect, much better. The keywords.php is now actually useful.

</comment></comment></comment></comment></comment><comment><USER5> I've been using it for the past week and it's great.

If you wish to get alerts for your brand and receive the HN link while it's hot it's the perfect tool.

</comment><comment><USER6> "Like any service, we will eventually charge our users."

I use plenty of services which don't charge me......

<comment><AUTHOR> Hey Fuzzwash,

You are right but unfortunatly, hosting + emails ( via mailgun ) are not free, so at one point we will probably have to charge for the service if we have lots of users. We are not a company and we are not funded, this is a week- end(s) side-project :)

<comment><USER7> You've created an interesting product, but you may want to give more thought to a monetization strategy. I don't see many paying to use something like this, but it could get some users.

</comment></comment></comment><comment><USER3> What are you using as the backend/API?

<comment><AUTHOR> It is partially based on HN Search API [1] and partially based on homemade Ruby scripts.

[1] HNSearch: [https://www.hnsearch.com/api](https://www.hnsearch.com/api)

<comment><USER3> Nice, I'm asking because there was a similar service [1] that stopped working without explanation before and that kinda sucked after getting used to it.

[1] [http://hackerfollow.com/](http://hackerfollow.com/)

<comment><AUTHOR> Never heard of it. I will try to get in touch with them to see what happenned.

</comment></comment></comment></comment><comment><USER8> Very cool stuff! I was waiting for something like that! :)

</comment><comment><USER9> Quiet nice!

</comment><comment><USER10> Nice tool ! Luv it !</comment>


Amazon Will 'Continue to Support' Defense Department, Jeff Bezos Says - <AUTHOR> https://www.bloomberg.com/news/articles/2018-10-15/amazon-will-continue-to-support-defense-department-bezos-says <comment><USER2> Good!</comment>


Amazon's enforcement failures leave open a back door to banned goods - <AUTHOR> https://themarkup.org/banned-bounty/2020/06/18/amazons-enforcement-failures-leave-open-a-back-door <comment><USER2> It's clear from the article keeping the marketplace clean is not a company wide priority. Amazon famously has very decoupled teams so they have a team setup for this that filters incoming listings, and that is it. After all many of these banned items don't really harm the user "just" society at large, so it's not very "customer obsessed" to spend a big effort cross company to stamp them out. It would not surprise me if every flaw this article pointed out was known, and the isolated team simply does not have the people and politics power to fix it.

You can see this because the teams which manage virtually every other part of the site are not involved - the search recommendation was suggesting banned items - the buy together team does not use it's system to find banned products related to removed items - the amazons choice team does not apply extra diligence to the things it flags. All things that a postmortem on now people find banned items would come up as action items. I bet they probably have, but it was low priory on those teams backlog.

It's also clear they have not funded a big enough secret shopper team to just act like a user and try and buy banned products and then make reports to various teams across the site where they have gaps. If an outsider can sit down with your system and find bugs after a little bit of time, you don't have a decent quality process in place.

<comment><USER3> Everything works as intended: [https://finance.yahoo.com/quote/amzn](https://finance.yahoo.com/quote/amzn)

Anything else isn't a real issue. While accidentally rejecting even 0.1% of the legit listings surely would cause heads to roll for screwing with the bottom line.

</comment></comment><comment><USER4> There is a part of me that has the knee jerk "Amazon are terrible" reaction. But another part is this is just shining a light on goods that were sold anyway, but we could not find them in the shadows.

So I have a theory on Twitter - it's not that Twitter _causes_ people to spout offensive rants and bully people - it's that it simply takes every pub and street conversation that happened _anyway_ and makes them publically available.

(yes there is an effect of reinforcement that the pub conversation would not get so it's not perfect analogy)

Amazon is similar - they are _trying_ to become the marketplace for everything sold in the world - which will include the crap, the counterfeit and the simply useless.

It kind of is Amazons problem, but like Twitter and Facebook, they are not _causing_ it, and it won't go away if we stop Amazon somehow.

It's us and our societies.

Edit: there is a secondary effect here (linked to Google as well) that is no- one would buy from "some random dude selling pills on a street corner" but Amazons big tent lends him some of Amazons credibility.

Thirdly we often moan here on HN that Google just returns mainstream results and we cannot find the out of the way stuff - but in these cases that's exactly what we want.

So I am not sure if this is an Amazon search problem (don't return counterfeit products - cost bourne by Amazon) or of it is an enforcement problem (police arrest counterfeiters - cost bourne by taxpayer) or something else like only buy from reputable providers (cost bourne by purchasers)

<comment><USER5> Just because counterfeit goods are sold doesn't mean you have to sell them too. With all of these stories about Amazon it's clear they care more about volume of goods sold and therefore amount of revenue generated and market share than they do about what is being sold. If two journalists and a few days can turn up this many clearly banned items that Amazon's searches themselves are suggesting, it clearly is not something that the company hasn't been aware of since the start of third party selling. They just choose not to commit resources to it as they're facing no serious repercussions for it and it actually makes them money.

Since this is nominally a site that discusses technology and Amazon is itself a major vendor of internet services it is not out of the question to think that they could, with programmers assigned to it and a desire to do so, massively reduce the ability for dangerous and/or banned items being sold on their site. Given that many of these things come from the same sellers and are being purchased by the same people it's not as if these are all one off outliers. It's a hard problem, certainly, but this is a company led by the richest man in the world for crying out loud!

If ever there was a reason for state oversight to stop large tech entities from getting away with whatever they want, surely it's enabling people to actually cause deaths?

</comment></comment><comment><USER6> It's a bit of a stretch to me that the picture up top is trying to pin the heartfelt death of a father on Amazon when all Amazon did was sell a pill press...

I'm not saying Amazon should be selling these things, but that choice makes me distrust this whole article.

<comment><USER7> Is it a bit of a stretch to hold Amazon responsible when counterfeit medicines, made with Amazon-sold equipment, harm people? The sole purpose of this equipment is to deceive.

As for woman in the picture up top, I think she has a reason to complain:

 _She woke up in a hospital bed herself. She didn't realize her father had slipped the counterfeit pills into his prescription bottle of Percocet at home and, distraught with grief, she had taken what she thought was a safe medication to help her relax._

<comment><USER8> Is Percocet a safe medication designed to help people relax?

<comment><USER9> Certainly not. Of course, people who abuse drugs don't deserve to die, but there is some risk you have to assume.

The people actually manufacturing the fake drugs have a lot more liability than the sale of pill presses, which have legitimate uses.

> She didn't realize her father had slipped the counterfeit pills into his > prescription bottle of Percocet at home and, distraught with grief, she had > taken what she thought was a safe medication to help her relax.

This whole family shares each others pills?! W-T-F!

</comment></comment></comment></comment><comment><USER10> Wow. I knew that Amazon banned firearm sales (makes me sad), but they have some stupid arbitrary rules.

Prohibited: Single point, 3-point, tactical, and quick detach slings

Why? seems like slings can be used for many things.

Permitted: Fixed stocks, with the exception of thumbhole stocks

Prohibited: Any non-fixed stock, including telescoping, folding or collapsible stocks

Someone please tell me why non-fixed stock are so horrible?

Permitted: Magazine floor plates/base plates

I'm actually surprised by this one.

Prohibited: Full auto sears (also known as drop-in auto sear or DIAS)

Haha. Amazon would be the least of your problems if you sell one of these. They should also probably stop selling metal coat hangers.[1]

Prohibited: AR-15/M16 armorer's wrenches or combo wrenches

Really? So I cannot by a castle wrench if it's marketed as for AR-15s?

Prohibited: Magazine loaders, except for those that can accommodate the following calibers: .223/5.56; 7.62x51; 308; 7.62x39; 5.45x39

Okay but .300 AAC, 6.5, 30-06, .338, .50 BMG/Beowulf are fine.

So much irrational hate for the AR-15 platform. It should be right up HNs alley as it is a fully customizable and reparable platform unencumbered by patents.

[1] [https://www.thefirearmblog.com/blog/2019/01/04/coat- hanger-m...](https://www.thefirearmblog.com/blog/2019/01/04/coat-hanger- machine-gun-dias-drop-in-auto-sear)

<comment><USER11> I don't know why you're worried about sears because either they are unregistered and illegal or registered and covered under the firearm sale ban. Adjustable stocks are arguably a concern because they make building rifles shorter than 26 inches easier. I'm not going to comment on anything else and I'm not pushing any specific agenda with this post, but those were my initial thoughts about those items.

<comment><USER10> > I don't know why you're worried about sears because either they are > unregistered and illegal or registered and covered under the firearm sale > ban.

Exactly.

> Adjustable stocks are arguably a concern because they make building rifles > shorter than 26 inches easier.

You could just not put stock on. An AR-15 with a 16in barrel is 30in with the stock collapsed and cannot be much shorter without the stock because of the buffer tube.

<comment><USER11> >An AR-15 with a 16in barrel is 30in with the stock collapsed and cannot be much shorter without the stock because of the buffer tube.

Telescoping stocks maybe not (my inexperience showing there) but folding stocks definitely can take it under 30 inches then. I assume you're saying a normal caliber ar15 won't be very fireable without a buffer tube. Anyways, apparently folding and telescoping stocks are also illegal in California, which might be the real reason amazon has these rules.

<comment><USER10> While there are technically stocks you can get for an AR-15 that fold, because you have to also fold the buffer tube they are not recommend and potentially unreliable. It is completely inoperable without the buffer tube.

They are not illegal to own in California. They are only illegal to be on a semi-automatic center fire rifle with a detachable magazine. So if you mag lock your AR with something like this[1] you can put a telescoping stock on it. This is also legal[2] (with a 10rd magazine) since it is not a center fire rifle.

Again a stock is not integral to the operation of most rifles so you can just not put one on. Oh course then it's legally not considered a rifle most of the time.

[1] [https://armaglock.com/product/armaglock/](https://armaglock.com/product/armaglock/)

[2] [https://www.smith-wesson.com/firearms/mp-15-22-sport](https://www.smith- wesson.com/firearms/mp-15-22-sport)

<comment><USER11> I'm familiar with mag locking and all of the "featureless" difficulties, I was just being brief. However I understand center fire refers to the cartridge/primer configuration and I'm not really sure why that matters, could I trouble you to explain? WRT the buffer tube, I understand that you need the buffer to move the bcg, correct?

<comment><USER10> Sure. It matters, I'm guessing because the design prohibits larger calibers due to the physics of how it works.

>Rimfire ammo is limited to smaller calibers since the cartridge walls need to be thin enough to be able to be crushed by the firing pin and ignite the primer.

> The downside?

> Well, the nature of the casing means it's pretty much limited to small > calibers. You have to have some relatively flimsy brass to handle the > rimfire set up. As a result, the powder necessary to propel a larger bullet > would blow the brass apart.[1]

Correct about the buffer tube. So even if you installed a folding stock on an AR-15, it require some proprietary buffer tube to work like this one.[2]

[1] [https://www.pewpewtactical.com/rimfire-vs-centerfire- ammunit...](https://www.pewpewtactical.com/rimfire-vs-centerfire-ammunition/)

[2] [https://youtu.be/_qr2GTq3v3w](https://youtu.be/_qr2GTq3v3w)

<comment><USER11> Oh, that makes a lot of sense. Thank you for your time and knowledge.

<comment><USER10> You're welcome.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> I found it funny the article considered an ar15 vise as a prohibited part when it specifically is not. Amazon bans parts that directly attach to some weapons (and only some of them, not scopes or lights) and a vise block does not attach.

I suppose we could go the opposite way and declare Amazon should not sell any punch, hammer or gauge...

<comment><USER13> [https://sellercentral.amazon.com/gp/help/external/help.html?...](https://sellercentral.amazon.com/gp/help/external/help.html?itemID=200164950) Assault weapon and AR-specific tools, such as: Vise blocks AR-15/M16 armorer's wrenches or combo wrenches Bullet button tools

<comment><USER12> Huh, you are right, they do specifically call out Vise blocks, though they also specify AR-15/M16 vise blocks. I wonder if it's possible to just add an AK trunnion pattern to it and still list it, since it's no longer AR-15/M16 specific...

<comment><USER14> It looks like they allow "vise blocks not intended for use with assault weapons"

So a top level reading would indicate they don't allow ak47 vise blocks either.

<comment><USER10> They do not define the term "assault weapon". It only has a legal definition in a handful of states.

<comment><USER14> True, and even when there was a federal AWB the definition was kind of arbitrary.

pistol grip + collapsing stock? assault weapon!

pistol grip + a2 fixed stock? not an assault weapon?

</comment></comment></comment></comment></comment></comment><comment><USER15> This is awesome, I just wish they were worse at enforcing some other prohibitions.

I've been trying to get my hands on a real kinder egg (not the kinder joy bullshit) for a while now. I thought the kinder joy and a wonder ball would be enough, but it is not.

I don't know why German kids are so much more resilient against choking than American kids, but whatever. (I actually do know, it's because of an ancient law that should have been updated by now)

<comment><USER16> Our local Mexican grocery store sells them. I think they import them from Mexico and nobody noticed that they are illegal here in the US.

<comment><USER17> Same with the Armenian and Russian stores in SoCal. However I think it's a rather recent phenomenon. I remember 20 years ago neither Kinder Surprise nor Kinder Joy were available anywhere, then about 10-15 years ago Kinder Joy became widespread and shortly after Kinder Surprise was available. I don't think any of the grocery stores cared about the ban but it wasn't until Kinder Joy reminded (immigrant) consumers of the eggs from their childhood that the demand became obvious to the shop owners.

</comment></comment></comment><comment><USER9> > We found listings for prohibited tools for picking locks and jimmying open > car doors.

I've got a closet full of this stuff. And I never used them to commit a crime.

<comment><USER18> No one said those things are illegal to possess or sell.

They're saying _Amazon_ prohibits their sale, but doesn't effectively enforce that rule.

> They're included among 38 pages of third-party seller rules and prohibitions > for its U.S. marketplace.

> Yet an investigation by The Markup found that Amazon fails to properly > enforce that list, allowing third-party sellers to put up and sell banned > items.

<comment><USER9> I never said they were. (Although they may be in some places.) What I'm saying is it's very useful to have tools to get into a locked car or to pick a lock. Who hasn't locked himself out?

<comment><USER18> I'm saying whether or not they're useful, the point of the article is that Amazon purports not to permit them, but doesn't police their listings well.

</comment></comment></comment></comment><comment><USER19> Some of these are just silly. Why would they ban a wrench and a vise?

I always get some enjoyment from making Amazon donate to gun rights organizations with Smile.

</comment><comment><USER20> I'd argue that banning specific goods is useless. shouldn't dab paraphernalia be sold? Concentrates are legal in various states.

If someone wants a $4000 pill press they're going to get it anyway. The idea that somehow this will prevent harm is absurd.

<comment><USER21> Yes, such idea is absurd. I can't fathom along what lines they came to the idea of online marketplaces being the ones to blame, or moreover being burdened by the duty to police their markets... The line of thinking of such people is not unlike the ones of communist party.

Found one stall in a giant market selling weed? Ban all sellers. Had one illegal BnB in an apartment building? Expunge all renters in the whole apartment block.

<comment><USER22> It's more like: a market says we won't have anyone selling weed, and there are stalls selling weed, and someone says "hey, you're selling weed even though you say you won't"

And unlike a market, which is generally not owned by a single entity, this market is owned by the richest person in the world, so it certainly has the resources to enforce its policies.</comment></comment></comment>


U.S. Agency Proposes Total Ban on Talking and Texting While Driving - <AUTHOR> http://allthingsd.com/20111213/u-s-agency-proposes-total-ban-on-talking-and-texting-while-driving/ <comment><USER2> Can someone explain why talking hands-free on a cell phone is more dangerous than talking to a person in the next seat? When you speak to someone in person, you unconsciously glance at them to judge their reaction or confirm yours. With a cell phone, your eyes have nowhere to go but on the road. This part of the proposal seems like over-reaching, and appears ignorant of the fact that most new cars offer bluetooth cell phone connections and hands-free operation. In my own car, the phone on/off switch is in the steering wheel. Before this proposal is taken seriously I would like to see some data that compares hands-free cell phone activity with other common activities that distract the driver's attention and/or eyes and hands.</comment>


Machine Learning on the Cheap and Easy - <AUTHOR> http://thunderboltlabs.com/posts/machine-learning-on-the-cheap-and-easy

<comment><USER2> For _getting started_ I really liked Toby Segarin's Programming Collective Intelligence. It was my introduction to this area before I went on to produce After the Deadline.

<comment><USER3> I read that one, I liked the fact that he builds up each example from first principles. It's hard to find _explanations_ that bridge theory and practice.

</comment></comment><comment><USER4> Thanks for the link!

Not to try to highjack the post, but for those interested in resources for computer vision see my post from a few months ago: [http://colinlea.posterous.com/on-self-guided-study-of- comput...](http://colinlea.posterous.com/on-self-guided-study-of-computer- vision)

<comment><USER3> Good stuff - I added <http://szeliski.org/Book/> to my reading list, thanks for sharing the link. There's a huge overlap for certain classes of problems. CV in many ways resembles the same problems with large online data streams, noisy, time critical, huge volumes of data - feature extraction is problematic. Hybrid solutions usually required.

I've found that reading books from other ML domains helps out in understanding the application and getting ideas on how to approach the problem.

<comment><USER5> As I experienced it, Szeliski's book is better as a reference as it covers lots of material (just see the number of citations at the end). I don't think it's an easy read without reading (some of) the cited papers (or having background knowledge).

</comment></comment></comment><comment><USER6> I think the two free online courses provided by Stanford last year is really good for beginners.

<comment><USER7> It's also one of the courses complete with materials in the new iTunes U app.

<comment><USER8> Thanks for the head's up... been meaning to watch it as a refresher.

</comment></comment></comment><comment><USER9> I highly recommend the 'elements of statistical learning' but also Bishop's 'pattern recognition and machine learning'

<comment><USER3> I just added it to my list of books to review. Thanks for mentioning it. What did you like about Bishop's Book?

</comment></comment><comment><USER10> These are really, really basic tools and books. Once you're past this you can get a copy of some good Springer books (e.g. "Recommender Systems Handbook") and follow up on the papers and studies referenced.

<comment><USER5> I woundn't consider The Elements of Statistical Learning Theory a (very) basic book. It covers plenty of material in relatively good depth.</comment></comment>


Ask HN: How do you deal with offshore developers? - s-stude Looking for some insights on what is good and what's bad in having an offshore development team. Does anyone have an experience?
What may go wrong? What is good, except the cost?
How do you manage a team? How do you hire them?  Any challenges?
Will appreciate any help. <comment><AUTHOR> I used to run a labor hire company. I still do in a way (consulting), but at a lower volume. I've managed many offshore developers and other contractors. Because the skill continuum is massive, it took me several failed engagements and a long time to get really good at managing people across it. Nowadays, I can't remember the last time I had an unsuccessful project encounter.

There are at least a hundred valuable tips I could give you on how to be a great remote manager but if I had to give one, it would be this:

Be a mastermind. Remember first and foremost that variance is your enemy. Give detailed requirements. Hide information to keep your contractor focused. Avoid abstract directives like the plague. Instead, break off an atomic well-defined piece of work and give it to your remote worker to work on over a short time frame. Either do the integration engineering yourself or give that to a highly trusted, proven lieutenant. Iterate.

To summarize, until a relationship is well developed, imo micromanagement is basically correct.

<comment> s-stude Great advice, grizzles. With all "remote work" trend those insights are becoming more and more important.

Question for you - have you met remote teams versus solo developers? Do you think there might be a team which had an experience in being remote and may save while we are doing our baby steps?

</comment></comment><comment><USER2> It has been a good experience in my company (web publishing, so we make a lot of websites).

> We talk/chat a lot with them, as if they were in the same place.

> Cut tasks to smaller pieces to minimize the risks

What may go wrong:

\- bad understanding of the tasks, that's why we communicate more

> and we always allow a little more time (than usual) for every task just in > case something was misinterpreted and needs refactoring

> people located "offshore" hire them according to our requirements (English > language is a must-have anyway, even if we're French)

</comment><comment><USER3> Highly defined work packages, short time scales, regular reviews.

</comment><comment><USER4> Same as an on shore dev team; document every requirement as best I can, ask them if they have questions, get them to repeat my requirements back to me so I know we are on the same page, set up regular meeting times and regular work schedules, check in and hold people accountable to what they commit to... and budget time to do code reviews and QA before launch.

<comment> s-stude Do you think a time zone will be an issue?

What else scares you?

<comment><USER4> Time zones don't scare me. But I do tend to get up early, like 5 AM in the US, and that tends to work well with people in Europe.

As long as everyone has some sort of calendar scheduling tool, with their normal work hours clearly listed, it's usually not too hard to schedule meetings and chat with people on Slack -- doesn't have to be real time chat.

</comment></comment></comment><comment><USER5> [https://sivers.org/how2hire](https://sivers.org/how2hire)

This covers most of it. I would focus on giving some small pieces of work to see how collaboration works.

<comment> s-stude Good post on how to hire somebody. I'm more interested in an experience on how it was. If you have a team which works for you several months you see some challenges. Which are they?</comment></comment>


Reverse Engineering IoT Devices - <AUTHOR> https://iayanpahwa.github.io/Reverse-Engineering-IoT-Devices/ <comment><USER2> From the article:

> The fact that this bulb is not using TCP/IP based protocol for communication > makes it little hard to reverse engineer, I mean c'mon if it was suppose to > be on my home network, things would be bit easier isn't it, I can just use > it's MAC or IP to sniff and dump packets in a PCAP file to be later analyzed > with Wireshark, it could have been cryptic but easy to sniff, Basically a > Man in the Middle sort of thing, even a simple CLI tcpdump would also work

I like having everything controlled from one app and proprietary apps drive me nuts. This is how I reverse engineered most of the things in my house (including the alarm system). It works surprisingly well.</comment>


Not All the High-Tech Jobs Are in California - <AUTHOR> http://www.bloomberg.com/view/articles/2016-08-04/not-all-the-high-tech-jobs-are-in-california <comment><USER2> Nebraska is doing a great job at this. The fastest growing private company in the state was (still is?) [http://www.hudl.com/](http://www.hudl.com/)

Cities are getting high speed Internet as well. A good majority of Lincoln, Nebraska will be fiber connected in the next year [http://allocommunications.com/locations/lincoln/](http://allocommunications.com/locations/lincoln/)

Omaha (the larger city about 40-50 minutes drive away) has its own new high speed options by the two big competitors in town.

There are other interesting things going on like the Do Space too [http://www.dospace.org/space](http://www.dospace.org/space)

And of course, various accelerators [http://straightshot.co/blog/introducing- class-of-2016/](http://straightshot.co/blog/introducing-class-of-2016/)

[http://www.nmotion.co/](http://www.nmotion.co/) etc

<comment><USER3> You are correct. They don't call it the Silicon Prairie for nothing ;)

</comment></comment><comment><USER4> I think it's largely about the attitude that people have toward their job, and people with similar attitudes congregate in similar regions. People who view their job as a minor annoyance that's necessary in order to support a family, own a house, and travel occasionally are different than people who view their job as an avenue for exploring the topics that fascinate them in life. It's not a bimodal distribution (perhaps more of a spectrum) and I would say that job attitude shifts more towards "support a lifestyle" as people become older.

So yes, San Francisco and West Virginia both have tech jobs, but the reasons for people taking a job in each location are entirely different. Neither reason is wrong, but it explains the fact that certain "kinds" of tech jobs are rare and can only be found in very specific locations.

</comment><comment><USER5> The fact that an already hugely successful SF market is growing ~37% is astounding. 45% growth for a much smaller footprint is not nearly as impressive as the sustained growth of a large market.

</comment><comment><USER6> It would be informative to see a breakdown within "tech."

IT support -- although vital, valuable work that large companies absolutely need -- is not the same sort of work as starting up a new idea.

<comment><USER7> The other important part is that IT support is almost never a profit center and will have relatively little business impact on paper. You don't need a John Carmack or Jeff Dean of IT Support in your organization - it doesn't really matter if your IT O&S costs less or performs better than your competitors.

I really have to emphasize not working in a cost center whatever your industry or skillset if you're ambitious and talented to any degree</comment></comment>


Getting a job in software development: A Reddit discussion round-up - <AUTHOR> http://www.reddit.com/r/cscareerquestions/comments/n5spv/getting_a_job_in_software_development_a_reddit/ <comment><USER2> If you want a job in software development - do software development. There is no substitute for coding. I interviewed with Google a little while ago and the first thing they asked me was "How many hours do you code a day?". That set the tone for the rest of the interview. CLRS has some very useful information and by all means, every developer should know it, but using that theory in practice is what makes the knowledge stick. You find out more idiosyncrasies and sticking points when you actually build something. If you don't know where to start, fork a project from github and contribute to it.

<comment><USER3> Amen. If you want a job playing basketball, you ought to watch a lot of video of great players. You ought to read a lot of books about training, techniques, and strategy. You ought to hang out with other basketball players and exchange tips. You ought to cross-train by lifting weights and running.

But all of that is secondary to _playing a lot of basketball_.

</comment></comment><comment><USER4> Most of the questions and answers seem aimed at college seniors planning for Google-style Big O cross examination.

For experienced developers it's a bit simpler: build a portfolio, craft a cashflow-oriented elevator pitch, build a network, and plan ahead for a bit of buzzword compliance in your desired niche as needed.

<comment><USER5> when you say portfolio do you mean having a github account or a blog or a live website running? what kinds of projects should I have?

<comment><USER4> The goal is to regularly provide proof to both your professional network and to selected potential employers that you are highly competent and will be a decided advantage to their organization.

Some people don't know what github is and won't care, others really like live sites even if they're modest, and still others really just want to see resume bullet points about dollars saved / created. Eventually you can put all of that together, but naturally it'll help when your prospective hiring manager has the same ideals you're demonstrating with your portfolio.

Portfolios are secondary to name recognition and social proof. Let me reemphasize that sharing your goodwill, your skills, and your successes with your professional network is probably more valuable than anything else you can do - develop a local or national reputation as a top gun and work will come to you as long as you keep your connections warm.

<comment><USER6> As a small company owner I want to completely endorse this comment. These "proofs" of a developers skills and technical interest are the hard requirements I have before conducting any interview. Naturally the "social proof" is also important but less common and more difficult to attain.

Even tiny personal projects demonstrating ones interest in keeping up with newer hot technologies like node, redis, backbone, etc mean a lot.

tl;dr Having a set of quality personal projects (github, live, whatever) is absolutely critical.

</comment></comment></comment></comment><comment><USER7> This seems... really simple. Basic algorithms, data structures, and theory that I learned in second-year comp sci.

Knowledge on these subjects is easy to pick up, taking you a few days of study at the most. Knowing this stuff doesn't mean you can program for shit (see: academic coding horror). Best to build a portfolio as dpritchett said, with a few "lessons I learned from experience when working on this project" anecdotes ready to go.

That's just personal experience though, and I competed in the ICPC during my university career so I never worry about the problem solving questions.

<comment><USER8> _Knowledge on these subjects is easy to pick up, taking you a few days of study at the most._

I doubt you can pick up a solid understanding of just the first 15 or so chapters of CLRS in a few months, let alone days.

<comment><USER9> Coming from a pure math background, I find CLRS to be very easy to read. YMMV based on prior experience, but it's not at all unreasonable to learn the basics in a week or two if you're studying it full-time.

<comment><USER8> I'm not talking about "picking up the basics". I doubt that level of knowledge will get you a job offer from Google.

I'm extremely skeptical about your claim. Just reading through the chapters will take the better part of a day. Working through the exercises and thinking about what each of these algorithms will take much longer.

<comment><USER9> For reference, MIT has two undergrad courses - 6.006 and 6.046 - which use CLRS, covering about half the book each. An undergrad course at MIT is expected to take up about 140 hours, including lectures, reading, and assignments. So, working for 10 hours per day, one could theoretically complete each course in two weeks.

There are a few other things to consider. One is that it's probably not necessary to go through all of the material to be able to manage interview- type questions. (It would obviously be best to undertand CLRS from cover to cover for the purpose of becoming a better engineer, but that's not what's under discussion.)

Second, it's really questionable whether someone can effectively work for 10 hours per day on this sort of material. My guess is that people fall into two categories - those who are not used to algorithmic thinking, and those who are. People from the first category would not be able to absorb that much new information that quickly, so for them, what I said is inaccurate. However, people in the second category would not only be able to process CLRS in large batches, but would need much less than 140 hours to work through half the book; someone familiar with the underlying concepts (basic programming, probability, etc.) and with a background in proofwriting could very well get through enough information to answer interview questions twice as fast or faster, so in about a week or less.

<comment><USER8> This argument is ridiculous.

I don't doubt your claims about the amount of the work the two courses at MIT require. However, you're forgetting that for some of those 140 hours you're being lectured by the top professors in the area. You're unlikely to have a question that they can't answer. Other parts of those 140 hours are spent talking with some of the smartest students on the planet. Some more of those 140 hours are spent solving problems carefully designed to maximize understanding. If you can't figure something out, you have fellow students, TAs and professors to harass. Somebody studying alone at home doesn't have this environment.

And then you need to take into account the fact that if you're undergrad at MIT you're already smarter than 95% or so of the population. Basically, the takeaway here is that your 70/140 hour number applies to something like 0.1% of the population under the assumption that they're studying CLRS at home.

You need to see this in context. This is advice for CS undergrads looking for jobs. This advice is being given out on reddit. Anybody who needs this advice (and CS undergrads from MIT certainly don't) will not be able to work through CLRS in a week.

</comment></comment></comment></comment></comment></comment><comment><USER10> I recently interviewed a master's student for a job at our company. I asked him a very traditional question, and then was going to follow up on it with increasingly more difficult questions to see how deep his knowledge was. I wasn't out to "get" him at all, I hate interviewers that ask super-hard questions, I'm more interested in having a good conversation with the person to try to get a feel for what they really know, not just what they've memorized.

My question was easy: how would you iterate through a binary search tree.

He immediately asked me "should I do it recursively, or iteratively? Can I use a stack if I do it iteratively?" It was obvious he had studied for this question, and he banged out a solution in 2 mins. Iterating through a binary tree is a bit tricky if you've never done it before, and I wasn't even going to ask him this, but since he brought it up, I knew he knew the answer. The fact he could come to an answer immediately only indicated to me that he had memorized the answer and was essentially gaming the system.

So I asked him an even simpler question: Given a binary search tree, write code to find a particular value. If you can't find the value, then return me the next smallest value. For example, if the tree contains 1, 2, 3, and 5, and I ask for 4, then return 3.

He couldn't answer this, even though it's easier than the previous question. He had no clue how to solve it, and even worse, he couldn't recognize the simple bugs in the code, and the fact that he was dereferencing NULL pointers, etc. So I passed on him.

Personally, I think the best way to advertise for a job is to have a portfolio of code, as dpritchett says. I'm tired of testing people on whiteboards, and seeing if they can memorize solutions to every single program on glassdoor.com. I'd rather just have them point to a github repository, so that I can see their coding style, and see if they can produce quality code. Having an indepth conversation about their project, and quizzing them on their code, to me, is a more real-world determination of whether or not they're a good programmer.

Then, the onsite interview would be limited to determining if their personality is a good fit for the team, instead of trying to come up with 10 different variations on "iterate through a binary tree".

<comment><USER11> _So I asked him an even simpler question: Given a binary search tree, write code to find a particular value. If you can't find the value, then return me the next smallest value. For example, if the tree contains 1, 2, 3, and 5, and I ask for 4, then return 3._

Out of curiosity, what is the solution?

I would imagine something like keeping a variable of the highest found value under 4 and if you don't find 4 then you use this variable.

<comment><USER12> Start at the root of the tree; at each node:

      - If the node value matches, return it
      - If the node value is too low:
        - If possible, step right and repeat
        - Otherwise, return this node value
      - If the node value is too high:
        - If possible, step left and repeat
        - Otherwise, return the value of this node's predecessor:
          - Walk up until you traverse a right link
          - Return the node's value
          - If you hit the root, the requested value is less than any value in the tree

</comment></comment></comment><comment><USER13> I love this comment:

" At the end of a whiteboarding interview whenever the interviewer asks "do you have any questions for me?" I'm always tempted to hand them the marker and say "Imagine you are given a binary tree with elements containing linked lists ..." "

Have any of you guys ever done this? How did it play out?

<comment><USER14> It depends if the interviewer has a sense of humor. Some people are so stuck up about that kind of thing although.

</comment></comment><comment><USER11> Comments here seem to be about the importance of demonstrating competence.

While this is of course important, I feel that it's equally important to make sure you actually _want_ to work in an organization. This means fitting in, tolerating corp BS/insanity well, being expected to tone down the cowboy ethos, and appearing productive at all times. In other words, being the oft- mentioned "team player".

<comment><USER15> Different sports have different levels of cohesion in their teams. Rugby vs. American Football, for instance.

</comment></comment><comment><USER16> Be careful, some of those reddit threads have terrible information/ advice in them voted to the top. For instance [http://www.reddit.com/r/compsci/comments/g9ugs/just_bombed_a...](http://www.reddit.com/r/compsci/comments/g9ugs/just_bombed_an_interview_how_do_i_do_better_next/)

</comment><comment><USER17> I'm surprised to see information missing on source control, automated testing and automated deployment.

You'd be surprised how many blank stares you get back from candidates when you ask questions about the very fundamentals of writing maintainable code in a team.

</comment><comment><USER18> interview != quiz</comment>


Can Haskell power the next Ruby on Rails? - <AUTHOR> http://www.stackbuilders.com/news/can-haskell-power-the-next-ruby-on-rails

<comment><USER2> I've had similar thoughts about Clojure, as I've been using it for back end work rather than Ruby. Clojure has a lot of the same elegance I've come to love in Ruby, all wrapped in yummy functional goodness. Then again, as a dynamic language, it has many of the same shortcomings.

Scala has tried to go down the same route with the Play! framework. I tried it, but frankly, I found Scala very obtuse and difficult. I don't like languages that make me feel like the biggest problem is that I'm stupid, because I know I'm not stupid (by contrast, when I hit ignorance-based problems in Clojure, the solution when discovered makes me feel smarter and makes the language look even lovelier). Scala reminds me uncomfortably of the things I don't like about C++.

</comment><comment><USER3> I wonder what Justin would think of Scala?

I've seen rails programmers put Scala Play apps together at a good speed. While Scala doesn't enforce Haskell's pure functional paradigms, it does allow them. And it almost goes without saying that type safety was a top priority in its design.

</comment><comment><USER4> No, it can't. Haskell is not a prototyping language.

Ruby (and more generally dynamic languages like PHP/Python) are and Rails like frameworks are amazing tools for prototyping when you don't know what you are building, need to iterate quickly, and need to prove out an idea. Dynamic languages are great for building things that are very dynamic, things that are in fact a kind of prototype.

Haskell and other languages with things like type checking and compilers and so on are designed to be safer, smarter, and are better long term for projects where the cost of complexity and maintenance are more significant and the development investment will get a payback.

If you don't know if a project is going to work, you shouldn't spend a huge investment to find out if it will work. So, use a tool like Wordpress, Drupal, Rails, Django, etc. to build out the minimum viable thing that you can build to prove out the idea and see if there is a real business there. Once you prove out the prototype and you know it is going to be a long term project that can pay for itself in terms of ongoing development investment, you need to throw the prototype away and build it with a tool like C#, Go, Java, Haskell, etc.

Most projects never realize they are no longer a prototype and should no longer be written in a prototyping language. Thus, you get all of the problems that come with a prototype without a lot of the solutions that we already have for solving them like compilers and such.

Interestingly, if you use a tool like Rails, there is enough there that you can get far past the point of a prototype before realizing it is no longer the right tool for the job. This is evidenced by the fact that there are now a ton of people talking about large project OOP and structure in Ruby and Rails, without them realizing that it's always going to be an uphill battle in Ruby because of the language itself.

So, if the question is if Haskell can be the next great prototyping language, then I don't think it is. If the question is if Haskell can be the language that you could migrate a project to after you realize it's no longer a prototype, then yeah it might be.

Building a large production product with long term maintenance and scaling needs in a prototyping language is very likely a bad idea and is probably why there are so many projects that start to be really difficult in dynamic languages after they reach a certain size.

<comment><USER5> Sure, the type checker forces you to think _more_ when you are actually typing. It makes up for being easy and rapid to refactor, repurpose, and reuse --arguably making it competitive to prototype with.

<comment><USER4> I actually agree, but I don't think most people do and there are times when static typing isn't as much fun - like say pulling data from an API and shoveling it on to a page or through some filtering or something like that or just doing some random UI manipulation with jQuery or the like. Most developers see the pain and are given a deadline and so they do it dirty and hope to have a chance to pay downy that technical debt later.

Later almost never happens until the system crashes beyond repair and the instability starts costing money in the form of downtime.

In the grand scheme of things, maintenance is always the most expensive part of a system, but "prototyping" languages that aren't particularly safe or maintainable are inherently going to be more expensive to maintain and deal with over the long term.

Ironically, dynamic languages like Ruby have taken the route of getting really good at unit testing and TDD instead of investing in moving their codebases from "prototypes" to "production" or "LTS" or whatever you would want to call a mature, complex codebase that will need to be maintained and evolved over time.

I'm a huge proponent of TDD, and I love Ruby, but the more I use Ruby, the more I see the problems of not having a compiler.</comment></comment></comment>


And Now Google Sues Apple - <AUTHOR> http://www.forbes.com/sites/timworstall/2012/08/21/and-now-google-sues-apple/ <comment><USER2> Although nothing has been directly mentioned, it's obvious this is Google sticking up for Android device makers like Samsung and sending a message straight to Apple HQ. A message that quite clearly reads: "If you're going to sue our third party vendors that support Android and abuse the patent system against them, we're going to show you what it feels to be sued"

I doubt this move is about money, but definitely just sending a message to Apple. Each and every day Apple is starting to become more like a mid-nineties Microsoft and we all know how that worked out...

</comment><comment><USER3> I have at different times thought of Google as many things. Until now, a nucht-schlep was not one of them.</comment>


Microsoft doesn't need Windows anymore - <AUTHOR> http://www.computerworld.com/article/3041378/microsoft-windows/microsoft-doesn-t-need-windows-anymore.html <comment><USER2> You can't just assume that this is just a result of market forces. Microsoft have been going out of their way to persuade customers that their product is just as worthless as every other disposable thing they buy. Millions of customers are prepared to pay a premium price to do simple basic things (like accounts on excel), and they are treated like a marketing opportunity for an annoying app store.

Windows has an amazing library of software that could be pre-installed for free on new machines. Maybe people would have paid a premium for an OS with "batteries included".

<comment><USER3> Realistically speaking, people simply don't see Windows prices anymore, it's been bundled by OEMs for such a long time. The premium you speak of is what people pay for Office add-on options at checkout, which are still insanely popular. I don't think you can squeeze much more out of that. They will actually have to shave functionality out, to enable more "apps" add-ons, the challenge being a streamlined interface to that (e.g. If you try to burn a cd, get a popup prompting to enable the feature via some app and so on).

Where Windows can technically and commercially grow is as a base "cloud OS" that is easier to launch and manage than current incumbents Ubuntu / RedHat. They have a lot of work to do to get there though.</comment></comment>


Silicon Valley should stop ostracizing the military - <AUTHOR> https://www.washingtonpost.com/opinions/silicon-valley-should-stop-ostracizing-the-military/2018/08/08/7a7e0658-974f-11e8-80e1-00e80e1fdf43_story.html <comment><USER2> It's very politically convenient to confuse the veterans who endangered (or gave up) their lives to serve in the military with the military-industrial complex and the hawkish political factions.

</comment><comment><USER3> The military wants smarter bombs to drop inconvenient people or even better autonomous drones that kill without remorse and convenient button to clear the history.

</comment><comment><USER4> oh the nerve, the cheek, the gall...

and it's also paywalled... so, let's avoid enriching the worlds richest man any further, shall we?

<comment><USER4> re: nerve cheek gall = the 717 billion dollar leech that sells fear and trades in boots-on-the-ground vs dead-locals erm 'collateral damage' could stand to ditch it's entrepreneurial approach to global corporate empire and perhaps consider scaling back, vs bankrupting it's host or openly admitting it's mercenary nature...

<comment><USER4> ...to say nothing of wars on emotions that result in being stuck in afghanistan over a decade and a half later to the cumulative tune of roughly 5-7 trillion dollars in loans called appropriations that are still getting kicked down the road like a rusty can, but I digress...</comment></comment></comment>


Ask HN: Beta testers wanted for marketing automation software - <AUTHOR> http://orchestrahq.com <comment><AUTHOR> Hey fellow HN-ers,

For the past few months, we've been building a new marketing automation platform for small businesses and we're close to finally releasing our first version.

We would like to invite you to test it out and let us know what you think. We love feedback and we're looking forward to hearing what you like, what you don't like and any other ideas to improve it further.

Cheers</comment>


How San Quentin Inmates Built a Search Engine for Prison - <AUTHOR> https://www.wired.com/story/san-quentin-inmates-jolt-the-last-mile/ <comment><USER2> I wish more prisons would spend more time developing programs to give people skills to help when they get out.

</comment><comment><USER3> Inspiring story. My uncle was in prison for most of my childhood, when he got out my dad helped train him for a job in IT. It wasn't easy since the idea of making money using a skill was so foreign to him. I can't help but think a program like this would have ease his transition.</comment>