How our chatbot attracted 1M users without promotion - <AUTHOR> http://venturebeat.com/2016/11/07/how-our-dumb-bot-attracted-1-million-users-without-even-trying/ <comment><USER2> saved you a click: "We did nothing to promote the bot. No ads. No paid promotions. No splashy launch. We just put it in Kik's Bot Shop and waited. (Full disclaimer: We work for Kik, and Roll has been our side project.)"

<comment><USER3> That's a little misleading. What they did well was keep the bot simple.

<comment><USER4> "1M users without promotion" is also misleading without "By the way, we run the platform it operates on."</comment></comment></comment>


Amazon's warehouses are rapidly expanding across the country - <AUTHOR> https://www.cnbc.com/2020/01/19/map-of-amazon-warehouses.html <comment><USER2> Truck driver. Can confirm. And not just Amazon. New warehouses are going up everywhere, for lots of companies.

> The company has been ramping up efforts to launch its own delivery network, > via growing fleets of airplanes, delivery drones and vans.

Also their own 18-wheeler trailers (53 foot dry vans), and their own tractors (the truck part of a semi truck).</comment>


Ask HN: Source for important, brief, programming news? - <AUTHOR>

Is there a blog, rss feed, or twitter account out there that provides brief descriptions of only the most important news stories for programmers?
Something where the titles tell the important details, where the authors aren't trying to meet a quantity quota and are fine going a week w/o an article if there's been nothing significant, where the topics are fairly general (I'll keep a close eye on my personal stack on my own), something with a philosophy along the lines of "only the stuff that you absolutely must know as a developer" or "things that will still be important in a year."
When I look at the news sources I go to daily I can't help but think that 99% of what I read won't matter tomorrow, let alone in a year. I'd really like to just ditch it all (side question: anyone done this for an extended period of time? experience?), but I'm hoping there's a way to get just the 1% that's important.
I tried to think of some topics and stories from recent months that I'd want to know about if I canceled all other news sources, here are some:
- Google buys ITA, $700M - Eclipse Helios 3.6 released - Oracle buys Sun, $7.4B - Java Play 1.0 released, a popular Rails-like framework - iPhone 4 announced, renames iPhone OS iOS, anounced iAds, available June 27, new: very hi-res screen, video chat on wifi, multitasking
- Ubuntu 10.4 released, faster boot, dark (less orange) theme, social networking features integrated - New MacBook Pros - HP bought Palm, $1.2B, webOS on printers/tablets? - Amazon bought woot, plans to stop retailing and just produce monkey rap - Chrome 6 released, new: vp8, built-in pdf support - Flash 10.1 released - Scala 2.8 RC released, new: compiler plugins,... - Android 2.2 released - x,y,z will support Google's VP8 codec in HTML5 - RIP, I mean RIM, buys QNX - Android 2.2, faster with JIT - Rails 3 beta
So basically acquisitions, major releases of popular languages, frameworks, libraries, and hardware.
You get the idea. So yeah, know of anything like this?
Alternate questions: Thoughts on interesting-information (noise) overload? Ideas for creating the proposed news source? I haven't watched the points on HN stories much, but maybe the stories with the most points correspond well to this list? (I wouldn't be surprised though if they correspond more to entertainment than "what will matter in a year.") Maybe a group twitter account run by programmer editors? Other ideas? <comment><USER2> Here's the (small) universe of existing apps:

searchyc.com;

subreddits;

infoq.com; artima.com; theServerside.com and .net;

Lambda the Ultimate

Delicious and stackoverflow tags.</comment>


German authorities seize 'BlueLeaks' server that hosted data on US cops - <AUTHOR> https://www.zdnet.com/article/german-authorities-seize-blueleaks-server-that-hosted-data-on-us-cops/ <comment><USER2> Too late, the dataset is on bittorrent and probably replicated around the world thousands of times.

</comment><comment><USER3> Don't host that stuff in Germany. It is not a safe country to host such data. Few countries are, but German authorities will always cooperate with US ones.

<comment><USER4> Switzerland would've been better.

<comment><USER2> Doesn't the US have mutual assistance treaties with Switzerland? If anything you want to host it in a non-US aligned country like Russia or China.

<comment><USER4> My understanding is that you have to break Swiss law for them to hand over your gear (having colocated equipment there for a customer years ago who wanted to be beyond the reach of the US jurisdiction; this was legal advice provided by the customer's counsel, IANAL). Things could've changed in the last ~10 years.</comment></comment></comment></comment>


Finding meteorites with 10cm NEXRAD weather radar - <AUTHOR> https://orbitalindex.com/archive/2019-10-22-Issue-35/ <comment><USER2> As an aside, it makes me happy to see a website which has so thoroughly embraced the "hypertext" in HTML. I could easily spend an hour reading this article and diving into the links. I just subscribed!

<comment><USER3> [https://orbitalindex.com/feed.xml](https://orbitalindex.com/feed.xml)

There's even an hidden RSS feed.

</comment></comment><comment><USER4> This article, linked from within the NEXRAD article, is also super cool: [https://www.sciencefriday.com/articles/up-on-the-roof-a- hand...](https://www.sciencefriday.com/articles/up-on-the-roof-a-handful-of- urban-stardust/)

<comment><USER5> Definitely suggest anyone even remotely interested quickly click on this link and scan through the images. You'll slow down pretty quickly.

</comment></comment><comment><USER6> I'm familiar with radar showing swarms of insects or migratory birds, but meteor trails?! Very cool.

Sadly, the article mentions that the radar network seems to have been re-tuned since 2012 and now only rarely shows meteors.

There are other ways to do it, though— you can set up your own meteor- detecting camera and register it with the American Meteor Society if you want to contribute data:

[https://www.amsmeteors.org/cameras/](https://www.amsmeteors.org/cameras/)

</comment><comment><USER7> On a similar note, there was this video from the Verge on collecting roof-top micro-meteorites that was quite interesting to follow:

[https://www.theverge.com/2019/2/5/18211112/meteorites- space-...](https://www.theverge.com/2019/2/5/18211112/meteorites-space-dust- micrometeorites-metal-rock-tiny-how-to-find)

</comment><comment><USER8> I'm always amazed when people figure out how to find new and interesting data from existing systems. Whether it's something like this, or say sniffing keyboard strokes from audio, a lot of times the information you need is right there, you just need to think outside the box about how to see it.

</comment><comment><USER9> The sky camera network is something I had been thinking about for a long time. I'm glad to see it's real! Only a handful here in Canada... it would be fun to have one set up (send me one? :)</comment>


Composable Go Services Using Libchan - <AUTHOR> https://blog.codeship.com/composable-go-services-using-libchan/ <comment><AUTHOR> I'm the author of this article, happy to answer questions. I also wrote about Docker network plugins in the article a bit. Happy to chat about it.</comment>


I 'Finished' My First Personal Project That Is Useful Feels Good To - <AUTHOR> https://github.com/colelarsen/YugiohCSVScraper <comment><USER2> May I suggest adding a brief introduction to your README to explain what it's useful for? I never heard of the TTS-Deck Editor nor of Tabletop Simulator, so I have no idea if and how useful it could be for me (and usually no free time to do the research myself).

Also, people may tell you that your post title does not follow HN rules and should be renamed to eg. "Show HN: YugiohCSVScraper".

Anyway keep coding and sharing your creations, good luck!</comment>


Using the restroom is not a crime - <AUTHOR> https://www.allout.org/en/actions/arizona

<comment><USER2> "If the bill passes with his amendment, police could stop any woman trying to use a women's restroom. She'd have to show proof that she's a woman, and _if she doesn't have ID_ or the gender on her ID doesn't match her gender identity because she's trans"

Wouldn't this require people to carry around ID at all times?

<comment><USER3> You pretty much need to anyway. Ever been stopped by the police when you don't have ID on you? It can be an ordeal, especially if you aren't white.

<comment><AUTHOR> Arizona doesn't officially require you to carry an ID at all times, but they now have a de-facto law requiring ID to enter a public place.

</comment></comment></comment><comment><AUTHOR> Wait a second, I just read the text of the change: [http://www.azleg.gov/legtext/51leg/1r/proposed/h.1432-se- kav...](http://www.azleg.gov/legtext/51leg/1r/proposed/h.1432-se- kavanagh.doc.htm)

It says _and the person is not legally classified on the person's birth certificate as a member of that sex._ So you don't have to carry an ID on you, right? This petition might be bogus... On the other hand, it seems odd that you'd be stuck using the restroom according to the gender you were identified as at birth, instead of your current one.

Also, what would genderless people do?</comment>


Ask PG: Have there been any parent-child founding teams for YC? - <AUTHOR>

Just went to SUS YC and heard about brothers working together (Stripe) and plenty of founding teams where they are classmates. I'm just wondering if there are any parent-child teams since it tends to be common, for example the restaurant industry. <comment><USER2> No. A number founded by siblings though, and they do well.</comment>


Startup Lesson Learned: Technology Doesn't Matter - <AUTHOR> https://thomasbandt.com/startup-lesson-learned-technology-doesnt-matter <comment><USER3> As a developer turned sales and marketing person with a couple of products and a software company boy do I agree with this post.

I have a friend that built and sold an online accounting app for £XX millions (yep, that's two x's there) a year or so ago. He originally created the app using classic ASP, as that was all he knew at the time. After a few years of growth they started to build a .Net version of the app but it never saw the light of day. Guess why? Because they were too busy growing the company and ultimately selling it. And this is exactly the right approach. I'm pretty sure with hindsight he wouldn't have bothered with the .Net version of the app.

It's way too easy to get bogged down in using <latest trendy frameworks>, <trendiest latest NoSQL> or some other technical bullshit that doesn't actually add value for your customers. I know because I've done it and wasted far too many hours of precious development time.

So now whenever I'm reviewing the list of cards in Trello for the next sprint on our app [http://www.staffsquared.com](http://www.staffsquared.com) I ask myself two very simple questions:

\- Will this bug fix/change/new feature add new paying customers?

\- Will this bug fix/change/new feature reduce our customer attrition

If it doesn't tick one of those two boxes, it doesn't go in.

<comment><USER4> >\- Will this bug fix/change/new feature add new paying customers?

>\- Will this bug fix/change/new feature reduce our customer attrition

> If it doesn't tick one of those two boxes, it doesn't go in.

What about security fixes? Or secure coding practices? How do those fit in?

That aside, the attitude above seems like a good way to quickly get _deep_ into technical debt.

<comment><USER5> > What about security fixes? Or secure coding practices? How do those fit in?

I suspect that, sad as it is, a profit-making business probably shouldn't spend much effort on those - the financial cost/benefit is pretty poor. Customers are overwhelmingly indifferent to being hacked.

<comment><USER3> Well our customers might be but I'm definitely not. Even a sniff of a security issue would be enough for us to drop everything and work to get it investigated. A loss in customer faith for a brand or product is a tough thing to restore.

</comment></comment></comment></comment><comment><USER6> Well, that depends. I completely agree that needlessly messing around with the cool-database-of-the-week was inadvisable and a waste of time.

But sometimes it's necessary to learn something new. I'm a rails dev who's recently started what is basically a multiplayer game, and which will require many simultaneous connections. I don't know if you know Rails, but it is basically the worst possible technology to use for such a requirement.

It would be ridiculous for me to commence work on a project knowing I was using the wrong tool for the job and that I'd have to rewrite completely if we ever went above 10 or so users. So I'm learning and using something else, and I think that's the right decision.

The trick is in being able to tell when to go with the tried and tested, and when to jump into the new tech. That comes from experience, and you've just gained some :)

<comment><USER7> I definitely agree with this. I even wrote a blog post expanding around this idea! Thanks for the inspiration. [http://www.mystartup.fail/post/110331046850/how-to- choose-a-...](http://www.mystartup.fail/post/110331046850/how-to-choose-a- technology)

</comment></comment><comment><USER8> There are two basic types of companies: (1) technology companies and (2) companies that use technology. There is a gray area of course but you are likely either one or the other. Most companies fall into category (2) so in general your technology is entirely focused on serving the needs of the business. Pick the best technologies to serve the business now and in the future. The "cool new stuff" might be a good fit to serve the business but mostly it's not.

</comment><comment><USER5> You can't be innovative on the full stack. But you need to be innovative somewhere, otherwise your company will fail just like your predecessors (there are predecessors who failed in your space, right?)

Know what your USP is, and use technology to achieve that. Sometimes new technology lets you do things that simply wouldn't be possible otherwise (I spend a lot of my professional life cursing Spark, but the whole business is built on dealing with a volume of data that simply couldn't be processed without it). For other companies, the technology can _be_ your "edge"; if it's a mature market with established competitors, being more willing to push the technological envelope could be the thing that lets you offer lower prices and higher quality; a couple of my previous employers have succeeded by doing exactly that, in relatively "boring" industries.

But if you've got an innovative, experimental business model, you probably don't need innovative, experimental technology as well (and vice versa). Know which parts of your business are the innovation, and which parts are commodity.

</comment><comment><USER9> Technology does not really matter if you are not a technology company. Most so called tech startups are not really technology companies. A technology company is a company in which the most important added value is the solution to nontrivial technical problems. You are a technology company if you create video cards, VR headsets, rendering engines, game engines, machine translation or speech recognition engines, etc... (These are difficult markets, as the bar is usually very high.) You are not really a tech company if you create a web app that serves web pages from a database however important user need you serve or however successful you are. The problem comes when people want to be technically creative at solving problems which need other kind of creativity (usually business creativity).

</comment><comment><USER10> He used a database he didn't know how to use, switched to another one he didn't know how to use because someone said it was better, then switched back to the first one, and then switched to another database. There's a problem here, but it isn't using new technology.

<comment><USER11> To be fair, I think the OP realizes the mistake he made. His post is trying to warn others to not make the same mistake.

I think the thing you're rightfully reacting to is the clickbaity headline.

</comment></comment><comment><USER12> Reading this post, it seems like the technology did matter. Go with the mature option that is well know, rather than wasting time messing around with the latest hipster crap.

<comment><USER13> It doesn't matter nearly as much as having a finished (if technically non- optimal) product/service you can sell to customers.

The latest hipster crap is more likely to waste your time than something old and established, but even then, choice-of-stack matters much less than 'Can we finish this, and does anyone want to buy it if we do?'

The basic open source problem is that developing code for a 'Show HN' slot or improving imaginary GitHub karma is not the same as building a viable business idea around a web and/or mobile service.

There is no GitHub for business models. The ultimate karma comes from customers.

<comment><USER14> Except that the article cites tool selection as a major botleneck in "can we finish this":

"Instead of focussing on your user's needs and building a product that everybody wants, you're wasting your time and burn money by exploring and introducing new technologies."

</comment></comment></comment><comment><USER15> Sometimes that latest trendy framework actually is a much better approach. Wanna know how you can tell the difference? Experience.

I used React for the first time when I started building the first version of our MVP because I was familiar with and frustrated with every other front-end approach in Javascript. Angular and Ember were bulky and slow. jQuery and vanilla JS are god damned nightmares for complex interactive applications. Because I have been writing rich client applications in Javascript for the better part of a decade I could very easily assess the pros and cons of React and realize just how great of a tool it was. The same goes for why I use Browserify and why I still use Make (and not grunt or gulp, yuk) for my builds.

The database I went with? Postgres. Redis is the only NoSQL tool in my belt and I use it as basically a sophisticated caching layer, although now that Postgres has such great support for JSON documents I might be fine without it.

I know for sure that there will be new tools in the future. Most will be new versions of an old approach but implemented poorly. A few will be much better and will have a major increase in productivity.

</comment><comment><USER16> I agree with part of his argument - if you're figuring out the direction of your product, it's more efficient to use whatever technology you're most versed in - you don't have the time to spare on learning new things and making all the mistakes associated with that.

</comment><comment><USER17> We had a very similar experience with FeatureMap. Started off with RavenDB, got tired of all sorts of technical problems (migrations, map/reduce, transactions, deadlocks, ...), quickly rewrote the data layer to use good ol' Entity Framework + SQL Server, and voilà, all better now.

Looking back at this it seems clear now that the way we used RavenDB (it could have been any NoSQL database) was not optimal and that most of the problems we faced were a direct consequence of our naive/simplistic approach. From a personal/technical point of view I don't regret the experience and I now have plenty of ideas about how to better leverage NoSQL databases, but from the business/customer point of view it certainly costed us.

</comment><comment><USER18> Technology does matter. It matters if you need it to achieve a certain feature (recurrent neural nets demand a certain level of technology, for example). Competing technologies, matter less. But every decision is debt forming. So future-ready tech is better.

</comment><comment><USER19> Are you sure?

[http://www.paulgraham.com/avg.html](http://www.paulgraham.com/avg.html)

Technology always matters.

Luckily you have already picked one of the best available: .NET ecosystem.

Also:

 _" And if you're not building something completely new and patentable not a single of your (potential) investors will ever care about the latest fancy JavaScript framework, database, or programming language you're using."_

How about Unity3D? Not new, not patentable, but Mono and C# was an ideal choice. It mattered to them, it mattered to investors.

<comment><AUTHOR> You're right, my arguments don't apply to all kind of businesses. The same is correct for Xamarin for example. But if you take JetBrains – no one cares how WebStorm or ReSharper are built internally, as long as they do the job.

</comment></comment><comment><USER20> I would not discard choosing a "new" technology (term "new" gets a little ambiguous here), especially if it's been around for a few years and preliminary research into it shows promise in regards to my project. I've seen too many companies failing projects because of "When your only tool is a hammer, every problem looks like a nail" situation.

</comment><comment><USER21> Fully agree.

This is why on many projects I am responsible for, the team has to provide a business value for the customer for new technology.

What it means in terms of $$$ for the customer to have the project adopt technology X.

If it improves the revenue then sure, if it is only for playing with new tech, then do it at home.

</comment><comment><USER22> This is so true but isn't limited just to your technology stack. Marketing and sales are also prime candidates for chasing the latest shiny object...but the fundamentals are fundamental for a reason and what you know best should be your first avenue of attack.

</comment><comment><USER23> Um, the takeaway I get from the post is that Technology DOES matter, and you should make sure it fits your requirements.

If anything, do not go for the latest/shiniest thing on the market, if you are unsure it provides solid advantages on more mature, proven solutions.

</comment><comment><USER24> Try making your experiments smaller. Lower the cost of failure. Don't stop experimenting.

</comment><comment><USER25> I mean, If you ignore the advances in engineering and computer research of the last half century and just go with something new, different and unproven because a friend told you so, can you really blame technology?

<comment><AUTHOR> No. I don't blame technologoy, it's all about the decisions I have made.

</comment></comment><comment><USER26> Technology can matter, if you know how to use it. From your story it seems you guys went in blindfolded and just decided upon the technology on a hunch. That is your fault, not the technology.

</comment><comment><USER27> I disagree fully with his assertions. Technology stack will make or break a company.

You're going to have pick new technologies, changes are happening. Are you going to roll a one page app with just JQuery? Of course not. Are you going build a 100TB datawarehouse on top of mysql? Are you going to build your infrastructure off bare metal server? Even source control has changed. How many people still use SVN?

Most important takeway from the article is keep things simple. Picking a complex technology for a simple problem will cause you pain. Both in the development environment and also in production.

</comment><comment><USER28> While broadly the OP is fully correct, actually the statement

> Technology Doesn't Matter

is over stated.

First, to be more clear, we need to consider what we mean by _technology_ : In the OP, an example is some software _framework_ \-- for that, sure, especially in the context of the OP, likely such _technology_ "doesn't matter". Why? In terms from 100,000 feet up, we're still talking, say, _Turing machine equivalent_ so that we should still be able to get the software written without some particular framework. And, following the OP where it recommended staying with the _technology_ the team already knew, the new _technology_ likely will not be much or any more effective, efficient, etc., at least in the short term, for the project at hand.

But, I believe that the OP is missing an important point, one that, in my opinion (IMO), your mileage may vary (YMMV), is too often missed:

First, for context, assume that the project is to solve a problem where a good solution will be quite valuable but apparently also quite challenging technically. Or, the nature of the challenge is, say, "How the heck is it even possible to do that?".

Second, let's focus on just the technical part of the solution, that is, on the challenge:

For this focus, let's have an example where the _technology_ very much did matter.

Ike wanted some pictures. The U-2 reconnaissance airplane was too slow and too low, and, thus, too vulnerable to being shot down, and he needed a plane that would fly higher and faster, enough of both so that it would be much more difficult to shoot down.

So, flying at 80,000+ feet at Mach 3.0+ should suffice. And, by the way, need range 2000+ miles without refueling.

A challenge: Put two really large turbojet engines in an otherwise really small airplane and can get thrust enough for Mach 3.0+, but some aerodynamics says that at such speeds the air into the engine, as it slows down to subsonic speed as needed by the compressor stage, can get so hot it will cause major parts of the engine to overheat, i.e., burn out. There was at one time at least one MIG 25 pilot who could confirm this point.

Relevant technology:

(1) There was a unit of Pratt and Whitney in Florida that considered such jet engine problems and had a bright idea: At Mach 2.5+ or so, don't really need the turbojet compressor. Instead, treat the engine just as a ram jet. So, take the input air, let it bypass the usual compressor and turbine stages, let it enter at essentially the usual afterburner stage, add fuel, and go. Bright idea. And, yes, they made it work.

(2) At Mach 3.0+, even at 80,000 feet, the friction, etc., of the air gets the surface of the airplane hot. So, need, say, stainless steel or titanium. The MIG 25 used stainless steel.

Well, at Lockheed, Kelly Johnson considered the Pratt and Whitney engine and titanium and designed and built a few dozen of the the SR-71s; Ike got his pictures; and no SR-71 was lost to enemy action.

So, the engine and the titanium were _technology_ that very much did "matter".

And there are more examples from the past, and there may be more examples in the future, that is, where _technology_ very much does "matter".

Not all possibly relevant _technology_ , even for software projects, is just software frameworks, etc. as considered in the OP.

</comment><comment><USER29> I find this argument very uncompelling. This product sounds like it never exited mvp if sql server free was to be good enough. I'll agree that at small scale there are lots of potential technologies. But it also makes me wonder what was so challenging here that they felt they had to keep swapping around. I won't speculate here.

However I disagree with the premise. At scale this absolutely matters. Different databases have vastly different design goals or cap theorem attributes. You'd better pick the right on or it'll impact your customer xp.

<comment><USER30> > At scale this absolutely matters.

So worry about it when you get to scale, not before. Most products and startups never reach the scale at which such basic technology choices matter; their time is better spent growing the company (adding user features, attracting new users, etc) than fighting with technology.

MySQL was never designed to scale to the levels which Facebook and Google use them. And yet both companies are still using them today, even as the roles they use them in diminish as better technologies are brought to bear.

Technology shortcomings can be worked around, so long as you're still in business.

<comment><USER14> > So worry about it when you get to scale, not before.

You are advocating people to spend man years of work just as their company start to get sucessfull porting their codebase, instead of stopping a couple of minutes earlier on to correctly decide what tools they'll need.

<comment><USER30> > instead of stopping a couple of minutes earlier on to correctly decide what > tools they'll need.

Based on my previous experience, I'm advocating exactly that. The reasons are:

1) Bikeshedding - Everyone knows that N technology is better than M technology, even if nobody has real work experience with N

2) Starting with a new technology that people have only done side projects in costs significantly more time than just a few minutes.

2a) Nobody knows what those costs will be before hand

3) By the time you actually have to spend those "man years", committing resources those "man years" of effort won't negatively impact your ability to reach new customers.

3a) This work will not be required "just as their company start to get sucessfull", but at some point after that.

3b) You will most likely not have to do a full re-write all at once. Small refactorings of the actual pain points is how its typically done (there are plenty of examples of this in the marketplace today - Google, Facebook, Twitter)

4) Premature optimization, YAGNI, DRY, etc. all apply to your technology choice as much as they do your codebase.

<comment><USER31> For some values of startup, this all makes sense. If you're trying to solve a hard computing problem (not a social problem) then you have to write your own code. Turns out open source rarely gets around to hardening their code.

The you get to decide - jump aboard some community and try to help them get the code where you need it, or write your own. The community sounds nice, but the thrashing there can add more work than it's worth - <USER2> (incompatible) changes, arguing for your APIs and layering etc. Doubles the job at least.

Then you write your own. Again time wasted but not how you think. With examples of working code and/or a good idea what you need, you write it and it works. But you spend the rest of your life defending your decision. Every new hire naievely says "you could just have used node.js!" And you try to walk them down the design points but its almost hopeless.

I'm maybe a little depressed about this right now. My startup just got refinanced under the condition we use open source for everything, and write our app as a web app. Which of course is a pipe dream, since our app does hard things using carefully written low-level code, complex network strategies and heuristics hard-won from a thousand customer issues met and solved.

But no! Chrome can do all that, for free! So I'm asked to quit being a not- invented-here drudge and jump on board.

Anybody hiring?

<comment><USER30> Ugh. Good luck with that... Maybe you can pull a "Breach" and only use Chrome as your, well, Chrome.

[http://breach.cc/](http://breach.cc/)

</comment></comment></comment></comment></comment></comment><comment><USER32> People who've made bad technological choices and then claiming "technology doesn't matter" just because they fucked up are about as annoying as people who always want to use the latest new shiny toys.

You just made the wrong choices at the wrong time for the wrong reasons. Period.

That doesn't say fuck all about the next guy who may have perfectly good reasons to either choose the next new bleeding edge shiny or go with tried and proven old tech.

The final sentence is the worst advice possible. _Never, ever stop experimenting_. Just properly separate experimenting from building.

And please stop lecturing other people because you can't keep that shit apart.

<comment><USER12> BY your logic I should be experimenting wit a load of NoSQL databases. Except I can see that in my situation they give me precisely zero benefit over a Postgres (except for some buzzwords on my CV). I can see that many of the NoSQL key value stores are not much different from a Perl hash tied to Berkley DB - I tried that 6 or 7 years ago - it can useful but fairly limited.

<comment><USER33> No, that wasn't his logic. NoSQL data bases aren't the only tech that is worth experimenting with.</comment></comment></comment>


How Bad QA Killed 2.2M Imperials: A Death Star Post-Mortem - <AUTHOR> https://rainforestqa.com/blog/2018-06-19-bad-qa-killed-2-million-imperials-death-star-post-mortem/ <comment><USER2> I wrote this! Disagree? Come at me, my nerd brethren

<comment><USER3> Great article! Can you also do an analysis of the lack of security in that galaxy? Some examples that come to mind are accepting expired "passwords" for access to top secret installations and a seemingly COTS astromech droid (aka mechanic) being able to hack into supposedly secure military infrastructure at least twice.

</comment></comment><comment><USER4> This is too real.

      They didn't have an owner for quality;
      They weren't testing early and often;
      They were testing on production, a lot, and on a Friday too.

</comment><comment><AUTHOR> Jeff works at Rainforest QA (we're YCS12) doing QA stuff for our customers. He's happy to answer any beef you have with his hot takes right here :)</comment>


OT: does anybody have a positive experience with slicehost's 256 slice? - <AUTHOR>

If yes, how many pageviews or visits daily you have? <comment><USER2> We have been using Slicehost's 256MB slice for a little over two months now for a PHP site and haven't had any issues; uptime has been excellent and support is great. The fact that they are one of the few providers to offer Arch Linux is another plus, too.

Another place I personally purchased a VPS from to test out is Linode (<http://linode.com>). I've only had it for a week so far, but so far no problems. If you're going to run a Rails app, you might want to look at them as for $20 they provide 360MB of RAM instead of 256 :) Their community seems on par with Slicehost. Their Xen is in beta testing, though, so for now their VPS' run UML.

<comment><USER3> I tried both linode and slicehost, and I far prefer slicehost. Their service is absolutely amazing, but more importantly they have hardware virtualization, instead of linode which only offers UML

<comment><USER4> I was considering between linode and slicehost. Linode signup process was a big hassle compared to slicehost so I picked slicehost. I've been very satisfied to date (2x 256 and 1x 512 slice)

<comment><USER4> Here is a post I wrote a while ago about the reasons why I picked Slicehost over Linode <http://blog.offbytwo.com/2008/01/05/moving-to-slicehost/>

</comment></comment></comment></comment><comment><USER5> I have nothing but good things to say about Slicehost. That said, 256 is a very small sandbox and Apache doesn't play nicely in small sandboxes without tweaking. Our site runs several PHP apps.

We hit the wall one day with a number of apache2 processes hitting the 60-80MB range. I could barely SSH in to fix things.

We ended up arriving empirically at the following (taken from /etc/apache2/apache2.conf), without stress testing, but watching patterns over several weeks.

      <IfModule mpm_prefork_module>
          StartServers          2
          MinSpareServers       3
          MaxSpareServers       6
      #    MaxClients            150
          MaxClients            10
      #    MaxRequestsPerChild   0
          MaxRequestsPerChild   200
      </IfModule>

The key is to take MaxClients down to a small number, like 8-10, as each of these normally takes anywhere from 2-40MB. To make this work, you'll need to have the request count set reasonably small. We set ours to 200, so RAM consumption doesn't get too large before the process is cycled. People often suggest 4000 or some such number but the process just grew too large with that setting. You'll also note that we have tuned the startup and idle parameters to be very conservative.

This is probably a laughable configuration for many sites, but it works well for a light site like ours running a few PHP apps. I should note that we're also running MySQL and PostgreSQL. They don't have a big impact on RAM under light load.

</comment><comment><USER6> I did pretty well on a 256 meg slice. I outgrew it after awhile, and I'm currently running 8 mongrels on a 512 slice, and I'm pretty much hitting the top.

RAM is by far the biggest bottleneck for me.

Overall, Slicehost is great. I just wish they'd include more RAM in their plans.

<comment><USER7> I have several slices.. putting nginx in front of apache and lowering down apache's processes has really helped me tighten up my memory needs (I use django).

</comment></comment><comment><USER8> I have a 256 meg slice which has been rock solid and with no issues. I use Litespeed (<http://www.litespeedtech.com/>) for the web server. It is excellent for Ruby on Rails hosting. It dynamically manages Ruby processes - if there is no traffic it shuts down the processes, if there is traffic it ramps up the number as necessary up to the max that you specify.

On my slice I have a few PHP sites, a few static sites and 4 RoR sites (most of which get very little traffic.) Overall about 30k page views a day.

Litespeed isn't open source, but it is free and it works great for my hosting.

<comment><USER9> What control panel are you using with it? I would switch to Litespeed if i could keep using Virtualmin...

<comment><USER10> When you get to a stage of using a VPS or your own dedicated machine it's highly recommended that you begin to learn how to use your server without a control panel. You'll be glad you did.

</comment></comment></comment><comment><USER11> Slicehost is amazing. I'm currently running 3 Wordpress blogs off of a 256MB slice. I would highly recommend either ditching Apache or going with a larger slice though. I did experience some memory issues when using Apache (although this could be cleared up with a bit more configuration on my end).

Regardless, I'm running Lighttpd (10 work handlers using the same amount of RAM as 1 Apache handler), proftpd, MySQL 5, PHP5 via FastCGI, and sendmail. I've never dipped below 80MB RAM left and load times are extremely quick.

I've offloaded my email services to Google Apps, which has it's advantageous and disadvantageous.

<comment><USER12> Is sendmail setup to route mail through Google then? I've been trying to figure out the best way to approach email. Right now, I'm using google apps and a Django patch for TLS support. It's not ideal and I'd like to change the setup.

<comment><USER13> You can have Google Apps and Postfix installed on your slice. Articles.slicehost.com Guide 1 and 2 walk you through setting those things up. Its trivial and powerful.

</comment></comment></comment><comment><USER14> I've had both Slicehost and Linode, and Slicehost is much faster by far (Xen). I used the 256 slice to power a few of my Rails applications, but I upgraded to the 512 so I can add more.

The best experience I had with Slicehost was the upgrade from 256 to 512. It was a couple clicks on their admin panel, 30 minutes of downtime, and then a quick SSH to verify everything was good.

</comment><comment><USER15> This question pops up a lot on Slicehost's Forum. Search for "views 256" @ <http://forum.slicehost.com/search.php>. You will see all the many people running from blogs to rails on 256mb without a problem.

</comment><comment><USER16> I just posted about doing some basic load testing on my 256 slice here:

[http://blog.notedpath.com/2008/02/10/using-jmeter-for- load-t...](http://blog.notedpath.com/2008/02/10/using-jmeter-for-load- testing/)

</comment><comment><USER17> Actually, we've been having some issues with our 256 slice. We're running our svn and trac off it, and trac runs incredibly slow. Our app has poor data transfer rates when we send anything of a significant size over the wire.

</comment><comment><USER18> on slicehost 256mb ram, running erlang + yaws . nice documentation, setup. but off late have have to do couple of server restarts , coz of what seems like to be unscheduled reboots . need to investigate. so helps a lot to have a service like monitorus etc that pings u via mail when the server down,etc.

</comment><comment><USER19> Yes, my experience so far has been positive. I got Ruby on Rails up and running fairly easily; it's documented here:

[http://www.perplexedlabs.com/2008/02/04/building-a-rails- cap...](http://www.perplexedlabs.com/2008/02/04/building-a-rails-capable- slice-from-scratch/)

<comment><USER20> Deprec also works nicely for the initial setup

</comment></comment><comment><USER21> I host my blog and personal site on it. I haven't had a single issue.

</comment><comment><USER22> I've been using SliceHost for almost a year now and I'm very happy with their service.

</comment><comment><USER23> <http://searchyc.com> is hosted on linode for a couple of months now and it's been great. we initially wanted to go with slicehost but last year their wait list was so atrociously long that we gave up on ever seeing their invite.

for the same $19.99 linode has more bandwidth and memory and xen support. really, what we've realized is actually most expensive is the cpu cycles since our app would crash consistently because the shared resources peaked when we started stress testing. since then with better resource management, better apache fiddling, and a couple rewrites we're handling a peak loads of more than 2000 people and an average load of 500 people.

linode's documentation is somewhat lacking, i much prefer slicehost's wiki and forum for support but other than that we have a cluster of 4 or 5 linodes running and it's been great.</comment>


European air tracker adds volcano ashes layer - <AUTHOR> http://www.radarvirtuel.com/

<comment><USER2> This would be a cool iPad app.

</comment><comment><USER3> Nothing flying North or East of Austria ... (well, the East part may be because it's nearly 1 a.m. there)

<comment><USER4> Most parts of the northern European airspace was closed 1-2 days ago.

[http://en.wikipedia.org/wiki/Air_travel_disruption_after_the...](http://en.wikipedia.org/wiki/Air_travel_disruption_after_the_2010_Eyjafjallaj%C3%B6kull_eruption)

<comment><USER3> Yes, I knew that - but this shows it really well.

12+ hours later, moved south and east - nearly all of France, half of Italy, Romania, etc. blanketed ...

P.S. site may be having problems ... I got a look a few minutes ago, but now just get a blank page.

<comment><USER3> Another 3+ hours (Apr 17 16:04:11 WEST) - the layer seems to have moved a bit back north (and further east?).

There's an Air Berlin A330 flying at 12,000 ft over Germany ...

<comment><USER3> Another day (Apr 18 11:54:41 WEST 2010), layers about steady.

A couple of KLM 737s over the Netherlands, a Piper over Germany, an A320 at 29,000 ft over eastern Austria ...</comment></comment></comment></comment></comment>


Ghost: the 30 minute change that added $60k in annual revenue - <AUTHOR> http://blog.ghost.org/welcome-message-onboarding/

<comment><AUTHOR> The only thing that upsets me about this article is the part where he cites an article saying that most people don't understand statistical significance in A/B testing as a justification for not using it when in actual fact he has the exact same statistical issues by not using it and suddenly loses a bunch of control variables.</comment>


Review our startup (sirql.dwavesys.com) - <AUTHOR>

SirQL is a conservative extension to SQL that directly integrates state-of-the-art optimization and search directly into existing databases. SirQL wraps SQL interfaces to all common databases so that SQL developers can rapidly become productive with minimal training.
A user specifies the ideal they are looking for, and SirQL will automatically return a ranked list of objects in your database that are as similar as possible to your ideal. Hard and soft constraints, preferences and optimization are all available and easy to use. This site will help you learn, share and contribute ideas about SirQL.
http://sirql.dwavesys.com <comment><AUTHOR> I forgot to attach the URL: <http://sirql.dwavesys.com/console/>

You have to register to be able to manage your custom database.

</comment><comment><USER2> Is there an implementation people can use? What about a formal spec of the SQL extensions you are introducing? What's the licensing like?

<comment><AUTHOR> We are in the process of making all documentation available online. One step at a time.

There are two possible deployments

1) Use SirQL as JDBC driver

2) Install and set up SirQL Server

Sirql Server is standalone server, analogous to database server. It handles database connectivity, connection etc. Also when you use SirQL server all computation is done on the server. We are going to publish architectural and deployment diagrams soon.

We don't have distribution that you would download and use at the moment. That's another item we are currently working on.

Have a look at demos at <http://sirql.dwavesys.com/apps/> . Each demo comes with SQL that is used.

We are also working on SirQL console, where you will be able to edit and run SQL.

</comment></comment><comment><AUTHOR> We just added SQL console (under Try it now!). You can manage your own database (using phpMyAdmin) and run SQL against it.

</comment><comment><AUTHOR> Clickable url - <http://sirql.dwavesys.com>

Tomas</comment>


Cache Modeling and Optimization Using Miniature Simulations [pdf] - <AUTHOR> https://www.usenix.org/system/files/conference/atc17/atc17-waldspurger.pdf <comment><AUTHOR> Sharing this paper because effective workload simulation is a necessary step toward the Holy Grail: workload aware and self-tuning caches. In plain english, that means a cache that can adjust its parameters so that it is most effective for a given workload. Ideally, you want all of that without human supervision or pre-trained models, and in its fully accomplished form the cache can provision resources if it is worth it. Note that effectiveness here is traditionally measured in terms of hit:miss ration but other metrics exist too.

That's part of the broader idea of "intelligent systems" pro-actively adjusting themselves (resources, internal structure, overall policies) to the workload they are fed in order to optimize performance or cost-effectiveness.

The most basic caches have static eviction policies (e.g LRU/LFU), there has been some work on adaptive eviction policies (e.g ARC), and more recently on a clever combination of adjusting eviction policies and _admission policies_ (e.g TinyLFU). The overarching goal of this line of research is to figure out a "silver bullet" cache which perform optimally (or close-to) regardless of R/W distributions by scrambling between different policies wrt. admission and eviction.

<comment><USER2> Are there not significant diminishing returns to such techniques? More sophisticated eviction strategies need to be proporially more effective to compensate for the increased overhead. Or do you see the simulations only as an offline tool for better researching caching strategies.

<comment> d-- It turns out that most caching algorithms we use in practice (CDNs, memcached, storage, etc.) are still pretty far from the optimal hit ratio/ miss ratio.

See, e.g., recent work that exposes that gap (I'm an author)

[https://www.cs.cmu.edu/~dberger1/pdf/2018PracticalBound_SIGM...](https://www.cs.cmu.edu/~dberger1/pdf/2018PracticalBound_SIGMETRICS.pdf)

[https://github.com/dasebe/optimalwebcaching](https://github.com/dasebe/optimalwebcaching)</comment></comment></comment>


Face It, Your Brain Is a Computer - <AUTHOR> http://www.nytimes.com/2015/06/28/opinion/sunday/face-it-your-brain-is-a-computer.html?action=click&pgtype=Homepage&module=opinion-c-col-right-region&region=opinion-c-col-right-region&WT.nav=opinion-c-col-right-region&_r=0 <comment><USER2> I find the metaphor bad.

My brain might work like a computer (computation et al), but the word computer evokes actual existing computers to a layman -- and my brain doesn't have a von neumann architecture, nor does it run something similar to our software.

A neural network does computation of course, but we wouldn't call it a "computer" in the sense we use the word when dealing with, well, computers.

<comment><USER3> > and my brain doesn't have a von neumann architecture

"Computer" doesn't automatically equal "von neuman architecture".

> nor does it run something similar to our software

A lack of software-equivalent is a pretty good criticism, though.

<comment><USER2> > _" Computer" doesn't automatically equal "von neuman architecture"._

No, but that's what most people are familiar with (if they are familiar with computer architectures in the first place), so it pretty much equals that for them.

<comment><USER3> > that's what most people are familiar with (if they are familiar with > computer architectures in the first place)

They're not. There's really only two kinds of people here—those who are unfamiliar with computer architecture (99% of the population), and those who are familiar with Von Neumann architecture, and know that it's not the only game in town.

</comment></comment></comment></comment><comment><USER4> I think the key fail is hidden beneath this statement, 'many "digital" computer switches are built out of analog components and processes'. In fact obviously, all computers are built out of analog components, in the sense that the entire universe is analog.

However, this is the problem. Computers are designed to interpret or translate the messy analog world where nothing is exactly 1 or 0, into a precise, deterministic digital world where everything is either 1 or 0. And I think it's highly likely that the brain does not work in this manner whatsoever, and that in fact, in the translation of reality into 1s and 0s, you've lost far too much to properly "compute consciousness"

Would it be possible to build a synthetic brain out of some form of "analog computer", capable of consciousness? Almost certainly. But since we have no idea what sort of architecture or paradigm that would use, or how we would program it or whether it would even "execute instructions" in a way remotely similar to digital computer software, such a declaration becomes meaningless.

<comment><USER5> > Computers are designed to interpret or translate the messy analog world > where nothing is exactly 1 or 0, into a precise, deterministic digital world > where everything is either 1 or 0. And I think it's highly likely that the > brain does not work in this manner whatsoever

But neurons totally do work by encoding information with discrete signals.

[https://en.wikipedia.org/wiki/Action_potential#Process_in_a_...](https://en.wikipedia.org/wiki/Action_potential#Process_in_a_typical_neuron)

Action potentials are discrete events, and just like hi or lo in a silicon computer actually correspond to a range of voltages, the exact voltage-vs-time curve of an action potential likely has considerable flexibility.

<comment><USER6> Though, not all neuroscientists are on the same page nor agree with the claims some people want to make…

"The frequency of action potentials (APs) generated by neurons is correlated with different events; however, it does not mean that such events are 'encoded' in the brain using the firing rate or any other 'temporal code ' (e.g. interspike interval)…

…Simultaneous firing of action potentials (synchrony) in a neuronal ensemble increases the interaction of many- body systems and implicitly boosts the computational power [7]. The well accepted model of 'activation function' that describes artificial neurons simulated on Turing Machines does not approximate the process of 'solving equations'. Therefore, the popular claim that current artificial neurons and neural networks are 'realistic' models of their biological counterparts is misconstrued and untrue."[0]

[0] [http://arxiv.org/ftp/arxiv/papers/1210/1210.1983.pdf](http://arxiv.org/ftp/arxiv/papers/1210/1210.1983.pdf)

<comment><USER4> Wow, fantastic paper:

 _However, the relevance of Turing model is questioned even in case of present-day computing [33] [34]. Indeed, any computing machine that follows a Turing model would be highly inefficient to simulate the activity of biological neurons and experience an increased slowdown. Since the super- Turing computing power of the brain has its origins in these 'strong' interactions that occur inside neurons, current models have missed the most important part. Simply, Nature doesn't care if the N-body problem has analytical solutions [36] or can be simulated in real time on a Turing machine [37].

...

While previous models have attempted to represent Hamiltonians using Turing machines [35] the paper [1] shows that the Hamiltonian model of interaction can represent itself a far more powerful model of computation. Turing made an important step forward; however, there is no need to limit natural models of computation to Turing models. In this sense, the new framework of computation using interaction is universal in nature and provides a more general description of computation than the formal Turing model. In other words God was unaware of Turing's work and has put forward a better model for physical computation in the brain._

<comment><USER6> I thought it was fantastic as well (because you know a theory that tries to incorporate our understanding of matter and energy [which the brain is a subset of] in a field with a lot of hand-waving going on, shouldn't be that radical…), though for most neuroscientists it is out of reach because for the most part, have little to no understanding of electromagnetism (let's set aside the QED versions of Maxwell's equations) from my experience, which is quite ironic considering the tools that are in heavy use…

The amount of money being wasted trying to make special FMRI's and custom EEG caps is lost on me when attempting to solve equations along variable boundary conditions seems like it should come first…

Here's the paper the author wrote which that paper is branched from: [http://www.researchgate.net/profile/Dorian_Aur/publication/2...](http://www.researchgate.net/profile/Dorian_Aur/publication/202222729_Dr/links/0d1c84f6f4b8a37018000000.pdf)

<comment><USER4> Thanks! That paper/book is going on the reading list. I need to bring this up with some neuroscience friends.

</comment></comment></comment></comment></comment></comment><comment><USER7> The only serious counter-argument I've heard against the hypothesis that the brain goes further than a Turing machine is that the brain does not implement an algorithm, with one input, some processing steps, and one output.

Instead, it processes information as it comes, this information comes during the processing of previous information and the output partly loops back to the input. Short-circuits everywhere, no clock, etc. I'm unconvinced but I could not refute the argument formally.

Note that this does not contradict the Church-Turing Hypothesis : if you restrict the brain to one input, some processing steps with a pen and paper without arrival of new information, and an output, then it is very possible that the brain can only work out Turing-computable problems.

<comment> guard-of-terra 'information comes during the processing of previous information and the output partly loops back to the input"

Computers do this all the time. Simplest example is "cancel" button everywhere.

<comment><USER7> The point is that out definition of the computability of a function is too narrow, and does not take into account the real-time all connected nature of the computation the brain does.

Therefore, we lack formal way of satisfactorily compare the brain to a Turing Machine.

<comment> guard-of-terra I don't see why. Your computer reacts to keyboard and mouse in the real time, also for network packets going in and out. And it's plain turing machine. It does so by regarding every input as they become available, one by one.

Information comes to brain via neurons, and those have finite speed, it's not as they had quantum-like properties. Signal in; signal out, with delay and altered magnitude.

<comment><USER7> The important word is : formal.

I, too, think that the brain is 'a computer'. But the formal definitions of computation we have today require the computer to be left alone for some time between the moment the input is given and the moment the output is due. The brain does not work like that, ergo we lack a formal model of how the brain operates, and thus the definition of 'computable function' -which is based on our model of computation- is less general than what the brain can do.

e.g. We have no proof that the only way neurons communicate with one another is via the synapses.

<comment> guard-of-terra Brain, too, needs some time to react to any incoming event.

I fail to capture the difference.

</comment></comment></comment></comment></comment></comment><comment><USER8> I'll never forget hearing Jerry Lettvin [0] pronounce, in his slow, measured, way: "The brain is not a computer. The brain _is a gland_."

I think he said it partly to tweak his MIT AI Lab audience (this must have been about 1982). But he had a point: a lot goes on in the brain that is not digital.

[0] [https://en.wikipedia.org/wiki/Jerome_Lettvin](https://en.wikipedia.org/wiki/Jerome_Lettvin)

<comment> guard-of-terra My computer also doubles as fan and vacuum cleaner.

</comment></comment><comment><USER9> This is entirely backwards.

Computers are designed to emulate brains. More specifically, to perform a certain category of brain activity (calculation).

To date, a brain is still needed to make a computer do anything. No brain, no software; no software, all we have is an inert lump of metals and plastics.

We should be quite wary of reversing metaphors in this fashion. 19th century psychology contained a number of metaphors derived ultimately from the steam engine, for human consciousness, and for reality. All we've done is update the machine; the comparison is still backwards.

</comment><comment><USER10> Any reasonable definition of computer includes things that can do arithmetic, and since brains can do that, brains are computers.

The distinction between analog and digital computers doesn't seem to be so important to me. Any computation that an analog computer can do, can also be done with digital computers and vice versa. Digital computers can process continuous-time signals as precise as analog computers, and analog computers can do logic. Which kind of computer you use depends on convenience with respect to the resources and computational problem in hand.

The "brains don't download software" part also isn't convincing. Brains are capable of manipulating symbols, but the rule set needs to be learned in the case of arithmetic, or selected, in the case of natural language according to inputs. Also, software doesn't have to be like "1. Do this, 2. Do that, 3. End", like the article implies. The brain can be running on a game loop, planning future actions according to some stochastic utility function.

Also, I find it useful when thinking about brains to separate the functions that are done unconsciously from those that are not. To me, unconscious functions of the brain seem more like using specialised hardware. Of course, those parts are almost certainly doing computation to full their functions, but it is "not abstract symbol manipulation according to some learnable rules" that people associate with consciousness.

</comment><comment><USER11> As long as science keeps thinking this, we won't have to worry about the singularity any time soon.

<comment><USER12> The problem here is that the so called singularity does not necessarily depend on machines having the so called qualia.

</comment></comment><comment><USER13> My closest belief is near similar as mentioned in article, that brain, at some level has some "computational primitive", which resembles transistor functionality.

But that is only one level. There can be additional layers of function, which can be influenced by sub-atomic entities, like elementary particles. We still don't know how deep this goes. This is, what most likely, provides depth of our consciousness.

Our biological hardware is built out of finite atoms. Consciousness unfolds out of "electrochemical circuits". Electricity == consciousness.

We have what is called "human energy" \- emotions are one example of expressions out of it.

For AI, to be human like, it has to simulate physical behaviour of human energy.

I see, that out of this energy behaviour simulations can emerge what I call "computational psychology". That is, computer could analyze and decode human behaviour and "understand" like psychologist does this.

Thing is, that many people don't see these subtle patterns - they are learned over lifetime with different success rates. Once they are aware of these patterns, they can function more efficiently as a human. Such "psychologist as app in your pocket" potentially can raise overall quality of society.

<comment><USER14> You should read the book On Intelligence by Jeff Hawkins. Pay attention to Chapter 6, "How the cortex works". Our "consciousness" is derived of the same stuff in all animals, we just have more cortical layers. We also have fuzzy algorithms which allow the brain to recognize patterns, and associate x with y.

[http://www.amazon.com/On-Intelligence-Jeff- Hawkins/dp/080507...](http://www.amazon.com/On-Intelligence-Jeff- Hawkins/dp/0805078533)

I think to postulate that there's a yet undiscovered subatomic elementary particle that gives rise to consciousness is hogwash. "Consciousness" or awareness of self has been shown in other animals. Humans are distinct in their ability to couple self-awareness and toolmaking.

There is no "human energy" it's the same material as in all other animals, we just have more of it. The "human energy" could be classified as distinct fuzzy algorithms found in humans which aid pattern recognition.

<comment><USER13> Not one elementary particle, but whole interaction of many of them.

Yes, animals have that same substance, but at lesser scale.

I make distinction between pure intellect, which computer can do fine, and other component, which I doubt that it can be accessed by computer without connecting silicon with biological material.

</comment></comment></comment><comment><USER15> (1) A computer is anything that does computations, and a computation is just a set of states that are partially ordered with respect to a "next" state relation.

(2) A _universal computer_ is a computer that can simulate any other computer with some bounded slowdown in performance (the actual important thing about such computers is that they can simulate _better_ computers).

So, while the brain seems to _have_ a universal computer (since it can design and run universal computers), it's not obvious that a universal computer can simulate a brain without infinite slowdown. Some evidence against brains being equivalent to Universal Turing Machines is that some brains can perceive real numbers. Thus, it's conceivable that even if the mind (the thing that is realized by a brain) is a partially ordered set of states, it's possible that the states themselves are not computable.

Now, I am not claiming that we cannot eventually build a brain, just suggesting that maybe the only thing that can simulate a brain is another brain.

</comment><comment><USER16> It's totally a computer! Not like how 99% of the world uses the word "computer" but it computes things and is vaguely like a FPGA so it's a computer! Not serial but parallel! Like computers!@ But not parallel like the computer you have. Like a computer that doesn't actually exist. But it's a computer!

</comment><comment><USER17> An interesting opposing view [http://www.technologyreview.com/view/511421/the- brain-is-not...](http://www.technologyreview.com/view/511421/the-brain-is-not- computable/)

</comment><comment><USER18> The only way I can explain the (almost entirely american) backlash at the idea of the human brain being a computer that we can emulate is that a lot of them are religious. That is sad.

<comment><USER19> In academic circles most of it comes from philosophers of mind, e.g. [https://en.wikipedia.org/wiki/Hard_problem_of_consciousness](https://en.wikipedia.org/wiki/Hard_problem_of_consciousness)

<comment><USER18> Who in their right mind would go to philosophers to get an understanding on how the human brain works at a physical level? Why not go to your priest instead? Same level of understanding.

<comment><USER20> I think that's somewhat unfair to philosophers. Besides the fact that science grew out of philosophy, even today philosophers are very good at _defining problems_ and finding logical inconsistencies. As a scientist, that seems very useful indeed. To understand the brain on a "physical level", we have to know what questions we're asking first.

<comment><USER19> My experience is that philosophy of mind has almost nothing to offer to modern neuroscience. The questions being asked are the unhelpful ones and signify a general obsession with semantics, subjectivity and language tricks.

</comment></comment></comment></comment></comment><comment><USER21> Hmmm, They don't cover an important fact: Our intestinal microbiome of bugs that live inside our stomach, affecting our moods and behaviour [1].

[1] [http://news.nationalgeographic.com/news/2014/11/141114-autis...](http://news.nationalgeographic.com/news/2014/11/141114-autism- gut-brain-probiotic-research-biology-medicine-bacteria/)

<comment><USER18> I could think of another 10 things that affect humans moods and behavior that is not mentioned in this article. Your point being?

<comment><USER21> That its an important part of how our brain is influenced in working, and might have been mentioned in the article to give the reader a better understanding of underlying mechanisms.</comment></comment></comment>


Monitoring Microservices with Synthetic Transactions in Go - <AUTHOR> http://labs.unacast.com/2016/03/10/monitoring-microservices-synthetic-transactions-in-go/ <comment><USER2> And what watches the watchmen?

The microservices trend is great but this sort of monitoring starts to fall apart when you horizontally scale for HA. In this case we separate out our monitoring by doing synthetic requests at the service level, and then very specific health checking at the "instance" level (really containers now). Instance level health checks will ensure connectivity to outside dependencies, databases, filesystems etc. The trick is to know when a failure is a localized failure or a widespread failure. No sense in taking out all of the instances if they all can't talk to the DB.

Also, I'm not a Go developer but is this idiomatic?

<comment><USER3> > Also, I'm not a Go developer but is this idiomatic?

The error handling is kinda strange.

I would do some like this:

        var ErrUnexpectedResponse = errors.New("unexpected response")
        ....
        func syntheticHttpRequest(url string, apiToken string) error {
            ...
            } else if resp.StatusCode != 202 {
                return ErrUnexpectedResponse
            }
            return nil
        }

(a bunch of other stuff was mentioned in the comments)

<comment><USER4> What's strange about this?

</comment></comment></comment><comment><USER5> We're doing something similar but for our whole stack.

We have a large, complex pipeline for processing incoming data. Historically it has been very opaque which made debugging data errors hard.

We added event logging throughout the pipeline. We are building a tool that feeds known data in one end and checks the final output. We can then use the event logging in between to monitor state throughout for errors. It also allows us to see how long it takes to transition between events.

Ideally the tool will check every event for deviations from the expected output and alert us if any events fail. It will also alert us if the time between events rises above the average by a predefined threshold.

I'd love to hear about any open source tools designed to do something like this.

</comment><comment><USER6> Well, of course. There are other things you need if you do this. Large systems need some way to direct internal transactions to specific servers. In systems with load balancing, one server may be in trouble, but the others are carrying the load and the overall system seems to be OK.

To monitor this, you need some kind of dashboard which displays the state of all your servers, and shows the dependency relationships. If A calls B and B calls C, and B fails, you'll see A and B as down. You need to be able to establish that B is the problem. (Microservice architectures which are not DAGs, i.e., they have loops, are a huge pain in this sense.)

</comment><comment><USER7> Note that this approach isn't just useful for microservices - it's a great way to monitor any complex system, even if it's a monolith.

</comment><comment><USER8> I wasn't familiar with "synthetic transactions" until I read this post--great write up! Synthetic transactions are kind of like TDD on a live system (really loose analogy). It's a cool concept for keeping microservices consistent and bug-free by verifying responses return data that are expected.

</comment><comment><USER9> Why does the author use double ticks? As far as I know you use only one.

      ID string ``json:"id"``

<comment><USER10> Well, that is a typo. I'll fix it =) Thank you!

<comment><USER11> You should definitely run go fmt, at the moment it's rather difficult to read the examples.

<comment><USER10> I had to anonymize the code a bit and it seems like I messed up doing so in the gist. I am sorry! I will unsure to run it through gofmt the next time. Thank you for the feedback!

</comment></comment></comment></comment><comment><USER12> I'm going to risk a plug since our service is highly relevant. If you're using AWS, Opsee will let you define service-level health checks and automatically detect instance membership. You can set detailed assertions on response bodies, including JSON keys, to verify that your services are responding as expected. This all works inside your environment, running checks from an instance we spin up. More info at opsee.com</comment>


Microsoft Build 2016: What to expect - <AUTHOR> http://www.zdnet.com/article/microsoft-build-2016-what-to-expect/ <comment><USER2> Would love to hear that Xamarin will be free and will be part of Visual Studio :)</comment>


Ever wondered how device drivers are reverse engineered? - <AUTHOR> http://www.linuxvoice.com/drive-it-yourself-usb-car-6 <comment><USER2> Wow, I really wish I had read something like this when I attempted to write a program to use USB weighing scales in Linux.[0]

I learned things like needing to detach the kernel driver the hard way. And because I didn't know anything about USB (and still don't), I was stumbling my way through libusb. There I still missing features that I need to revisit once I learn how to use USB properly.

[0] [https://github.com/erjiang/usbscale](https://github.com/erjiang/usbscale)

<comment><USER3> Beautiful, well documented code. Thanks for sharing.

</comment></comment><comment><USER4> As someone who has never needed to write device drivers, this is pretty interesting toy example.

I was a bit confused when it got to the part about > detach (unbind) the kernel driver Does this mean there is a default kernel driver on the interface and we must detach it first to make it available?

<comment><USER5> Correct, in this case it's the most common type of USB device/driver, the HID driver. Many devices will present themselves as HID Devices initially and even communicate over the HID protocol since it is one of the few USB classes that doesn't require a special driver to be written for windows to recognize it (other classes such as a serial device require at least an INF to be installed in order for windows to load the correct driver).

<comment><USER6> Furthermore, I think, HID is the only standard device class that can work on Low-Speed USB (1.5 Mbit/s) which allows only a control and an interrupt endpoint.

Every other class (including serial ports) will need at least Full-Speed USB (12 MBit) increasing the cost of the USB Rocket Launcher by 10¢ ;-).

</comment></comment></comment><comment><USER7> Getting: Error establishing a database connection

Article is already in web.archive.org:

[http://web.archive.org/web/20150320100539/http://www.linuxvo...](http://web.archive.org/web/20150320100539/http://www.linuxvoice.com/drive- it-yourself-usb-car-6/)

</comment><comment><USER8> This is awesome, I think it just unblocked my quad copter experiments :-)

<comment><USER9> Out of curiosity, what hardware are you using / drivers are you missing? Given the number of existing flight control boards with decent open source software support, I'm a little surprised that drivers are blocking you, rather than something more interesting like running out of CPU cycles to run a Kalman filter ;)

<comment><USER8> Crazieflie 1.0 [1], when I first got it there was zero Linux support (the radio wanted to talk on a Windows box) I started porting it to Linux, got libusb going and then got stuck on both not knowing what I didn't know, and a process for discovering what was going on. Since that time I see they have updated their code for Linux support. :-) (I guess procrastination can pay off!)

[1] [http://www.bitcraze.se/crazyflie/](http://www.bitcraze.se/crazyflie/)

<comment><USER9> Cool platform, thanks for sharing. Based on the picture, I'm pretty sure the main CPU board on my current quad is about as large as the Crazieflies whole frame :)

</comment></comment></comment></comment><comment><USER10> For reference he is reverse engineering the Dream Cheeky USB Mini RC Car:

[http://www.amazon.com/Dream-Cheeky-USB-Mini- Car/dp/B000XGQ9L...](http://www.amazon.com/Dream-Cheeky-USB-Mini- Car/dp/B000XGQ9LU)

</comment><comment><USER11> Tridge (of Samba fame), did a really neat talk at LCA a few years back, where he reversed engineered a USB gadget in front of the audience (well the process anyway)

[http://mirror.linux.org.au/pub/linux.conf.au/2011/2011-01-28...](http://mirror.linux.org.au/pub/linux.conf.au/2011/2011-01-28-Friday/F509/Building_a_Linux_powered_coffee_roaster.ogv)

</comment><comment><USER12> This is cool.. Ive done some easier stuff like this using PySerial but i always had the specifications before hand. Cool to see how to sniff the windows driver.

</comment><comment><USER13> Is this something the Bus Pirate device could also be used to do?

<comment><USER14> My experience has been the Bus Pirate is good for ad-hoc sending/receiving data over various protocols when you are working at the level of single recieve/response commands (i.e. you have a data sheet for a part and want to test it out). full-on logic analyzers or USB analyzers are nicer for capturing an entire conversation or trying to understand how data flows relate to each other.

</comment></comment><comment><USER15> Betteridge's law of headlines comes to mind.</comment>


Swift,Apple's New Language, Has Been In Development For Nearly 4 Years - <AUTHOR> http://techcrunch.com/2014/06/04/apples-new-programming-language-has-been-in-development-for-nearly-four-years/

<comment><USER2> Why does the logo have a bird flying down, towards the ground? Would it not be better to have it fly up, from bottom left to top right, as is custom with logo design? ('Positive', 'growing', etc)</comment>


Everyone Agrees: CEOs Should Be Paid Less - <AUTHOR> http://www.psmag.com/navigation/business-economics/everyone-agrees-ceos-paid-less-money-inequality-compensation-wage-92056/

<comment><USER2> Well, I don't agree. CEOs take in an enormous amount of stress and give their 24/7 for the company. They earn it.

</comment><comment><USER3> I'm someone, and I don't agree.

</comment><comment><USER4> Consensus is not the truth. And if an _unskilled worker_ is getting paid less than a highly skilled worker, that is the justified reason for there being inequality.

The wording "unskilled employee" is actually in the article itself. So the fact that you can have leverage multiplied by a large skill/knowledge difference is not enough. Then, what will be enough?

When Marc Andresseen says you have to be in the top 25% in two fields or the top 1% in one field, and you have to be pegged against an "unskilled worker" how is that fair?

What about "Quality of Life" as a reasonable metric? What about the legitimate difference in skill? Why do "Journalists" think that they are beyond citations when almost every one does it by default?

Why doesn't Kyle Chayka know anything?</comment>


Facebook Former CTO Dustin Moskowitz quits - <AUTHOR> http://news.cnet.com/8301-13577_3-10057848-36.html?tag=mncol;title <comment><USER2> This is very bad news for Facebook.

<comment><USER3> I reckon Facebook is pretty well established now. I don't think one resignation is going to hurt it too much.</comment></comment>


[Ask-HN] Is anyone using pythonfutures with python 2.6? - <AUTHOR> http://code.google.com/p/pythonfutures/ I wanted to build a high level API over multiprocessing, but it seems that Brian has already done all the work. Does anyone have any experience with this package?<p>I am planning on using the python 2.6 version. <comment><AUTHOR> I wanted to write a high-level API on top on multiprocessing, but it seems that this project has already done this. However, it is unclear if this has been used/tested much with python 2.6.

If you have used this package, please share your comments.</comment>