Serverless Performance: Cloudflare Workers, Lambda and LambdaEdge - <AUTHOR> https://blog.cloudflare.com/serverless-performance-comparison-workers-lambda/?hn <comment><USER3> For what it's worth at work (Discord) we serve our marketing page/app/etc... entirely from the edge using Cloudflare workers. We also have a non-trivial amount of logic that runs on the edge, such as locale detection to serve the correct pre-rendered sites, and more powerful developer only features, like "build overrides" that let us override the build artifacts served to the browser on a per-client basis.

This is really useful to test new features before they land in master and are deployed out - we actually have tooling that lets you specify a branch you want to try out, and you can quickly have your client pull built assets from that branch - and even share a link that someone can click on to test out their client on a certain build. Just the other week, we shipped some non- obvious bug, and I was able to bisect the troubled commit using our build override stuff.

The worker stuff is completely integrated into our CI pipeline, and on a usual day, we're pushing a bunch of worker updates to our different release channels. The backing-store for all assets and pre-rendered content sits in a multi-regional GCS bucket that the worker signs + proxies + caches requests to.

We build the worker's JS using webpack, and our CI toolchain snapshots each worker deploy, and allows us to roll back the worker to any point in time with ease.

I wrote probably the stupidest worker script too, that streams a clock to your browser using chunked requests: [https://jake.lol/clock](https://jake.lol/clock) (no javascript required).

<comment><USER4> At Cloudflare we're all in awe at how fast [https://discordapp.com](https://discordapp.com) loads... nice work.

<comment><USER3> Thanks! And thanks for building Cloudflare workers. You have no idea how much nicer it is to write and express a lot of this logic in modern javascript, rather than nginx configs and VCLs.

</comment></comment></comment><comment><USER5> The value of any function-as-a-service is the ecosystem within which it sits. Pretty much all of them are the same: upload your code, we will run it.

The value comes from 1) What can trigger that code to run and 2) What services that code can interact with.

And on those two points, AWS still wins hands down. They have by far the most possible triggers for Lambda, and they have by far the most services that Lambda can interact with.

It's cool that Cloudflare built something faster, but unless you're running in a vacuum, speed is the least of your concerns.

<comment><USER6> Yes, that's how Amazon creates lock-in. But it depends what you're doing with it right? If you are looking to run code based on a SQS event, yes you have to use a Lambda. If you are looking to execute code when something visits a URL you have more options.

<comment><USER7> The lockin argument alone is a red herring. Every technology implementation creates lockin. The valid question is how hard is something to change. A good architecture balances how easy it is to change something with how optimized it is, also balancing how much it costs to build and maintain.

Realistically you can get as locked into Amazon as you want, lambda alone does not create inescapable lockin by any measure so I would argue Jeremy still has a point in the fact that tools become more useful when you can use them to do more work (ecosystem)...

<comment><USER8> Amazon performance is generally bad when using other services.

We are rolling out a CDN, with a goal of 20 ms latency in most countries. We want more granularity that AWS - and some zones are just not well served (No AWS in Africa, incomplete offer in Brasil, etc)

Still, we figured we would use Route 53 as you can do Latency Based Routing even with non-AWS servers. Computing latency or using EDNS0 as a proxy is not rocket science, so we thought the DNS would not be a limiting point.

Oh boy, how wrong we were! After wrongly blaming the bad performance on Cloudflare caching, further tests revealed Route 53 takes as much as 0.7s to reply to some DNS queries - and even worse when fronted by Cloudflare, as for some reason the DNS TTL seems to be ignored by Cloudflare. The latency only drops down after about 4 queries, which makes me thing they have some kind of Round-Robin that does not share the DNS queries (I could be wrong)

In the article, the author says: "Most of that delay is DNS however (Route53?). Just showing the time spent waiting for a response (ignoring DNS and connection time)". No you should not ignore the DNS delays! Route53 performance is very bad - 2 full seconds for you!!

We are fortunate it did not take 2s for us. Still, having servers all over the world that reply in 20 ms is useless when the first DNS query takes 700ms.

We ended up leaving for Azure: Traffic Manager outperforms Route 53 by a factor of 2.

Eventually, we will roll our own GeoIP with DNS resolvers on a anycast subnet.

I do not understand how this level of "performance" can be tolerated. At 2 seconds for a DNS query, you are better off using the registrar free DNS service!!

<comment><USER9> Saying Route53 takes "2 seconds" to resolve is pretty meaningless without a distribution or at least percentiles. Route53 obviously doesn't take 2 seconds for all or most queries.

<comment><USER8> I am quoting the author, and their analysis of the initial query. This observation from whoever wrote the article matches my own experimental results: initial queries are very very slow on Route 53 LBR. A distribution of queries is useless and misleading, as later queries are cached if you have a sufficient TTL - so only the first few really matters in the performance results.

Later queries are fast of course, as the results are cached (TTL).

Even if the DNS is very pooly configured, all queries after the first one will benefit from the cache!! So the first few queries matter much more, and this is what we should be talking about instead of distributions and percentiless.

Said differently: If each of your visitor has to way a second or two until the site comes up the first time, then the site works normally, it may still give them a bad impression.

I measured the DNS delay on first Route53 reply to be over 700 ms personally. For the author it is 2000 ms. These results are in the same order of magnitude, and make Route53 unsuitable for many applications. Of coutse, you could start hacking, like keeping Amazon cache warm by issuing queries through chron, or by setting extremely long TTLs and hoping your visitors DSL modem will keep your A records in cache as long as you asked for - but these are just hacks trying to compensate that the first DNS query takes SECONDS to process.

Route53 LBR DNS is not as a "slow and requiring hacks". It's supposed to be fast, simple to run, and to ingrate with different ecosystems. To me, it seems to be none of that.

After assessing Route53 as fubar, I switched from AWS to Azure: TrafficManager offers the same features, and the first request takes less than 350ms. There must still be some cruft in there, but at least it is manageable.

</comment></comment></comment></comment></comment></comment><comment><USER4> As the architect of Workers I was obviously pretty happy with Zack's results in general. But, I'm not happy with the tail latency (99th percentile), even if it beats the competition. I suspect this has to do with GC pauses. The solution may be to proactively run GC in a background thread between requests. For high-traffic workers that are always processing requests, we could load multiple instances of the worker and alternate between them.

BTW, if you're into modern C++ and this kind of work interests you, please e-mail me at kenton at cloudflare.com. We're hiring!

<comment><USER8> You are from Cloudflare? Could you tell me why the replies to geoip/latency based routing CNAMEs do not seem to be cached by Cloudflare?

The setup is: domain.com -> geoiplbr.domain.com with cloudflare caching enabled. Nothing else that is fancy and could cause delays.

If I measure the TTFB for domain.com, I see a large DNS delay until about the 4th consecutive query - and then the DNS is no longer the limiting factor.

The same measures on geoiplbr.domain.com normalize after the 2nd query.

It seems to me you have some kind of Roud Robin going on that does not share the DNS results.

Or maybe the caching is not done at the POP level?

<comment><USER4> Sorry, I work on Workers, not DNS, so I honestly don't know.

</comment></comment></comment><comment><USER10> This seems to disregard some of the other factors that make Lambda > Cloudflare Workers. We run binaries on our lambda instance with a go-based function, since Lambda allows for up to 250mb of binaries, 3gb ram and 30s max, this allows us to perform computationally and ram heavy applications without worrying about our instance being killed off.

Also I looked into using cloudflare workers to write my own custom edge cdn but they currently don't allow you to change where in the call requests are processed or telling cloudflare what to cache vs not cache. If they could have some functionality that would allow you to easily write your own multi layered CDN this would be interesting.

<comment><USER6> It's worth pointing out Amazon charges more than 10x a Worker on a per execution basis to use it as you describe for just 100ms of compute. If you're actually using 30s it's probably very expensive indeed.

The statements in the second paragraph are fortunately incorrect. With the exception of some security features Workers totally takes over the incoming request. It can use flags in its subrequests to configure the cache as you need, and will soon have access to the raw Cache API.

<comment><USER10> Interesting, I'm glad to know that raw access to the Cache API is being added, when I contacted Cloudflare about this a number of months ago at the time they didn't support this. For my edge CDN needs I will reevaluate cloudflare workers soon.

On the first paragraph we have shifted some computationally heavy and horizontally restricted functions from our own servers to Lambda, this allows us to instantly scale to meet our non-consistent demand. With the lambda workers we are using we are averaging 5 to 11s of execution time with approximately 800mb of memory and utilize the cpu heavily. If Cloudflare workers ever expanded to allow for a similar scope I would definitely take a second look at it.

</comment></comment></comment><comment><USER11> Have you think about including Golang based Lambda function in your benchmark?

As you're guessing that Cloudfare superior JS runtime plays a big role, it could be interesting to see if it can compete against Golang Lambda as well.

<comment><USER4> A lot of our performance benefit comes from lighter-weight sandboxing using V8 instead of containers, which makes it feasible for us to run Workers across more machines and more locations. It wouldn't surprise me too much if a Worker written in JS can out-perform a Lambda written in Go, as long as the logic is fairly simple. But I agree we should actually run some tests and put up numbers... :)

On another note, currently we only support JavaScript, but we're putting the finishing touches on WebAssembly support, which would let you run Go on Workers... stay tuned.

<comment><USER12> Just curious: The article mentions V8 isolates. Do you actually also run all IO of the worker in the same isolate? Or in a different one, and the API calls are bridged (via some webworker-like API)?

I guess one of the main challenges is that all resources are properly released when a worker is shut down. Releasing memory sounds pretty easy, if V8 does it for you. But releasing all IO resources might be a bit harder, especially if they are shared between isolates.

<comment><USER4> The Workers runtime itself is implemented in (modern) C++, not JavaScript. So, there's no need for a separate isolate -- API objects are implemented directly in C++.

In C++, memory and I/O resources are both managed through RAII. Of course, when binding to JavaScript, we often end up at the mercy of the JavaScript GC to let us know when an object is no longer reachable from JS, and the GC makes no promises as to how promptly it will notice this (maybe never). That's fine for memory (it amortizes out) but not for I/O resources. So we're back at the original problem.

Luckily, in the CF Workers environment, it turns out that all I/O objects are request-scoped. So, once a request/response completes, we can proactively release all I/O object handles bound into JS during that request/response. If JS is still holding on to those handles and calls them later, it gets an exception.

<comment><USER12> Thanks for the explanation!

Yes, I guess a part of my question was whether the destructors/finalizers that the JS object bindings in C++ might impose are called fast enough to guarantee isolation and prevent resource leakage. Looks like in your case that happens through the request scoping.

</comment></comment></comment></comment></comment><comment><USER13> This really isn't a very good benchmark. It's basically only validating the Cloudflare edge network, but the test itself is far from real-world. A service that returns the current time is not doing anything practical and borders on meaningless.

<comment><USER6> We have a post which compares CPU intensive workloads which should be ready after the American holiday. The summary is a 128MB lambda provides you with roughly 1/8 of a CPU core, which is therefore 8x slower than a worker.

</comment></comment><comment><USER14> Comparing Workers to Lambda proper seems silly. Lambda lets you connect to DBs, use a lot more than 128MB of memory, etc, etc, etc.

Comparing them to Lambda@Edge makes sense, but Lambda@Edge is not a very good product.

(Full disclosure: my company competes with Cloud Flare Workers).

<comment><USER15> Could you expand on your opinion of Lambda@Edge? For my company's needs, it has worked superbly.

<comment><USER14> Sure! I think it's fine infrastructure-wise, but the dev experience is awful. I like tools you can build, test and run locally, for example.

The fundamental problem I run into with Lambda@Edge is just that their request stages aren't a great abstraction (OpenResty/nginx has a similar problem). It really limits what kinds of problems you can solve.

<comment><USER4> > The fundamental problem I run into with Lambda@Edge is just that their > request stages aren't a great abstraction (OpenResty/nginx has a similar > problem). It really limits what kinds of problems you can solve.

Yes! I completely agree. Interesting that we both ended up with the Service Workers API instead. I'm really hoping that Service Workers becomes the standard for JavaScript HTTP handling in the future.

</comment></comment></comment></comment><comment><USER16> Does Cloudflare have a free DB of sorts, like Amazon's DynamoDB? Or can I query Amazon's DynamoDB from the worker?

<comment><USER4> Building out storage is my current focus. The challenge is that we want to build something that actually utilizes out network of 151 locations today, 1000's of locations in the future. If your application has users on Mars (or, New Zealand), you should be able to store their data at the Cloudflare location on Mars (or, New Zealand) so that they can get to it with minimal latency.

PS. If you're a storage expert and building a hyper-distributed storage system interests you, e-mail me at kenton at cloudflare. We're hiring.

<comment><USER17> Let me know if you need help with the Mars location in the future. I can't wait for AWS to open their utopia-planitia-1 region with SpaceX or BlueOrigin.

</comment></comment></comment><comment><USER18> I'm using cloudflare workers to "polyfill" client hints if they're missing with cookie logic. With their addition of being able to mutate cache keys via edge workers I find it to be a extremely powerful way of everything from per- device image optimization (or google data saver or hidpi support) to serving different pages for the same uri based on your requirements (and storing this in cache).

</comment><comment><USER19> What Infrastructure as Code (IaC) options exist for Cloudflare Workers? AFAICT neither Serverless nor Terraform support it. IaC is table stakes for any new part of my tech stack, and I would prefer not to code it from scratch - <USER2> deployment/configuration is extremely easy to automate via CLI or something...

<comment><USER20> To expand on what Zack said, we're just about ready to merge in Cloudflare Workers support to our golang SDK (see [https://github.com/cloudflare/cloudflare- go/pull/188](https://github.com/cloudflare/cloudflare-go/pull/188)).

Once this is merged, it clears the way for us adding Terraform support (as terraform-provider-cloudflare wraps cloudflare-go).

There's been lots of interest from our customers in being able to manage Workers using Terraform, so it's high on the list.

</comment></comment><comment><USER21> >To be fair, comparing my Lambda, which only runs in us-east-1 (Northern Virginia, USA), to a global service like Workers is a a little unfair.

At least you acknowledge that it's a bit silly to use a global benchmark to compare a global service with an intentionally-regionalized service.

<comment><USER6> Why would you run something in a single location if you can run it everywhere for the same price though? It's not like Lambda is cheaper for being centralized.

<comment><USER21> Isolating failure domains and complying with data residency requirements are a couple reasons. Also, global reach usually means global blast radius if you screw something up.

For the specific use case you tested workers on the edge absolutely make more sense than lambda, but I think the headline is a bit click-baity.

</comment></comment></comment><comment><USER22> I wish Cloudflare would offer some kind of key-value store with Workers, something like Google Cloud Memorystore but globally distributed in all of their PoPs - even if it's really limited like 32 MB RAM.

<comment><USER6> Would you like to be able to write to it from your Worker, or only read from it? Can you tell us more about your use case?

Feel free to email zack [at] cloudflare.com directly if you like.

</comment></comment><comment><USER23> Can we see the code that was used for testing Lambda and Workers?

<comment><USER6> Yes! [https://github.com/cloudflare/worker-performance- examples/tr...](https://github.com/cloudflare/worker-performance- examples/tree/master/time)

<comment><USER24> Any plans to publish the results from the pbkdf2 version?

<comment><USER6> Yep, later this week!

</comment></comment></comment></comment><comment><USER25> > The functions being tested simply return the current time

Not a very interesting benchmark. This would only measure net latency and spin-up time.

<comment><USER6> I have a post which should come out later in the week which dives into the performance with CPU-intensive workloads. tl;dr is that a 128MB Lambda is about 8x slower than a Worker.

<comment><USER9> Can you also throw in some adversarial workloads? Simple proof of work using node's builtin crypto module would be a nice benchmark for V8 isolates vs Lambda's processes, and would go a long way convincing people that using isolates is reliable in a shared setting relative to processes/containers.

<comment><USER6> Can you elaborate on this? How would doing crypto demonstrate the security of the isolate?

<comment><USER9> Nail the CPU and ensure that other isolates on the same process/machine don't get starved. I meant isolation more than security.

<comment><USER4> Different isolates can run concurrently on different threads, so pegging the CPU in one isolate doesn't block any others. Also, if a worker spends more than 50ms of CPU time on a request, we cancel it, terminating execution of the worker even if it's in an infinite loop. (Almost all non-buggy Workers we've seen in practice use more like 0ms-2ms per request. Note this is CPU time; time spent waiting for network replies doesn't count.)

</comment></comment></comment></comment></comment></comment><comment><USER26> I would love to see fly.io included in these benchmarks - their product is also very similar.

</comment><comment><USER27> "Half a decade of experience" doesn't sound like much these days.

<comment><USER6> That's fair, the truth is some of the people here have been around since the beginning of the internet, so four decades might be more fair. Unless you add up everyone's experience, then we're in the millennia...

</comment></comment><comment><USER28> I was working on an app which serves roughly 400*10^6 API requests/day.

One cool property of our app is that it's rarely updated and mostly read.

And the goal is to achieve the lowest possible latency at the edge.

It scales beautiful, I am not sure which other architecture can help us keep this afloat with only 4 developers working on it.

So, we have a DynamoDB table which is replicated to multiple regions using DynamoDB streams and Lambda.

For us, Lambda means achieving a lot without many developers and system administrators but I understand that not all problems yield gracefully to this pattern.

It seems using Cloudflare Workers to trigger our Lambda function instead of API gateway could prove to be cheaper.

<comment><USER6> Would it be possible to read the data through the Cloudflare cache? If so your data and API would be replicated not just around the world but actually within the majority of the worlds ISPs. Based on our experiences with 184.108.40.206, Cloudflare is within 20ms roundtrip of most people on earth.</comment></comment>


UMG claims rights to a song and hijacks the artist's YouTube revenue - slipstream- https://www.facebook.com/permalink.php?story_fbid=10152750149271868&id=41670261867 <comment><AUTHOR> Pretty egregious, and something which one would hope you could sue Google for. In this case aiding in the infringement of Copyright because it is the Content ID system, with a borked refusal policy, that are allowing UMG to pirate the artist's music and to make a profit from it. Not only from the artist but anyone who was paying license fees to the artist are now having their video revenue get hijacked by UMG.

Seems like class action status might be possible.

<comment><USER2> I agree. This comes up frequently enough that it seems like there could be a legitimate class action of some kind.

<comment><USER3> I'd assume that Google/Youtube's TOS include a clause such that any issue you might ever have, can only be resolved by arbitration. Lots of companies are busy making sure that merely using their service means you can't press a class action lawsuit.

<comment><USER4> Have those ToS-es been tested in court? (Or more relevantly, ask a lawyer who is familiar with the subject. It may be that not everything falls under their forced mandatory arbitration.)

</comment></comment></comment></comment><comment><USER5> This comes up every few months. ContentID is a system for ensuring that the major labels get paid, and people who don't have enough money for legal representation lose out either way.

<comment><USER6> Yeah, and fair use doesn't exist on YT for all intents and purposes. Effectively ContentID is actually much more restrictive than real copyright law by far, and there's nothing anyone can do about it because YT is a private company and you don't HAVE to use them (although the lack of competition is disheartening).

It is an unfortunate situation all around, one that I don't see changing any time soon... Only legitimate competition could fix this.

</comment></comment><comment><USER7> It looks like this issue was resolved because the OP was willing to use the "appeal" process at Youtube. This is good to hear.

[https://www.facebook.com/41670261867/photos/a.10150273836606...](https://www.facebook.com/41670261867/photos/a.10150273836606868.332777.41670261867/10152750149141868/?type=1&comment_id=10152756679376868&offset=0&total_comments=72)

</comment><comment><USER8> For HN folks who don't recognize the name - Bjorn Lynne used to be part of the demoscene and wrote MOD song files under the name Dr Awesome. He worked for Team17 Software and wrote the soundtrack to Worms and many other games.

</comment><comment><USER9> Unless you're another multibillion dollar company, you are a resource to Google, not a customer or a peer.

Also, this is a good lesson in why people should be careful about how they license out their music in the first place.

</comment><comment><USER10> But god forbid you put a 30-second clip of you and your friends messing around, with a Beyonce song in the background or whatever.

</comment><comment><USER11> I am not a lawyer, but this appears to be in direct violation of the license agreement that UMG made with AudioSparx:

PROHIBITED USES 3\. Licensee may not claim ownership or authorship of the Tracks licensed herein.

REMEDIES Parties' rights and remedies in the event of a breach or an alleged breach of this agreement by defaulting party shall be limited to affected party's right, if any, to recover damages in an action at law. Notwithstanding the foregoing, no failure by either party to perform any of its obligations herein shall be deemed to be a breach hereof, unless the other party has given written notice of the alleged breach and allowed 30 days for the breaching party to cure said breach following such notice. In no event shall Licensor be entitled by reason of any breach or alleged breach to enjoin, restrain, or seek to enjoin or restrain the production, distribution, exploitation, advertising, promotion, or publicity of Licensee's project or projects, or elements thereof, which integrate the audio content licensed herein.

[http://www.audiosparx.com/sa/legal/terms_of_service.cfm](http://www.audiosparx.com/sa/legal/terms_of_service.cfm)

On the plus side, this means that you don't have to go after Google which probably has the right to put ads on any video and pay anybody they want for those ads. On the downside, you can't file a DMCA takedown on UMG's content and will need a lawyer to get compensated for the breach of contract. If you just want to get the issue resolved going forward, you could probably send a cease and desist telling them to stop claiming ownership over the music and they will stop.

</comment><comment><USER12> Perhaps there needs to be a version of the Creative Commons with a group kill- switch, where if a licensee violates the terms of the license, they lose the rights to use all CC-KS works until the violations have been remedied.

<comment><USER13> That's a great idea, isn't there a common "defensive patents chest" for this?

[http://en.wikipedia.org/wiki/PatentFreedom](http://en.wikipedia.org/wiki/PatentFreedom) Looks like they got bought out by an Intellectual Ventures clone. One of my regrets in life is that I have lived within trebuchet range of the main IV office, and never did anything with it.

<comment><USER14> [http://defensivepatentlicense.org/](http://defensivepatentlicense.org/) \- if you license all of your patents under the DPL you then get free licenses to all other DPL patents. Your membership and licenses are revoked if you sue any other member for patent infringement.

</comment></comment></comment><comment><USER15> I know that here in California, there is a non-profit named California Lawyers for the Arts[1] that will help artists get connected with lawyers who know copyright. It might be worth contacting them or a similar organization near the author for more info.

[1][http://www.calawyersforthearts.org](http://www.calawyersforthearts.org)

(Disclosure: I have known a few people who worked for CLA.)

</comment><comment><USER13> (from the FB thread, just now)

Bjorn Lynne Hi all. As an update to this situation, I am happy to say that the Universal Music Group claim on my video has now been released.

I have not had any communication with/from UMG, but what seems to have done the trick is that I used the "appeal" process at YouTube after I was told that my original dispute had been rejected by UMG. Going through the "appeal" at YouTube is a pretty scary process, because YouTube uses some very strong language to warn you that you may face legal action and/or your YouTube account may be shut down. I did it nevertheless, I was that hell bent on getting UMG to stop monetizing my music and claiming ownership of it.

After a couple of days, I received notification from YouTube that the UMG claim against my video had been released. I think that the "appeal" process is the only thing that UMG takes seriously, because the way it works is that, if they still want to uphold their claim on the music, they have to issue a legal DMCA takedown notice and provide legal argumentation as to why they own the rights to that video/music. Obviously they could not do that, because the music was composed by me, and it was very easy for me to prove that. So it appears that, when they saw the appeal, they released their claim.

I'm still angry with UMG over their handling of this. First of all, they used non-exclusive stock music (which in this case happened to be composed by me) in a product and then entered that product into Content-ID at YouTube. This is explicitly against YouTube's Content-ID policy, which clearly states that in order to use Content-ID, you must fully own the content exclusively. Which they didn't. Admittedly, anybody can make a mistake like that, and I wouldn't have made a noise about it, if they had then released their claim when I disputed it and explained the situation. But they didn't. They waited the FULL 30 days that they are allowed in which to respond, and then they upheld their claim. That's when I got angry.

I don't know if UMG ever even looked at the dispute. Quite possibly, it is their policy to always allow the full 30 days to pass, and then uphold their claim, no matter what, knowing full well that the "appeal" process is so scary. In my opinion, this is speculative and legally questionable. Right now, they are probably monetizing hundreds of thousands of videos that contain audio that doesn't belong to them at all, deliberately and knowingly. It's the second time they've done this exact thing with my music (first, with my track "Mystical Pyramids" and then with "Kingdom of the Persians"). And, as one guy commented on this thread, these are the same guys crying so loudly about people copying their music.

Thanks for all your comments, shares and support in this matter! Much appreciated!

All the best, \- Bjorn Lynne Unlike · Reply · 1 · 1 min

</comment><comment><USER16> In the US, once you pay an initial retainer, a layer will sometimes work on a contingency basis - meaning they get one third of the final settlement. Given that UMG is a rich target, and the claim seems very strong, you might find someone like that to drive it. Even if you do, it will be slow, agonizing, and ultimately less than it should be when you win.

</comment><comment><USER13> Offer to face your counterpart at UMG in single unarmed combat as a way to settle the matter honorably.

<comment><USER13> Why is it that when I say stuff like this it always gets downvoted?

It's a lot cheaper than involving lawyers, and it has the benefit of letting all participants work through their testosterone and adrenaline, so that after the match they can sit down and discuss the matter more amicably.

A proper refereed and organized fight is a pretty deep bonding experience, for guys anyway.

You're more likely to get, and give, a fair deal to someone that you've done something physical with - it's just how the human animal works.

<comment><USER5> It gets downvoted because if it's a joke it's not very funny and HN doesn't really like jokes anyway, and if it's not a joke it's a 19th-century kind of bonkers.

<comment><USER13> It's not a joke, and it works. A boxing match, or even a street fight in which there are no serious injuries, is a good way to bond, whoever wins.

You walk away thinking "This other person is willing to get into a fight with me, and fight fair". And the physicality of it does cause some amount of bonding.

Plus, the adrenaline in your system that builds up when you prepare to get into a negotiation and would otherwise have nowhere to go gets used up the way nature intended, which makes it easier to see things with equanimity afterwards.

That's an excellent starting point for any negotiation (assuming the fight was indeed fair).

We have evolved with physical fights as one of the cornerstones of our interactions with others -- you can repress it, be in denial about it, work against it, or work with it. What should a hacker do?

TLDR:

The point is not "who wins the fight wins the argument".

The point is "let's you and me fight, then afterwards, we can discuss the argument with more equanimity"

<comment><USER5> We (as a culture) have spent centuries stamping out trial by violence and duelling because as a dispute resolution mechanism it overwhelmingly favors young men with training.

We have in recent years marginalized boxing as it gets people killed or seriously injured, causes lasting brain damage even under controlled circumstances, and normalizes violent behavior.

Edit in reply to sibling: HN seems to have some anti-deep-thread mechanism which hides reply links. Maybe you should find someone to punch about that.</comment></comment></comment></comment></comment>


D-Wave: Is $15m machine a glimpse of future computing? - <AUTHOR> http://www.bbc.co.uk/news/science-environment-27264552 <comment><USER2> There is a history of literally many years of bombastic claims being made by D-Wave (especially in the popular press) without anything to back them up. Scott Aaronson ([http://www.scottaaronson.com/blog/](http://www.scottaaronson.com/blog/)), an MIT professor who is one of the better-known scientists in the quantum computing field, has written reams of pages about this. I would recommend browsing his blog if you are really interested in the claims and counterclaims about this company.

As for me, I will not waste a single minute reading an article about them, until they can convince the sceptics first. This may seem unfair (if people aren't willing to give them a chance, then how will we know if they've really made a breakthrough), but this company has earned this kind of treatment by bamboozling journalists and getting breathless press coverage based on nothing. Briefly, for years, they failed to even demonstrate that their machine exhibits any quantum entanglement at all; this makes it meaningless to talk about quantum computing on that machine, which didn't prevent press stories touting it as the next revolution in all of human existence. Since then, there have been some articles claiming that possibly there is some kind of quantum behaviour in the machine, but there was still no evidence that this quantum behaviour is doing anything meaningful in the actual computations. At some point, I stopped following the story.

<comment><USER3> You are correct that they seem to have not yet built a proper adiabatic quantum computer (aren't even trying/capable of building a universal one). However I do think that the press around them is good for quantum computing in general.

I work trying to make the early stages of a qcomputer using semiconductor quantum dots and I definitely think that the press around DWave is helpful.

Firstly they are showing that there is a well defined commercial interest in such a computer. I also think that they are paving the path that other such companies will take in the future.

But yeah I agree, they have not yet shown much in terms of a real, useful quantum computer. There is a lot of unjustified hype in the technology, but at the same time I think its useful for this hype to exist for the q-tech industry in general.

<comment><USER4> I do not think that the press from D-Wave is good for quantum computing in general. For this reason:

" I predict that the very same people now hyping D-Wave will turn around and—without the slightest acknowledgment of error on their part—declare that the entire field of quantum computing has now been unmasked as a mirage, a scam, and a chimera." \- Scott Aaronson

If D-Wave fails it will cause at least a decade of non existent funding to QC in general because it will be reduced to the level of cold fusion in the press.

<comment><USER5> So basically, D-Wave are working hard to make sure there will be a Quantum Computing Winter, two decades of darkness and cold for QC researchers before the field can eventually get going again.

<comment><USER6> Looks that way. They even wrote their machine's OS in Lisp, or so I hear, which probably doesn't bear directly on the question at hand but is certainly suggestive as anything.

<comment><USER7> This is FUD.

There are some system utilities written in Lisp by one of the devs, but there is nothing like an OS written in Lisp. It's the same as saying that Linux is written in Haskell because of Xmonad.

And by the way, spreading stupid gossips like this is _very_ suggestive on certain individual's intents.

<comment><USER8> from 2011

[http://dwave.wordpress.com/2011/05/20/learning-to-program- th...](http://dwave.wordpress.com/2011/05/20/learning-to-program-the-d-wave- one-software-you-should-install-a-book-you-should-buy/)

> The main processor doesn't run an OS in the sense you're thinking of. The OS > is written in LISP and isn't exposed to developers at this point.

> No, but the APIs we've got are basically wrappers around lisp, so it would > be easy to make one. Just figured the number of lisp coders out there was > probably pretty small.

<comment><USER7> Interesting. I must admit I was badly misinformed on the role of Lisp in this project. My apologies.

<comment><USER8> The info is pretty sketchy and three years old.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> [http://www.scottaaronson.com/blog/?p=1679](http://www.scottaaronson.com/blog/?p=1679)

"MAGIC 8-BALL: THE RENEGADE MATH WHIZ WHO COULD CHANGE NUMBERS FOREVER

An eccentric billionaire, whose fascinating hobbies include nude skydiving and shark-taming, has been shaking up the scientific world lately with his controversial claim that 8+0 equals 17 [... six more pages about the billionaire redacted ...] It must be said that mathematicians, who we reached for comment because we're diligent reporters, have tended to be miffed, skeptical, and sometimes even sarcastic about the billionaire's claims. Not surprisingly, though, the billionaire and his supporters have had some dismissive comments of their own about the mathematicians. So, which side is right? Or is the truth somewhere in the middle? At this early stage, it's hard for an outsider to say. In the meantime, the raging controversy itself is reason enough for us to be covering this story using this story template. Stay tuned for more!"

And seriously:

"we have _no idea yet_ whether adiabatic optimization (the technology used by D-Wave) is something where quantum computers can give any practically- important speedup."

And how the results match those of the machine based on the classical (that is, not quantum) model:

[http://arxiv.org/abs/1401.7087](http://arxiv.org/abs/1401.7087)

</comment><comment><USER10> Even if it solves some optimization problems well, it's not worth $15m. You can come up with the same solutions by spending far less money on way more CPU power. Plus it's a black box which has totally proprietary content you are not allowed to investigate based on some magical functionality. High on the PT Barnum Scale.

<comment><USER11> > High on the PT Barnum Scale.

As a relative layman, doesn't the interest from Google / NASA / Lockheed give some merit to their claims? Or at least move it from the 'PT Barnum' scale to some other speculative-but-feasible technology scale?

<comment><USER9> No. Once some entity has a lot of money to spend, it invests it in various directions "just in case it might work." It's inevitable process, as soon as there are a lot of people making decisions (or even a small number of them, when it reflects their preferences). The money is invested in very weird stuff and then even get to be used, "because it's there" even if it's not really what it claims to be.

</comment></comment></comment><comment><USER12> Interestingly, they develop some software in Common Lisp for their computer, here is a job offer from October last year: [http://lispjobs.wordpress.com/2013/10/12/software- developer-...](http://lispjobs.wordpress.com/2013/10/12/software-developer-d- wave-burnaby-bc-canada/)

</comment><comment><USER13> Ok HN, for those skilled in the art, is this real?

And what are the implications for cryptography? (isn't that always the refrain, "until quantum computers this is safe?")

<comment><USER14> D Wave has been iterating on their flagship machine for a few years now. The big argument is if entanglement is happening on a large enough scale in their system to enable the scaling laws that they claim they'll be able to hit. You can find plots floating around where they extrapolate to having a computer more powerful than a classical computer the size of the universe in ~2020. Right now it's barely comparable with a rack of servers IIRC, but the big claim is that quantum power scales much faster than classical power with number of bits (exponential vs linear) when full entanglement is achieved. I'm under the impression that the Googles and Boings and NASAs of the world want to get their feet wet in the field despite its infancy.

It's a good effort at any rate. There's a lot of strong negativity around DWave, which I find strange, given that it's existence isn't personally inconveniencing their critics in any way. If adiabatic quantum computing works it will really speed up the future tech timeline, so it's worth the effort.

<comment><USER15> "I'm under the impression that the Googles and Boings and NASAs of the world want to get their feet wet in the field despite its infancy."

And note this is invariably trumpeted loudly as in current production commercial end user applications. There are obvious financial / stock market reasons for these wild claims. But if you clear away the PR haze, the field is actually in the earliest research mode.

By computer analogy, whats going on in reality is the first ENIAC has been partially wired although it doesn't work perfectly and may in fact never meet its goals and may or may not ever have any direct effect on anyone, although existing unit record equipment manufacturers are watching nervously. The analogy of whats being presented by PR as a completed accomplishment is Zilog having shipped their fifty millionth Z80 processor and the living rooms of America are stuffed with "1980s home computers" which pretty much did have at least some effect on everyone alive either then or later.

<comment><USER14> Yeah, the PR is pretty extreme. I like to think that this is more for public buzz and doesn't affect the decision makers, so I sort of disregard it.

</comment></comment></comment></comment><comment><USER16> D-Wave was covered a few months ago by Lev Grossman <[http://time.com/4802/quantum-leap/>](http://time.com/4802/quantum-leap/>) in a much more balanced piece.

</comment><comment><USER17> I understand why the actual quantum effect is hard to observe, but I'm not sure I understand why the output is so hard to verify as being better or worse than a classical computer....

Can someone name the physical effect that this processor employs outside of any quantum effects that accounts for it possibly being faster than a room temperature "normal" computer?

What algorithms are they running to try to verify that the computer is quantum?

<comment><USER18> D-Wave's machine is running an approximate optimisation algorithm. It's like trying to solve a large Sudoku by filling in all of the squares randomly then adjusting them to make the solution better and better (ie. get fewer invalid squares).

They're using an 'annealing' algorithm to do this, which means that the squares are all adjusted concurrently, in a random way which is biased by how well each square's value fits with its neighbour's. D-Wave claimed that their machine is quantum, without much evidence. They've since shown reasonable evidence that their machine does indeed use quantum effects, so that it's running a 'quantum annealing' algorithm; that basically means there's some probability for non-neighbouring squares to interact, which may find better solutions faster.

However, 'quantum annealing' isn't difficult to calculate. Despite the name, it's easy for classical computers to implement it and they can do it faster than D-Wave's machine (thanks to decades of Moore's Law). So at this point D-Wave have a single-purpose ASIC which is more expensive and slower than regular computers. They're doing something quantum, but there doesn't seem to be much point.

Compare this to a "real" quantum computer, which would be general-purpose (rather than being restricted to one algorithm like D-Wave's machine) and would be able to efficiently run things like Shor's algorithm, which are known to be unscalable on classical computers.

<comment><USER9> [http://www.scottaaronson.com/blog/?p=1679](http://www.scottaaronson.com/blog/?p=1679)

"In other words, even if you could implement adiabatic optimization perfectly—at zero temperature, with zero decoherence -- we still don't know whether there's any quantum speedup to be had that way, for any of the nifty applications that the article mentions: 'software design, tumor treatments, logistical planning, the stock market, airlines schedules, the search for Earth-like planets in other solar systems, and in particular machine learning'"

</comment></comment></comment><comment><USER19> No.

<comment><USER20> For 0.1 Instagrams worth of funding it is a start though.

<comment><USER14> That is some real perspective there.

</comment></comment></comment><comment><USER21> Does anyone know what local Quantum effects imply for the complexity of problems it can solve ?

I thought the watershed between a Classical computer and Quantum one was the ability to solve some hard problems believed to be in both NP and co-NP.

</comment><comment><USER22> If this is successful it will be a great leap for Many-Worlds and perhaps even a precursor to time travel.

<comment><USER23> No. The quantum mechanics that "supports" many-worlds (as in, many-worlds seems to be the simplest explanation for the observed effects) has been in the realm of "scientifically proven fact" for >70 years. D-wave will not add significantly to the pile of evidence that already exists.

As for time travel, I can't possibly imagine how you think the two are related. Bell's Theorem was verified 50 years ago. D-wave will not add to the pile of evidence that already exists for quantum non-locality, it will not contribute to exploiting quantum non-locality for the purposes of time travel (if such a thing is even possible -- as we understand it, non-locality can't even be used to transmit information femtoseconds back in time), and it will not contribute to proving or disproving alternative theories for non-locality.

<comment><USER22> What I was suggesting is that this would empirically favor quantum decoherence over waveform collapse.

The ability to subsequently control quantum decoherence allows for its patterns to be recorded and reproduced; i.e. an ability which would allow humans to eventually recreate entire quantum sections and perhaps eventually allow them to alter both the past, present and future states in-between the margins of quantum decoherence.

I'm not suggesting non-locality; I'm suggesting non-realism from a universal standpoint and thus the ability to control 'reality' lies in the ability of human beings to control quantum decoherence and quantum mechanics.

The ability to recreate a version of the past via quantum mechanics is, in effect, time travel.

We aren't too far away from full control of decoherence:

[http://www.sciencemag.org/content/320/5876/638](http://www.sciencemag.org/content/320/5876/638)

</comment></comment></comment><comment><USER24> I suspect Betteridge's law applies -- [http://en.wikipedia.org/wiki/Betteridge%27s_law_of_headlines](http://en.wikipedia.org/wiki/Betteridge%27s_law_of_headlines)</comment>


Underwater Drones, Mars Rover Parts and a High-Tech Revival in NYC - <AUTHOR> https://www.nytimes.com/2019/11/28/nyregion/tech-manufacturing-nyc.html <comment><USER2> Surprising to hear them survive for 4 years, a 150k investment is not gonna last long in new york city

<comment><USER3> A lot longer then in SF, you can find housing for not too much if your willing to look outside of Manhattan

<comment><USER4> Manhattan (aka. New York County) is twice the size of San Francisco County. Couldn't you find somewhere affordable if you're willing to look outside San Francisco County as well?

</comment></comment></comment><comment><USER5> What is Duro's business model? Who wants to buy underwater drones, or pay them to survey areas? My understanding is Liquid Robotics was acquired by Boeing (and their business model transformed from academic research to military defense) because they couldn't make the business model work. Of course Duro is trying to make it cheaper, but I'm still curious who their target customers are.

This is not a criticism - I am actually really curious about this space.

<comment><USER6> The unmanned underwater vehicle (UUV) industry is already fairly mature. These guys in NY are competing against large, established companies that already acquired reasonably successful startups:

Teledyne (Gavia)

General Dynamics (Bluefin)

Kongsberg (Hydroid)

L3 (Ocean Server)

BAE (Riptide)

</comment></comment><comment><USER7> Seems like a pretty thin article that doesn't contextualize the push for manufacturing that has been going on in NYC for the past 5 years, through orgs and networks like NYCEDC or Futureworks, etc.

</comment><comment><USER8> While I always appreciate such initiatives, it look like they are going too slow. In a few years time...There will be dozens more doing the same.

</comment><comment><USER9> I dont see how these guys will survive with the remus 600 and 100 vehicles established.

<comment><USER10> I'd say there's some room for competition with:

\- cheaper vehicles (not "crazy-expensive")

\- easy to integrate/extend (modern software practices...)

\- more varied domain applicability (not everyone looks for pipeline leaks/hunt mines for a living)

\- fast reactivity, rather than moving at the speed of government

I'd wager cheaper/better hardware & other improvements means orgs will be able to get fewer, cheap underwater robots.</comment></comment>


The Bakeoff - Gladwell on cookies, open source and XP - <AUTHOR> http://gladwell.com/2005/2005_09_05_a_bakeoff.html

<comment><AUTHOR> Is it just me, or is the whole "open source movement vs XP movement" a completely inapplicable comparison?

It left a bad taste while reading the rest of the piece.</comment>


Smoke pot and test well as a kid? You're more likely to be an entrepreneur. - <AUTHOR> http://www.washingtonpost.com/blogs/wonkblog/wp/2013/08/12/smoke-pot-and-test-well-as-a-kid-youre-more-likely-to-be-an-entrepreneur/ <comment><USER2> hhmm.. this article make me think..</comment>


How to Unit Test Controllers In AngularJS Without Setting Your Hair On Fire - <AUTHOR> http://nathanleclaire.com/blog/2013/12/13/how-to-unit-test-controllers-in-angularjs-without-setting-your-hair-on-fire/ <comment><USER2> I've found that mocking $httpBackend in unit tests is usually an indication that the system could benefit from an abstraction.

In the article's scraping example, a service that works like `Scrape.url('success.com')` could be mocked and sidestep the $http boundary with its flushing messiness. It also would make the system easier to reason about.

For more of this line of thinking take a look at the "Don't mock what you don't own" guideline which I've found very useful.

</comment><comment><USER3> [pedantic mode on] In this particular case, or at least the first test case, the unit test doesn't actually need the actual $location service; a mock will suffice to set the expectation (i.e. the path method returning a path)

For clarity, I'd pull the createController function out of the beforeEach method. Actually, in this case you don't even need to have it as a separate method; simply calling $controller will be enough, since one, the controller does not have any behavior on initialization (besides adding a function to the scope), and second because all public methods are assigned to the scope.

Third, the injector can be skipped in favor of just having the appropriate service names in the call to inject.

I took the liberty to clean up as I'd do it: [http://pastebin.com/Vv63J3P5](http://pastebin.com/Vv63J3P5)

Same applies to the second unit test. I also wouldn't use the $http service directly from a controller, or mock out http calls using $httpBackend; either use a service that wraps $http calls itself, or ngResource/$resource. Those two can then easily be mocked out in the controller spec (slurpService.scrape(url).andReturn(neatlyParsedResult)) [/pedantic]

<comment><USER4> In this case it might not be needed, but some controllers have calls that are made on initialisation (like NgResource) which makes harder to use $httpBackend (you have to mock all calls if you want to verify that no calls were left at the end). I took the article more like best-practice for unit testing controllers. But truth to be told, it would be nicer if author would explain why to initialise controller in a method etc.

</comment></comment><comment><USER5> In our project we've ended up with our controller code being defined outside of the .controller call (we're using TypeScript, and someone wanted to use the class syntax). This means that our controllers are accessible directly, and for a _unit_ test, they're just functions we can call.

So we just pass our own mocks in, it's much simpler than trying to use Angular's injector mechanism.

</comment><comment><USER6> This is a really nice article, it seems you found a similar solution to mine.

The only thing that is more or less difficult about testing Angular ist the boilerplate one has to write to instantiate everything correctly. When writing the code, Angular handles the bootstrapping of the application, but in the tests one has to do it manually.

What's positive about it is that one learns how Angular works internally. I would even say that doing TDD with Angular is actually a lot of fun.

<comment><USER7> Definitely agree with this. The function passed to the inject() method where you set up your controller and inject mocks seems to have a bunch of repetition in the unit test suites I've been writing. You can use $provide ([http://docs.angularjs.org/api/AUTO.$provide](http://docs.angularjs.org/api/AUTO.$provide)) to swap dependencies at the injector level and I'm starting to wonder if doing that would be a lot more repeatable across unit test suites.

</comment></comment><comment><USER8> Jasmine tests are still hard for me to master (especially the httpBackend stuff), so I really really appreciate posts like this, I guess at the end of the day posts like these also encourage me to write code thats easier to test as well. Thanks :D</comment>


Kexi Project – "Microsoft Access for Linux" - <AUTHOR> http://kexi-project.org/about.html <comment><USER2> "When you compare Linux and Windows applications feature for feature, there is very little, if anything, that Microsoft has that Linux hasn't yet perfected."

[https://i.imgur.com/PcHtYWC.png](https://i.imgur.com/PcHtYWC.png)

<comment><USER3> I'm still waiting for working suspend-resume on my Linux laptops.

</comment></comment><comment><USER4> Question as a guy unfamiliar with Microsoft Access. What is so good/better about Microsoft access, that other open-source databases already do not provide?.

<comment><USER5> Ease of use by non-programmers/sysadmins, essentially. (Note that even Microsoft recommends _not_ using Access if you have an actual IT staff with a DBA, and to get SQL Server instead)

Which is why I'm having trouble picturing the market for this. How big is the overlapping region in the Venn diagram of "Linux users" and "people who need a hand-holding not-really-a-database"?

<comment><USER6> > Which is why I'm having trouble picturing the market for this. How big is > the overlapping region in the Venn diagram of "Linux users" and "people who > need a hand-holding not-really-a-database"?

Probably big enough. Most developers would probably reach straight for a database but anyone outside the developer group (sysadmins, hobbyists, laymen using linux) could probably benefit. Maybe even low level devs that never touch databases, but they could probably learn sql just as easily as kexi. Another one would be any group of non-devs that have or could build a database but want an easy way to build a front end for it, think of the sort of things you'd build a bare bones web front end for.

</comment></comment></comment><comment><USER7> I would imagine that most Linux users have learned to hate Access. Who might this appeal to?

<comment><AUTHOR> While I can (and often do) get along well doing manual inserts from the command line, not all my semi-technical users would be happy (or would be trusted) with a command line.</comment></comment>


Ask HN: Best companies to work for (as a software developer)? - <AUTHOR>

In terms of culture, work/life balance, salary, work impact, and flexibility <comment><USER2> Every big software company knows how this thing works and usually they respect their developers.

(By every I mean every major I have information about, which is rather not every.)

It depends on the purpose and type of software you are interested in.

</comment><comment><USER3> wit.ai!

<comment><AUTHOR> I appreciate the response. Machine learning is something I might be interested in and it looks like they're doing some sweet things with it.</comment></comment>


Oct. 4 - <AUTHOR> http://www.google.com/fourten <comment><USER2> Looking at the source, there are two arrays of image filenames specified between script tags on that page. One is "IMAGES", which is referenced by the JS elsewhere, and specifies overlayed over the rectangle.

The other, called EXTRAS, defined but not referenced elsewhere. It contains two entries, pointing at these images: [https://madeby.google.com/static/images/tenfour/extras/002.j...](https://madeby.google.com/static/images/tenfour/extras/002.jpg) and [https://madeby.google.com/static/images/tenfour/extras/001.j...](https://madeby.google.com/static/images/tenfour/extras/001.jpg).

EDIT: oh, turns out this chap found it a while ago: [https://twitter.com/hallstephenj/status/778033737040666624](https://twitter.com/hallstephenj/status/778033737040666624)

<comment><USER3> I wonder if that's Simone Giertz (the famous "mad inventor" on YouTube: [https://www.youtube.com/channel/UC3KEoMzNz8eYnwBC34RaKCQ](https://www.youtube.com/channel/UC3KEoMzNz8eYnwBC34RaKCQ)) on the left. She mentionned on instagram that she'd be present at some Google events.

<comment><USER4> Doesn't look like her.

</comment></comment></comment><comment><USER5> The new phones, the Pixel and Pixel XL are rumored to start at $649 for the smaller phone in the smallest memory configuration of 32gb. If true, this would mean the old Nexus line is well and truly dead and Google is taking the Apple approach to pricing. The Pixel brand is supposed to be premium at a premium price but currently has one product that fills that niche (the Pixel Chromebook) and one that doesn't (the failed Pixel C tablet that was repurposed from an abandoned Chrome OS branch to Android and launched barely functional).

<comment><USER6> I'm sad to see the Nexus line go away. I quite like my Nexus 5 but have no interest in spending over 600$ on a phone.

<comment><USER7> Does anyone know of a decent sub 5-inch phone? All the reviews sites seem to ignore this factor. My old 4.3" moto X is dying and I'm hoping to find a truly pocketable replacement.

<comment><USER8> Another vote for the Z3C. Small, fast enough for me, and I can easily get two days out of it.

<comment><USER6> Is the Z3C getting Android updates? How is the Sony software/skin/bloatware/addons compared to the cleanness of the Nexus line?

<comment><USER9> On the Z3C, the Sony bloatware is bad. Apparently they've reduced it a bit since then but I haven't gone back. The hardware is nice, it's a shame they have to ruin it with crap.

<comment><USER10> I fiddled with various settings, and I think managed to disable almost all the bloatware. I get a notification about every two months that Sony's updater needs an update.

I'm pleased with the phone otherwise, and would buy it again.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> I want... 1) a thicker phone, so I can grab it without the grip feeling precarious, and because it has a super-sized battery that easily lasts ll day and all night. 2) 2 cameras, yes, but specifically for depth perception, because omg all the amazing programs I could write! 3) waterproof, cause I like pulling my phone out in the rain and I'm a klutz.

<comment><USER12> > 1) a thicker phone, so I can grab it without the grip feeling precarious, > and because it has a super-sized battery that easily lasts ll day and all > night.

I'm dreading the day my lame-o iPhone 5c with a slowly-dying screen becomes unusable, because it can go over 3 days without a charge provided I don't use the GPS. If I charge it at work Friday it'll usually still have ~40% charge Monday morning, having been unplugged all weekend. I barely even think about the battery level.

Sign me up for thicker phones with a bigger battery. And no stupid, ugly, scratch-attracting camera bump on the back.

<comment><USER13> Mophie case

</comment></comment></comment><comment><USER14> It's almost off-topic, but for people that grew up in my town (Assisi), including me of course, October 4th will always be St.Francis' day.

<comment><USER15> October 4th is many things...

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

</comment></comment><comment><USER16> The release date 10-4 is radio code for "understood":

[https://en.m.wikipedia.org/wiki/Ten- code](https://en.m.wikipedia.org/wiki/Ten-code)

</comment><comment><USER17> OKAY, so I get that they are promoting (probably) the camera/photos but with the photos filling the whole device, it almost makes you wonder if they are doing full color custom high DPI printed back covers (which would be good, since its so ugly if leaked pics are correct).

Or maybe they are going to be the first with a full slab of glass on the front with seamless edge to edge display (hah yeah right) - if its not either of those things, they just set people up for massive disappointment.

</comment><comment><USER18> I get an HTTP 404 not found

>The requested URL /fourten was not found on this server. That's all we know.

<comment><USER18> Unless I open the url with chrome.

WELCOME TO THE FUTURE OF THE OPEN INTERNET /s

<comment><USER19> This is strangely true.

</comment></comment></comment><comment><USER20> My guess? a smart phone that has machine vision built in? ten four? sounds like tensor flow - machine learning.

Interesting how the search box grew to include images...

<comment><USER21> Like the already available App "Goggles" built right into the OS...might be possible. It is quite amazing what Goggles achieves actually (recognises places and things with very high certainty (aka reverse image search but nonetheless..))

<comment><USER20> I hope it's the next step on. Goggles 2010 would compare the photo for similarities with other photos (I guess) where I'd like to think this would know the objects within the photo. This would likely improve better feedback. I'm likely wrong, but you never know.

</comment></comment></comment><comment><USER22> Will it have a headphone jack?

<comment><USER23> Will it have a real, physical keyboard?

That's why I bought the first Google phone and I still use it.

<comment><USER24> You still use the G1?!

<comment><USER23> Correct.

<comment><USER25> How's the battery life?

Genuinely curious. I'd like to use a phone with a hardware-keyboard as my daily driver too, but the only ones I can find are so old their batteries have worn down to the point of being functionally unacceptable.

<comment><USER23> I have bought a new battery twice, and the last one I have lasts about 1.5 day or so and I bought it maybe a year ago. I am not a heavy user but you can still find the battery on the market - the one I have was made by "Cameron Sino", model CS-HDE160SL, it's Lion battery with 1150 mAh (as they claim). I bought the G1 pretty late, I think two years after it was introduced, so I have it maybe 8 years now?

<comment><USER24> What OS are you running? I do the Google services still work? Can webpages even really load due to heavy JS today?

<comment><USER23> I am still running Android 1.6. Google services - Gmail doesn't seem to work anymore (and I never used it very much), Maps I do use and they work, Talk I never used, Market I think worked OK till about a year ago. I cannot upgrade most apps I have on it, because the new version doesn't work on such old Android. I pretty much only use it today for calls and texting, and that works, and I guess most apps I have on it (including original Google Apps for things like Music, Calendar etc.) still works.

Regarding browsing, yeah, it's somewhat usable in emergency (the pages will load) but I never got very used to do it because the speed was always abysmal here (Czech Republic). The original Google browser still works.

So, I guess I cannot recommend buying one now (although perhaps with Cyanogenmod it would be better), but it works for me and I really wish I could replace it with something that has keyboard. :-(

<comment><USER23> Actually, I just tested it and Gmail works, I just haven't used it for a long time, so it took a while to update all the messages. :-)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER26> I'm not sure if it's available in the US, but I bought a Samsung Galaxy A5 in Thailand for about $220 and with the level of quality it offers for such a low price, I have a very hard time understanding why anyone would pay 3-5x that for a "premium" phone: [http://www.trustedreviews.com/samsung- galaxy-a5-review](http://www.trustedreviews.com/samsung-galaxy-a5-review)

</comment><comment><USER27> It says 5 Oct. in Australia

<comment><USER28> It's going to be streamed at 9AM PDT (UTC -07:00), which is 2:00 AM the next morning in Sydney (UTC +10:00)

</comment></comment><comment><USER29> If you were leading the Pixel phone effort what would you choose as the top three market differentiators?

To start one small thing I'd do is match Apple on the length of update support window.

<comment><USER30> > To start one small thing I'd do is match Apple on the length of update > support window.

That will win you over the tech-fanboys, but is that anything normal people take into account when they pick a phone? I probably hear more complaints about new versions of iOS "making my phone worse" than Android users complaining about not getting updates.

<comment><USER31> I honestly can't see why people care so much about having long update windows. Batteries simply aren't good for many cycles so it doesn't make sense to support a phone for longer than its battery will last.

Also, it's a pretty reasonable assumption that users who don't care to be on the latest hardware don't care to be on the latest software.

<comment><USER32> Which is entirely by design, when they make batteries not be swappable. If your goal is to make a good product, it makes perfect sense to have a long update window, just as it makes perfect sense to offer replacement batteries.

<comment><USER31> If your goal is to make a good product then introducing points of failure around its power supply probably isn't a great idea.

<comment><USER32> The battery itself is a far bigger point of failure than the connection to the battery. If your goal is to make a good product, it is worth introducing a small failure mode in order to remove a larger one. Since most phones no longer have replaceable batteries, they are hosed once the battery no longer holds a charge.

</comment></comment></comment></comment></comment></comment><comment><USER33> My money is on:

\+ something like PTT (push to talk) for video. Like Google Duo but with whatever high-level OS/hardware changes were required to make it work well.

\+ edge-to-edge screen (thanks benmcnelly)

Why? Look at these people in the photos... They are hip (AF) and they are on scooters. They are mobile and care about appearances...

</comment><comment><USER34> Not looking forward to the new rumored price tag ($649+). Might have to go back to OnePlus then.

</comment><comment><USER35> Is this about the Daydream VR headset?

[http://uploadvr.com/report-googles-daydream-vr-headset- calle...](http://uploadvr.com/report-googles-daydream-vr-headset-called- daydream-view-debuts-oct-4th/)

</comment><comment><USER36> Whatever it is, judging by the source code, it seems to be called "TenFour". This redirects, too [http://google.com/tenfour](http://google.com/tenfour)

<comment><USER37> Interesting that they used both 10/4 and 4/10 for the URL... They care about internationalization!

<comment><USER38> [https://xkcd.com/1179/](https://xkcd.com/1179/)

<comment><USER39> That format also has the benefit of being in the correct order when sorting by name and by date.

<comment><USER40> I use that format to sort my picture folders. So, sorting by name sorts by date as well.

Additionally, I add the month text (mmm) as well to the date, which makes it easy for me to quickly recognize the month, otherwise I mostly have to count :(

So like, 2016-09(Sep)-19

That way, the sorting still works, and I get to see 3 letter month abbreviations as well.

<comment><USER30> What's funny is since in work I mainly use SQL timestamps, and I live in Japan (which uses numerical months in their language), I actually have trouble with the named months now. Like I keep mixing up which of June and July is first...

</comment></comment></comment></comment></comment></comment><comment><USER41> Uses angular 1.5.7

</comment><comment><USER42> POU5F1</comment>


Why Poland Matters: An Optimistic Look to the Future of Europe - <AUTHOR> http://www.forbes.com/sites/juliemeyer/2014/10/07/why-poland-matters/

<comment><AUTHOR> For me Poland is like Japan of Europe. The most critique, offensive and judgemental against Poland are Poles themselves. Honour, self-criticism and nationalism is what are key points to Polish identity.</comment>


Steel Password Manager GUI Project on GitHub - <AUTHOR> https://github.com/nrosvall/steel-gui <comment><AUTHOR> Remember [https://www.steelpasswordmanager.org/](https://www.steelpasswordmanager.org/) ?

Apparently the guy behind it is working on a GUI.</comment>


eSports will be a medal event at the 2022 Asian Games - <AUTHOR> https://www.cnet.com/uk/news/esports-olympic-games-asia/?ftag=COS-05-10aaa0b&linkId=36613095 <comment><USER2> eSports as olympic games is nothing but, problem filled. Games are the intellectual property of private companies. What's a popular game doesn't stay the same in olympic time frames.

Games change over time for commercial reasons so unlike 100 meter dash being essentially the same as the greeks, next week's CS:GO or DOTA can have a balance patch or new features that make the game essentially different from this week's game.</comment>


7 products Steve Jobs got wrong - <AUTHOR> http://timesofindia.indiatimes.com/tech/itslideshow/9730727.cms <comment><USER2> There's a lot that's wrong with this article (or if not wrong nit-picky at the very least). Off the top of my head...

1\. You can't really blame Jobs for the Apple III. His focus had already shifted to the Lisa/Mac side of things. Apple III was a business decision made to compete with the IBM PC and extend the Apple II's reach into the office. But Jobs wasn't directly involved with the project nor was he CEO at the time of its creation.

2\. Jobs does deserve some blame for the Lisa but he also realized it had become a debacle. He was forced out of the project before it reached market and started focusing on the Mac. So you can't really blame him for the finished product (accounts I've read have varied as far as what Jobs' problem with Lisa was).

3\. NeXT was a business failure during its life but it did lure Apple to purchase the company. So it was a success in the end. There are plenty of startups who are considered successes when they are bought out by Google, Facebook or whoever so I don't see how NeXT wouldn't be considered an eventual success.

4\. On the Puck Mouse and the Cube you can't have it both ways. The puck mouse sucked design wise but sold like crazy (as part of the iMac). The Cube didn't sell well but was praised for its superior design. Calling both a failure is just looking for ways to nitpick.

5\. The iTunes Phone had very little to do with Apple. It was a deal they made with Motorola to allow a Motorola product to sync with iTunes.

6\. Apple TV's first version was rocky. But as someone who "cut the chord" from my Cable company and uses Apple TV exclusively now I can tell you it improved very quickly.

</comment><comment><USER3> The world wide web was created on a NeXT computer -- if that's a failure, I want to fail! Also the NeXT operating system still lives today inside of OS X...

<http://en.wikipedia.org/wiki/WorldWideWeb#History>

</comment><comment><USER4> Also, the zero-button 3rd gen shuffle (<http://en.wikipedia.org/wiki/IPod_Shuffle#Third_generation>). Though a minor goof, it didn't kill the product line and I don't know Jobs' involvement in it.

Jobs' success is inspiring because of his failure. In adversity we can identify with him and hope that we too may yet triumph.

</comment><comment><USER5> When clicking this link, I received a pop up ad, an overlay box ad, and an auto playing video ad which took up the bottom half of the screen covering up most of the content. No thanks.

</comment><comment><USER6> I think the Lisa has to be considered a prototype rather than a failure.</comment>


How data can help us understand cancer and its treatment - <AUTHOR> https://engineering.stanford.edu/news/how-data-can-help-us-understand-cancer-and-its-treatment <comment><USER2> In cancer the current state of the art seems to be "we can target proteins using molecules but we can't predict its outcome". I don't see how just monitoring people around the world with cancer is sufficient to increase basic understanding of cancer biology.</comment>


From Provo to Palo Alto: Why I Joined a Startup - <AUTHOR> http://blog.pinterest.com/post/9019211167/the-right-opportunity-joining-the-pinterest-team

<comment><USER2> As a user, Pinterest is my favorite web discovery for 2011. In fact I was re/pinning late last night and again around 5AM today.

BTW, I noticed the video feature last week and found it cool. As someone stated here before "The cool thing about HN is sometimes the people you argue with are also the ones who build the products you use every day".

Congratulations.</comment>


3D Wikipedia (SIGGRAPH Asia 2013) - <AUTHOR> https://www.youtube.com/watch?v=CNWFZzmZ0as&app=desktop

<comment><AUTHOR> I'm curious how difficult it would be to take a live video feed or near real- time camera input, match it against the 3d model, and find where relevant information is in a body of text. Using maybe glass and your phone or tablet for the text.

Be great for tourism, complex machine maintenance and repair, crime scene forensics, etc.

</comment><comment><USER2> Excellent work - looks like an inevitable outcome.</comment>


System Extensions and DriverKit – WWDC 2019 [video] - <AUTHOR> https://developer.apple.com/videos/play/wwdc2019/702/ <comment><USER2> Didn't NeXTSTEP already have DriverKit? That for some reason they didn't want ObjC in the kernel, so it was replaced with IOKit?

Edit: lol, yep. [http://www.nextcomputers.org/NeXTfiles/Docs/Developer/Driver...](http://www.nextcomputers.org/NeXTfiles/Docs/Developer/DriverKit/DriverKit.pdf)

You'd think they wouldn't name it something that literally conflicts their previous deprecated framework.

<comment><USER3> Yep, it's amusing that both these APIs recycle the names of what Mac OS X's parents used (DriverKit for NeXTSTEP, and the infamous System Extensions of classic Mac OS).

Obviously no technical recycling going on though; the new DriverKit allows user-mode drivers, not ObjC in the kernel or willy-nilly patching of the OS.

<comment><USER4> NeXT's driverkit allowed user-mode drivers, as I recall, having written one in 1993.

</comment></comment></comment><comment><USER5> I love how wholesome this presentation is. It's clearly noticeable the speaker nervous and is not used to doing this, especially compared to a natural like what Jobs used to be. But he clearly bring over all information and cracks a nice joke on top of that.

</comment><comment><USER6> Hmmm. We're headed back to a microkernel.

<comment><AUTHOR> Slowly leaving BSD/Linux and other UNIX clones as the surviving monoliths.

<comment><USER2> Eh, NT is pretty much still a monolith.

<comment><AUTHOR> NT 4.0 might be, Windows 10 not really, specially since Vista, MinWin and WinRT related changes.

<comment><USER2> Yes really. Vista even with UMDF kept pretty much everything of note in kernel space; only the network looking stuff like USB drivers could be pulled out into user space. MinWin and WinRT have literally nothing to do with the kernel/user boundary.

Edit: you might have an argument on the WSL-WSL2 transition. But, IMO, that feels more like a exokernel than a microkernel since it's running on the side over Hyper-V.

<comment><AUTHOR> USB and GPU drivers are also user space.

<comment><USER2> As much as they are in Linux. Honestly Linux puts more in user space, and allows USB target drivers in user space too (ie. an implementation of the backing USB device).

Edit: and the GPU drivers still very much have a kernel component, and more or less have to. The creation of a GPU instance is super duper privileged, since it's setting up page tables. If you allowed user space to do that, you'd be able to circumvent the MMU.

<comment><AUTHOR> My GPU drivers never bork the machine like they do on Linux, just a couple of seconds black screen and business as usual.

Same applies to USB drivers not doing a kernel panic when plugged on.

Naturally there is always a part that only the kernel is allowed to own control over.

<comment><USER2> > My GPU drivers never bork the machine like they do on Linux, just a couple > of seconds black screen and business as usual.

None of that has to do with the kernel/user boundary. It's that dwm does a better job recovering than x11. Wayland also does a better job recovering.

> Same applies to USB drivers not doing a kernel panic when plugged on.

Like I said, Linux has had USB drivers in user space for longer than NT, and I've def recently had NT USB drivers bluescreen my system.

> Naturally there is always a part that only the kernel is allowed to own > control over.

I mean, not necessarily. I've seen true ukernels run GPU drivers entirely in user space. It's just that NT isn't at all a ukernel. They just like to call it a hybrid because the executive is a different folder in their source code, lol.</comment></comment></comment></comment></comment></comment></comment></comment></comment>


Apache OpenOffice Brand Refresh Project - <AUTHOR> https://cwiki.apache.org/confluence/display/OOOUSERS/Apache+OpenOffice+4.0+Brand+Refresh+Project

<comment><USER2> I know this may fall on deaf ears, but couldn't you people join forces and create ONE open-source office suite? We now have LibreOffice and OpenOffice, and history tells us this trend can only get worse over time.

I'm waiting with trepidation for the moment when the LibreOffice and Openoffice document formats become mutually incompatible. When that happens, Microsoft will win again -- not by being better, just by being bigger and by not splitting into competing fragments.

<comment><USER3> You do realize these two projects _were_ together, right? LibreOffice forked off from OpenOffice in 2010. And for, at the time, good reasons.[1]

[1] imho

<comment><USER4> The reasons they forked were good at the time they did it. They knew Oracle doesn't play well with open-source and they needed to be proactive. They didn't want to let Oracle kill OpenOffice the same way it killed OpenSolaris.

But now that OpenOffice intellectual property including trademark is controlled by the Apache Foundation, not Oracle, I don't see any reason why they shouldn't reunite and collaborate.

<comment><USER5> Because:

a. The LibreOffice guys have, for the past several years, built up their own infrastructure and community,

b. The LibreOffice devs have done significant work on improving OpenOffice,

c. Because the cultures seem very different, and there are AFAIK, a number of people in the Apache OpenOffice project who don't get along with the members of the LibreOffice project.

I'm contributing to the LO project now, and I have to say it's an awesome community to be working with.

</comment></comment></comment></comment><comment><USER6> What's the reason to use Apache OpenOffice over LibreOffice, again?

<comment><USER7> It isn't GPL/LGPL basically

<comment><USER8> That's the main reason? So is their goal to ever have more users, or to just devolve into these developer arguments that 99% of users seriously don't care about?

<comment><USER9> The main reason is because it's in active development by the open source community.

<comment><USER10> You just described the main reason to use LibreOffice.

<comment><USER9> Well, that's what I was aiming for.

</comment></comment></comment></comment></comment></comment><comment><USER11> It's not a request for a brand refresh.

It's a request for a new logo.

My internal designer is sighing and shaking his head.

</comment><comment><USER12> Glad to see the OpenOffice has it's priorities straight now that it's operating under the flag of Apache. Maybe they should just give up on the code altogether and just become a branded fork of LibreOffice.

<comment><USER13> Funny thing is, Apache can't even merge the changes back into OpenOffice, because their projects use Apache license, while LibreOffice is (I think) GPL.

</comment></comment><comment><USER14> It would be nice, to create the logo with OO itself, but there is an issue with that: recently I created an infographic with OO, which worked surprisingly well, but when I tried to export the graphic, I ran into serious issues. Every exported vector format looked differently, so for instance in the pdf version the gradients were messed up. Exporting to bitmap was also odd. For example it rendered the red spellchecker markers into the image...

I would prefer to see such issues solved first, so that we can create the logo in OO itself.

<comment><USER5> Can you log a bug to the LibreOffice guys? Upload the original document, and an example of the PDF that's not been exported well.

<https://www.libreoffice.org/bugzilla/>

</comment></comment><comment><USER15> "Although text in the logo is optional, any font used must be a free and open font. eg. SIL Open Source Fonts."

Yeah, right. Good luck finding a free and open high-quality font for branding purposes.

"Volunteers can use existing branding as a starting point or start entirely afresh."

Given that brand recognition should be about the only reason why new users download OO instead of LO, starting "entirely afresh" sounds like an excellent idea.

<comment><USER13> There are TONS of great open fonts available at <http://www.google.com/webfonts> . The main purpose is for embedding into websites (as obvious from the name), but it is also possible to download the source files directly.

I am occasionally doing graphic design and I found Google Web Fonts a very useful resource for open fonts.

<comment><USER15> Tons of fonts? Yes. Tons of great fonts? Nope. (A few, sure.)

</comment></comment></comment><comment><USER16> Core strategy behind this move: Take one full grown pig, Add lipstick

</comment><comment><USER17> Where did the gulls come from anyway?</comment>


Help me. My job killed my enthusiasm. - <AUTHOR>

I used to love programming and creating and even impressing others with what I could create out of nothing, while in college.
I joined my first job a year ago. I hated my project, hated the team, hated the api. But I could not identify the problem so I did not quit. I then spent a year coding stuff I hated till I quit recently. I can no longer feel any burning desire to make anything. I started four pet projects  in one month and left them all in the middle.
I see wonderful people in HN; people who have created startups, money, value and I want to do what they have done. But I can't feel that it matters. I have a job that pays me well. Why should I do more? I'm terrified that I've lost my answer to that question.
I want to feel the adrenaline but I have forgotten how to get there. Why should I do anything worthy? <comment><USER3> I've been there. Several times, actually. A few things that may apply to you...

* If you started 4 projects you _obviously_ still have desire. Don't push yourself. Maybe just keep tabs on interesting things, or maybe poke around in a new language, or look into anything you're curious about without any commitments.

* Even a really good day job in programming can take away energy for side/personal projects. In fact, the better the job the less mental energy I have left for my own stuff. I wish it were different, but I've mostly come to accept it.

* The world is full of small things that you can do to make your life better. When you find something repetitive in your life, consider writing something to take care of it. Doing small things to keep busy and improve your life is a nice way to get the joy back. Keep it small and simple to start, so you're not face with a big project you don't have the enthusiasm to complete. Do things you can finish quickly.

Good luck!

</comment><comment><USER4> I hear ya.

#1 Do something else - It's time to take a break. Do something completely different, unrelated to programming.

If you're like me, and it sounds like you might be, that's what it takes to make the mind miss what it knows best, and you'll soon find yourself coming up with ideas around what your doing, and chomping at the bit to dive into the technical aspects of them.

#2 Take it slow - small projects, small victories. Set your goals very low and achieve each one as a stepping stone.

If you have the ability, funds, and time, do some traveling. If not, do a lot of reading... fiction, and NO HN. Seeing other people do stuff (most of which is inane and inconsequential) only makes one feel impatient. Disconnect completely for a week or two and let your body and mind rest.

Cheers!

</comment><comment><USER5> > Why should I do anything worthy?

Because your future doesn't rely on you having a job _now_ , it relies on you continually improving and sharpening your skills. Does your current job give you that? No, it does the opposite; it kills you. By getting out of it, you're doing your future self a favor.

I was kinda half-way there. I just quit my day job last week.

First advice: don't rush back into hacking. Give yourself sometime to cool off, just lay back and relax (metaphorically). Do whatever things you enjoy in life, maybe your thing is watching shows/movies, reading books, going out, get into something interesting like music, martial arts, whatever.

> But I can't feel that it matters. I have a job that pays me well. Why should > I do more? I'm terrified that I've lost my answer to that question.

1\. Your job is rotting your brain. I think you already know that.

2\. You don't have to have a startup idea that works to quit. It's not about having a particular idea. It's about hacking and solving problems.

I'm sure you can regain your enthusiasm after some relaxation time, and when you do, just hack on stuff, don't worry about having to do any real project.

"Real stuff" comes when you just casually go about solving problems.

At the very least, by working on problems you find interesting, in your own time, you can refresh your hacking muscles, gain experience, get more stuff to put on your resume, and then find a better job.

</comment><comment><USER6> A long time ago something about computers sparked your interest and curiosity. You followed that spark maybe not even knowing where it would take you. Now the "real" world doesn't care about that spark, but they CANNOT put it out. Only you can. Go way back and find that time in the beginning that started it all. Re-connect with your first experience. That's what got you this far and it's what will keep you going. It's what I always focus on, and this is my twentieth year as a software developer.

</comment><comment><USER7> Hang in there. I'll second the advice to find something else you love and do that for a while instead of programming. If you like reading (a lot), try Robert Jordan's A Wheel of Time. Learn a little about cooking. Learn a little about playing a musical instrument; the bass is good - you don't have to be good at all to have fun playing along with your favorite bands.

Otherwise learn something new and unrelated to your day job but still in the programming realm. Learn Erlang or JavaScript. Make sure it has a REPL - <USER2> Chrome console is a great REPL for JS. Have fun with it! Don't worry about making something of "value" just make something small that's only purpose is to make you smile.

Hang in there; you'll get through this season.

</comment><comment><USER8> I am looking for someone like you that can lead to more or open more doors if you have the experience. I am startup entrepreneur looking for a quality programmer to freelance as project manager for two weeks. Requires a small amount of time but not much pay at this time. May lead to more and maybe vested in the company if right fit.

</comment><comment><USER9> Why dun you completed your four pet projects?

I'm sure if you complete these projects, you will feel adrenaline again. It is quite clear that money is not something that make you tick. Making things does, and when you are not able to deliver/get it, your interest dwindle... Quit thinking, and complete those projects.</comment>


UNITED STATES COURT OF APPEALS  FOR THE TENTH CIRCUIT SCO V. IBM [pdf] - <AUTHOR> http://www.ca10.uscourts.gov/opinions/16/16-4040.pdf <comment><USER2> Some context: [https://news.ycombinator.com/item?id=15589393](https://news.ycombinator.com/item?id=15589393)</comment>


College is like a sandbox if you're an entrepreneur - <AUTHOR> http://www.feld.com/wp/archives/2011/11/college-is-like-a-sandbox.html

<comment><AUTHOR> I attended one of the events, held at the law school, got to meet Brad and it was well worth the drive from East Lansing. I thanked him for coming to the state and it sounds like he enjoyed it enough he just might return.</comment>


Tesla CEO Talking With Google About 'Autopilot' Systems - <AUTHOR> http://www.bloomberg.com/news/2013-05-07/tesla-ceo-talking-with-google-about-autopilot-systems.html <comment><USER2> Quoting Elon here: "Am a fan of Larry, Sergey & Google in general, but self- driving cars comments to Bloomberg were just off-the-cuff. No big announcement here"

<http://twitter.com/elonmusk/status/331797405840338944>

</comment><comment><USER3> That's a nice bit of marketing by Elon, changing the conversation from auto- drive to autopilot. Kinda shows how clueless google is about it's own marketing.</comment>


Data Is the New Oil - <AUTHOR> https://medium.com/datadriveninvestor/data-is-the-new-oil-1227197762b2 <comment><USER2> Interesting article but hate that title - Data is not the new oil. Read a good refute here: [https://medium.com/cognilytica/no-data-is-not-the-new- oil-86...](https://medium.com/cognilytica/no-data-is-not-the-new- oil-8621cb343941)

A better title for this article would be ImageNet Has Been Solved, onto the Next Challenge</comment>


DNA spray to catch criminals - <AUTHOR> http://www.jantinewijnja.nl/2011/02/11/dna-spray-installed-in-my-neigborhood-amsterdam-west/

<comment><USER2> Seems awesomely abusable from basically all directions.

Well, except for providing exculpatory evidence, of course.

</comment><comment><USER3> Wow...I have never heard of this stuff. Seems like a surveillance cam could perform similar function without being as intrusive (i.e. actually spraying unwashable goop on your body).</comment>


What are your favourite "web 1.0" websites? - <AUTHOR> I've learned a great amount from Piero Scaruffi's encyclopedic music history website: https://www.scaruffi.com/<p>Robert Braeunig runs an orbital mechanics site: http://www.braeunig.us/space/orbmech.htm <comment><USER2> This might not be what you're looking for, but this is a very old site that has never changed. It's a french language page call "perdu.com" which simply means "lost". The content simply translates to "You are here" with an arrow and an "X" to mark the spot. It's not usefull in any way, but it always makes smile.</comment>


Prefix Trees; Comparison Between Trie, Ternary Search Tree and Radix Tree - <AUTHOR> http://maitesin.github.io//Prefix_trees/ <comment><USER2> Really nice and useful article - 10/10 :) It is said that trie consumes too much memory. But the author has chosen a naive representation, while it could be done better.

There is mentioned paper about balanced ternary trees - does anybody have a link?</comment>


Lisp in Lisp with a different default data structure - daniel-cussen http://dcussen.posterous.com/lisp-in-lisp-without-linked-lists

<comment> daniel-cussen If anyone has seen someone else do this, please let me know.

I'm a little nervous about posting this because last time I put something I considered "research" I got grilled a bit: <http://news.ycombinator.com/item?id=1959896>. That being said, it stayed at the top of the arc forum for a few days and nobody said this sucked. Well, I fixed the bug, read what I had to read, and am showing HN that that data structure can be used to build Lisp pretty much from scratch. I'm sure you can do it with other data structures, but have neither seen it done nor know what the performance would be like.</comment>