Game developer loses multiplayer service code - <AUTHOR> https://steamcommunity.com/games/237870/announcements/detail/1594753310261910516 <comment><USER2> The developer added more details in the discussion thread:

> We have all of our available code backed up on our SVN server. But the > programmer that wrote the lobby code back in 2014 wrote some of the code > directly to the lobby server. So we don't have these, and since this > programmer isn't here anymore, and probably wouldn't remember what he wrote > even if he were, the entire thing doesn't work unless we rewrite. (src: [1])

> Unfortunately, it really is due to incompetence on our part. We really > didn't know that our server programmer was writing some of the code directly > to the server until we went looking for it after the server deleted our > code. We thought we'd just pop the backed-up code directly onto the new > server and that'd be the end of it. (src: [2])

[1] [https://steamcommunity.com/app/237870/eventcomments/16330403...](https://steamcommunity.com/app/237870/eventcomments/1633040337745152108#c1639789306538262696)

[2] [https://steamcommunity.com/app/237870/eventcomments/16330403...](https://steamcommunity.com/app/237870/eventcomments/1633040337745152108?ctp=2#c1639789306567954369)

<comment><USER3> That really sounds like they haven't been backing up their server, and that they think of source control as the backup. Both of these things are pretty bad.

<comment><USER4> This is common. Most places use their revision control system as backup for their source code and take backups of their database. This makes sense because the source code holds no state. Why would you back up the server? What would you do when you had 100 servers? You'd take backups of the running disk state of all of those? To what end?

<comment><USER3> _Why would you back up the server?_

In case of things like this. Also it's usually quicker to recover a server using an image than it would be to provision from source in the case of, say, a hardware failure.

 _What would you do when you had 100 servers?_

Something more scalable. There's no reason why you should pick an approach to solving a problem and stick with it forever. If the situation changes you do something more appropriate. That doesn't mean the small scale approach is wrong when the scale is small.

<comment><USER5> I mean, the better way of doing this is just keep your application code stateless and make frequent backups of your data stores. If the developers knew they had server code that wasn't checked into SVN, your solution makes more sense, but they just had no idea. Even in corporate, if I need to set up a new box for a service, I don't backup an image from another box and deploy it to the new one - I just pull my Docker image and run that.

<comment><USER6> Yes, but part of keeping your application code stateless is that you need to actually do things to keep it that way. If you haven't done those things, it's easier to set up Tarsnap in a cron job than it is to make sure your deployment process is stateless.

</comment></comment></comment></comment></comment></comment><comment><USER7> Man, that is really unfortunate. My heart goes out to these developers. I've worked with a few of these "do whatever works" cowfolk before. It is exhausting. And, as we see here, can ruin a company.

Personally, I'm getting really sick of the "software doesn't matter, do whatever you want, ship it" attitude in the industry. It creates a lot of needless toil because people do not want to learn how to do things properly.

Your software is your product. The primary cost of software is NOT the initial development: It is the ongoing maintenance. When you cut corners, you are taking out a loan against your future sanity and time. Higher quality code bases and better practices lead to stability, ease of extension, and more money.

___

A while ago I was working for a start-up using Google Cloud SQL Server with Postgres.

I was relying on the built-in database backup functionality, sleeping peacefully at night knowing I effectively delegated that task to a higher power.

Then, one day, I deleted the dev database. Whoops! Hmm... I cannot find the backups...

So I go onto the google cloud slack:

Me: "Hey, where are these backups stored?

Them: "The backups are deleted with the database."

I felt a bit like Wile E Coyote running in mid-air after running straight off a cliff.

Needless to say, I dropped all current projects and took a week to developing a backup, restore, and testing solution for our product. WHEW. Terrifying stuff!

<comment><USER8> Things I always do a few weeks after starting a new job...

Request the backup copy of a semi-randomly chosen file. It's been enlightening.

<comment><USER9> Related: organizations that would rather pay cryptolocker ransoms than restore from backups.

</comment></comment></comment><comment><USER10> Hard to know what is going on here. They claim that "all the code base got deleted from its server" where the server in this context is a deployment target, not a source control server. At any studio I've worked, and even on larger hobby or student projects, fixing this would involve an automated build/deployment using <insert build pipeline, maybe Jenkins>. At worst you could go back to source and build binaries for the target manually and setup whatever deployment configuration necessary to stand up the service again.

The developer says that they were using uLink for multiplayer which was a Unity plugin/framework for building services natively in Unity. It sounds like this was a binary only dependency with no source. Perhaps they didn't store the binaries in source control (or anywhere else) and would have to re- implement the networking with some other framework. For a small team and title with a small player base, it would be hard to justify the cost.

Lessons learned to always have full source for any critical dependencies or a contract with the maintainer for long term support. Also, make sure you can rebuild your deployment target from scratch and have your continuous integration process testing that early and often.

<comment><USER11> Or just check everything in. It's a bit taboo when you have proper dependency management to also check in the dependency binaries but I've found this is the only sure fire way to get rock solid turn key builds.

</comment></comment><comment><USER12> In 2010 I didn't know about version control. I released an Android game and sold it. It did really well. I had released many updates, and hardware was changing fast.

I wanted to update the game with all new high res graphics for new devices, and support tablets too.

However, I started working on new functionality in the game, something that kind-of affected the core of every other thing that was happening in the game.

I never quite got that perfect, but I kept updating, making backups, etc. Still, no version control.

Then it turned out that the latest update I released about 4 weeks earlier had an issue with a wide range of devices that someone finally brought to my attention. This was a new Samsung device that everyone was getting.

Customers started writing in about the game not working on their new device.

I had a backup of the code before I released the last update (which had a ton of changes and new features), and then a backup AFTER the release but also AFTER I put in a lot of the broken core functionality.

Basically, I was in a situation of having an 8 week set back to redo all the changes I made before the last release from a backup. That would take about 4 weeks, then I'd have to release, and start again on the changes I've been spending 4 weeks on.

The game was doing well, but I definitely wasn't 2 months ahead in income, and this was a side project.

I ultimately couldn't do anything about it and had to just press on with the new changes that did go out, but in a less than stellar way about 4 weeks after that.

In the meantime, I had to make a ton of refunds for people with certain devices, and then block that device from the dev console and put notes in the description not to buy the game if you are using a device like X.

Doing this basically brought my sales to a halt.

I ended up putting out one more update with the small changes I had that weren't perfect, people didn't love the change, I did make it so people with the new devices could download and buy again, but my rank and sales hand tumbled miserably anyway. The game sold a few copies here and there for a few more months, and then within a year I stopped development completely and stopped selling the game.

So..... version control and proper backups are VERY important, especially if you have customers. This game was my ticket to being an independent game developer making a living selling games, and then it crashed because I couldn't work on an older version.

<comment><USER13> the problem here is not even your process. its google/apple walled gardens that do not the end user install a freaking older version!

<comment><USER14> I'm not sure why you were flagged. While the OP is responsible for a lack of version control, the distribution channel is very inflexible and something developers have to fight with.

Many other distribution channels provide multiple binaries or versions and let the customer choose which to install.

Apple and Google are very simple and primarily aimed at non-engineer consumers, so it makes sense that they wouldn't allow people to select a version. It doesn't mean that this doesn't suck.

<comment><USER15> Maybe things have changed now, but as far as I can remember Google Play does let you deploy older APKs. But it's just from the developer side, it's not like users can choose which APK to download.

</comment></comment></comment></comment><comment><USER16> So I guess no version control where at least one developer had a checked out local copy? Ouch.

<comment><AUTHOR> The comments suggest that while most of their code is in SVN (and to forestall the usual discussion, SVN is totally defensible for game devs, most people don't know about Git LFS and it isn't a perfect solution), a tools developer made edits in production to make the lobby code work and he's no longer with the company.

<comment><USER17> The comment in question

> zede05 [developer] 26 Jun @ 3:58am @The sap is rising! We have all of our > available code backed up on our SVN server. But the programmer that wrote > the lobby code back in 2014 wrote some of the code directly to the lobby > server. So we don't have these, and since this programmer isn't here > anymore, and probably wouldn't remember what he wrote even if he were, the > entire thing doesn't work unless we rewrite.

<comment><USER10> Lessons learned but that is pretty unbecoming. This isn't a hobby project or something that was released for free. It's definitely not representative of most studios in the video game industry.

</comment></comment></comment></comment><comment><USER18> [https://steamcharts.com/app/237870](https://steamcharts.com/app/237870) some stats for the game if relevant..

<comment><USER19> 37 CCU avg is a dead game, that's admirable they put a best effort into making their last players happy. That also means, while a little embarrassing to lose code, it's not a big deal. And it's also not surprising they'd edit the code on the server and not have it in SVN, game development is full of sins like that.

Update: corrected to CCU from MAU

<comment><USER20> For context the current CCU makes it the 1,898th most played game on steam right now (out of 10,772 games that have at least one player).

The drop off comes very quickly!

1st most played game has 694,472 CCU (Counter-Strike: Global Offensive)

25th most played game has 19,744 CCU (Terraria)

50th most played game has 13,172 CCU (Counter-Strike)

100th most played game has 4,367 CCU (Sims 3)

500th most played game has 529 CCU (Octopath Traveller)

1000th most played game has 167 CCU (Shadowrun Hong Kong)

10000th most played game has 1 CCU

<comment><USER21> OT, but I'd be interested in where Fortnite, Minecraft, and League of Legends would hypothetically fit in that list.

Heck, I think Roblox would have them all beaten.

<comment><USER20> In 2014 Riot released numbers of 7.5MM peak concurrent players for League of Legends (off a MAU 67MM) and in 2016 reported a MAU of 100MM (but no new concurrency figures). Those are old stats but still useful for comparison.

Disclaimer: I work at Riot but don't have any internal numbers to share.

<comment><USER20> Wanted to jump back in here now that new public information is available, for August 2019 there was a daily average of 8MM peak concurrent players.

[https://na.leagueoflegends.com/en/news/game- updates/special-...](https://na.leagueoflegends.com/en/news/game- updates/special-event/join-us-oct-15th-celebrate-10-years-league)

</comment></comment></comment></comment></comment></comment><comment><USER22> That's really a shame. I sunk about a hundred hours into that game when it was new. The building mechanics in it were so robust it effectively contained SketchUp right in the game for building weapons, devices, vehicles, etc.

[https://i.imgur.com/VqFuxWw.jpg](https://i.imgur.com/VqFuxWw.jpg)

</comment><comment><USER23> Unless you regularly test your backups, there's no reason to think you have backups. Unless you regularly rebuild from scratch, there's no reason to think you can rebuild from scratch.

<comment><USER24> That really depends.

If you use cloud solutions, like aws, instance images are reliable backup units without having to test it. Managed resources like aws databases (rds, dynamo... ) have built in backups that just work.

You only need to proof test your backups if you are using untested or 100% handcrafted solutions, and in those cases you either know really well that you are doing or you should be using battle tested solutions

<comment><USER25> I trust RDS to backup the DB properly.

I don't trust myself to have perfectly configured RDS backups; to not have missed something critical (S3 bucket); to not have any number of other things outside the DB itself that may come into play should the worst happen.

Running through a "restore from backup" exercise every so often helps suss out where the missing pieces are.

</comment></comment></comment><comment><USER26> FWIW...

"Backups are a tax you pay for the luxury of restore"

"How Google Backs Up the Internet" [http://www.youtube.com/watch?v=eNliOm9NtCM](http://www.youtube.com/watch?v=eNliOm9NtCM) Detailed notes: [http://highscalability.com/blog/2014/2/3/how-google-backs- up...](http://highscalability.com/blog/2014/2/3/how-google-backs-up-the- internet-along-with-exabytes-of-othe.html)

</comment><comment><USER27> Here's my take - it looked like their average concurrent players was around ~30 before this happened, which indicates it was nearly a dead game. It's free-to-play, and I can't say how much they made per player, but a decent amount would be $0.05 per DAU. Converting concurrents to DAU is difficult, but let's say they had 500-1000 DAU. That would be on the order of $25-50/day.

My guess is they _could_ fix the problems, but it would cost an engineer a month? or a couple months? Considering the game was on the decline, it's hard to justify spending any effort to fix the issues.

Now the weird part. It was a F2P game - I don't know how much stuff people were buying in the game, but there's an implied contract that when you purchase a digital good, the digital good will continue to work for some reasonable amount of time. They are breaking that agreement by not restoring their servers and I am not sure what that means legally - there's potential for class action lawsuits, maybe?

<comment><USER28> It was only made free to play after the blog post. Before that it was a $10 game: [https://steamdb.info/app/237870/](https://steamdb.info/app/237870/)

</comment></comment><comment><USER29> To all the commenters that whine about using version control: version control is not a replacement for backups and disaster recovery procedures.

Repositories get deleted by mistake. Company accounts get closed. VCS servers break down or catch fire or get wiped maliciously or by mistake. Disk encryption keys get lost.

Offline backups on remote locations exist for a reason.

</comment><comment><USER30> Hilarious. Hobbyist projects for the win! In general it is helpful not to be completely ignorant of how the state-of-the art in your line of work is done and perhaps ask why it is done this way.

Its almost inconceivable to me how it is possible that a company, no matter how small, does all these things so utterly wrong that shit like this is possible.

Even as a child, when playing around with Delphi and Turbo Pascal, I made my backups dutifully onto an external drive. I did not use version control because I had no clue what that was (and, arguably anything is better than SVN), but at least I had backups of everything.

</comment><comment><USER31> I'd like to know more details about this but I sense we have what's important already.

Version control and backups are basically a form of insurance. Sometimes even a complete backup doesn't help. Even losing a week on a fast changing code base can set you back a month. The path you take forward has value as much as the destination.

Insurance is completely useless right up until you need to claim. Then it is the most important thing ever and suddenly it is absolutely critical to getting back on track.

Lessons and reminders for almost anyone doing almost anything creative. History forms your memory.

</comment><comment><USER32> The lesson here isn't "back up everything" but really is (and has always been) "make sure we can restore the system"

Because backing up is good but totally irrelevant if you don't occasionally use on of those backups to restore back to a good state.

One quick an easy way to test that is to have new developers apply the deploy/restore system to their own machine using a recent backup. (Obviously scrubbed of sensitive info.)

You get a developer online faster, another set of eyes on the process, and validation that it works. It's not perfect but pretty good.

</comment><comment><USER33> I don't always use version control.

But I understand when I don't I'm taking the risk that this will disappear with no recovery. Most of the time that's okay, some scripts have low reusablility and somethigs I need an excuse to refactor.

To run a business without it is inviting failure. Once you involve someone else the conditions to recreate get hazy.

It sounds like only one piece wasn't in version control. That might be why that developer is no longer there.

<comment><USER34> I religiously use version control, and additionally, I use PRs and issues even on projects I work on alone.

It's not about their purpose in itself, rather, it's about a structured process and discipline.

All in all, source control (and even PR/issues) virtually cost zero, so while there are arguments again unit testing/documentation etc., there's hardly an argument against it.

Besides, no source control, no bisect :-)

<comment><USER35> Issues I get (and practice), but PRs? Are you requesting a PR from yourself, approving the PR when you have meditated about it for a day? :)

<comment><USER36> I could see being able to look at your code diff outside the context of your editor could help you identify issues you wouldn't otherwise see. Especially if your brain flips into code review mode when looking at a GitHub PR.

</comment></comment></comment></comment><comment><USER37> How do they have the resources to write a new game but not rewrite the MP code?

<comment><AUTHOR> Older game. Smaller playerbase. Probably bad ROI.

<comment><USER38> A lot of people paid $24.95 for this game, and now they are going to abandon it, announce a sequel, and make it free for anyone who wants it. It's a triple slap in the face to existing customers. They should have re-wrote the needed code or contracted it out.

<comment><AUTHOR> One thing that _absolutely_ has to end is that the idea that a game has now become free is a "slap in the face" to customers. Customers paid for the game then-and-there, where they bought it and when they bought it. Discounts are not "insults" to those customers and by extension neither is making the game free and (possibly?) open-source.

As for rebuilding the multiplayer: it sounds like they had about 30 concurrent players and minimal ongoing sales. That's a dead game and at that point, "cut bait" is not unreasonable; they're not exactly a giant developer with money to splash around. "Give players free keys to the new game and move on" is about as fair a path forward as they can make, and is doing pretty right by those players.

I didn't submit this story here to get the cheap-games-earn-a-lifetime- commitment crowd riled up. (And make no mistake: $25 is a _cheap game_. So's $60, for that matter.) I posted it because it's a great object lesson to _back up your stuff_. If I can be honest, I'm mildly regretting doing so after reading your post.

<comment><USER39> The practice of releasing a game in early-access undermines the notion that you are paying for a game there-and-now. Even games that get 1.0 releases are often incomplete or continue to receive free content updates. Planet Explorers was released in early access, so people who bought it were clearly investing in its future, not paying for it as it was then.

This kind of ambiguous relationship being pervasive in the industry muddles traditional notions of when the studio's commitment ends, which opens the door for misunderstanding and abuse.

<comment><AUTHOR> PE's 1.0 came out in November 2016. It's well and truly out of Early Access and has been for nearly two years _and_ the playerbase had dwindled to a rounding error.

And even with Early Access, you're still paying for it as it is at the time of purchase--you're buying for the now or for the hope of the future, you are not buying for any future commitments of any sort. If this isn't well-understood already, it had best become understood, because financial exigencies don't really leave a lot of room for "but I bought it in Early Access!".

The finances of games are brutal and punishing and the race to the bottom that consumers have happily encouraged has resulted in those consumers' investment not being valued nearly as much. This was foreseeable and is inevitable. The best way to be reasonably assured that the games you like continue to be worked on, maintained, and managed is 1) pay a _lot_ more for them up front, or 2) play games with ongoing subscription systems. As-is? It is economically non-viable to throw money after 30 concurrent users and nobody with a pocket calculator could fault them for it.

</comment></comment></comment></comment></comment></comment><comment><USER40> And God knows how many other games and apps out there are happily running right now not knowing that some guy edited code directly on the server and left no trace of what he's done...

</comment><comment><USER41> Does a GIT binary

       without history rewriting exists?

Immutable, with only an add history mode

or with a CQRS filtering management.

<comment><USER42> You can disable garbage collection in git, which will keep all versions of the history accessible by the reflog, in principle.

[https://stackoverflow.com/questions/28092485/how-to- prevent-...](https://stackoverflow.com/questions/28092485/how-to-prevent- garbage-collection-in-git)

</comment></comment><comment><USER43> Maybe they just really didn't want to support it anymore? Sunset the service...</comment>


How DuckDuckGo Rode a Wave of Post-Snowden Anxiety to Massive Growth - <AUTHOR> http://www.fastcompany.com/3046943/how-duckduckgo-rode-a-wave-of-post-snowden-anxiety-to-massive-growth <comment><USER2> Am I the only one who actualy finds DuckDuckGo's search results overall better?

The main reason, I believe, is that Google's personalized search seems to get in the way.

Add to that the ! commands in DDG, and the fact that they aren't eliminating things from search in the same way google is and I find DDG the better choice for search as well as privacy.

YMMV of course, as the word "better" is so subjective, but I'd be interested if others have that experience as well.

<comment><USER3> I switched due to being frustrated with many Google results being SEO'ed to death. Sometimes one has to dig 3-4 pages to find a decent result. I got the feeling that if what I was searching for was commercialised, I should expect it to be quite hard to find neutral or deep results (kind of how when you're looking up a company, all you'll find in the news are PR releases disguised as industry articles).

My subjective and anecdotal experience has been that DDG filters the signal out of the noise much better in 80% of situations. In both personalised searches (e.g. for restaurants, which should be geo-localised, a recent search from Singapore sent me to Connecticut...) and for some specific items where Google has built some custom extra logic, such as movies or "site:", the added keystrokes of !g is not much effort. So I haven't switched back. It does feel like Google is a little smarter on some searches but - and I can't think of an example straight off the cuff - sometimes too smart for its own good and stuck in local optima. DDG offers a less noisy, more generalised view on the world which I prefer most of the time.

One nice thing about personalisation is the integration if you use a lot of Google products. For example, when my brother sent me his flight details, the flight was automatically added to my calendar, and Google Now showed me details on the day including the terminal and luggage belt, reminded me to leave on time and estimated the Uber wait time and even the fee (not to mention Maps can send you straight on to the Uber app with the start and end points entered). These things are either incredibly creepy or, if you trust Google and can't afford humans to do the same job, very useful.

<comment><USER4> Thing about Google's services is the eternal dilemma between tech and business.

I suspect the techies that implemented the services initially had the best of intentions with them.

But then comes the suits further up the chain, that has as their primary motivation to maximize ROI.

<comment><USER3> I think it's simpler than that: there's a war on between the SEO lot and Google. As SEO teams get better and better at mimicking a signal, Google needs to keep upping their game to let the valuable stuff get through without being drowned in about.com spam (sometimes the same text can be found in 10 successive clones of about.com) or companies upping their ranking. Then you get feedback loops as people's expectations adjust to the new reality.

Right now, if I type "!g clothes" my top result is missguided.co.uk; if I go to google.com and type "clothes", my top result is nastygal.com (ironic that both of these companies have "naughty" branding, when they are so good at spamming search results). Clearly both of these fashion companies have excellent SEO teams, but there might also be a factor of people expecting shops when they type a non-brand keyword.

DDG is also filled with shops (presumably affiliate links, since that's their business model) but the top/separate result is the Wikipedia article for clothing, which is actually informative if I wanted to read about clothes.

It's a good business decision for Google to have high quality search results. The problem with the previous search companies is that they sucked. Most/all of the top results were paid. There was little thought about relevance. Google won so hard because it allowed people a way to browse the enormous amount of information on the web in a structured way taking into account relevance. The ads need people to keep coming, which won't happen if other search companies are more relevant. The dynamic will be that whoever wins the search battle will end up being the new target for SEO spam and eventually develop the same problems.

</comment></comment></comment></comment><comment><USER5> DDG's !bang searches convinced me to use it as my default search. Being able to search various sites from the address bar is really useful. And if their results are ever poor, I can always get to Google with just a !g. I know you could do that before with keyword searches, but with DDG I don't have to worry about setting it up.

<comment><USER6> In your opinion, how is the bang code system superior to using "site:amazon.com" on Google?

<comment><USER7> Well, instead of typing site:amazon.com you only have to type !a

That's a lot less to type

<comment><USER6> Correct me if I'm wrong, but to use the !bang system you have to memorize the short form for every site or service you want to use it for, is that right?

For example, amazon.co.uk is !amazonuk - I don't see the meaningful improvement there.

DDG has six thousand of them, most of which don't benefit from a great shortening of the name. To search answers.com it's !answers - that's an extremely small improvement over site:answers.com given the need to memorize a bang for each thing you want to use it against.

<comment><USER7> It's not really hard to memorise a bang, especially if you use it often like !w for wikipedia or !yt for youtube.

Maybe most of them don't benefit a great shortening of the name, but the most common do.

And for the other, like answers.com, !answers is still 8 characters shorter than site:answers.com

You should really try to use bangs for a while, I'm sure you would see the appeal very quickly

</comment></comment></comment></comment></comment><comment><USER8> Good for them. I'm glad they stepped up to serve the sector of people who wanted increased security when searching the web. Most wouldn't try to build a competing search engine these days.

I've been using DDG since I heard about it.

<comment><USER9> I think there's more room for competition. Google is obviously very good at their core product, and arguably very good at delivering most of their other products as well. These attempt's like Microsoft's Bing I feel like are just attempts to copy Google's search but there hasn't been much in the way of innovation in years. I wouldn't mind using a search engine that takes an entirely different approach than the "type in a box and get a list of text results" (and maybe a little box of information also)

I liken my feelings about Google to my feelings about McDonalds. Most of it is delicious and satisfying, they have a core product that is the best done, some other products which are pretty good and then some other ones that are off the wall. I generally try to avoid what went into making the burger just like I try to avoid thinking about what Google is doing with the information it collects about me. In spite of any short comings you don't try to copy McDonalds, their supply chain is too massive and well oiled and their brand is cemented in people's minds. Google on the other hand has a supply chain of top tech talent, a ton of servers and stuff, and they have a huge brand. I think there is however room for other types of search even if there is not too much room to take them on directly. We will see the Chipotles and Five Guys of the search industry, things people didn't even know they wanted until they were available.

<comment><USER8> Not sure if you're a DDG user, but have you seen their ! shortcuts?

For example, you can type stuff like "!newegg laptop" into the search menu (or even easier, the address bar, if you have their browser plugin) and you can search newegg directly. I think the one I end up using the most (at work) is "!java8 something" to search javadoc

Not crazy on the innovation scale (as many browsers let you do keyword searches), but definitely awesome, because there's a huge range of keywords already available

<comment><USER9> I'm an occasional user, I've heard of the domains specific searchs but I was not aware of the ability to do the !java8 thing, that might be really convenient.

<comment><USER8> Yeah I use it as a browser plugin so I type that right in the address bar. There are lots of other useful ones (like !hn)

Also, if you currently use google, it's only a short "!g" away (and it uses google encrypted search, for what that's worth) -- I am a tiny bit ashamed at how much I use !g :)

</comment></comment></comment></comment></comment><comment><USER10> Like a few other comments here, I switched to ddg a few months ago and only rarely need to go back to google. In fact, it's kind of nice to have a few places to search now (google, bing, ddg), reminds me of the old internet search engine war days.

Unlike the article, I didn't do it for security reasons, I actually gave it a go and found the search results better for most of the things I search for. And if I don't find what I want I can !g and it'll take me right to google's results so I get a direct like-for-like comparison.

I also generally like how DDG presents the results better than google. Little details like checkboxes next to places I've already been are super helpful and I miss those little touches in google. There's tons of little touches like that all over DDG.

I find about 1:30 searches I hit google for and maybe only half of those do I find anything anyway.

About the _only_ think I don't like about DDG is the image search, google is far superior here still. And google sometimes does a better job bringing up maps of places I'm searching for. But I don't see changing back anytime soon and getting better personal security "for free" is a nice side effect.

It also brings into question how important google's personalized searches are for relevancy if DDG can provide equivalent results without needing that information.

<comment><USER11> _Little details like checkboxes next to places I 've already been are super helpful and I miss those little touches in google._

Google does do this, and in a less subtle way -- it applies the classic, purple styling to visited links.

Still, I find your comments compelling enough to give DDG a shot. I found the results inadequate when I last tried a year or so ago -- I found myself using !g more often than not, which led me to abandon DDG altogether.

<comment><USER12> I'm pretty sure that's a browser thing, not a Google-specific feature.

<comment><USER11> Yes, it is a feature of the default browser stylesheet, but many websites override it. DuckDuckGo, for instance, keeps all of its links black and uses the :visited pseudo class to show the checkmark.

Even if it's default browser behavior, keeping it around is a specific design decision.

</comment></comment></comment></comment><comment><USER13> I switched to DDG as my default search engine a few months back. Most of the time it's good enough. If not, a simple !g brings up Google's results.

</comment><comment><USER14> Is it just me or is this another in the series that can be generalized at:

"How DDG attached itself to <latest event> to make it look like it's popular"

I have nothing for or against DDG but it's like once a month I see what looks like pro-DDG propaganda.

</comment><comment><USER15> I haven't done a deep dive into how DDG works, but "In Partnership with Yandex" is on the search results. Yandex is a Russian search engine, and while you may find the NSA snooping intrusive and obnoxious, Russia isn't exactly a privacy-respecting libertarian utopia. No one ever seems to mention the Russian connection in discussions about DDG, though. If this is something you've considered and reckoned through to it not being a concern, I would be quite interested in your reasoning.

</comment><comment><USER16> How long would duckduckgo have to grow at its current growth rate to reach google's size?

[https://duckduckgo.com/traffic.html](https://duckduckgo.com/traffic.html)

That's not a reasonable assumption that it would keep growing that fast. But still interesting to know for when people lambast DDG for being a fraction of google's volume.

</comment><comment><USER17> The title as written is a smear against Snowden.

"How DDG Rode a Wave of Post-Snowden Security Concerns to Massive Growth"

<comment><USER18> I read it as security concerns related to the NSA. I don't think it's a biased title.

<comment><USER17> "Anxiety" typically means an irrational or unfounded fear.

We have legit reasons to fear the NSA spying after Snowden.

<comment><USER18>
       anxiety
       n.	A state of uneasiness and apprehension, as about future uncertainties.
       n.	A cause of anxiety: For some people, air travel is a real anxiety.
       n.	Psychiatry A state of apprehension, uncertainty, and fear resulting from
        the anticipation of a *realistic* or fantasized threatening event or situation,
        often impairing physical and psychological functioning.

Emphasis mine. That's all I'm going to say.

<comment><USER17> Does our disagreement make you anxious?

</comment></comment></comment></comment></comment><comment><USER19> While it might be just the opposite of the main purposes of DDG - ie privacy, is there a way to have it show local results?

Like when I search for general things in google it will show me stuff around my area first, whereas in DDG its just generic and could be anywhere.

<comment><USER20> DDG has two ways you could get local results:

1) Type in your city for example "news new york" "pizza toronto"

2) localization toggle - this sets country specific results

It's a bit of change in search style but you can get great local results while still being private

</comment></comment><comment><USER21> I have not uses DDG in a while. Do they still get results from Goolge?

<comment><USER2> The short answer is not all the results. There are many sources. Here's a link with more details.

[https://duck.co/help/results/sources](https://duck.co/help/results/sources)

</comment></comment><comment><USER22> The problem with DDG, as much as I respect their efforts and their official discourse, is that you really can't be sure they aren't tracking users based on some secret court order.

For this reason, I still have a very hard time trusting them in any meaningful sense.

<comment><USER23> Exactly: [https://news.ycombinator.com/item?id=6040471](https://news.ycombinator.com/item?id=6040471) \- American company hosted by another American can't be NSA resistant.</comment></comment>


Features and use cases of Consul - <AUTHOR> http://specify.io/common/systems/consul <comment><USER2> Just make sure you read this first: [https://aphyr.com/posts/316-call-me- maybe-etcd-and-consul](https://aphyr.com/posts/316-call-me-maybe-etcd-and- consul)</comment>


Google accused of extreme gender pay discrimination by Department of Labor - <AUTHOR> https://www.theguardian.com/technology/2017/apr/07/google-pay-disparities-women-labor-department-lawsuit <comment><USER2> So what's the data? Why even bother discussing (this specific case) without that?

Assume the ideal of simmilar pay for simmilar positions: Here google might employ 3 top tier female programers and 7 top tier male programmers with equally high pay, while the rest of the workforce is split even, also with simmilar pay. So they might have sourced from the top tier of progammers where there might be a gender imbalance and it would cause the average pay of men to rise.

On the other hand discrimination might have a far bigger impact on which roles equaly qualified men or women get in the first place and how many promotions they get. I also wonder how broad job "roles" are defined. You'd need that bo be quite detailed to compare equal roles and avoid the scenario above.

<comment><USER3> Why should a gender imbalance among top tier programmers cause the _average_ pay of men to rise?

<comment><USER2> In lower tiers you might be able achive something closer to a 50/50 gender balance. So you have e.g.:

low tier: 50 women, 50 men

high tier: 30 women, 70 men

So the average man as more paid like a high tier employee.

</comment></comment></comment><comment><USER4> I strongly suspect this is a DoL methodology problem. Can we really believe that the same company that puts huge effort into retaining women through its maternity policies (5 months maternity leave with full pay [paternity is 7 weeks] and a $500 stipend for takeout meals after a baby's born, among other things) has a conspiracy reaching the highest levels to short change women, such that its legal department refuses to comply with court orders to hand over data in order to hide its crimes?

<comment><USER5> Wasn't google a conspirator in Job's illegal scheme to depress engineer wages? I don't see what's shocking about the notion that a company that conspires to suppress wages may do so again.

<comment><USER6> Yes [http://www.businessinsider.com/apple-google-anti- trust-2013-...](http://www.businessinsider.com/apple-google-anti- trust-2013-10)

</comment></comment></comment><comment><USER7> I love it when real news like this gets 40 upvotes but stuff that's blatant PR gets hundreds.

HN is now a place to discuss corporate press releases and little more.

<comment><USER8> Depends if the company is in the hivemind's favor or not. IE what you are saying holds true for Google. For Uber, Microsoft, and really recently Apple, the inverse is true.

</comment></comment><comment><USER8> I'm sure people will treat this the same way they treated Uber for the same thing /s

</comment><comment><USER9> Unsurprising given the stories.</comment>


Markers of Gentrification: Mapping Rent as a Share of Income - <AUTHOR> http://blog.kwelia.com/2014/01/16/markers-of-gentrification-mapping-rent-as-a-share-of-income/

<comment><USER2> Not sure that these are markers of gentrifying neighborhoods -- just as an example, the big red area on your Austin map next to the University of Texas is largely student housing, and has always been this way: students have little to no income, often have roommates, and the parking policies of the university ensure that many students have few options other than to live near campus.

Likewise, the map of Philadelphia misses most of south Philadelphia, an area that is gentrifying extremely quickly with several hundred million dollar condo developments set to go up in the middle of the ghetto.

Interesting statistics, but I don't know that the conclusions that the authors are trying to draw are valid.

<comment><USER3> Actually UT heavily distorts the rental market, since while the students are poor, their housing is being paid for via loans or parents. So rents usually run higher than market rates near universities. This is why Universities frequently have expensive housing, but are unable to keep nearby stores in business.

</comment></comment><comment><USER4> All the images on this page aren't loading for me...

<comment><USER5> Google Cache:

[http://webcache.googleusercontent.com/search?q=cache%3Ahttp%...](http://webcache.googleusercontent.com/search?q=cache%3Ahttp%3A%2F%2Fblog.kwelia.com%2F2014%2F01%2F16%2Fmarkers- of-gentrification-mapping-rent-as-a-share-of- income%2F&rlz=1C5CHFA_enUS554US554&oq=cache%3Ahttp%3A%2F%2Fblog.kwelia.com%2F2014%2F01%2F16%2Fmarkers- of-gentrification-mapping-rent-as-a-share-of- income%2F&aqs=chrome..69i57j69i58.1604j0j4&sourceid=chrome&espv=210&es_sm=91&ie=UTF-8)

</comment></comment><comment><USER3> I think you're actually mapping areas where the market is being prevented from providing enough rental units for one reason or another.

<comment><USER6> or just where the data's bad. One of the highest ratios of median rent to median income (what they're trying to call their gentrification ratio) in the map of SF is shown in SOMA near 4th and Folsom. I used to live on that block, the median income is most certainly not $16k. It's just not. Half of that block group is non-residential, either Yerba Buena or office buildings, so maybe that's doing something weird to the data, but overall I think this attempt at a "gentrification" measure doesn't at all work.

</comment></comment><comment><USER7> Take a look at Seattle: [https://kwelia.com/maps/cbsa_census_tract?cbsa=Seattle- Tacom...](https://kwelia.com/maps/cbsa_census_tract?cbsa=Seattle-Tacoma- Bellevue,%20WA)

<comment><USER8> Looks like something is wrong with our median income data in Seattle. We're taking a look at it now.

Edit: we were missing the median income data for Washington state and a few other states. It's fixed now.

</comment></comment><comment><USER9> The Tampa Bay data has a weird outlier that it making the map kind of useless:

[https://kwelia.com/maps/cbsa_census_tract?cbsa=Tampa- St.%20P...](https://kwelia.com/maps/cbsa_census_tract?cbsa=Tampa- St.%20Petersburg-Clearwater,%20FL#)

Notice the one red spot at the top level, and everything else falling within the first 3 levels, which are 30% each. If the data is correct, perhaps the algorithm to pick the scaling factors could be improved to ignore outliers at the top and bottom?

</comment><comment><USER10> These maps are really interesting, although I agree that whether they are actually measuring gentrification is debateable.

I would have found the site a lot easier to use if there were a big map view of the whole country where you could select from the supported regions. I was trying to see Mountain View, and finding the right setting in the drop down menu took a while (Mountain View and Los Altos are lumped in with "San Jose- Sunnyvale-Santa Clara" if anyone else is looking).

</comment><comment><USER11> These maps don't work in Firefox :(

<comment><USER12> They aren't working in Chrome either. Is there some plugin that needs to be installed?

<comment><USER11> They worked in Chrome Canary for me. The pictures did not load correctly, but the actual maps that are linked to worked.

</comment></comment></comment><comment><USER13> Another sign of gentrification: I'm seeing all these ad signs that they're buying cheap houses. These ads are getting more and more now. I say this is a sign because there are poor people that wants to move out, and others sees it as opportunity to flip the house for profit.

</comment><comment><USER14> American Community Survey data is practically valueless. There, I said it. Symbolically, it may be interesting. When applied to cases like this, the conclusions one can draw are largely untenable.

</comment><comment><USER15> Try the links- they work for me.</comment>


Space Force met with Skepticism in Senate Hearing - <AUTHOR> https://www.pbs.org/newshour/politics/watch-trumps-space-force-met-with-skepticism-in-senate-hearing <comment><USER2> Eh, I don't see the point. IMO, this already falls under the mission of the Air Force. I'm glad the senate is skeptical, and would be worried if they weren't; it's a silly idea.

I'd much rather have a Congress that is willing to question the president and reject his sillier ideas than one that follows his lead unquestioningly.</comment>


My Adventure Writing My First Quine in Java - <AUTHOR> http://blogs.adobe.com/charles/2011/01/my-adventure-writing-my-first-quine-in-java.html

<comment><USER2> Here's a PHP->C->Python->JavaScript->original PHP quine I wrote a few weeks ago: <https://gist.github.com/749686>

And here's a little write-up on how I approached the problem: <https://nolancaudill.com/2011/01/01/how-to-build-a-quine/>

</comment><comment> daniel-cussen In Lisp they're pretty easy:

((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))

returns itself (note: written in Clisp; I've had issues with Lispworks doing things properly). You can also stuff messages in there pretty easily:

((lambda (x y) (list x (list 'quote x) y)) '(lambda (x y) (list x (list 'quote x) y)) "Hello, world")

</comment><comment><USER3> Python (triple quotes make this too easy):

      def q(s):
          print(s+'q(""' '"'+s+'"' '"")')
      q("""def q(s):
          print(s+'q(""' '"'+s+'"' '"")')
      """)

</comment><comment><USER4> A friend wrote a neat C one a while back: <http://dwcope.freeshell.org/projects/spinningquine/>

</comment><comment><USER5> I consider this totally cheating:

      $ python quine.py
      import sys
      print open(sys.argv[0]).read(),

<comment><USER6> This misses the point of a Quine. You haven't written the code to generate the string, you've used an external library that someone else wrote to do that job for you.

I made this mistake the first time I tried too.

<comment><USER5> Oh I know, hence I called it "cheating"</comment></comment></comment>


Researcher's labour of love leads to MS breakthrough  - <AUTHOR> http://www.theglobeandmail.com/news/national/researchers-labour-of-love-leads-to-breakthrough-in-treating-ms/article1372414/

<comment><USER2> MS being multiple sclerosis. I went through thinking it was something to do with Microsoft.. so if you're reading here first, don't make that mistake :-)

<comment><USER3> That's what I thought at first. Then I saw the word "breakthrough" and I knew it wasn't Microsoft.

</comment></comment><comment><USER4> _The U.S. society goes further, discouraging patients from getting tested or seeking surgical treatment. Rather, it continues to promote drug treatments used to alleviate symptoms..._

Statements like this make me wonder how much influence the drug industry had in this decision. Clearly it's not in their best interest for MS sufferers to get surgery and be done with it. I'm sure they rather MS sufferers take a Rx for the rest of their life.

<comment><USER5> "The initial studies done in Italy were small but the outcomes were dramatic. In a group of 65 patients with relapsing-remitting MS (the most common form) who underwent surgery, the number of active lesions in the brain fell sharply, to 12 per cent from 50 per cent; in the two years after surgery, 73 per cent of patients had no symptoms."

Although these are big falls 65 patients is not a large group. I'm not surprised the MS Society is cautious at this stage.

<comment><USER6> If 95% of the patients would have MS symptoms continue for two years at least, then having only 27% of the patients show symptoms 2 year on, is insanely significant statistically.

Similarly, if the average number of active lesions stayed at 50% for a control group, and fell to 12% for the test group, that's statistically significant.

Even if the group is small if the observed deviation is high then the observation is significant! Sample size is only half the story.

<comment><USER5> I appreciate that the effect is medically significant but the intervention was conducted at just one centre. Can it be repeated or is it particular to this centre? There are many, highly statistically significant, results published which faded into obscurity because nobody was able to repeat the results. I hope this isn't the case here but until it is repeated we can't know for sure.

The other point to note is that this article has been written for mass consumption and as such highlights the good but perhaps also misses the problems. I've had a quick look for a peer-reviewed article. I've found this ([http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2647682/?tool=pu...](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2647682/?tool=pubmed)) which I think talks about the initial part of this study but it doesn't include the 2 year follow up.

I really do hope this is as positive as it initially sounds but there is still some way to go yet.

</comment></comment></comment></comment><comment><USER7> Assuming that the treatment is proved to be successful -- and despite promising early results, that's still a ways off -- what happens to the various "find a cure for MS" organizations? Would they go away quietly? Is there a precedent for such an event?

<comment><USER8> The closest thing that came to mine was March of Dimes. Originally it targeted Polio, but now it's "mission is to improve the health of babies by preventing birth defects, premature birth, and infant mortality" (<http://en.wikipedia.org/wiki/March_of_Dimes>). So, maybe they move on to fight another fight.

</comment></comment><comment><USER9> _More radical still, the experimental surgery he performed on his wife offers hope that MS, which afflicts 2.5 million people worldwide, can be cured and even largely prevented._

Isn't that considered a breach of medical ethics, and generally just a bad idea?

<comment><USER10> The surgery may be experimental as a treatment for MS. But the procedure itself for unclogging the veins sounds fairly straightforward for vascular surgeons, Zamboni included.

<comment><USER9> I was thinking that operating on family / friends was considered a bad thing. As an example

 _"physicians generally should not treat themselves or members of their immediate families" because their professional objectivity may be compromised in those situations. Exceptions are allowed for "short-term, minor problems" or "in emergency or isolated settings."_

<http://www.aafp.org/fpm/20050300/41shou.html>

</comment></comment></comment><comment><USER11> If the numbers mentioned in the article are valid, it sounds like he's found a cure for at least one cause of M.S. Whether it's the sole possible cause is another question...</comment>


Obama mandates FCC to support Network Neutrality - <AUTHOR> http://www.whitehouse.gov/blog/The-Open-Internet-Preserving-the-Freedom-to-Innovate/ <comment><USER2> I despise arguing politics, religion, or money matters. That being said, I have no hesitation telling people this is the chief reason I voted for Obama in the most recent election.

<comment><USER3> Why is it you despise arguing politics?

I know its a difficult topic to broach with civility, but I think that the United States would be a little better if more people openly discussed politics and policy, instead of just militantly sticking to their views (or their parent's views, and so on)

<comment><USER2> Let's just say my parents are staunch Republicans and it hasn't been easy at family dinners when politics is the subject of discussion.

<comment><USER4> Americans need to learn the art of agreeing to disagree. It's a shame it always goes back to EVIL vs. GOOD in most political debates. This is exactly why partisans try to promote childish political discourse because the idea of a bunch of people with different opinions figuring out a reasonable compromise makes them obsolete.

</comment></comment></comment></comment><comment><USER5> You know, this might be the first time in a few years that I've appreciated an FCC policy.

<comment><USER6> So you didn't like number portability very much then? Or shared access to DSL lines?

<comment><USER7> Number portability! Bastards.

</comment></comment></comment><comment><USER8> Any speculations on if/how this affects wireless providers, particularly in regards to the recent iPhone/Google Voice/ATT hullabaloo?

If you read the full speeech (<http://www.openinternet.gov/read-speech.html>) it's clear that this policy states that consumers should pick the winners and losers, not providers, and networks must allow 'non-harmful' devices to connect to the network...

<comment><USER9> Note that they aren't talking about regulating non-ISPs like Apple. Apple won't sell iPhones to T-Mobile? Nothing to do with net neutrality. Apple rejects (er, not accepts) Google Voice? Ditto.

When it comes to 3G, this part worries me a little: "there may be benefits to innovation and investment of broadband providers offering managed services in limited circumstances. ... I believe such services can supplement -- but must not supplant -- free and open Internet access..."

I can see it now: Crippled 3G? $50/month. Neutral 3G? $200/month (because "that's what it costs us to provide it").

<comment><USER8> I noticed that too. I'm also interested in what the definition of 'non- harmful' devices is. This seems like a possible loop hole to argue for restricted devices, as in "allowing live streaming video from 3G devices will harm the network."

I'm not positive, but I'd be willing to bet this is how cable providers are allowed to disable some functionality of set-top boxes...?

Overall I think it's a very good thing, but it will be interesting to see how it plays out as case law defines these guidelines.

<comment><USER9> I think the device issue can be solved with a little trickery as well. AT&T could allow you to use any unlocked GSM phone on their network but just not advertise it so that virtually no one takes advantage of it.

As for cable STBs, they don't even connect to the Internet and thus are exempt from net neutrality. And if you don't like your crippled Cisco/Moto cable box you can always buy a Moxi... for $800... that will be obsolete in a year.

<comment><USER10> _AT &T could allow you to use any unlocked GSM phone on their network but just not advertise it so that virtually no one takes advantage of it._

Untrue. Nobody takes advantage of it because it costs $100/year extra. (You pay the $200 subsidy on your "free phone" every 2 years as part of your monthly bill. If you bring your own phone, you pay for that "free phone" anyway.)

Since most people don't like throwing away $200, most people use a subsidized phone.

</comment></comment></comment></comment></comment><comment><USER11> I'm really glad that the American government has taken some leadership in this. Hopefully other governments will follow suit and make similar mandates/suggestions to their regulatory bodies.

</comment><comment><USER12> I love the example of "one provider blocking access to political content" - that was Verizon Wireless blocking text messages from Naral PCA. That moronic decision, more than anything, is why the wireless carriers are subject to NN.

<nelson voice>Ha ha.</nelson voice>

<comment><USER6> Link for the curious <http://www.nytimes.com/2007/09/27/us/27verizon.html>

<comment><USER13> and if that link gives you an annoying login screen, try the coral cache [http://www10.nytimes.com.nyud.net:8080/2007/09/27/us/27veriz...](http://www10.nytimes.com.nyud.net:8080/2007/09/27/us/27verizon.html?_r=5)

</comment></comment></comment><comment><USER14> "... and make sure that the garage, the basement, and the dorm room remain places where inventors can not only dream, but bring their ideas to life."

Fuck yeah!!!

<comment><USER15> Unfortunately, the FCC will still fine you a lot of money for saying that on TV or radio. :-(

<comment><USER16> Or showing your breasts.

<comment><USER17> if you are female.

</comment></comment></comment></comment><comment><USER18> Technically it's not Obama, but an Obama appointee who's doing the mandating (and wrote the linked blog post): Julius Genachowski (FCC Chairman). Obviously the proverbial buck stops with Obama, and it's fair for him to be credited, but it's important to recognize the distinction.

<comment><USER12> Julius wouldn't have the job if Obama wasn't certain this was the outcome.

</comment></comment><comment><USER19> Lest this thread become an echo-chamber of cheerleading for new FCC regulations, I should point out:

\- each such new rule on broadband providers brings closer the day the FCC adds content-censorship rules to internet communications, as the FCC already applies to broadcast TV, and as other nations -- even those we don't think of as especially prone to censorship, like Australia -- have started to apply to the internet

\- this closes off potential business models for upstart bandwidth and content providers. Oh, incumbents will be sure to have their preferred models interpreted as being in compliance. Disney's ESPN360 will still be able to negotiate ISP-by-ISP video access [1]; Google will still be able to pay ISPs to install its edge caches so Google's traffic is the fastest on the internet [2]. But if an upstart wanted to offer "free" broadband subsidized by sponsoring sites -- for example, a service offering 6Mbps to paying sponsor websites, 128Kbps to everyone else -- that'd be unfair discrimination, until sufficient lobbying/donations occur to get a favorable FCC ruling.

The only good thing I see in the rules is Genachowski's second rule, "broadband providers must be transparent about their network management practices." Transparency can help consumer activism and competitive choice control abuses better than any agency rulemaking.

[1] [http://www.wired.com/epicenter/2009/06/cable-isps-see-net- ne...](http://www.wired.com/epicenter/2009/06/cable-isps-see-net-neutrality- foul-in-espn-online-video-charges/)

[2] [http://googlepublicpolicy.blogspot.com/2008/12/net- neutralit...](http://googlepublicpolicy.blogspot.com/2008/12/net-neutrality- and-benefits-of-caching.html)

<comment><USER20> Why would network neutrality and transparency laws bring us closer to censorship laws?

If you're arguing that increasing the scope of the FCC's authority leaves it open to _future_ abuse by people we may not agree with, I think it's pretty clear that keeping the FCC out of it wasn't working either. Sad as it is, I believe I have more say in how the FCC operates than I do in AT&T and Comcast. Particularly given the realities of local telecom monopolies in the US.

And the entire point of the ruling is to emphatically state that subverting standards and protocols is _not_ a business opportunity. Ad-supported broadband that relies on manipulating the IP stream is a _danger_ , not a _victim_.

<comment><USER21> _I believe I have more say in how the FCC operates than I do in AT &T and Comcast._

Perhaps that's the problem. Other people, who may have very different values than you, also have say in how the FCC operates. Since we've long ago crossed a line limiting the federal government to enumerated powers, and that protecting our physical safety is now _at least_ as important as protecting our freedoms, it's easy to imagine a regime where some majority elects to silence some minority of [porn readers | gay supporters | militia supporters | whatever unpopular minority].

<comment><USER22> As someone in a thread below points out, unaccountable commercial carriers were already restricting speech on their networks: <http://www.nytimes.com/2007/09/27/us/27verizon.html?_r=1>

<comment><USER21> In what way are the commercial carriers "unaccountable"? I can always vote with my pocketbook, as the saying goes. But when it's the FCC ensuring that one-size-fits-all, I can't do that.

And in the past, when the FCC has issued regulations or fines that you disagree with, how have you made them account for their actions? What, exactly, is the process for a citizen to exert influence over specific regulatory policy? Granted that, as a parent post argued, you can exert some influence in general by way of your legislators, but how can you ever say "that was the straw that broke the camel's back, I want out."?

In the case of the commercial carriers, though, restricted speech may in some specific situations be a _good_ thing. While I disagree with it myself, should people with specific sets of values be allowed to purchase a net connection that's pre-filtered for ideas the find offensive (say, hate speech, or gay content)? That's their right, isn't it?

Today in the television arena, we argue because what's broadcast goes out to everyone, and some people don't want some shows to be seen. With broadcast, they don't have the option of blocking it from their own home, so the get the FCC to block it from _everyone_ 's home. If ISPs are allowed to filter, then those ISPs can do the filtering for those with "delicate sensibilities" can have the bland world they want, and the rest of us can revel in free speech unhindered.

</comment></comment></comment></comment></comment><comment><USER4> As someone who works for an ISP I fully support the President on this. I don't feel like it's a major problem today but looking ahead to the future it seems plausible that there will be consolidation of Internet content just like so many other industries experience after a few decades of maturity. If we were to reach a point were a few powerful companies were controlling the vast majority of online content/services wouldn't it basically be a mirror of the mass media today? Fixing the problem now is the right thing to do.

</comment><comment><USER23> Not an Obama fan, but this is a great move. Good one Mr. President.

</comment><comment><USER24> Here is an interesting narrative on how the FCC used to operate: [http://books.google.com/books?id=GOvTxS-txFMC&pg=PA214&#...</a>

</comment><comment><USER25> "preventing Comcast from throttling the bandwidth on Youtube because they'd rather you buy the cable package."

YouTube isn't a TV replacement, Hulu is. I've read that in the future Hulu might go to a model requiring you to have a cable subscription to have access to Hulu. The logic was that cable providers pay large fees to carry various channels and those fees was what was financing productions of tv. Content owns don't want to jeopardize those fees.

</comment><comment><USER4> As someone who works for an ISP I fully support the President on this. I don't feel like it's a major problem today but looking ahead to the future it seems plausible that there will be consolidation of Internet content just like so many other industries experience after a few decades of maturity. If we were to reach a point were a few powerful companies were controlling the vast majority of online content/services wouldn't it basically be a mirror of the mass media today? Fixing the problem now is the right thing to do.

</comment><comment><USER26> That's "President Obama".</comment>


Corporations in open-source free-code commune could help sustain coders - <AUTHOR> https://siliconangle.com/blog/2017/09/11/capitalists-in-open-source-free-code-commune-could-help-sustain-coders-ossummit <comment><USER2> The value is not in code anymore. it's in the data and network effects. I don't doubt google's code base is valuable, but no where near the companies valuation.</comment>


HTML5 Canvas Cheat Sheet - <AUTHOR> http://blog.nihilogic.dk/2009/02/html5-canvas-cheat-sheet.html <comment><USER2> The cheat sheet has been around for a while, but the interactive Super Mario background is pretty sweet!

<comment><USER3> I recommend finishing the level. Funny ending

</comment></comment><comment><USER4> For anyone interested in cheat sheets, I maintain a cheat sheet directory. There are currently 25 HTML5 cheat sheets listed (including this one) - <http://devcheatsheet.com/tag/html5/></comment>


An Idea on How to Combat Spam Calls - <AUTHOR> I thought a nationwide movement/campaign might help to end these calls. Here is the idea: When a spammer calls, answer the call and set the phone down, continue on with your business.  When the spammer (computer or real person) realizes there is not a real person there they will hang up.  This will do two things. First it will slow down the rate a spammer can make calls, even if that spammer is a computer.  This will make the spam campaigns less effective and will require more resources. This will help drive some of these people out of the business.  The second thing it will do is tie up phone company resources, which would help force the hand of the phone companies to do something about this. Thoughts? <comment><USER2> This does not work (answer and silence).

All good robo calls have voice/presence detection.

What I did to solve my problem:

1\. Answer the call;

2\. Dial 1 to renew my "extended warranty" for the car I don't have.

3\. Indian guy answers;

4\. I say " Gimme gimme Money, all of it for free. OOOohhhhHH yes baby"

5\. They hang up

Once your number is flagged as "crazy/do-not-call" all others robocalls/scam will stop. Mostly all robocalls I was getting were from scams like "window virus removal" or "extended warranty for your car".

Once you get a real person and ask for free unconditional money and that you deserve it because you are a nice person.

They get out of script and remove you.

I went from 2-3 calls a day to none.

Ps. Not proud.

Number is not on do-not-call list.

</comment><comment><USER3> You assume they have a scaling problem. If they're calling me three times a day and leaving automated voicemails, and everyone else is complaining about the same thing, I don't think they're worried about resources.

[https://www.att.com/features/security- apps.html](https://www.att.com/features/security-apps.html)

</comment><comment><USER4> Silence detection is easy for the phone spammers. There's a site that has bots to engage the spammer and get him/her to repeat themselves or explain further. JollyRogerTelelephone.com isn't free, but they can email you an MP3 if you want evidence of how long a bot kept the spammer on the line.

</comment><comment><USER5> That will cost the recipient minutes, which are capped on most phone plans. Whereas the caller is just paying for the electricity to run the computers hosting their voice bots.</comment>


The IDE As a Bad Programming Language Enabler - <AUTHOR> http://developers.slashdot.org/story/12/10/30/065244/the-ide-as-a-bad-programming-language-enabler?sdsrc=popbyskid <comment><USER2> I've used a wide variety of languages, and I've yet to encounter one that wouldn't have been better with good IDE support.

I like having the ability to refactor quickly, to hop to method definitions with ease, to have a quality integrated debugger, and blah blah blah. A good language might make some of that less _required_ , but it doesn't stop it being useful. And, really, if an IDE is required for a language to be useful, but once that IDE is in place the language _is_ useful, why would you not consider language + IDE an indivisible pair? What real relevance does it have that the language on its own is not that great?

Java + Eclipse is Perl + CPAN, or JS + jquery/dojo. Something you have no business criticising unless you've made the effort to use/understand it in its whole.

Java isn't a great language, but Java + Eclipse is really quite tolerable. The majority of people I've known who really _hate_ it (as opposed to the usual sense of vague frustration that obvious improvements haven't been made...) are people who are unwilling to adapt themselves and their tooling to fit.

</comment><comment><USER3> Having IDE support is a feature of a language. You have to design your language so that IDE support is possible [1]. Most dynamically typed languages and functional languages fail in this regard and if you use such a language you always are jumping between API docs and your editor.

[1] <http://blog.efftinge.de/2011/04/dear-java-killers.html>

</comment><comment><USER4> Interesting how people without good IDE support rationalize things.

<comment><USER5> Interesting to note how people without good programming languages rationalize things.

<comment><USER6> What happens when you have a good IDE and a good programming language?

I say we have both!

<comment><USER7> That's why I mostly stick to C#.

<comment><USER8> Yup. Great language, awesome IDE.

</comment></comment></comment></comment></comment><comment><USER9> My only question is whether Faler switched to vi or emacs when he ditched Eclipse. If we're going to start flamewars with broad generalizations, perhaps we should do it properly (hmmm ... it appears I can troll effectively on HN without an IDE).

In the mean-time, I'd recommend the use of a good IDE and extensive test suite when you're refactoring. Use whatever you like (or are fastest in) when you're producing new code.

</comment><comment><USER10> When I jumped from android dev to rails dev I was hesitant to using sublime text instead of a true IDE, but now I hesitate to go back. With a good language you don't have to scroll though an auto complete to find the exact method call you want, good conventions enable me to often guess what method or class I want without ever having encountered it prior.

</comment><comment><USER11> LTOA: [http://www.recursivity.com/blog/2012/10/28/ides-are-a- langua...](http://www.recursivity.com/blog/2012/10/28/ides-are-a-language- smell/)

</comment><comment><USER12> We are in a world where computational and networking resources are absurdly cheap and abundant, compared to the past. Why shouldn't we design languages and environments that take advantage of this fact?

Designing a language that leans on an IDE, or other forms of tool support, is not bad. Analogously, designing an application that leans on having an internet connection (e.g. put documentation in a wiki, Go's URL imports) is not bad.

You can put together a GUI using only textual code in a text editor, but you'll do it faster and better with the help of live previewing and typo underlining.

</comment><comment><USER13> Not just bad _languages_ but also bad _processes_ and, I would argue, bad _programmers_.

IDEs are a good tool that (a) won't venture into some places that a good engineer needs to go, because to be decent at the job you really do need to understand the command-line interface, and (b) is very often put to bad use. I've developed the reputation of being an inveterate IDE-hater, but even I have to admit: abstractly, they _are_ a good thing. They're an attempt to solve a very hard problem (code comprehension) and the reason why they fail (by which, I mean that they tend to reduce the overall quality of the software environment) is not that they are intrinsically bad, but that managers tend to use them as license to hire weaker programmers and launch larger and more poorly-thought-out software projects, and IDEs can only go so far. It's like idiot-proofing: someone will design a better idiot.

The real problem is the horde of untalented, tasteless programmers and the clueless management that most software organizations hire, not the IDE itself. IDEs have just become, unintentionally, a symbol of How The Other Half Codes. There's nothing wrong with the tools themselves (although it is a bitch to support them if your environment has a lot of wonky in-house plugins).

There's also a Blub-like problem where people use "IDE" to mean "more featured environment than I'm used to", with the tacit assumption that "more featured" is a bad thing, because it's believed (and, sadly, often correctly) to be compensating for tasteless programming. As with Blub, IDE isn't even a well- defined term. Is SLIME an IDE? You could make a strong case for "yes", but you'll get flamed if you call it that because good programmers (rather than "IDE programmers") use it.

What are IDEs good for? Hell is other peoples' code, but reading other peoples' code is still a necessity. In the real world, we can't just throw out millions of lines of software because the code is tasteless. We often have to try to make use of it, and IDEs give us a fighting chance. This also explains the negativity toward IDEs. The one thing they are really good for (reading low-quality code) is something engineers hate doing.

IDE-dependence is evil, and bad code is evil, and IDEs only compensate partially. Having good processes, competent engineers and management, and writing high-quality code are all a lot more important than whether you use an IDE or not. In the real world, you probably want to have the IDE as an option because, even with everything going well, pockets of gnarly code are inevitable. Even Google (which has its faults, but its code quality is superior to most corporate environments) has a read-only IDE, served over the web.

One thing I would love to see is for Github to turn itself into a read-only IDE, with code navigation by link. The truth is that a read-only IDE provides all of the benefits of an IDE (except for interactive debugging, but that can be provided at the command line). While automated refactoring is slowed down in an non-IDE environment, that's actually a good thing. If a change is going to affect a large number of interfaces, there's a discussion that needs to happen. The 30 minutes that it takes to write the script that does this is a trivial cost in comparison to the communication effort that a major, potentially world-breaking, change deserves. So I'm a major fan of the "read- only IDE" concept.

<comment><USER14> "won't venture into some places that a good engineer needs to go, because to be decent at the job you really do need to understand the command-line interface"

This is only true if the IDE has not kept up with the command line interface. Visual Studio and Xcode do pretty much everything their CLI can do except maybe some tool integration like CI or deployment. But that's operations, not programming.

"IDEs are a good tool that ... is very often put to bad use."

So is every other tool out there. What's your point?

"The one thing they are really good for (reading low-quality code) is something engineers hate doing."

They are also good for:

\- Writing good quality code.

\- Looking up methods.

\- Code completion.

\- Code navigation.

\- Interactive debugging.

The list goes on.

"IDE-dependence is evil"

No it is not. You might as well say static analysis dependence is evil or compile-time optimization is evil or profilers are evil or any other convenience is evil. Should we all remain puritans and suffer cryptic and unwieldy tools just because making them more powerful and friendly also makes them more powerful and friendly for bad programmers?

Bad programmers will write bad code no matter what tools they use. Blaming the IDE is disingenuous and quite frankly comes off as arrogant and elitist.

</comment></comment><comment><USER15> HN submission linking to Slashdot submission of a story that has already been discussed on HN ages ago.

What was the name of that movie again?

Oh yeah, Inception.

<comment><USER16> Reposception

<comment><USER17> Lipo-?

</comment></comment></comment><comment><USER18> This must be setting a new record for an old article.

<comment><USER19> \- and the Redditization of HN comments...</comment></comment>


Algebraic Terraforming: Trees from Magma - <AUTHOR> https://www.fpcomplete.com/user/bss/magma-tree <comment><USER2> This is really confusing to me. Let's take their definition of a free object:

"A free object over a set forgets everything about that set except some universal properties, specified by the word following free. _For example, the free monoid over Integers forgets ... everything else about the Integers except: they are a set of objects, there is an associative (binary) operation on Integers, and there is a "neutral" Integer; precisely the universal properties of monoids._"

This seems to be contradicted by the first statement on the following paragraph:

 _Now, it turns out that [a] is a free monoid of values of type a. Our first pass at constructing a free monoid might look something like this_

But values of "type a" do not have necessarily an associative binary operation, let alone a neutral element. Furthermore by constructing a list of some type "a" we aren't _restricting_ the type of a to some pre-existing ambient algebraic structure, we are _creating_ a new algebraic structure independently of any properties of "a."

Where have I gone wrong here?</comment>


Snipd is testing Stripd.com (sexy version of Snipd) for private or very public groups - <AUTHOR> http://stripd.com

<comment><USER2> I like sexy women, but I hate the picture of the floozy in the lower right fixed div. It says, "Stripd views sexy as drunk, dumb, and missing shoes." What word do you think comes to anyone's mind after "knock-kneed"?

But this may be a better idea than trying to rid the Internet of ads (the Stripd alpha business model).

</comment><comment><USER3> Friendly notice - if you're at work, this might be NSFW.

</comment><comment><USER4> oh man. I love the idea of iteration but I think there are times in which it's time to move on to a new idea.

<comment><USER5> I've talked to several founders of sites in this vein who say one of their biggest problems is keeping it clean. Maybe giving people a place for just this sort of content is a good release valve, even if it doesn't make money (and free porn _doesn't_ make money...at least not very much...the clicks just aren't very valuable, and the bandwidth usage is massive).

</comment></comment><comment><USER6> Hey Alex, long time no speak! Here's some quick feedback.

I have an incentive to collect these images and occassionally share them with friends. However, I don't think I have an incentive to start doing it on a group basis. This alone prevents me from using the site. I think the danger of this far outweighs the benefit that groups bring (getting cliques on the service in one shot). I think making this an individual thing and giving an option to share is a better way to go.

Also, I don't think I'd mind if the images I collect show up on the front page anonymously. This gives huge incentive for people to come to the site and just browse. I know you have public groups, but the group thing doesn't work well for me.

Keep on trucking!

<comment><USER7> I think the private option is important for certain pictures - possibly of yourself/people you know? - but I think you're right, a public setting would be valuable.

</comment></comment><comment><USER8> Haha. I had created something fairly similar to Snipd a while back called CommonplaceLog.com (a commonplace is basically a 15th century scrapbook).

I've since abandoned the project but it's still online. Cool to see someone pick up the banner though.

</comment><comment><USER9> Hi Alex. I agree that browse functionality could be killer here. The girl stuck in the right corner on the groups page is irritating and unnecessary even on the front page.

If you have a more open browse view, do add subcategories and an opt-in for different categories (s/categories/tags/g ? Whatever the cool kids are using these days.)

In any case do not show pictures on the groups page. Trust me here.

Good luck!

</comment><comment><USER10> I know many people deem Python as sexy, but when you start calling Python error screens sexy I think you have a problem.

Serious commentry will resume after the blip.

<comment><USER10> Ah, there we go: blip.

Is this YC funded? <http://stripd.com/about/>

</comment></comment><comment><USER11> Hrm, it is similar to how there are always bikini clad women at tech conferences. I wonder where that chapter is in your standard marketing book.

<comment><USER12> > I wonder where that chapter is in your standard marketing book.

In the marketing book I most recently read ("Buy-ology", I think it was called), the author claims that this technique doesn't work for advertising. People remember the bikini-clad woman, not whatever she was advertising.

> Hrm, it is similar to how there are always bikini clad women at tech > conferences.

I think it is an excuse for the stereotypical sex-starved geeks to hire strippers without going to a strip club. I don't really get it.

(Someone used "booth babes" at their job booth at a Perl conference a few years ago. Classy. I _realllly_ want to work for you now...)

<comment><USER13> Current trends lead me to believe that seeing it in marketing handbooks isn't actually very far off. Albeit, they would have to do it subtly to avoid all kinds of "moralistic backlash."

The bikini-clad women may induce riskier, gambling behavior; essentially, they increase the likelihood that you part with your money. <http://www- psych.stanford.edu/~span/Publications/bk08nr.pdf> [1]

It's a tried and true strategy for tech shows. I don't know about Las Vegas (CES) and Berlin (IFA), but in Tokyo and Taipei, definitely so. E3... goes without saying.

[1] IIRC, this isn't _the_ paper that demonstrated this, but is the one I have handy in memory.

</comment></comment></comment><comment><USER14> It would be great if you can warn the users it is NSFW in the title itself, when you post such links.

</comment><comment><USER15> This is brilliant.

<comment><AUTHOR> this is just a weekend experiment. if people care about organizing around a certain subset of content (in this case sexy content), then doctors would love to have their own emergencymed.doctorblah.com, etc.</comment></comment>


City requires Facebook passwords from job applicants - <AUTHOR> http://bozemandailychronicle.com/articles/2009/06/19/news/10socialnetworking.txt

<comment><USER2> _It's like saying, 'Let me look through your e-mails,' Crichton said_

It is quite literally that, for people who use FB for messaging their friends.

But so long as the head of HR gives his or her login details to every applicant, I don't see the problem.

</comment><comment><USER3> I don't understand why people try to put everything on the one facebook page, anyway.</comment>


Why Uber Can Find You but 911 Can't - <AUTHOR> https://www.wsj.com/articles/why-uber-can-find-you-but-911-cant-1515326400 <comment><USER2> 911 dispatchers know much more about who (and from where is calling) they you would expect.

They know which cell tower received the call (that is why calling 911 in a city that isn't your own directs you to the 'local' police) and have access to related metadata.

Next, they have stored data about the number calling (e.g., this number called three times in the last month about someone blocking her driveway).

That they don't have access GPS or other functions on your device is a feature, not a bug.

</comment><comment><USER3> Non-paywall archive.is version:

[https://archive.is/l5uLn](https://archive.is/l5uLn)

</comment><comment><USER4> Damn paywalls!</comment>


Why CloudFlare can never satisfy Tor die-hards, and shouldn't try - <AUTHOR> http://www.zdnet.com/article/cloudflare-can-never-satisfy-tor-core-and-shouldnt-try/ <comment><AUTHOR> I posted this just so I could comment that the analysis there is wrong headed and I disagree with this article.

<comment><USER2> Can you elaborate your disagreement?

<comment><AUTHOR> The article implies that we should just not bother trying to handle traffic coming from Tor. I believe this is a mistake because we become stronger by dealing with difficult situations.

For example, we've build a tremendous chunk of technology for handling massive DDoS attacks because we invested in dealing with them.

Tor is difficult because the users want anonymity and are aggregated across a small number (~1,500) IP addresses. But CloudFlare will be much stronger if we are able to reliably detect malicious use of Tor and allow through normal use. It's worth solving these problems precisely because Tor is so challenging. We have a whole bunch of technology for detecting and blocking attacks, making them work really, really well for Tor is something I'm investing in.</comment></comment></comment>


Ask HN: Have you sent kids to (or attended) a coding camp? - <AUTHOR> Josh Fruhlinger (firstname.lastname@example.com) is collecting input for an article; but it also seems like a worthy topic to discuss here.
Josh is mainly interested in experiences from the past five years, with an eye towards giving practical advice to parents who are considering sending their kids to one of these.
Overall, what did the child get out of it? Were you happy? Was the kid? Was it a good value, in any way you would like to interpret that?
What did you look for when you went "shopping"? What would you have done differently, if you had it to do again?
Drop a note to Josh in email if you want to reply privately, but I dare say people here have experiences to share. <comment><USER2> Reminds me of this: [http://richardhartersworld.com/cri/2007/compcamp.html](http://richardhartersworld.com/cri/2007/compcamp.html)

</comment><comment><USER3> I attended a bootcamp and I was very successful along with many others In my cohort.

I noticed that many of those who struggler to find jobs were younger.

While there are many factors, I felt that 1 big factor was those who had paid the extremely high fees with their own money really gave it their all to make it work.

I got the impression many of the young students had been paid for by wealthy parents and we're not fully engaged.</comment>


Post-PC web-development: Try iOS 8 Git client - <AUTHOR> http://www.appliedphasor.com/working-copy/

<comment><AUTHOR> I have developed an application that allows accessing git repositories on iPhone or iPad.

On its own it can browse your files, make edits, commit these edits and push the commits back to your remote to take full part in a git work-flow.

But the interesting part is iOS 8 advancements such that other apps will be able to open and edit files from your repositories. I hope that git support combined with specialised editing apps (made by other people) will open up what kind of work can be accomplished on iOS.

Sign-up for the beta and you will get download instructions ASAP.</comment>