Ask HN: Does anyone know of any startup founded by military veterans? - <AUTHOR>

I'm curious if there are any veteran backed/founded startups out there. I'm finding it exceptionally difficult to translate my prior military experience and communicate the value military veteran can bring to the fast paced hectic startup space.<p>If not founded by former military guys/gals does anyone out there have any experience with hiring veterans? What wast he biggest advantage? Biggest drawback? <comment><USER2> See VETransfer.org

<comment><AUTHOR> Thanks, I hadn't seen this site before and it looks interesting.</comment></comment>


Ask HN: Soon to be college graduate weighing career options... - <AUTHOR> Hi,
This is a throwaway account because I do not really want my potential future employers to figure this out. Anyway, here's my situation. I am a senior in college with two potential job offers. Both are startups in the beginning stages (<20 employees each).
Job one is in a different city: a city that I do not have much interest in living in. The salary is about average, health and dental insurance ($X / month), stock options, 401k matching, Y days of paid time off plus other benefits.
Job two is in my current city that I am located in and have lived in for years. I really like this city and I really want to stay here. Job1 has a below average salary ($10k less than Job1), $X/2 per month reimbursement for health care (it does not say anything about insurance, just "reimbursement"), no stock options and  Y/2 days time off.
Both companies seem great. Like I said they are young, small, fast paced just like I want (I always said I wanted to work for a startup right out of college). I feel I could grow a little bit more with Job two as it is more broad and I feel I could gain a good network out of it (working with multiple clients).
Now I am having trouble making this decision. It seems to come down to a couple of things: location is really important, obviously. Also, the better offer seems like it is almost too good to pass up. I guess I am just looking for general advice from people who have experience in this sort of thing.
I really appreciate any help. :) <comment><USER2> There are a lot of unknown variables here that makes this question difficult to answer. As such, I'll throw out a few things that come to my and hopefully that'll help you make a decision.

You should ask yourself, which company/team/idea you like more. Ultimately if neither have an edge over the other and you like both, then you can skip this but if one has a bigger interest, it should be considered. Working for a startup for most you people is about the experience, the education that comes out of it, and being surrounded by people you love working with. And you ultimately want to be happy with the idea and culture.

Next, I think the best advice I can give is, when possible, don't make your decision base on financial weight. There are times when that matters and times when it doesn't. If $10k is negligible and having insurance isn't a big deal for you, go with the option that makes you happier. You could always negotiate the extra $10k saying you have another offer, and see what they say. Nothing wrong with that. It's more about the approach of how you bring it up to not screw up the offer.

As someone else said, what about living in a nearby city you like and commuting? Keep in mind there are a lot of other variables I'm probably not thinking about off the top of my head.

The only solid thing I can tell you is that from experience, not every career choice you make is the way you think it is. Some times something crappy turns out be great and sometimes the thing you thought was great turns out crappy. The only way to know is to experience and take your best guess. Weigh the options and if one choice seems to be bothering you more i.e. location is a huge issue, go with the lower income but stick with the happiness (of course focus on the above factors I mentioned and others I didn't mention).

</comment><comment><USER3> One perhaps pertinent question: Do you currently have health insurance through your parent(s)? Could you continue that, if you go with the employer that may not offer health insurance? (One of the early changes of the so-called "Obamacare", already active law and regulation, is that children can stay on their parents' insurance until... age 26, IIRC. Although I don't know all the details / ins and outs of how that works.

I pose the question assuming you are the typical age for a college senior (21 - 22).

P.S. As I've pointed out before, (good) health insurance is something you carry for your family, not just for yourself. So that they don't go broke caring for you if something catastrophic happens to you.

P.P.S. Confirm for yourself that I'm right about this. It doesnt' affect me, personally, so I've not paid that close attention to it.

</comment><comment><USER4> At your age it is "acceptable" to sacrifice some level of happiness for your future (in my opinion). There are limits, but moving to a lesser city for $10K more/year might be worth it.

I think you have to think about liabilities and secondary benefits. Can you live with your family in the city you currently live in? What is the cost of living difference? Most importantly what is your debt load. You need to get rid of debt ASAP.

</comment><comment><USER5> What about living in some city near to the one that you don't want to live in that is sort of decent? Also you could explain to them that the location isn't as attractive as where your other offer is and you really need some sort of relocation bonus or other package to tip the scales.

</comment><comment><USER6> _it does not say anything about insurance, just "reimbursement"_

So ask them.

</comment><comment><USER7> Live in the city you like. You are strongly influenced by the people around you, and you want to make sure you are around people and a culture you want to emulate.</comment>


BGP leaks causing internet outages in Japan and beyond - <AUTHOR> https://bgpmon.net/bgp-leak-causing-internet-outages-in-japan-and-beyond/ <comment><USER4> That's because for all the talk about Google its network engineering drives networks like a buzzed 19 year old drives his fathers Porsche.

Google does not believe in BGP filtering. They just don't. When someone brings up a BGP peering with Google that someone announces _any_ prefixes to Google without first registering it. When asked "Huh? How do you ensure that I do not announce someone else's address space to you" Google's response becomes something akin to "We are Google, we have a very complicated system that prevents that from happening. It will detect the issue and address it automatically. We would build your filter lists based on those announcements" At the same time, the same people say that prefixes advertised to Google over PNIs take _hours_ to propagate across the entire Google network.

BGP filtering of prefixes to the address space registered to the peer is a basic hygiene, something that Google simply does not believe it has to do.

<comment><USER5> Based on the article, you probably should be s/Google/Verizon here. Yes, Google's export policy was misconfigured towards Verizon but Verizon blindly accepted and propagated these prefixes.

<comment><USER4> Since Google does not register or filter routes it receives it is impossible for VZ or anyone else to know what are the "correct" routes that Google advertises v. what should be filtered.

Look, we have been though this before, in 1994, 1995, 1996, 1997, etc.

Sprint (1239) used to filter based on AS_PATH. They stopped after FLIX incident.

<comment><USER5> They don't?: [https://pastebin.com/5ngq1cJi](https://pastebin.com/5ngq1cJi)

<comment><USER4> Right now Google announces slightly more than 440 IPv4 routes over PNIs.

The list in radb is :

whois -h whois.radb.net '!oMAINT-AS15169' | grep ^route | awk '{print $2}' | grep -v "::" | wc -l

6180

I picked four prefixes. 3 were in RADB. 1 was not.

<comment><USER5> Doing a 1:1 comparison between what you're currently receiving on import and RADB isn't completely fair given most folks who preallocate address blocks will register route objects long before they are actually used.

What is preventing you from crafting your import policies based on this data? Google is clearly creating route objects for most of their prefixes and rejecting a handful of prefixes vs. the risk of accepting at worst a full table seems like a reasonable tradeoff. This is something Verizon could have done, and something other folks like Level3 have done for some time.

<comment><USER4> 1) It is missing routes that they are advertising.

2) When asked "Are you using RADB/Altdb entries to filter routes/should we use those?" being told "No".

If Google used that basic hygiene then it would not be announcing routes it does transit.

<comment><USER5> There's an important aspect of BGP you're overlooking: mutual acceptance. If one party exports a prefix, the other party can choose to either reject or accept the prefix. If the former party does not advertise the prefix or the latter party does not accept the prefix, no unidirectional forwarding path is established. Yes, Google could have derived their export policy based on their RADB entries, which would have prevented this issue. But Verizon could have also derived their import policy based on their RADB entries, which would have prevented this. While Google is at blame for fucking up their export policy, Verizon is at blame for simply accepting these prefixes.

<comment><USER4> This is 2017. We have had this debate in 1994.

We have also had this debate when smd proxy aggregated routes because certain network was announcing every /24s instead of /12s causing certain routers to run out of memory ( I'm pretty sure those were AGS+ ). It came known as "you will aggregate or I will aggregate it for you and you won't like it". While it was done just for a few hours the consequences were rather unforeseen.

Right around that time it was determined that no one outside the AS knows why the AS is choosing to announce routes in a specific way and those outside it were better not be "smart" over it. That was also around the time it was decided that one simply registered everything _correctly_ and announced only what was registered and announced it the way it was registered.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> What ever happened to network ops implementing RFC7454/BCP38!

> Google is not a transit provider and traffic for 3rd party networks should > never go through the Google network.

Why would you _ever_ purposely configure your router to transit traffic via them?

<comment><USER7> Google runs a couple different ASNs, so you might need to allow that as transit. BGP is notoriously easy to configure too open, but prefix limits might help; OTOH, dropping sessions to Google is going to cause a lot of headaches, so extra caution is required.

<comment><USER6> That's certainly true. Generally speaking though, it's up to one's own network to know which ASs Google are routing for - and filter ranges not owned by any of those ASs. At worst you should route out of your known transit networks and (for the time google is being stupid) simply get non-optimal routing. Ideally your PNI agreement will include cost recovery for bad-acts like advertising non-owned space (but they probably won't) causing session drops and thus making your transit bill go up. Google being stupid (or any PNI, non-transit peer) should never cause your network to drop customer packets on the floor due to completely invalid routing.

<comment><USER4> They can't. Google refuses to register its routes!

<comment><USER6> If true, WTF Google...

<comment><USER8> That's the point. Google trying to be special instead of playing nicely with other kids.

<comment><USER6> Hmm, looking into radb via the following:

whois -h whois.radb.net '!iAS-GOOGLE,1' | head -n2 | tail -n1 | sed 's/ /\n/g' | xargs -n1 -i{} whois -h whois.radb.net '!oMAINT-{}' | tee google-radb

cat google-radb | grep '^route:' | grep -v '::' | sort | uniq | awk '{print $2}' | wc -l

yields 7762 announced unique IPV4 routes at least 10% of which (100% of checked routes) have a suitable reverse route query listed in radb via:

cat google-radb | grep '^route:' | grep -v '::' | awk '{print $2}' | shuf | head -n770 | xargs -n1 -i{} whois -h whois.radb.net '!r{},o' | tee google- radb.routesample.lookup | grep '^C' | wc -l

What are they announcing that's missing from information gathered there?

Edit: Hrmn... looking at [http://thyme.rand.apnic.net](http://thyme.rand.apnic.net) data and comparing it with what google have registered in radb (among their various AS numbers)... they do indeed have a number of advertisements that are unregistered or are at least more specific than their registration (no exact match)

Results of the comparison at [https://pastebin.com/raw/P9KMG0ri](https://pastebin.com/raw/P9KMG0ri)

<comment><USER9> Nice analysis. Passed along to the folks working on the (internal) postmortem for this outage.

<comment><USER6> Since I've had a moment to clean this up, here's a more accurate grepcidr (amazing tool for this -- aggregation is an awful hack and actually adds more noise than it takes away; sorry to your post mortem team) and some analysis/histo -- this is much clearer:

[https://pastebin.com/raw/96sXXEe1](https://pastebin.com/raw/96sXXEe1)

<comment><USER6> may want to change the grep on the data-raw-table to grep -wF '{}' ... the other might miss google AS in the middle of a multi-hop route.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> A really interesting read. I agree BGP leaks are a great risk to instability, but that could be said about any glitches that affect major backbones like NTT and Google (not a backbone but it's so well connected...). BGP Routing issues happened numerously, and will likely continue. Last year with Telia too had 4 or 5 "glitches" as they upgraded their network. [1] I talked to them about it and the mitigation is always the same, be more careful, peer review, additional filters, etc.

Since each ISP implements BGP/Routing Tables/Topology in their own way, I'm not sure what you would do about this, other than choosing your peers carefully and filter any crazy route changes.

[1] [http://www.theregister.co.uk/2016/06/20/telia_engineer_blame...](http://www.theregister.co.uk/2016/06/20/telia_engineer_blamed_massive_net_outage/)

<comment><USER11> The NTT in the article isn't the NTT America that you're thinking of. NTT America is the "backbone" company formed from the Verio purchase, then left to do their own thing largely outside the control of NTT Japan.

</comment></comment><comment><USER12> What is BGP?

<comment><USER13> Let's say you have three ISPs, Red, Green, and Blue. Red and Green have a cable connecting them somewhere, and Green and Blue have a cable connecting them somewhere. Each of them send notices using BGP to each other saying, "Hi, this is my subnet, if you want to route to that subnet you should send packets to me." But Red and Blue also want to communicate to each other, so Green will _also_ send a message to Red saying "Hey, I know how to reach Blue's subnet, I can indirectly route packets there too," and to Blue saying the same thing about Red's subnet.

Now if Red and Blue get a cable connecting the two of them, they'll start speaking BGP to each other. Green will continue advertising the indirect path, but Red's routers and Blue's routers will see that they have a more direct path to each other, and not go through green. So while network engineers need to tell their routers about their direct connections, BGP will automatically help distant ISPs figure out the best indirect paths.

It looks like what happened is that Google, which is _not_ an ISP but peers directly with a bunch of ISPs (so they get better performance than being behind a single ISP, as most smaller companies do), started advertising routes that looked more efficient than the actual routes between various ISPs. Technically, those packets _can_ flow over Google, although Google doesn't have the capacity to route traffic on behalf of the internet at large (it's not an ISP), and probably has routing rules configured to not actually accept packets that aren't destined for Google sites.

So two things happened. The first is that internet connectivity was disrupted. The second is that we got to see, a bit, what Google's peering relationships look like, because of the routes that Google advertised.

<comment><USER14> Thanks for that explanation. I'm not 100% on BGP yet, although I do want to learn more about it.

It sounds like Google's SDN (software-designed networking) stack had a glitch then. I read an overview of that a while ago, I think I got it from HN. [https://www.nextplatform.com/2017/07/17/google-wants- rewire-...](https://www.nextplatform.com/2017/07/17/google-wants-rewire- internet/)

On a side note, I'm aware that BGP and similar "super-large-scale" infrastructure can be examined using publicly-accessible resources, but the sites out there are mostly geared toward people doing lookups for specific info, not people who want to learn. That's completely understandable, but as someone who learns more easily if something is tangible and "tinkerable", it's difficult for me to look at these sites and make the effort to [get oriented and then] piece everything together. How can I go "oooh, I get it" looking at the data from these sites?

I'm also vaguely aware you can take the TCP/IP stacks on Linux (and probably Windows) completely to bits and put everything back together so the OS speaks BGP over Ethernet (or something equivalent) instead. It would be kind of cool if I could do that and then actually _use_ the connection, with BGP setup as a replacement for standard IP addresses... if I could do that I'd actually leave everything configured that way, and thus be able to tinker with it. Sure, people don't generally connect their systems together via BGP - but BGP is used to transfer data (in the sense of "link-layer protocol"), right? I'm going to learn _something_.

<comment><USER13> BGP runs over TCP/IP, as a normal TCP service (port 179): it just tells you how to route packets. On 99% of machines you'll run into (your laptop, your servers at work, cloud VMs, etc.), they have exactly one network connection to one network provider, and so the routes are static, or at best provided by DHCP. For instance, at home my laptop knows that everything in 192.168.0.* can go directly over wifi, and everything else can be sent to 192.168.0.1. My router knows that everything should be sent to the ISP. And so forth.

BGP is for network devices that have multiple connections to the Internet and need to decide which connection to use. They'll set up static IP routing to their immediate neighbors, make that TCP connection between their BGP daemons, and then let their BGP daemons configure the rest of the routing table.

Most of the time these devices are backbone routers run by ISPs, but you can totally run BGP on your random Linux server. You'll need someone to peer with, though. I've used Quagga [http://www.nongnu.org/quagga/](http://www.nongnu.org/quagga/) (although with OSPF, another routing protocol optimized for smaller-scale use) for implementing two separate web servers sharing the same IP address - that is, two servers claiming "Hey, I know how to reach this address, you can route through me," such that the service would stay up if either web server died - and it was mostly just `apt-get install quagga`, a small bit of config, and lots of help from the networking team doing some config on our intranet's routers to peer with my two servers and trust them.

<comment><USER15> Sounds a lot like what FreeBSD CARP[1] suppose to do.

[1] [https://www.freebsd.org/doc/handbook/carp.html](https://www.freebsd.org/doc/handbook/carp.html)

<comment><USER16> Not quite.

CARP (VRRP in Ciscoese) has two (or more) systems capable of presenting the same IP address and they agree amongst themselves which gets to be the master through a multicast based advertizing system. Generally each system will be near clones of each other and be capable of doing the full job themselves. I have a pair of rather large pfSense systems running CARP as my office routers. I can update the secondary, test it, fail over the CARP addresses and fifty IPSEC tunnels, five internet connections, 10 OpenVPN servers along with rather a lot of clients, five OpenVPN clients, 30 odd internal VLANs and all the states for the above along with many NAT inbound and outbound sessions will seamlessly switch over thanks to PFSYNC. Even voice calls don't drop - <USER2> might notice a sub second wobble if someone is talking at the wrong moment. Rinse/repeat for the other one.

BGP, RIPx, OSPF and co. are routing protocols that deal with the route your connections take through a network.

There are also things like LACP/LAG for layer two redundancy. You can even play games with DNS round robin and of course reverse proxies.

CARP is one tool in the box for coping with failures and maintenance - <USER3> are lots of others, each with advantages and disadvantages. That's what makes the job interesting 8)

</comment></comment></comment></comment></comment></comment><comment><USER17> Every time I see basic internet infrastructure experiencing issues, my default is to think about who is testing a new cyberweapon or censorship mechanism. BGP has been known as trust-reliant for a while.

<comment><USER18> (: these aren't the droids you're looking for. taking down the internet (or specific pockets of it) via BGP is not a question of method, it's a question of access. BGP hijacking can be easily done by computer science grad students... state actors would not need to test a "cyberweapon" that messes with BGP routes.

edit: the point being, _how_ to do it is not an issue. they're not in the position to do it. ...but if you were thinking of censorship or outright disruptive terrorism via BGP, you'd be looking for infiltrating network operator jobs, not developing an attack. the attacks themselves are trivial, well-documented, and often happen accidentally.

edit2: "sorry we broke the internet" [http://seclists.org/nanog/1997/Apr/444](http://seclists.org/nanog/1997/Apr/444)

<comment><USER4> Internet Truth #33, as told by Mr. V: "If the interstate highway system ran the way we run internet, then in the middle of the rush hour a giant sinkhole would open in the middle of i495, swallow twenty thousand cars without a trace, a sinkhole would close and we would still call it a good day"

</comment></comment></comment><comment><USER19> > necessity to have filters on both sides of an EBGP session. In this case it > appears Verizon had little or no filters, and accepted most if not all BGP > announcements from Google which lead to widespread service disruptions. At > the minimum Verizon should probably have a maximum-prefix limit on their > side and perhaps some as-path filters which would have prevented the wide > spread impact.

Wow that's just stupid on Verizon's part given the magnitude of potential impacts.

<comment><USER20> It's not that stupid; it's an intentional tradeoff. It's also quite common, especially with a customer like Google.

<comment><USER19> Everybody (including Google as we find) makes mistakes and not having safeguards doesn't sound like a good trade-off to me. (What are they trading off here again?)

<comment><USER21> Operational complexity. For a carrier the size of Verizon to build an authoritative list of prefixes to advertise they would have to have a registration process for every single customer, peer, etc that was both reliable and up to the minute. That list would have to be compiled and driven on a near constant basis to many tens of thousands of routers and potentially hundreds of thousands of BGP sessions.

It's not that this isn't doable, but it touches far more process in far more places than might be obvious and potentially requires additional capacity/capability on a lot of hardware. For a giant network this all means a great deal of time and money. Should they do it? Absolutely. Is it cheap/easy? Absolutely not. More cynically, does the potential cost and disruption of doing the right thing map favorably against their view of the risk of NOT doing it? Unknown.

<comment><USER22> Fortunately, this problem was solved ages ago by central routing registries. I register my prefixes and have a single object that upstreams and peers can use to build their filters for BGP sessions with me. Why can't Google do the same? ("But they're soooo big" is not an acceptable answer.)

<comment><USER21> It was "solved" in some general sense but was never implemented widely or consistently. It was traditionally a really clunky and fragile system (e-mail forms) that ended up being really limited in its utility because it wasn't widely used.

That said, the point isn't that this is a technically difficult problem (it isn't) but rather one of human scale: altering the behavior of tens of thousands of more-or-less autonomous networks spanning the globe is non- trivial.

</comment></comment></comment></comment></comment></comment><comment><USER23> When I was doing routing and switching Cisco was still undisputed king and I never had to do anything more than IGP routing. Still, at the time, using two protocol stacks (IPX/SPX and TCP/IP) and redistribution into IS-IS using NLSP and RIP was painful. Still rather do that then deal with BGP.</comment>


Color E-Ink displays by end of 2010 - <AUTHOR> http://www.digitimes.com/news/a20100811PD219.html

<comment><USER2> Paid subscribers only.

Here's a better (and older) link: [http://www.engadget.com/2010/08/12/e-ink- begins-sampling-col...](http://www.engadget.com/2010/08/12/e-ink-begins- sampling-color-and-capacitive-touch-displays-on-tr/)

<comment><AUTHOR> Digitimes does not have a paywall (at least for me) and the Engadget article is newer (August 12 rather than August 11) and cites the Digitimes article as a source.

</comment></comment><comment><USER3> Also, Mirasol:

<http://www.mirasoldisplays.com/ereader></comment>


Ipsum text just got real - <AUTHOR> http://www.tupacipsum.com/

<comment><USER2> This is kind of awesome.

Things that need fixing though - repeat lines, lines that don't rhyme together.

You should look into RapMetrics, and implement something like that to figure out how good the generated lyrics are, and then use a GA to create an optimal rap from a pool of 100 random ones.

<comment><AUTHOR> Sweet... thanks for the input. If you like I can add you to the github repo</comment></comment>


Socket.io.next: WebSocket.io + Engine.io - <AUTHOR> http://qcon-sf.nodejitsu.com/

<comment><AUTHOR> So here's what LearnBoost is doing (if I understood this correctly): they're splitting Socket.io into two lower level layers, Websocket.io and Engine.io.

Websocket.io only does websockets transports (... all six of 'em)

Engine.io is a slightly higher level package that adds more transports (polling, flash), and which uses websocket.io.

These two both expose a websockets -like API over the transports they provide.

Socket.io becomes a particular implementation of a Comet stack that depends on these two, with some client extra niceties. This means that the code behind Socket.io can be reused elsewhere on a lower level without resorting to patching a full stack framework like Socket.io. Developers get a greater deal of control and the project is more clearly split into different parts. Awesome!</comment>


Flask Web Development Book – 2014 - <AUTHOR> http://www.amazon.com/Flask-Web-Development-Developing-Applications-ebook/dp/B00K00W9LI/ <comment><USER2> I very much enjoyed the author's Blog series on a blog written in Flask [1]. I did not (yet) buy and read the book, but from his style on the blog, I can only assume it is a great resource on Flask.

[1] [http://blog.miguelgrinberg.com/post/the-flask-mega- tutorial-...](http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial- part-i-hello-world)

<comment><USER3> Flask author wrote a long list of great articles about it, but even then, the span of topics covered and integrated by miguel's tutorial made it a very worthy read.

</comment></comment><comment><USER4> If someone wants a pdf [http://shop.oreilly.com/product/0636920031116.do?cmp=af- velo...](http://shop.oreilly.com/product/0636920031116.do?cmp=af-velocity- books-videos-product_cj_9781449372620_%25zp)

</comment><comment><USER5> I went through the pre-release and loved it. I was competent with python (2) going in and had done most of his tutorials. This book got me to the point of being able to make working web applications.

You follow along with [https://github.com/miguelgrinberg/flasky](https://github.com/miguelgrinberg/flasky) and basically make a twitter clone -- which is fun. And its nice to be able to checkout the code using git and play with it instead of typing out the contents of the book.

As you can tell from his tutorials, he is a clear writer. And you get a nice taste of cryptography, Bootstrap, and Heroku.

I built [http://superquest3.herokuapp.com/](http://superquest3.herokuapp.com/) over spring break after completing the book -- and I had never made anything but static websites before.

[https://www.kickstarter.com/projects/1223051718/practical- fl...](https://www.kickstarter.com/projects/1223051718/practical-flask-book- project) is another flask book project you could check out ...

<comment><USER6> How does the book compare to his mega-tutorial? I liked his tutorial, but what does the book offer what's not in the tutorial already? I'd love to back Miguel by buying the ebook, but if it does contain valuable additional information, I'd prefer the hardcopy.

</comment></comment><comment><USER7> Just checked the book index, and i've got one recommandation for the v2 of the book : add a chapter about asynchronous tasks / jobs using celery. This would probably fit in one chapter, and it makes a world of a difference as to what you'll be able to build.

<comment><USER8> Can you elaborate on why celery makes a world of difference?

<comment><USER6> Celery is a system for job queues / asynchronous tasks / whatever you want to name it. Usually in web the in-between time of request and response is the time it takes for your application to do the work. However, if you plan to do a lot of work (e.g. render business reports), or the work can take quite long (e.g. make a request to an external service), asynchronous processes make a lot of sense. The request will return the response fast and the application registers a "task" in the queue. A queue system will then pop one of the tasks independent of the web request/response cycle and process the tasks in it's own time.

In short, it simply makes your application respond faster (and scale better) while you still can keep track of all the work done.

I am quite familiar with gearman and beanstalkd, but Celery (as far as I understand it) is a python layer over these implementations. It allows you to write code agnostic of the broker, which helps for portability etc.

</comment></comment></comment><comment><USER9> This is a really fantastic book. I ordered the early-release version months ago, and just updated to the final version. It is by far the most comprehensive, easy-to-understand resource for learning Flask. All code examples work with Python 2.7 or 3.3

</comment><comment><USER10> Another Flask book is Explore Flask. Haven't read it yet though.

[https://news.ycombinator.com/item?id=7694614](https://news.ycombinator.com/item?id=7694614)

</comment><comment><USER11> Can someone comment whether this book focuses on getting Flask to run on Python 3?

edit: Works on py3 so nevermind (although, I'm not sure if it's "py3-first", if you would). The book looks nice, and covers a lot of fun topics. My only wish was that he'd used something other than Heroku.

<comment><USER12> Flask should just run on Python 3. If something doesn't work on Python 3, that does on Python 2.7 it's likely a bug and you should report it.

</comment></comment><comment><USER13> Google Play offers the same ebook $10 cheaper than Amazon's Kindle version ($19.99).

[https://play.google.com/store/books/details/Miguel_Grinberg_...](https://play.google.com/store/books/details/Miguel_Grinberg_Flask_Web_Development?id=5aNwAwAAQBAJ)

</comment><comment><USER14> Is this book any good ?

<comment><USER15> The author's blog flask tutorials are pretty good. I've learned a bit from them.

<comment><USER16> I attended miguel's talk at PyCon, and he seemed like he definitely knew what he was talking about, and also seemed very interested in teaching others about what he learned.

I also just bought the book.</comment></comment></comment>


Portrait of Terence Tao [video] - <AUTHOR> https://www.youtube.com/watch?v=VJLQj4hQs2Q <comment><USER2> Terence Tao is so incredibly interesting and unpretentious. I've often found that math "geniuses" seem to be the least pretentious of the genius level people in academia/stem and I slightly wonder if that's actually true and if so, why?

<comment><USER3> He is also incredibly clear -- I've had the chance to hear a couple of his (technical) talks. He does not oversimplify, but has a way to explaining the heart of the issue in non-technical terms so one could follow without being an expert in the specific area being discussed. (Though I'd imagine experts would get even more out of his talks.)

<comment><USER4> That is no accident.

A requirement for clear speech is clear thinking. Very clear thinking is required to be a successful polymath in a technically challenging field.

In order to accomplish in a technical field, such as math, you need to think very "efficiently". It is possible to do this by spending so long coming up with a mental model of a specific area that your thoughts are efficient, but cannot necessarily be communicated to people except when their mental understanding is a reasonable match to your own.

However you cannot do this simultaneously in a great many areas. Therefore a polymath must find ways to construct models that are both simple and efficient. The underlying simplicity of their understanding then becomes evident in how clearly they can explain a precise understanding of whatever they are talking about.

<comment><USER5> Well phrased. It's no coincidence that Feynman, another famous polymath, was also famously clear and concise.

</comment></comment></comment></comment><comment><USER6> [https://terrytao.wordpress.com/](https://terrytao.wordpress.com/)

The blog of the man himself: Always fun to read, and especially rewarding if you thought you were familiar with what he's discussing...

</comment><comment><USER7> The interview is more recent than 2006. The year refers to the year he received fields medal.

<comment><USER8> Thanks, I think we misread that.</comment></comment>


How Reddit Kicked Digg's Ass - <AUTHOR> http://vospe.com/2010/09/16/how-reddit-kicked-diggs-ass-and-ate-their-lunch/

<comment><USER2> I'm still not convinced that they did. Yes, they managed to steal a bunch of users from Digg.

Many people have complained that Digg used to be a tech-oriented site, and now it's general news. They went to Reddit for the tech-oriented news again. Now those same new people are moving to Reddit... As long as Reddit prefers numbers over loyalty, they're getting what they want.

I guess those people will come to Hacker News now. I did.</comment>


How to hack into an email account, just by knowing your victim's mobile number - <AUTHOR> https://grahamcluley.com/2015/06/hack-email-account-mobile/

<comment><USER2> Title is overhyped.

"just by knowing your victim's mobile number"

should read:

"just by knowing your victim's mobile number AND having victim stupid enough to send _YOU_ verification code"

<comment><USER3> Hmm.

"just by knowing your victim's mobile number AND e-mail address AND having victim stupid enough to send YOU verification code"

</comment></comment><comment><USER4> All this is is social engineering to trick the victim. This can be done with _anything_ if the victim is a trusting soul.

</comment><comment><USER5> The only thing that really makes this novel is that we have become accustomed to receiving automated texts from random numbers we've never seen before. If texts had some way of proving identity, this would be much less likely to work.

<comment><USER6> Sure, but I guess I'd never reply unless I specifically had just requested a pass reset or something similar.

I get that this social engineering trick is like most others and preys on people who _don 't_ think about what they're typing or replying to, but isn't that the case with a lot of similar tactics?

If a malicious actor can trick someone into giving out a PIN or a password by impersonating their email host or bank or whatever, their work is relatively easy.

</comment></comment><comment><USER7> The solution is for the official Google (et al) text to include a message about the real reason the code was sent, making it clear that the hacker's first text was malicious.

</comment><comment><USER8> Never discount the threat of the human element in hacking.

Kevin Mitnick was a successful hacker due to his skills in social engineering.

Posters may discount this "hack"\--but think about the policies and training-- if any--your company has in place to prevent this type of social engineering.</comment>


The locksmith, the surgeon, and the mechanical hand (2019) - <AUTHOR> https://muse.jhu.edu/article/719945/pdf <comment><USER2> From the abstract:

> This article uses a locksmith's design for a mechanical hand in the surgeon > Ambroise Paré's widely influential Oeuvres (1575) to examine the > transmission of technical knowledge in early modern Europe

Sounds like an interesting weekend read.</comment>


Senior WHO official dodges questions about Taiwan's WHO membership;praises China - sahin-boydas https://www.youtube.com/watch?v=UlCYFh8U2xM&feature=youtu.be <comment> sahin-boydas I am not sure about the policy about Taiwan in hacker news. Are we allowed post this or will it get flagged?</comment>


Gamification? More like Exploitationware - <AUTHOR> http://www.gamasutra.com/view/feature/6366/persuasive_games_exploitationware.php?print=1

<comment><USER2> I agree that what is often thought of as "gamification" is actually the simple adding of false incentives to create specified outcomes. However, in many ways we already have many systems in place that have much the same methods attached to them.

For example, education system uses the concept of "grades" and "points" that have no more actual value than a high score in Pac-Man to motivate students to work harder and learn more. Yet, grades are often just as synthetic of a benchmark as most computer benchmarks in terms of actual capability or performance. ACT or SAT scores are a great example of this.

Does this mean that "gamification" is bad?

No, it just means that right now the idea of integrating game elements into other things is hot and new because it for the short term can lead to the easy 80% of engagement of games with 20% of the game dev effort. Eventually, on projects where game elements make sense, you'll likely see deeper iterations of those ideas.

Best example - look at Zynga. Early games were incredibly simplistic exploitationware for sure. Now they are making them more game-like. Eventually, you'll see them move to something deeper like a "real" mmorpg a la WoW or something with deep competitive engagement like a Halo or Madden.

Give it time. No sense killing the "gamification" baby before it learns how to walk.</comment>


Nginx module to turn it into a long-polling message queuing HTTP push server. - <AUTHOR> http://github.com/slact/nginx_http_push_module

<comment><USER2> This just creepy. We had a session at the Real-time web summit yesterday where we described needing something like this.

One of the guys from Google named it the "Comet Tornado Reverse HTTP Proxy" because we were talking about adapting Tornado, this look like exactly that.

</comment><comment><USER3> hey guys, I'm responsible for this frankenstein of a creation. I am 2 bugs away from a release with quite a few essential improvements.

(of course, the bugs in question seem to be concurrency related, so it might take a day or two or more to fix)

Clever suggestions and constructive forks are welcome.

</comment><comment><USER4> I'm curious how this compares to twisted.web/tornado in terms of use case (friendfeed type sites). Can anyone quickly explain this to me? Thanks!

<comment><AUTHOR> Tornado is a web framework on its own, it handles the polling and the replies internally. This nginx module is just a helper to the framework behind it. It keeps the connections to the listeners, waiting for the framework to signal it, and then sends the message back to the listeners.

</comment></comment><comment><USER5> Quick question for any nginx experts: the following config setting:

set $push_channel_id $arg_id; #/?id=239aff3 or somesuch

Means that the ?id= querystring paramater is used as the push channel ID. Any idea if it would be possible to set it up so /channel/12345/ would result in 12345 being set as the push channel ID?

<comment><USER6> Quite possible - You'd need to use the rewrite module to pass it as an argument. <http://wiki.nginx.org/NginxHttpRewriteModule>

Maybe something like this...

      location / {
        rewrite  ^/channel/(.+)$ /channel/?id=$1 last;
      }

      location /channel/{
        #stuff
        set $push_channel_id $arg_id; #/?id=239aff3 or somesuch
      }

</comment></comment><comment><USER7> Nice. I hacked something like this into nginx a while back via kestrel but a native module is better by far. Assuming it's up to the high expectations of nginx stability, it's going to further cement nginx as the proxy / lightweight webserver of choice.

<comment><USER8> Do you work at Twitter? I wasn't aware that anyone was using Kestrel outside of Twitter - Zing!

</comment></comment><comment><USER9> This is fantastic. EZ-Mode push using a very simple to deploy piece of software.

</comment><comment><USER10> If I'm reading the docs correctly, you'd have to make a server-side HTTP request from your synchronous app to nginx for each message you want to push _to each client_. I'm pretty sure that will be prohibitively slow.

It would be much nicer if you could make one server-side request for each event, and have nginx track which clients are interested in that type of event and even queue that event for a while for clients that are yet to connect.

<comment><AUTHOR> No. You just set the "push_listener_concurrency" setting to "broadcast", and have as many listeners on one channel as you like.

</comment></comment><comment><USER11> Personally, I prefer Juggernaut (<http://juggernaut.rubyforge.org/>) for this. Sure, it's Flash, but it just seems like a bit less of a hack than long- polling.

<comment><USER12> Have you had any problems using this in production? My understanding with using Flash/Java is that all traffic has to be tunneled through port 80 to not interfere with proxy servers. Even then sometimes traffic that doesn't look like HTTP can be blocked. Has this been a problem for you?

<http://cometdaily.com/2008/09/30/why-flash-must-adopt-comet/>

<http://orbited.org/blog/2007/08/juggernaut-is-a-bad-idea/>

<comment><USER13> I'm using it in production since last week, about 50,000 connections / day. For some reason it seems to stop/crash after 24-36hrs without leaving anything in the logs.

I am using it on port 443 (https).

</comment></comment></comment><comment><USER14> Does Google do something like this for their servers for the chat service inside gmail?

I've noticed it can keep http connections open for extremely long times.

<comment><USER15> <http://en.wikipedia.org/wiki/Comet_(programming)> is a good ref. Gmail chat does this.

<comment><USER16> This wiki page covers mostly the frontend part.

The link covers a server side message passing interface.

I just glanced over it (do not use nginx) think it's just a more efficient way for your idle process to know if they need to send anything over the wire or if they can keep idleing.

<comment><USER6> I do use nginx. This uses a "Simplish HTTP Push Relay Protocol". It's a way for your app (via curl or any other http library) to "connect" to your http clients.

It has a few interesting options. "messages" are passed by a "channel id" and you can have any number of long polling listeners on a channel, or you can error out the first or last connections on a channel so there is only one listener at a time. If you have multiple listeners the message becomes a broadcast.

You also have a configurable amount of memory to buffer messages in the event there is no listener on a channel, or the listener is busy (receiving a message I guess). You can also set limits on number of messages per channel and a timeout.

I can see the advantages of this easily. The connections in nginx are much less resource intensive then a rails or php fast-cgi. You'll end up using much less ram. I know python has twisted and there are few others webservers for other languages, but this would allow me to run a php based chat server and take advantage of long polling.

I like it.</comment></comment></comment></comment>


The key to increase user acquisition this pandemic - <AUTHOR> https://blog.locale.ai/how-to-improve-user-acquisition-conversion-using-location-analytics/ <comment><USER2> I have mixed feelings about posts like this...just feels like trying to capitalize on a terrible situation, although I get it could be spun as trying to make the most of a terrible situation.

<comment><AUTHOR> It's ideally to help start-ups struggling with user acquisition during this pandemic, with location analytics. Location analytics is the key here, especially for start-ups running this pandemic such as in the logistics, last- mile delivery, mobility sector. I hope that clears the air for you!</comment></comment>


Ask HN: Developer FAQ for recruiters - <AUTHOR> I'm considering creating a FAQ for recruiters, to handle the bog standard questions, the inane BS, and the questions that I find uncomfortable like where they try to pin me down on expected salary before they assess my worth or I know a thing about the job.<p>Does anybody else do this?  Any thoughts, from the recruiter or from the dev side? <comment><USER2> You want to keep out the bad recruiters, who won't read your FAQ. They don't even read the first line of my LinkedIn summary to find out we compete before trying to sell me their services.

What might be useful is some sort of recruiter CAPTCHA that asks them questions about the position. Recruiters need you to self-qualify because naught but a handful can do that (none if your LI profile is blank). This would automate that.

Keep in mind they might not have something like salary info because the hiring manager doesn't want to set a range for a high-need position.

But at the same time, it would filter out shockingly high percentage of recruiters who ask for "full stack" developers and think that's the whole thing. They literally don't know that there are different stacks. One asked if I could find her any since I run a Java user group. Turns out, she needed Node.js developers. This is common.

So just by asking the primary language and framework, you could filter out the ignorant ones. However, that won't stop them from messaging you in the first place

</comment><comment><USER3> No, but I'm considering putting together a survey to reply to recruiters with. Sort of a modified and updated "Joel Test."[1] I still reply politely to all credible inquiries. I think I'd still do this but it might be fun to see if anyone fills out my survey ;-)

I'd also mention that learning how to answer questions (or deflect properly) that make you uncomfortable or that you don't want to answer is a good skill to have.

[1] [http://www.joelonsoftware.com/articles/fog0000000043.html](http://www.joelonsoftware.com/articles/fog0000000043.html)

<comment><AUTHOR> It is, but occasionally I get thrown a question that I don't expect and I give a suboptimal answer. And occasionally I don't know what their takeaway from different answers are. Like when they ask how hard I'm looking or what has me looking.

</comment></comment><comment><USER4> Not to sound like a jerk, but do you really think a recruiter is going to bother reading an FAQ about you before they contact you?

What result do you want? They're either going to contact you anyways, or not contact you at all. If you want no contact, then just reply with a picture of a kitten or something. If you want contact, then you might have to put up with the occasional inane question.</comment>


UAE introduces federal law banning the use of VPNs to access blocked services - <AUTHOR> http://www.ibtimes.co.uk/if-you-get-caught-using-vpn-uae-you-will-face-fines-545000-1572888 <comment><USER2> The headline is sensationalized and inaccurate.

The actual law reads:

>"Whoever uses a fraudulent computer network protocol address (IP address) by using a false address or a third-party address by any other means for the purpose of committing a crime or preventing its discovery, shall be punished by temporary imprisonment and a fine of no less than Dhs 500,000 and not exceeding Dhs 2,000,000, or either of these two penalties."

Key point being "for the purpose of committing a crime or preventing its discovery". It's a way to throw the book at people already committing crimes. Rather than being outraged at this, it would be more appropriate to focus on the things that are crimes and should not be, like their moronic VoIP laws.

<comment><USER3> Well, a part of the problem obviously is that it's "throwing the book at people already committing crimes" in a place where the definition of a "crime" is not very reasonable.

For instance, a woman getting raped is defined as "extramarital sex" which is a crime.

[https://www.theguardian.com/world/2015/oct/26/hundreds-of- wo...](https://www.theguardian.com/world/2015/oct/26/hundreds-of-women- prosecuted-for-extramarital-sex-in-uae-finds-bbc)

<comment><USER4> It baffles me how your ignorance fuels you to connect two unrelated things, cyber crime vs sexual offenses. The problem everyone trying to discuss here is "Whether any usage of VPN" is banned in the UAE?

Next time you go see a doctor for a throat rash are you going to get colonoscopy too?

A good discussion here on same topic: [https://www.quora.com/Is-using-a-VPN- in-the-UAE-illegal](https://www.quora.com/Is-using-a-VPN-in-the-UAE-illegal)

UAE is not USA where anyone can use/say/do anything by anyway they like. It is a sovereign state, a monarchy. She welcomes people to live there in a very healthy and free lifestyle as long as you dont step out of your bounds. Trouble makers are going to find troubles to make even they live on an isolated island. I hope UAE govt come through and make an official elaborated statement that VPN usage for business/work related purpose is not discouraged.

<comment><USER3> > _connect two unrelated things, cyber crime vs sexual offenses._

Are you absolutely sure they are that unrelated?

Anyway, my point was that some of the things classified as "crimes" \-- more explicitly, sexual offences -- in UAE are just a vile miscarriage of actual justice. Therefore, just referring to something not being a problem because it's "throwing the book at people already committing crimes" is not that good.

I don't know if people misread my comment because I did not elaborate too much about the case I linked. The problem is not that a sexual offence is a crime in UAE. The problem is that when a group of men rapes a woman in UAE, it is a sexual offence _committed by that woman_ when she makes the mistake of reporting it to authorities. I find that approach reprehensible. Yes, I know I'm applying my own Western norms to other people. When visiting places like UAE, I of course respect the local practices to avoid committing offences there, but I still do think some of their ideas of sexual offences what are backwards, reactionary and reprehensible.

What you say about UAE as a sovereign state is of course quite true: She welcomes people to live there in a very healthy and free lifestyle as long as you dont step out of your bounds.

The same could be said about any country, every repressive dictatorship. Life is fine as long as you don't step out of your "bounds". The "bounds" in UAE are less unreasonable than in DPRK, for instance, but I consider some of them still problematic. As such, this statement "throwing the book at people already committing crimes" is not really saying anything. The VPN rules just add to the injury of having some very, very unreasonable laws.

(UAE is not USA, and I'm not from USA, either, so perhaps you are now making too many assumptions.)

<comment><USER4> ptaipale perhaps I did misinterpret your comment and jumped too quickly on stating things. My whole point was let's stick to the thesis of the problem here i.e. VPN ban. People who want to use VPN for work related purposes what is going to happen to them?

UAE like many other countries in that region have left a breadcrumb of problems behind them. In order to fit in to global fraternity they have to make drastic changes. Changes that cannot be made overnight. For example they recently introduced a law about fining employers who withhold paychecks for more than ten days etc. Neither I am an Emirati or live in that region. LIke many, I would simply get affected as a frequent traveler if such ban becomes a harsh reality.

<comment><USER5> You think they can't decriminalize _being raped_ overnight? It's easy, strike that law from the books. Done.

In a monarchy simply decriminalizing something can happen with the stoke of a pen. There's no roadblock other than a lack of desire.

</comment></comment></comment></comment></comment></comment><comment><USER6> Only a fine? Sounds pretty lenient in a place where being gay is a death penalty. Even hetero kissing in public can get you deported.

<comment><USER7> Add to that "temporary imprisonment". How temporary that is depends on how much you value your freedom.

</comment></comment><comment><USER8> Does anyone know how this affects foreigners? A relative of mine is a pilot and flies to Dubai a few times a month usually. She always uses a VPN to watch Netflix while she's there. Is she at risk?

<comment><USER9> Netflix has blocked VPNs for at least a few months now. Unless she uses VPNs for other things, she won't be using one anyway.

<comment><USER10> Just to be clear, one can setup OpenVPN on their home network (I have it running on my dd-wrt router). So, Netflix has taken measures to prevent usage of VPN services, but not VPNs, per se.

</comment></comment></comment><comment><USER11> This is for boosting profitability for Etisalat. The sole telecom provider in UAE. This mainly targets migrants workers in UAE. They get paid 90 or 100 dirhams/month. Etisalat charges a lot to make international calls. The migrant workers have to spent atleast 20% of their salary to call their dear ones,so the migrants make use of VOIP services. This move is to ban the low salaried workers from using VOIP. I have seen plain cloths officers randomly checking migrants mobile phones in public to see if they have installed any VOIP software.

</comment><comment><USER12> Well that's awkward. I had a friend visiting there for business and she needed to access her home computer while away. So as any good friend does I set up a VPN for her. I am not sure who she would have been more angry at - me or the UAE - should there have been repercussions.

</comment><comment><USER13> So silly. And for what, to prevent people from "illegally" using Skype? Plenty of sane, rational reasons to use a VPN that don't involve VoIP services.

This move directly supports monopolization of the market for VPNs.

<comment><USER14> No, to prevent people from "illegally" using VOIP services they cant monitor with advanced tools and monitor.

<comment><USER15> The VOIP ban in the UAE is as much about protectionism for Etisalat as it is about surveillance.

</comment></comment></comment><comment><USER16> That just killed Dubai/UAE off my list of countries I consider moving to.

<comment><USER6> I hope that it was only on your list at all because you're somehow unaware of their human trafficking and slave labor issues? It seems like it should have been crossed off your list a long time ago... [https://en.wikipedia.org/wiki/Human_rights_in_the_United_Ara...](https://en.wikipedia.org/wiki/Human_rights_in_the_United_Arab_Emirates)

<comment><USER16> I instantly want to post a link to Guantanamo as a counter argument.

VAE are far from perfect and I know it. Compared to many other countries in the region, it feels like pure "freedom" to be there. I found the residents to be relatively open minded. And their respected leader, while an absolut monarch, has the problem he has to rule a country that has a heterogenous population that is partly ultra-modern and ultra-conservative and he does a quite good job (compared to other countries in the region, again). For example, drinking alcohol is allowed at home and in hotels, but it is strictly forbidden in public. If he ruled in favor of total freedom, the conservatives would complain. If he ruled in Saudi-style, the 80% foreigners and Tourists would stay away.

For family reasons, business reasons, tax reasons and weather reasons, I have some appreciation for UAE. But I absolutely need open internet and will not accept anything else.

<comment><USER17> > I instantly want to post a link to Guantanamo as a counter argument.

That's not a counter argument, it's a fallacy: [https://en.wikipedia.org/wiki/And_you_are_lynching_Negroes](https://en.wikipedia.org/wiki/And_you_are_lynching_Negroes). It's also an argumentative tactic that means that no country can ever be criticized for what it's doing because the country of the person doing the criticizing will always be doing _something_ worthy of criticism as well.

It's also intellectually and morally bankrupt to compare a country's treatment of more than 50% of its population (women + the foreign laborers that outnumber Emirati citizens) with a country's treatment of a few hundred people captured on foreign battlefields.

<comment><USER16> Last time I checked, USA was far ahead of the UAE in absolute and relative numbers of regular executions (and we don't count drone strikes now). My counter arguments are not to defend the UAE, but to widen the perspective and trying to tell you to compare the country more to its neighbours. It's a pity, of course, that democratic traditions and general acceptance of human rights are not existent in most middle eastern states. Women in UAE enjoy relative freedom compared to surrounding countries (please pronounce: compared to. Of course it is not western-democratic style). They can wear the hijab or go to the beach in very short bikinis, just as they want (or, to be fair, as their tradition of the family is). In general, I did not feel unfree in the country.

<comment><USER18> Counterargument: there is no reasonable argument that suggests that civil rights in the UAE are comparable to those of any country in North America or Europe --- Europe here probably including Belarus. Among other issues, UAE law is systemically and profoundly abusive to women.

</comment></comment></comment></comment></comment></comment><comment><USER19> Just reading the headline, but isn't the use of a VPN to access a blocked service a criminal CFAA abuse in the US? Aaron Swartz did basically just that and was threatened with decades in prison.

</comment><comment><USER20> How are any large enterprises expected to do business there then? So many of them require a VPN to get things done. This is bonkers.

<comment><USER21> It's the perfect kind of law for oppressive governments. Everybody does it. If you play nice they will ignore it but if you don't play along they immediately have something against you.

</comment></comment><comment><USER22> Easy. Just run your VPN usage through a VPN.

<comment><USER23> I'm behind 7 proxies and use ZoneAlarm, Sygate and Comodo Internetnet Securtiy which I all keep up-to-date. THAT'S THREE FIREWALLS AT THE SAME TIME

<comment><USER24> Well.... if only one of them is hijacked you are busted!

</comment></comment></comment><comment><USER25> this looks like a marketing material for viber</comment>


People cannot buy BA tickets because of jQuery not loaded - <AUTHOR> https://twitter.com/search?q=british%20airways%20jquery&src=typd <comment><AUTHOR> Here's the workaround, if you - like me - _really_ want to buy those tickets. [http://blog.pragmaticengineer.com/heres-how-to-hack-the- ba-w...](http://blog.pragmaticengineer.com/heres-how-to-hack-the-ba-website- to-be-able-to-buy-a-ticket-2/)</comment>


Google's $500 million plan to stop Amazon - <AUTHOR> http://timesofindia.indiatimes.com/tech/tech-news/Googles-500-million-plan-to-stop-Amazon/articleshow/38007064.cms

<comment><USER2> I think it's going to cost a little more than $500M

</comment><comment><USER3> If there's competition will be good for shoppers.</comment>


Brain-Interface Technology Advances Provide Clearer Insight into Visual System - <AUTHOR> https://www.cmu.edu/dietrich/news/news-stories/2017/december/neuroscientists-engineers-new-eeg.html <comment><USER2> Wow - add better sensors and you get more data - who would have thought. I suspect that the there is more to this than what the author of the press release managed to write

<comment><USER3> The article abstract ([https://www.ncbi.nlm.nih.gov/pubmed/29176609](https://www.ncbi.nlm.nih.gov/pubmed/29176609)) says that the old "nyquist density" sensor arrays were designed to capture the theoretical maximum amount of data present. But it turns out those models were wrong.

</comment></comment><comment><USER4> This seems like a no-shit sort of finding and hardly seems deserving of this article's hyperbole. You add more electrodes, you get more information with diminishing returns. This seems like the CogSci version of adding a 5th blade to a razor.</comment>


Ask HN: Do you listen music while programming?? - <AUTHOR> If yes, What is your favorite playlist. <comment><USER2> I recommend soma.fm [0] internet radio if you're into electronic/indie music. I usually listen to a couple of stations (Groove Salad or Lush), but there are many more. A by-product of listening is that it helps you to discover some good, but less-known musicians.

[0] [http://somafm.com](http://somafm.com)

</comment><comment><USER3> Definitely.

Music for Programming: [http://musicforprogramming.net/](http://musicforprogramming.net/). Number 24 (RITES) is a particular favorite. I also recommend 1 and 3.

The soundtrack for Black Ops 2 gets a lot of play as does Halo 3 and also, the soundtracks for Ghost In The Shell or Solaris.

<comment><USER4> Great website. Most websites are full of BS. This one works like a charm. Thanks for posting it.

</comment></comment><comment><USER5> I have a large collection of post-rock and similar instrumental songs that I frequently listen to while working. Spotify has a great selection of songs on a curated playlist called "Deep Focus". Having something playing that I'm not going to focus on really helps me get in the zone and focus on what I need to get done.

Also, sometimes I'll listen to Coffitivity instead--times that I'm looking for some background noise but I'm tired of the usual playlists. It's a looped recording of various public places. Eventually you get to notice the loops, but its still pretty solid.

</comment><comment><USER6> Game soundtracks, game soundtrack remixes, film soundtracks (less often these days), anime soundtracks.

Typically I will enqueue a whole genre in Winamp then play it on repeat shuffle. Also good when mindlessly browsing the web.

</comment><comment><USER7> I need to listen to music that I already know pretty well. It works like white noise in the background.

If I listen to anything new, I cannot focus on the programming.

</comment><comment><USER8> Yes. Mostly soundtracks from some awesome movies I can relate to. Also anime soundtracks are quite awesome. Sometimes the memory connection to some of those great moments from movies/anime/tv series help get me into the zone and give a bit of adrenaline to do get shit done fast.

</comment><comment><USER9> Ambient psychedelic, downbeat artists: Carbon Based Lifeforms, Solar Fields, HUVA Network and more.

</comment><comment><USER10> Classical music. Mozart, Bach, Chopin, etc.

<comment><USER11> Schubert!

</comment></comment><comment><USER12> No, but I do listen to a variation of sounds from here[1]. I found it's much better than complete silence.

[1] [http://www.noisli.com](http://www.noisli.com)

</comment><comment><USER13> My favourite is [http://currentcondition.org/](http://currentcondition.org/), having the visuals up on a spare screen is a plus also!

</comment><comment><USER11> I have a few Noisli white-noise mixes that I alternate through, mostly combinations of rain, wind, and brown noise (gaussian frequency distribution). Hate the coffee shop noises. On top of that I sometimes add in music at a low volume, preferably something without lyrics, like classical or postrock. For classical I like Brahms and Schubert. Occasionally I'll mix in something atonal/arhythmic like Philip Glass or Brian Eno.

</comment><comment><USER14> Always. I like upbeat foreign music (e.g. Korean pop) that I don't understand the language so it doesn't distract me. And Deep House.

</comment><comment><USER15> Yes, depending on my mood I have a trance/techno playlist, an old-school punk playlist (Fear, Bad Religion, NOFX, etc.), and a metal playlist (Slayer, Slipknot, U.D.O., etc). Once in a while the retro disco as in Donna Summer, Kool & The Gang, and the Village People will be played also. One thing I really must have is variety.

</comment><comment><USER16> I listen to all kinds of music while programming!

Some examples of musicians I'll play during the day: Dave Brubeck, Cindy Bradley, Four80East, Vince Guaraldi.. E-40, Kanye West, Neyo, Tony Bennett, Andy Williams, Gipsy Kings..

I'm pretty much all over the place depending on my mood. Sometimes even Willie Nelson music makes it into my queue lol.

</comment><comment><USER17> I have a set playlist for programming morning-afternoon, just to get in the mood.

Here's what I listen to : [http://blog.wirdd.in/post/131088231061/what-do-you- listen-to...](http://blog.wirdd.in/post/131088231061/what-do-you-listen-to- while-programming)

</comment><comment><USER18> I listen to music all the time while programming, and it varies widely depending on my mood that day. It can be anything from pop, hiphop, rock, country, jazz, folk or classical. It all fades into the background, even if I have never heard the song before.

Spotify was the best investment I have ever made.

</comment><comment><USER19> I don't need to listen to music when programming. I do sometimes, I don't other times. At work, I'm not allowed to listen to music - which I find very annoying considering I have to listen to coworkers and can't tune them out.

</comment><comment><USER20> KEXP, which is a good variety, and not too much talking (no ads, but DJ's with personality, which I like). Otherwise mixes from Radio1 and 1xtra (I favor just slightly odd dance music). And then Rinse.FM and Sub.FM for dance music.

</comment><comment><USER21> 65daysofstatic, moondog, explosions in the sky, god is an astronaut, instrumental stuff.

</comment><comment><USER22> I only listen to music during programming when I feel stuck on some specific problem. I generally listen to the Matrix soundtrack at that time. I guess its the mental association of the movie + programming.

</comment><comment><USER23> Yes, I'll often listen to [https://soundcloud.com/complexion](https://soundcloud.com/complexion).

</comment><comment><USER24> Yes! I love listening to music while programming. I usually go for either some upbeat rock/alternative, electronic, or game OSTs.

</comment><comment><USER25> From beginning to end. Bon Iver, Beck, Dave Matthews Band...

</comment><comment><USER26> Eskimo, Infected Mushroom, GSM, orbital,</comment>


Rails Guides are also available for the kindle - <AUTHOR> http://edgeguides.rubyonrails.org/

<comment><AUTHOR> Here is the download URL [http://edgeguides.rubyonrails.org/kindle/ruby_on_rails_guide...](http://edgeguides.rubyonrails.org/kindle/ruby_on_rails_guides_b417d3d.mobi)</comment>


Variational Inference for Machine Learning [pdf] - <AUTHOR> http://shakirm.com/papers/VITutorial.pdf <comment><USER2> Stan and PyMC3 both implement automatic differentiation based variational inference, so you can write down your statistical model and not care "much" about derivatives.

[http://mc-stan.org](http://mc-stan.org) [https://github.com/pymc- devs/pymc3](https://github.com/pymc-devs/pymc3)

<comment><USER3> There's also the TensorFlow-based Edward: [https://github.com/blei- lab/edward](https://github.com/blei-lab/edward)

<comment><USER4> stan and edward dev here. happy to answer any questions.

(shakir's blog posts are amazing; i recommend them all.)

<comment><USER5> Very cool, many questions

1) Why create a project distinct from Stan? Was it the prospect of benefiting of all the work going into TF and focus solely on the sampling procedures rather than autodiff or GPU integration?

2) Are you implementing NUTS?

3) Any plans to implement parallel tempering

4) Any plans to handle "tall" data using stochastic estimates of the likelihood?

<comment><USER4> great questions.

1\. you touch upon the right strengths of TF; that was certainly one consideration. edward is designed to address two goals that complement stan. the first is to be a platform for inference research: as such, edward is primarily a tool for machine learning researchers. the second is to support a wider class of models than stan (at the cost of not offering a "works out of the box" solution).

our recent whitepaper explains these goals in a bit more detail:

[https://arxiv.org/pdf/1610.09787.pdf](https://arxiv.org/pdf/1610.09787.pdf)

2) no immediate plans. but we have HMC and are looking for volunteers :)

3) same answer as above :) should be relatively easy to implement tempering.

4) this is already in the works! stay tuned!

<comment><USER5> 4) which approach are you using? Generalized Poisson Estimator, or estimating the convexity effect of the exponential by looking at the sample variance of the log likelihood? The former is more pure, the latter may be more practical if ugly.

<comment><USER4> theses are great insights.

our first approach is the simplest: stochastic variational inference. consider a likelihood that factorizes over datapoints. stochastic variational inference then computes stochastic gradients of the variational objective function at each iteration by subsampling a "minibatch" of data at random.

i reckon the techniques you suggest would work as we move forward!

<comment><USER5> Edit: ah never mind, variational inference, got it! I was thinking stochastic HMC!

\---

Ok but that will get an unbiased estimate of the _log-likelihood_. MCMC or HMC do work with noisy estimators, but they require unbiased estimates of the _likelihood_.

At the very least, you need to do a convexity adjustment by measuring the variance inside your mini batch. Or you can use the Poisson technique which will get you unbiased estimates of exp(x) from unbiased estimates of x (albeit at the cost of introducing a lot of variance).

<comment><USER4> great points; yes, the challenge becomes considerably more challenging with MCMC!

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> > Many samples needed, especially in high dimensions

This isn't true. For Monte Carlo sampling, the convergence of unbiased estimators (for example the expectation) is independent of the dimension of the state space. In fact, this is exactly the reason to _prefer_ Monte Carlo integration over, say, a Riemann sum.

<comment><USER5> That's true in the asymptotic, but the dimension find a way to rear its head in the constant to the big O through the variance of your estimator. It's still better than Riemann integration, but it sucks nonetheless.

For instance, integrate the function f(x1,x2,...xd) = 6^d * x1 * (1-x1) * ... * xd * (1-xd) on the d-dimensional unit cub (the answer is 1, for all d). the expected variance for a single point estimator is -1+(6/5)^d, which increases exponentially in the number of dimensions. That's the multiplicative constant to your big O.

For a probabilistic example let x_i ~ N(0,1) for i in 1..d and let s = Sum x_i. Try estimating the probability that -0.1 < s < 0.1 by Monte-Carlo sampling.

If most of the probability distribution mass is located near a manifold of lower dimensions, as tends to be the case for natural data, your variance will be huge.

MCMC, HMC both improve this state of affair by letting you walk or "glide" on the manifold, but you still have to contend with curvature, with multiple modes etc.

<comment><USER7> What course did you study to get this knowledge?

<comment><USER5> AlexCoventry is right, these are "the mathematics of Bayesian inference", to unpack a bit my recommendation is:

\- Get a strong grip on linear algebra and euclidean spaces. You should be able to have an intuitive feel for the key theorems (e.g. Cayley-Hamilton, the Spectral theorem) and should be comfortable proving them (at least once). The point isn't that you need to check that they're correct (they are), but if you can prove them, it means you've learned a certain amount of prerequisite knowledge and gained enough familiarity with the topic. They aren't just theorems you apply, they make sense and you understand the intuition behind them.

\- Get the same feel for multivariate calculus. The intuition there is generally easier to acquire than for linear algebra, but you need to be comfortable with the mechanics of it. Learn to prove your results rigorously, but also to quickly derive formulas by treating infinitesimals as variables, like a physicist.

\- Study integration, measures, distributions and the fundamentals of probability. If the course talks about sigma-algebras, you're in the right place. Finally study Baseyian statistics, Monte-Carlo Integration, Markov- Chain Monte-Carlo, some information theory

You don't _need_ that level of rigor and that level of fundamentals to do machine learning. Some linear algebra, some calculus and some probability theory that you pick along the way will generally do. However, I think if you're interested in ML it is worth the effort because it will make most of the math seamless. This is a lot of math to learn, but it's not particularly "advanced" math. The underlying intuitions are relatively concrete and a lot of the procedures are relatively mechanical.

<comment><USER7> Thanks for the wonderful reply. How long do you estimate it took for you to get to the level you are now?

<comment><USER5> That's hard to answer because there wasn't a precise point where I started and that's not the only thing I've been studying in my life, and I've studied a lot of this while working full time jobs which didn't really require this knowledge (constructive procrastination ftw). I started getting interested in sequential Monte-Carlo methods around 2008 while working at a hedge-fund and I think I had a pretty solid grasp by 2011. But I started with solid math fundamentals, so picking it up wasn't too troublesome.

I think a talented high-schooler could learn this topic in three to four years by studying it (and nothing else) intensively. I think it tends to happen more organically in general. You become proficient along the way, it's more of a lifelong thing. I think every piece you'll learn will be valuable and useful on its own.</comment></comment></comment></comment></comment></comment>


Design Systems Dot Com - <AUTHOR> https://www.designsystems.com/ <comment><USER2> I can't zoom in or out on this website, and it's huge by default on my monitor...

out of curiosity, how does that even happen? do they use JS to change the font size when the window zoom changes?</comment>


Ask HN: Stay or leave - <AUTHOR> Let's say you'd like to work on some stuff of your own that you like, that makes you happy and most likely that will make your resume look good (although it won't probably pay the bills in the short term). Let's also say that you have a job that takes up a lot (like, really a lot) of your waking time -- and yes, you need to sleep quite some time in order to be fully functioning.<p>What would you do? Keep your job and hope for some more time to work on your weekend projects or make the leap and leave the workplace, possibly getting some money working as a contractor here and there? <comment><USER2> Don't let success stories from HN fool you. Your chances of having a side project provide a reasonable lifestyle in the short term are incredibly low.

I would recommend option #3: switch jobs to one that has a more reasonable work/life balance. Then use your free time to work on the side project to the point where 1) it could support you, 2) you could get angel funding, or 3) you validate the null hypothesis that there is not a business there (but still get a great resume line out of it).

</comment><comment><USER3> It's great to be able to work on stuff that I want to work on. But the problem is, I also like to eat...

How long is your runway? If you quit today, and didn't make any money as a contractor, when do you run out of money?

If the answer is a year, say, I could see taking a 6-month sabbatical to work on what you want. If the answer is a month, then no, don't quit. You can't afford to.

</comment><comment><USER4> 1\. before you leave do you have a marketing channel for your project? And is it working? 2\. look at outsourcing things. I can get about 2-3 hours for every hour I work from someone overseas. They maybe can't do it all but they can do a lot.</comment>


Size Does Matter — Bigger Monitors Save 2.5 Hours a Day - <AUTHOR> http://www.fourhourworkweek.com/blog/2008/03/15/size-does-matter-bigger-monitors-save-25-hours-a-day/

<comment><USER2> How many reviews and commentaries on one study can we read?</comment>


UBlock: a fast, lightweight, and lean blocker for Chrome, Firefox, and Safari - <AUTHOR> https://github.com/chrisaljoudi/uBlock <comment><USER2> I haven't used uBlock yet. I've used Adguard and I find it to be equally good. Adguard too claims to be lightweight and fast.

Does anyone have experience with using both these extensions?

</comment><comment><USER3> [https://github.com/gorhill/uBlock](https://github.com/gorhill/uBlock)

<comment><USER4> A link to uBlock Origin, maintained by the original author. I've had better luck with it so far.</comment></comment>


Control objects with only the power of your mind with OpenBCI - <AUTHOR> http://iniwall.com/2015/11/27/control-objects-with-only-the-power-of-your-mind-with-openbci/ <comment><USER2> Does anyone know how the OpenBCI headset compares to something like the Emotiv EPOC headset? I'm just starting to get into this stuff and looking to buy a headset for tinkering, but not sure which one to start with...

<comment><USER3> Most of the consumer stuff is crap… only system I'd suggest is with openephys, but at this point youd have to buy the cap/electrodes separately putting you at a $3-5k range for 32 electrode setup, which I have to say is a lot better than the $100k+ systems researchers are used to and like to use for a reason.

<comment><USER4> Have you played with Ti's EEG ADCs out of interest, they seem reasonably affordable.

<comment><USER3> No I haven't, but here are the datasheets for the parts used in the OpenEphys acquisition board[0], I'm sure they could be swapped out for other parts given anyone's particular constraints. To assemble from scratch the acq board, they are saying it will cost about $1k[1].

[0] [https://github.com/open-ephys/acquisition- board/tree/master/...](https://github.com/open-ephys/acquisition- board/tree/master/datasheets)

[1] [https://open- ephys.atlassian.net/wiki/display/OEW/Building+i...](https://open- ephys.atlassian.net/wiki/display/OEW/Building+it+from+scratch)

</comment></comment></comment></comment><comment><USER5> Honestly, I can't imagine myself wearing such a gigantic and ugly headset.

However, I can't wait until this technology is miniaturized and mass commercialized for a few generations. Hopefully, it doesn't trip up like Google Glass did (which is another important technology that ties in with this kind of thing).

<comment><USER6> It wouldn't make much of a difference though if you are already wearing VR.

</comment></comment><comment><USER7> There's IBVA also (Mac support)</comment>


Show HN: Trello for startup name searches. After-work project. - <AUTHOR> http://domiy.com

<comment><USER2> We are looking for names right now, so I'm looking forward to giving this a test run. (We are using trello at the moment for that purpose).

So here are my impressions/some suggestions:

\- I don't mind registering an account myself, but I want my team to be able to contribute without creating an account. A "magic" sharing URL would be great (or maybe Google auth, since that's what we use on trello). We like trello because we can have almost everything in one tool.

\- It would be helpful if the tool could check if the twitter account, facebook page and G+ page are also available.

\- Since we are in the EU we like checking a bunch of other endings as well (.de, .at, .co.uk,...). I see your tool checks those as well, but it would save time if I can enter one name and it checks all my specified tlds.

\- there's a bug somewhere that makes the whole list disappear for a couple of seconds and the re-appear again.

<comment><AUTHOR> Thanks for the feedback.

Your first idea is is a great suggestion actually. I'm not too clear on how exactly I would implement a sharing url while still keeping privacy levels high but I'll definitely look into it.

My assumption is that any monetisation will come from the small number of "power users" who create lots of searches and invite people into them. Therefore, the less friction there is for non-power users the better I guess.

Twitter, Facebook checking etc. is the next feature I will implement. I just wanted to release as early as possible to get some feedback.

I spent quite a while thinking of various ways that the UI would work without arriving at any concrete conclusions.

The drawback of presetting domains is that sometimes you want to make a suggestion which is tied to a particular domain. For example, a user might suggest "easi.ly". In that case, the tld is part of the name and would only apply for that specific suggestion.

I'm not a designer and I'm not sure how to retain flexibility of suggestion while gaining ease of use.

Haha. That's not really a bug (assuming we're talking about the same thing). I made it filter the list of suggestions as you type in the box to try and make it easier to see if a suggestion has already been made. I guess perhaps I should remove it since it seem to be confusing people?

Thanks for checking out the product.

<comment><USER2> Privacy: I think a url with a long enough random identifier would be sufficient and is often used in web apps to share content.

Multiple TLDs: Since the tlds are quite short, I would keep the name on the left and include one column per tld (with the availability icon). If the user enters the name with the tld then only that column shows availability and the others have a "click here to check availability" symbol.

Maybe the app could learn what I like searching for automatically? E.g. you enter foo.com then foo.de, foo.ch, foo.at etc. Each time there is only one line 'foo' and four column (com, de, ch, at). The next time the user only enters a name it automatically checks them all.

Bug: You're right that is what I'm talking about and I didn't recognize I was filtering the list. Maybe simply adding "List filtered by 'xyz'" would clear that up.

<comment><AUTHOR> Great ideas. Thanks again.

</comment></comment></comment></comment><comment><AUTHOR> I've been building this in my spare time over the past 3 weeks.

I had the idea after many experiences of having difficulty trying to find good startup names with various co-founders. I always thought a central place for us to log suggestions would help tremendously.

I finally decided to build it after attending my first Startup Weekend and experiencing the same problem again.

Hope you like it.

</comment><comment><USER3> I've been building this in my spare time over the past 3 weeks.

I had the idea after many experiences of having difficulty trying to find good startup names with various co-founders. I always thought a central place for us to log suggestions would help tremendously.

I finally decided to build it after attending my first Startup Weekend and experiencing the same problem again.

Hope you like it.

</comment><comment><USER4> Looks like there's no way to change your password once you've signed up. This is unfortunate, and there's also no verification to ensure that you typed the password that you thought you typed when signing you up.

<comment><AUTHOR> You're right. I'm sorry about that. Before I posted this, I didn't think I would have any users!

I can start working on that right now actually. I'm using a third-party authentication library so really all I need to do is add the views to edit users etc.

I'll add a forgot-password link also.

</comment></comment><comment><USER5> Great idea! I know we spent tons of time with a google doc back and forth checking domains.

<comment><AUTHOR> Thanks Brian.

Perhaps you would answer a quick customer discovery question for me. Do you think you would pay $5 per search on Domiy?

<comment><USER5> Hi, I don't think I would, it's nice to have the URL lookup, but a tab in chrome with whois opened up is free while using trello or a google doc. Plus the market segment that would find this tool useful is quite small of start- ups. However, I would argue this would be great tool worth paying for enterprise wise, ad/design agencies have a nightmare trying to find a URL for projects, or new rebranding projects.

<comment><AUTHOR> Ok cool Great tip on the enterprise thing. Thanks for the feedback.

</comment></comment></comment></comment><comment><USER6> So, how are you supposed to pronounce the name of your project?

<comment><AUTHOR> Personally I pronounce it as if the 'y' didn't exist.

It's definitely an issue though. I didn't have this tool available when I came up with the name!

<comment><USER7> I guess it's more confusing because your page title is domainer and your domain is domiy :)

<comment><AUTHOR> Oops! Good spot. Thanks.</comment></comment></comment></comment>


What's Wrong with Open Source Telegram? - <AUTHOR> https://yalantis.com/blog/whats-wrong-telegram-open-api/ <comment><USER2> If you commit your time and money on developing a messaging app using Telegram source code, you probably won't be happy about having to publish your code for everyone else to use.

oh, how sad. I still cannot comprehend how come someone with that low understanding of open source can write such article.</comment>


Google Buys a Quantum Computer - <AUTHOR> http://bits.blogs.nytimes.com/2013/05/16/google-buys-a-quantum-computer

<comment><USER2> Have D-Wave demonstrated any actual quantum behaviour yet? I had them down as a scam prior to the google involvement; now I'm not sure what to think.

<comment><USER3> It seems that they did build a probably quantum but quite likely not computer. They are actually solving some optimization problem. And they do this quite well. However as far as I understood, they did not convincingly demonstrate that they are actually using a quantum version or a classical version of the system. And quite likely they can not run arbitrary computations. So it seems that the jury is still out, if they did build a quantum computer or a very specialized classical hardware.

<comment><USER4> It is an adiabatic quantum computer: <https://en.wikipedia.org/wiki/Adiabatic_quantum_computation>

</comment></comment></comment><comment><USER5> Recently I read an article [1] about this, and it seems that D-Wave has a large advantage in optimization problems that pop up often in machine learning.

I think this is a lot less esoteric than it sounds: a company develops a computer that is a lot faster at optimizing using a quantum trick, we do classical machine learning faster. I'm pretty certain they're not doing anything qualitatively different than before. No (largely debunked) Penrose theories on quantum consciousness, sorry.

[1] [http://www.newscientist.com/article/dn23519-commercial- quant...](http://www.newscientist.com/article/dn23519-commercial-quantum- computer-leaves-pc-in-the-dust.html)

<comment><USER6> But their demo software is to solve the traveling salesman problem - with 4 nodes. I can do that on paper. If the bloody thing works, why not show us how to solve it for 50 countries, or all the counties in Ireland, or something that shows it actually doing something cool?

It looks like a scam.

</comment></comment><comment><USER7> I think if there is someone I would not want to own a quantum computer, next to Lockheed Martin, thats Google. They already are at least 10 years ahead of everyone else. If they are the first to spend the money on seriously making use of quantum computers, who on earth is going to stop them if they decide to make bad use of their power?

I'd really like to see this power in a companies hands that is not against the concept of privacy.

<comment><USER8> _They already are at least 10 years ahead of everyone else_

What one Earth does this mean?

<comment><USER9> Well, he did include "at least" which suggests he was just coming up with a rough figure. I somewhat agree with him.

There is no denying that Google is (arguably) one of the most powerful companies out there. Are they ten years ahead of everyone else? Maybe, maybe not. But one thing for certain is that they have the computing power, finance,and connections to pretty much pursue whatever they want.

Is that a bad thing? Who knows. It really boils down to whether anyone/anything should ever have that kind of power.

<comment><USER10> Just wait until Google self driving tech is installed into a majority of new cars in 20 years. Or less.

</comment></comment></comment></comment><comment><USER4> "Quantum" is a bit of buzzword in a sense that people understand it in a very narrow sense. D-Wave's system is NOT a "classical" qubit-based quantum computer. What it does is essentially global optimization of multimode functions using quantum effects.

<comment><USER11> True, but significantly faster global optimization of multimode functions _by any means_ turns out to be pretty useful for exactly the types of ML problems that are stretching the limits of current hardware. This seems like a promising first step towards technology that could be _really_ useful if it comes anywhere close to doing what it claims.

</comment></comment><comment><USER12> All jokes aside, it's fairly obvious we're dooomed to be Skynet'd one day or another in the future.

<comment><USER13> that depends on your definition of "we"

ozh fourth of ten, you've got glass installed, right ?

</comment></comment><comment><USER14> Interesting, I thought D-Wave was still a bit ropey and quantum computing was a bit of a fussy problem to get working consistently. Although it comes as no surprise Google is getting on the quantum computing bandwagon nice and early, but the idea of the pinnacle of algorithmic research with quantum computing being done by a company that likes to optimise data processing to help advertise to you more effectively is...well, frankly somewhat ridiculous.

</comment><comment><USER15> While I loathe Ayn Rand I have to give her some credit for capturing accurate human behavior in Atlas Shrugged: the D-Wave skeptics seem to behave exactly like Rearden's detractors.

But in the face of it all, D-Wave keeps plugging along, landing larger contracts, and hitting more impressive benchmarks. They may fizzle out in a flame of failure in the end, but as it stands, they seem like they're doing a great job.

</comment><comment><USER16> They can't hash SHA256 with this quantum computer, can they?

</comment><comment><USER17> I hadn't considered just how radically different a quantum computer would look. That is really something else, like the gauss gun from Half Life.

</comment><comment><USER10> Singularity draws ever closer...

<comment><USER18> And the target size for friendly systems is probably tiny.

</comment></comment><comment><USER19> Awesome

</comment><comment><USER20> Whenever I hear about Google doing some genuine technology, it just makes me a million times more fucking angry to compare what Google must be like if you're a Real Googler (machine learning projects, basic research, quantum computing, meaningful work) to the misery that the other 90% endure.

I feel like this should be much more of an HR problem than it seems to be. Whenever it comes out that Google's real members are working on a neat AI or robotics problem, everyone who's stuck working on some dead-end maintenance project for some terminal middle manager ought to go to a VP and say, "I want on this cutting-edge technology _now_ or I will fucking quit." That 18-months bullshit should be cause for shit to get blown up.

<comment><USER21> So who works on the rest of the existing Google systems once everyone just up and switches to doing research and "meaningful work"?

<comment><USER20> Well, here's how I think about it.

If you have an open allocation system where people are free to work directly for the company, then people spend some time on the research work that interests them, and some on the maintenance and upkeep of critical systems. Why do they volunteer for less attractive projects? Because they actually care, because the company is (imagine this) worth caring about. Once the maintenance work is done by volunteers rather than extortion victims, it starts getting a lot of respect and people to do it to be "heroes". So yes, it still gets done.

On the other hand, if you work in a careerist closed-allocation hellhole where your boss has unilateral authority to whip it out and flow a shot on your performance reviews/"calibration score" (i.e. managerial extortion) then, obviously people are going to look out only for themselves and the maintenance won't get done unless someone's forced to do it (in which case, it's done very badly). People will not freely participate in a closed allocation company's upkeep because the work culture of a closed-allocation firm is not worth caring about or protecting.

They're both equilibrium states. In one (open allocation) people see themselves as citizens and do the full mix of the work: the important and fun stuff, but also the less-fun but critical "hero" work. In the other (closed allocation/extortion economy) people realize that the company has no consideration for them and that no one's looking out for their careers, so they take anything that's not nailed down and the critical upkeep work doesn't get done.

<comment><USER22> The way I see is, there is always going to be a 'somebody has to do this dirty work' mentality everywhere. No matter where you work at.

What work you get is very similar to being born. A baby born could have easily been somebody else. If you look at this way, you are almost definitely not going to get those big projects unless you are into some kind of a political game or are simply good enough and get your due chance.

One thing I've learned the hard way is, a person must not 'wait'. He must not wait for chances to come, or the ecosystem to help him, or somebody else to do it for them. Couple of days back I was reading Aaron Swartz's essay on productivity. In which he mentions a very important point- Always choose the most important problem to work on. And if you follow that advice seriously. You will someday find yourself working on most important problems in the world.

In the end, its just comes down to you. In large corporation project allocations are random at best, completely devoid of merit.

<comment><USER20> _If you look at this way, you are almost definitely not going to get those big projects unless you are into some kind of a political game or are simply good enough and get your due chance._

You would have had a more accurate statement if you truncated it before the "or". Closed-allocation companies always have the most important work done by the politicians, not the people most adept at doing it. There are no exceptions.

 _In which he mentions a very important point- Always choose the most important problem to work on._

This will get you fired. It means that you are pursuing your own career goals (and benefiting the company, but not your immediate managers) rather than your boss's and you will be shit-canned as soon as he finds out.

 _You will someday find yourself working on most important problems in the world._

No, you will be long-term unemployed if you follow that strategy.

I have a lot of respect for Aaron Swartz, but look at what the fuckers in power did to him.

</comment></comment></comment></comment></comment><comment><USER23> But does it run BF3?</comment>