Colorful Image Colorization - <AUTHOR> http://richzhang.github.io/colorization/ <comment><USER2> [http://richzhang.github.io/colorization/resources/imagenet_c...](http://richzhang.github.io/colorization/resources/imagenet_comparison.html)

This is amazing. Looking at the example comparison list, I love seeing the algorithm "correct" the color based on its biases. "No, people do not have pink hair: I made you blond." "Shoes are always a shade of brown (including black); the idea of shoes that are pink, purple, or even grey, morally offends me." "I don't understand why you would paint the frame of this window that crazy shade of green... let's go with a dark stain; doesn't that look classier?" "I've seen this insect before: I don't remember its name, but it was definitely brown, so stop trying to trick me into thinking it is bright blue with your silly Photoshop shenanigans." "Also: I've seen muzzles before, and they are made out of rusted metal; I don't know where you got this blue rubber-coated comfort muzzle, but back in my day we didn't have those extravagances." "On a similar note: I don't understand how your watch is glowing blue... back lights are supposed to be a dull and mottled yellow." "One red stripe on your truck is enough to make the point: three red stripes makes you look like you have no taste :/." "And why would you go to the trouble of forcing people to take a photo in front of a custom backdrop and not take the opportunity to print the name of your company in an eye-catching color, such as red?" "I am pretty certain all radiators everywhere are colored using the same aging white paint that has started browining from the heat; it gives a comfortable feeling of familiarity that your bright green radiator lacks." "Mittens are supposed to be festive, so why did you get grey ones?! I've colored them red: that should help."

</comment><comment><USER3> Seriously?? This is like the uber of cool or the spotify of awesome!! There's a link in this blog [http://tinyclouds.org/colorize/](http://tinyclouds.org/colorize/) where you can get the trained model for Tensorflow. I'll try this out. MIND = Blown.

<comment><USER4> Seriously what the hell? How does it even know that the people in the Cartier- Bresson photo are black? I have no idea how it's doing that stuff.

<comment><USER5> It doesn't really need to, it just needs to expect it to be skin.

I'll probably get some terms wrong here as it's been a little while since I did this kind of thing but:

When you look at skin, people seem to have very different colourings. I've got freckles so I'm even patchy, and depending on the time of year will be lighter or darker. However, skin colour when you remove _brightness_ becomes much more standard. There's remarkably little variation between a normalised colour of black and white skin, black skin is simply darker.

Look at the water by the faces, it's quite a generically caucasian colour. That's because it's just _lighter_.

Here's some old stuff I did with finger pointing detection: [https://figshare.com/articles/Finger_pointing_detection/9531...](https://figshare.com/articles/Finger_pointing_detection/953171)

[https://ndownloader.figshare.com/files/3155228](https://ndownloader.figshare.com/files/3155228) <\- A plot of measured skin colours

[https://ndownloader.figshare.com/files/3155291](https://ndownloader.figshare.com/files/3155291)

<comment><USER6> That makes a lot of sense given that skin is colored by melanin. I would expect some small differences due to the fact that lighter skin colors are a bit more transparent but that they largely have the same base is pretty neat.

</comment></comment></comment></comment><comment><USER7> This is rather impressive. Similarly to the cited work [http://tinyclouds.org/colorize/](http://tinyclouds.org/colorize/), it does however seem to have a slight bias towards brownish colors (giving many images a sepia look).

One thing very noticeable in both works is also the tendency to overshoot borders when coloring. In many images it can be seen that the color of the main subject bleeds into the background. A good example is e.g. the fifth picture in [http://richzhang.github.io/colorization/resources/images/exs...](http://richzhang.github.io/colorization/resources/images/exs_sel_aa.jpg) , where parts of the sky get assigned the same color as the mesa. This looks like something that should be fixable if one tries to detect these kind of edges and gives less weight to information from the other side of such an edge.

Does anyone know what the differences between this and the previous neural net approach are on a technical level?

<comment><USER8> The Ansel Adams examples are interesting because AA very deliberately manipulated the relative intensity of tones in his photographs.

In fact, I'm not sure how applicable the current training method (desaturate a color photo, colorize it, compare it to the original) is to actual B&W photographs. Black-and-white photography is not a simple matter of desaturation.

</comment></comment><comment><USER9> My first thought was "I hope this is someone showing off their photo-editing skills because if an algorithm did this then my mind is fully blown"...

Either this or it's an advanced April Fool's release (with back-dating and references)!

</comment><comment><USER10> It's impressive, but they do mention that the examples on the front page are where it did well.

You can see some of the other results, including many there didn't work well at all, here: [http://richzhang.github.io/colorization/resources/imagenet_c...](http://richzhang.github.io/colorization/resources/imagenet_comparison.html)

<comment><USER11> They have the "best" and "worst" matches at the bottom of the page. I thought the "worst" set was pretty good, and I wonder if correcting for white balance would have given them a HUGE benefit. The majority of the errors look like daylight-for-tungsten correction, just tweak the yellows to blues FTW.

<comment><USER10> It seems to guess red at odd times, like [http://richzhang.github.io/colorization/resources/images/ima...](http://richzhang.github.io/colorization/resources/images/imagenet_comparison//ours/9839.jpg)

Is that white balance related?

</comment></comment></comment><comment><USER12> Very impressive. Is it possible to combine this with a semantic analyzer in some way? Seems like having a first pass through one and then serving that output on top of raw image pixels could reduce the potential color space and maybe blunt training set biases? To wit, I know nothing about these things.

</comment><comment><USER13> This is very impressive but I'll be that person.

I shudder when I see someone/something colorize the works of masters of black- and-white like Ansel Adams or Henri Cartier-Bresson. Just a horrible mangling of their work.

Adams for example could have used color, and did take many hundreds of color photos[1]. But in his work for display he deliberately and consciously chose black-and-white and put in much effort in the lab to get the final images just they way he wanted them.

So while I truly appreciate the technological achievement here, I still cringe at the what I see as distorting the artists' work.

[1][http://www.smithsonianmag.com/arts-culture/ansel-adams-in- co...](http://www.smithsonianmag.com/arts-culture/ansel-adams-in- color-145315674/?no-ist)

<comment><USER14> I really don't think the intention is to say "look we improved this!", but rather to have a visually striking (since the original photo is visually striking) result that doesn't have a "ground truth color" to compare it to.

<comment><USER13> Yes of course and I appreciate that. Just my opinion but in that case I would not have used images with such artistic weight. There certainly plenty black and white images to choose from.

</comment></comment></comment><comment><USER15> This technique could be applied to archive b/w photos and footage. In the same line of ideas, it's a pity that some classical music recordings are very distorted. Some have been recorded by famous players who are long dead and carry important significance.

Maybe there is a way to transform noisy recordings into ones that sound as if they were recorded in a modern studio. They could first try to emulate noise and distortions and generate a dataset of distorted recordings, then train a NN to reconstruct the original.

<comment><USER16> I, for one, would not appreciate it if entire swaths of b/w photographs were needlessly colorized for "archiving", especially the Ansel Adams. His photography was too good for the exact medium he chose, and colorizing them detracts from the image.

Colorization is super cool and whatnot, but I don't think it should be applied to art.

</comment></comment><comment><USER17> Am I the only one confused by the title? I honestly thought it would be an April Fool's joke :) The title makes me think it's about coloring colored images.

</comment><comment><USER18> This is very cool.

Aside from how impressive this is from a technical standpoint, I love that this algorithm seems to be a little colorblind in the _human_ sense -- looking at the military trucks and uniforms in particular, it seems to have trouble with reds vs greens.

</comment><comment><USER19> Very impressive

</comment><comment><USER20> Previous HN discussion on this [https://news.ycombinator.com/item?id=10864801](https://news.ycombinator.com/item?id=10864801)

<comment><AUTHOR> No. It is a different post, on a different research, by different people (on the same topic).

I consider the earlier result is of much worse quality. (Saw it, but I was hardly impressed.)</comment></comment>


Tinchilla - Instant Can Cooler (from room temperature to cold in 60 secs) - <AUTHOR> http://www.cybercandy.co.uk/search/index1.php/url_indprod/xdbc_945/Tinchilla%20-%20Instant%20Can%20Cooler.html <comment><USER2> Get this off of ycombinator - it's news for startups and hacking, not gewgaws. Try gadgets.reddit.com</comment>


SSDs: A gift and a curse - <AUTHOR> https://laur.ie/blog/2015/06/ssds-a-gift-and-a-curse/ <comment><USER2> Of course SSD firmware is buggy. You know why? Because any half-decent electrical and computer engineering team can slap a NAND flash controller and some flash chips on a PCB, take the controller's manufacturer's reference firmware implementation, tweak the dozens of knobs provided by the reference implementation (ignore FLUSH commands, change the amount of reserved sectors, disable this, enable that, etc), change the device ID strings to "Company Foobar SSD 2000", and release the product on the market, with minimal QA and testing. And that's exactly what happened in the last 5-7 years with dozens and dozens of companies around the world designing SSDs.

But with traditional HDDs, the amount of engineering and domain-specific knowledge to manufacture and assemble the platters, moving heads, casing, etc, is such that there are only a handful of companies around the world who can do this (Seagate, WDC, Hitachi, etc). They have decades of experience doing that, so the firmware part of HDDs happen to be very robust as these companies have seen everything that can and will go wrong in an HDD.

So it boils down to this: which would you trust more, an HDD firmware code base that is 20 years old, or an SSD firmware code base that is 4 years old?

Combine this with the fact SSD firmware is much more complex (a flash translation layer must minimize write amplification, do wear leveling, spread writes on multiple chips, etc), and you are guaranteed that many SSDs on the market are going to be very buggy.

<comment><USER3> That is a nice theory, except for the fact that firmware bugs have hit big players equally badly, if not even worse. Intel and Samsung come easily to mind, and Sandforce was notorious for not getting their own firmware to work (for their own controllers).

<comment><USER4> Since when has Intel been hit equally?

<comment><USER3> The "8MB bug" ([https://communities.intel.com/thread/24205](https://communities.intel.com/thread/24205)) was the most notorious, but I remember also some bricked Intel SSDs too.

<comment><USER5> Ignoring that, Intel is rock solid. The larger issue isn't incompetents making SSDs, but SSDs being sold soley on performance. Intel has always been a step or two behind the performance game but manages to deliver some really reliable SSD's. I have yet to see a consumer Intel fail, which is incredible as that kind of reliability, outside of the super expensive PCIe cards is unheard of.

I think we're a few more years of shaking out this industry and leaving behind all the growing pains. No idea who will be left standing, but I suspect Intel will probably be around.

<comment><USER6> I managed to brick an Intel 320 last week. Going to see if they'll replace it under warranty - those devices were upgraded to a 5 years so it should still be covered.

(Apparently the drive _really_ didn't like being issued with an 'hdparm --security-set-pass X /dev/sdb' command. I was intending to do a secure wipe, for which the password setting is a pre-requisite, but the drive never came back from setting the password. After that it just returned junk data to any command, including 'hdparm -I /dev/sdb' & failed the power-on BIOS SMART test.)

</comment></comment></comment></comment></comment></comment><comment><USER7> Parts of this sound more like hardware RAID controller issues than SSD issues, which is why I typically avoid hardware RAID in production environments unless there's a specific reason for it. RAID controllers tend to be buggy pieces of shit, usually implementing some RAID method that's more-or-less proprietary and unique even between different RAID cards from the same vendor (meaning that if your RAID controller fails, you might as well kiss your data goodbye, since the replacement - 9 times out of 10 - won't be able to make sense of its predecessor's RAID setup).

Also, RAID6 is a bad idea, almost as bad as RAID5. There have been numerous studies and reports [0] indicating that both are _very_ susceptible to subtle bit errors ("cosmic rays"), and this is made even worse when SSDs are involved. If you need absolute data integrity, RAID1 is your only option; if you need a balance between integrity, performance, and capacity, go with RAID10, which is still leaps-and-bounds better than RAID5/6.

[0]: [http://www.miracleas.com/BAARF/Why_RAID5_is_bad_news.pdf](http://www.miracleas.com/BAARF/Why_RAID5_is_bad_news.pdf)

<comment><USER8> To expand: in my 20-year experience, no small-computer RAID 5/6 controller I have had experience with has ever saved any data, ever. All failures are hard and non-recoverable. Which begs the question: why use them at all? I mirror only.

<comment><USER9> RAIDs are in place to for your guaranteed uptime in the SLA. With the current storage density RAID5/6 is probably more fragile than single disks because UREs are very likely during a rebuild. Nonetheless having a degraded array is probably better than having an offline system and it will buy you some time to migrate. Mirrors are ideal, but it is hard to justify the upfront cost.

<comment><USER8> For small home machines, the storage cost is minimal. All my home machines are mirrored, for around $100 each. Its saved me several times.

<comment><USER10> I've never understood this. At home, you don't need uptime, thus you're much better off with a real offline backup instead of a mirror.

<comment><USER7> You don't _need_ uptime, but it's nice to have. Repairing a degraded mirror takes a lot less time than restoring from a backup in the vast majority of cases.

</comment></comment></comment></comment></comment></comment><comment><USER11> I am surprised they haven't mentioned Crucial SSDs. With cheap drivers like the MX100 having features as power loss protection and Opal 2.0 support, I preferred these over the slightly faster Samsung products at the time.

<comment><USER12> Turns out, the Crucial drives' "power loss protection" doesn't actually preserve data "in-flight" at the moment of power loss. It just prevents data "at rest" from being corrupted.

This appears to apply to _all_ the consumer-grade Crucial drives.

See [1], money quote:

"In the MX100 review, I was still under the impression that there was full power-loss protection in the drive, but my impression was wrong. The client- level implementation only guarantees that data-at-rest is protected, meaning that any in-flight data will be lost, including the user data in the DRAM buffer. In other words the M500, M550 and MX100 do not have power-loss protection -- what they have is circuitry that protects against corruption of existing data in the case of a power-loss."

[1] [http://www.anandtech.com/show/8528/micron-m600-128gb-256gb-1...](http://www.anandtech.com/show/8528/micron-m600-128gb-256gb-1tb- ssd-review-nda-placeholder)

<comment><USER13> That is true of ordinary HDDs too. Until data is written to the flash or platter itself, it hasn't been actually written.

People don't expect files they haven't saved to be written and magically come back later if the power goes out, but they _do_ expect that their drives will power back up with all the data that was last written intact.

<comment><USER12> Yes, that's true.

However, Crucial _explicitly_ marketed their SSDs as having, quote, "power loss protection", pointing out the array of capacitors on the drive's PCB, and strongly implying that this feature included in-flight writes surviving a power loss (i.e., that the caps had enough capacity to enable flushing the DRAM buffer to the NAND media, much like the non Sandforce-based Intel SSDs — e.g., the 320 series from a few years back, or the current DC-3500 and -3700 drives).

That, it turns out, _isn 't_ true.

And that's a problem, because I and many others bought these drives on the basis of Crucial's implying they were power-loss durable. When enough people started reporting to Crucial support that their drives didn't, in point of actual fact, offer this feature, their marketing literature changed so as not to imply they did, and forum posts and reviews, like my previously-linked Anand Tech article, started pointing out that they didn't.

</comment></comment></comment></comment><comment><USER14> The new flash DIMMs (which thus bypass PCIe bridges and ATA layer, since they plug directly into the memory controller) are really interesting. Not a commodity yet, but seems like a case where simpler -> better -> cheaper.

</comment><comment><USER15> What a wonderfully informative article. I really appreciated all the specific scenarios and cases.

</comment><comment><USER16> I am looking forward to the day when all SSDs ship minimal firmware, and offload all the complex work to (main-CPU) software.

<comment><USER17> Wouldn't that make performance a lot worse, for both CPU and disks? Offloading the job to something closer to the flash chips and fully dedicated to servicing them sounds like a better (and the current) path. Same for high speed network links.

<comment><USER18> This is appropriate: [http://www.catb.org/jargon/html/W/wheel-of- reincarnation.htm...](http://www.catb.org/jargon/html/W/wheel-of- reincarnation.html)

<comment><USER17> Always have that in the back of my mind =]. However I don't think that's the current trend right now. Except where special hardware is integrated to the chip, but the work isn't left to the CPU itself.

I'm not so versed in the area so I'm just blind guessing here.

</comment></comment></comment></comment><comment><USER19> Moral of the story:

* Don't use hardware RAID controllers. * Don't buy hardware from people who are going to change SKUs out from under you, or worse, change what's actually delivered for a given SKU.

<comment><USER20> Totally agree with you. I was just about to write the exact same thing. I've had problems with dell hardware, hardware raid controllers, and hundreds of ssds. The most stable systems I've worked on use lsi sas controllers, perhaps software raid, and Intel/crucial ssds in fault tolerant distributed systems. Therefore, I also question if it's etsy's tendency to use non distributed datastores, with less effective or complex fault tolerance makes ssd failure a bigger deal? Failure is inevitable, and should be expected at every level.

</comment></comment><comment><USER21> All these drives were on hardware RAID cards it seems, is it feasible to do without them?

<comment><USER22> Preferable, I'd say. The last thing you want between your OS and your disks is a buggy unknowable black box you can only talk to with some crappy binary blob management tools.

</comment></comment><comment><USER23> Am I missing something? Most of the issues seems to be Hardware Raid related.

</comment><comment><USER24> _On the upside, [the ridiculously expensive HP SSDs] do have fancy detailed stats (like wear levelling) exposed via the controller and ILO, and none have failed yet almost 3 years on (in fact, they're all showing 99% health). You get what you pay for, luckily._

Call me a huge cynic if you must, but given the other problems observed, I think there's a _really_ simple explanation for perfectly uniform "99% health" after _three years of service_ that doesn't involve "you get what you pay for."

<comment><USER25> A SSD can be 85% of the way through its lifespan and still be operating with the same performance and reliability expectations it had when it was almost new, so the drive can reasonably be said to still be healthy. It's only when it has to start retiring bad blocks and expending the spare area that the drive is operating in a degraded mode, and it's not until you hit that point that the drive can start making accurate predictions about how much more use it can take until it dies.

<comment><USER26> Not quite.

An SSD at 85% wearout will take longer to program and erase the blocks and it will require more refreshes (data retention suffers) so there will be considerably more background operations.

In fact SSD vendors do quite a bit to make the disk perform its best early on when they absolutely can and then start to break down further down the road after the benchmark is over. After all the users are mostly only testing it for a month or two and they never get to a real wearout condition during the test and then they buy in bulk and run it for a few years but by that time the SSD model is already outdated anyway (about 18 month cycle for SSD models).

</comment></comment></comment><comment><USER27> Isn't running raid1/5/6 on ssds silly b/c they'll all die at the same time? And hardware raid on top of that? Why?

SSDs have a fairly consistent failure curve (exusing firmware bugs and other random events) for a given model, so they'll wear evenly in a raid setup. This means they'll all die at the same time as writes/reads are distributed fairly evenly across the disks. Given the size of today's drives, you may not complete a rebuild before losing another disk.

Has this been proven to not be true within the past few years? I don't run redundant raid on ssds. It's either raid0 or jbod.

<comment><USER28> Not necessarily. We've been running Intel SSDs in productions at Stack Exchange for 4+ years, and just recently had our first 2.5" drive die.

That said, most of the drives in this article are consumer drives. The problem with consumer drives is that they don't have capacitors. And since your writes are cached by the drive before they go to the NAND, if you lose power all of your drives will be corrupted in the exact same way at the exact same time.

If you don't care about the data, go ahead and use them. If you do pay the extra for Enterprise drives. They really aren't _that_ much more expensive these days.

<comment><USER27> Interesting. Do you have more info on what you mean by "Not necessarily?" From what I've seen during reliability studies on SSDs, they have a fairly tight failure curve. This is very dissimilar from hard disks where there's much more variance from drive to drive.

I'm genuinely interested.

<comment><USER28> Nothing that would pass deep scrutiny. Just our experience running SSDs in almost every server at Stack. We've only had one mass failure of drives. That was when 5/8 Samsung drives died around the same time in our packet capture box. The remaining 3 are still alive, although we don't really use them.

We have only had two Intel drives die on us. I'm interested (well academically, not professionally) if they will die at the same time or keep dropping off one at a time.

We tend to retire the machines or the drives in them before they fail.

</comment></comment></comment></comment><comment><USER29> I bought two consumer intel.. 80gb? Ssds. They both lasted less than a year before they stopped posting or allowing a system boot on separate devices.

The 850 pro is ok, but it's slowed down a lot lately. Might be an OS thing, which i doubt.

All in all i keep a redundant backup on old school hdds too since the failure rate of SSDs isn't so great in my experiences so far.

Anyone try one of the newer M2's yet? Or i think i mean the pci-E types?

</comment><comment><USER30> So there are bugs in drive firmware. How about security bugs? Should we expect quality drives to have had a security audit?

<comment><USER31> If you are doing your security at the hard drive layer, haven't you already lost?

<comment><USER30> So another reason for whole-disk encryption is to defend against your own drive firmware? I guess that may make sense nowadays, though it hadn't occurred to me.</comment></comment></comment>


Building a feedback loop (Writing a programming book, episode 5) - <AUTHOR> http://practicingdeveloper.com/2015/10/14/writing-a-programming-book-episode-5-building-a-feedback-loop/ <comment><AUTHOR> Hi, I'm the author of this post, and have shared it on HN in hopes of getting your feedback!

This advice isn't (or at least shouldn't be) anything new to those of your building your own businesses. However, the idea of "getting out of the building" and talking to others may be less obvious when it comes to producing technical writing works like books (or even blog posts).

There have been times where I've worked on a long complicated article for a hundred hours or more and released it to the sound of crickets.

In my more recent works, I've been actively getting involved with people in my target audience, and might have dozens of conversations for a single ten page article before it even lands on the public internet.

Needless to say, the difference between those two extremes is huge! Happy to discuss more if anyone has thoughts or ideas to share.</comment>


Free Software's Fifth Freedom - <AUTHOR> http://mhall119.com/2015/03/free-softwares-fifth-freedom/

<comment><USER2> I wouldn't call this a "freedom". More like an option.

In general, open source projects with a vibrant community provide a lot of benefits including:

1) Developers who already know the API and possibly inner workings of the tool before you hire them

2) Constant improvements, bug fixes and security patches for free

3) Standard base on which to build projects, making it easier to hire someone or join a team

4) Greater chance someone ran across your particular issue

5) Less lock-in

etc etc.</comment>


Marten Mickos Gets a Buzz Cut and Eucalyptus Starts Hitting its Stride  - <AUTHOR> http://servicesangle.com/blog/2012/02/23/marten-mickos-gets-a-buzz-cut-and-eucalyptus-starts-hitting-its-stride/

<comment><AUTHOR> Wonder how many CEOs can do it?</comment>


Uber, Postmates Sue California to Block Gig-Worker Law - <AUTHOR> https://www.bloomberg.com/news/articles/2019-12-31/uber-postmates-sue-california-to-block-landmark-gig-worker-law <comment><USER2> The real problem here is that benefits such as health insurance and retirement savings depend on being an _employee_. Those benefits should be decoupled.

<comment><USER3> Those benefits and taxes are why they are fighting it tho.

<comment><USER4> I think OC is pointing out that these companies are willing to provide benefits to their workers.

They're primarily fighting this because the employment-related taxes and costs are expensive.

What Uber/Lyft want is a new class of contractor that allows them to provide benefits to their workers without paying the taxes.

<comment><AUTHOR> I don't think Uber/Lyft want to pay for contractor's benefits. It doesn't provide any advantage to them to foot the cost of that bill. What they seem to want is a contractor they can treat as an employee in terms of time worked and tools used.

</comment></comment></comment></comment><comment><USER5> I've read that Germany and Canada have a middle ground between independent contractor and employee, the dependent contractor.

Does anyone know how well that works out in practice? Are Uber drivers dependent contractors in these countries?

<comment><USER6> I don't know (re: Canada) but given you can be an Uber driver and do other driving jobs too (I think?) there's no exclusivity, which I think is what delineates the contractor types.

<comment><USER7> > _there 's no exclusivity_

If there were a middle ground between independent contractors and employees, where such "dependent contractors" _e.g._ worked exclusively for one client, I'd bet some drivers would pick teams.

A middle ground for contractors makes sense. It makes more sense than the _status quo_ , where ersatz employees get no benefits. And it makes more sense than the Californian law, which effectively outlaws freelancing and part-time contracting.

Such a middle ground relationship would involve _some_ obligations of employment ( _e.g._ re-imbursement for expenses, paid sick leave and time off, basic health benefits) but not all ( _e.g._ no retirement accounts, limited dismissal recourse, no training), just as it would entail _some_ of the restrictions of employment ( _e.g._ exclusivity), but not all of them ( _e.g._ no gardening leaves, corporate NDAs, time management, _et cetera_ ).

</comment></comment></comment><comment><USER8> So, I'm looking forward to the onslaught of insightful, balanced, and deliberative discussion that will accompany this article.

Idea for HN: the balance of downvotes and upvotes on an article is a useful piece of information in and of itself. It might not be a good idea to show that on each particular article, but an end-of-year analysis of what words in an article title often corresponded to lots of downvotes (relative to the upvotes), would be an interesting way to measure which topics are currently hot-button issues.

<comment><USER9> The idea that an "insightful, balanced, and deliberative" discussion should happen implies that the topic is either unfamiliar and requiring exploration, or is somehow otherwise of indeterminate status with respect to norms, morality or consequences.

At this point, if someone isn't at least dubious of Uber and the gig economy's value, given everything that's been publicly determined about them, I don't feel like I have a lot of time to waste on a "balanced" discussion.

<comment><USER8> An "insightful, balanced, and deliberative" discussion is able to determine the truth about a matter more effectively than one imbalanced, that is not deliberative or insightful. So even if you have an opinion on a topic, it is a useful way to proceed to discuss it if you are wanting to gain some insight.

If you're not wanting to learn anything from the discussion, why even have it? It's not as if a flame thread on the internet is going to actually convince anyone of anything, or really accomplish much of anything.

<comment><USER9> How many times do we have to have a balanced discussion to determine the truth before we accept that, with reasonable certainty, we've determined the truth and can discuss subsequent issues on that basis?

I'm not suggesting a flame thread is more productive. I'm suggesting that a civility/debating club fetish keeps us rehashing basics and is itself an impediment to deeper learning.

</comment></comment></comment></comment><comment><USER10> Good for Uber. California has its hands on too many things. It has so many ethics it has destroyed the middle class. I want much less regulation.

<comment><USER11> Our median income in California is the highest in the nation at $70k. Bay is $100k. California seems to be doing everything right in terms wage growth.

[https://datausa.io/profile/geo/california](https://datausa.io/profile/geo/california)

<comment><USER10> Sure. But compare wage growth with the amount you can buy in California. Local inflation is a killer because we do/will/can not develop things like housing or infrastructure.

My housing costs have gone from $700 to $3950 in 10 years.

If I wasn't one of the lucky few, I would be priced out. Hence my point we need much less regulation so that middle class people can afford to live in California.

We could 10x pay, but with the same stock of housing, the poor will do no better.

<comment><USER12> >Hence my point we need much less regulation so that middle class people can afford to live in California

Middle class people can afford to live in plenty of California, just not in certain places like the bay area. The problems with housing are mostly caused by local NIMBYism not statewide regulation, which is an issue that doesn't have a specific political affiliation.

<comment><USER10> Regulations do in fact have a political component. San Francisco has laws on the books mandating "affordable housing". These laws have have made housing construction much more expensive and have reduced the overall stock of housing.

An unintended consequence.

A new ballot measure, sponsored by progressives on the board of supervisors this year, will further limit construction and tie commercial development to these affordable housing mandates. The result will be less overall development and increased cost of living. Sponsored by progressives.

What I see locally is progressives fighting development, and this hurts us all. Yes there is a NIMY component, but with a super majority in the state legislature - Democrats could easily overrule local laws. But they do not.

Japan is an example of a place with housing decisions made at the state level.

<comment><USER12> > San Francisco has laws on the books mandating "affordable housing".

San Francisco is geographically limited. But San Francisco doesn't want to build up because of NIMBYism. That's the primary problem. It's not a left vs right thing.

> Democrats could easily overrule local laws.

The state government moving in and overturning local control is a big government progressive position. You are criticizing California for not being progressive _enough_.</comment></comment></comment></comment></comment></comment>


Innovation Can Unlock Job Growth - What Obama's job summit should do - <AUTHOR> http://dealbook.blogs.nytimes.com/2009/12/01/another-view-spur-innovation-to-unlock-job-growth/

<comment><USER2> _The gross domestic product up. Stock prices are up. Surviving financial institutions are returning to healthy profitability, as is Corporate America_

Increasing asset prices mean nothing when the purchase power of the dollar falls at an equal or greater rate. The dollar is collapsing in value relative to other currencies and the dow is collapsing when compared with gold:

Other currencies: [http://www.google.com/finance?chdnp=1&chdd=1&chds=1&...](http://www.google.com/finance?chdnp=1&chdd=1&chds=1&chdv=1&chvs=Linear&chdeh=0&chdet=1259687689470&chddm=2164027&cmpto=CURRENCY:USDJPY;CURRENCY:USDCHF;CURRENCY:USDAUD;CURRENCY:USDCAD&cmptdms=0;0;0;0&q=CURRENCY:USDEUR&ntsp=0) Gold:[http://www.google.com/finance?chdnp=1&chdd=1&chds=1&...](http://www.google.com/finance?chdnp=1&chdd=1&chds=1&chdv=1&chvs=maximized&chdeh=0&chdet=1259701200000&chddm=496961&chls=IntervalBasedLine&cmpto=INDEXDJX:.DJI&cmptdms=0&q=NYSE:GLD&ntsp=0)

</comment><comment><USER3> Fostering innovation and entrepreneurship means removing tax and other federal burdens, and allowing Americans and the free market to thrive. George's comments are right on. Our economy did just fine for a long time without this debt-backed fiscal irresponsibility called economic stimulus.</comment>


Reimagining the Web - <AUTHOR>

A thought struck me in my media theory class today.
Imagine if you had a chance to build the web from the ground up. I could imagine baking in anonymity from the ground up. I could imagine a text-only interface so that the sight-impaired could have universal text to speech access. I could imagine some kind of identity management baked-in that would ensure privacy and remove the need for OpenID and creating login after login.
What I'm trying to say is. Imagine if you had the chance to design the Web✝ from the scratch. How would you go about it? There was a discussion today on this site about a universal bytecode instead of Javascript, the one scripting language. Imagine if it was text only, how would that affect HTML5. What would the "browser" of this new space look like? What sort of development and debugging tools would be built-in? Would it be more peer-to-peer and Tor-like? Go wild, I want to hear all your ideas! Would you change DNS? Would you change how ICANN works? How about a flat-fee subscription model that would remove the need for advertising? These are just "out there" ideas, I'd like to hear yours.
✝(Just the web, not the internet - I think the internet with IPv6 is fine, the internet is just numbers and pipes, it aint broken apart from the finite resources of IPv4 as far as I can see.) <comment><USER2> > I could imagine a text-only interface so that the sight-impaired could have > universal text to speech access.

Gopher says hi.

Also, how does baked in anonymity mix with identity management? Can't really have both at the same time, and having to switch kinda defeats the point of having either baked in.

The Web, as it is, is good enough: it has a way to evolve, like it evolved from the first days, through blink tags, animated gifs and java applets, to flash and html5.

Quite a long way. And the sign of a good design is that it can evolve fairly painlessly. The web, as far as I see, is very close to that goal.

Certainly, a few things could be improved, there were great mistakes made, but you can't fix that without fixing the internet itself, as a whole.</comment>


Ask HN: What apps do you use to present mockups?  - <AUTHOR>

I know a lot of people use PhotoShop and Balsamiq to create mockup and wireframes, but what apps do you use to present them.<p>Something short of using GoToMeeting to screenshare or screen recording software. <comment><USER2> I usually present in person and don't have any huge pain points around doing it this way. I think tools like this that allow for comments to be left on a mockup is interesting but not a deal breaker: [http://redpen.io](http://redpen.io)

I use Dropbox the most to share files with clients. Recently I've been working on a concept for presenting mobile designs - I think this process is more broken than other types of design presentations.

</comment><comment><USER3> POP - Prototyping on Paper , an iPhone app turn your sketch into interactive prototype

[https://itunes.apple.com/us/app/pop-prototyping-on- paper/id5...](https://itunes.apple.com/us/app/pop-prototyping-on- paper/id555647796?mt=8)

</comment><comment><USER4> Check out invision and solidify.

Invision is awesome for just presenting to clients but if you're wanting to do UX panels etc I think solidify is better for that sort of thing

</comment><comment><USER5> Influence: [http://www.influenceapp.com/](http://www.influenceapp.com/)

</comment><comment><USER6> Fluid UI</comment>


GiveDirectly allows you to send money directly to the poor - <AUTHOR> http://www.givedirectly.org/home

<comment><USER2> They have a high foreign exchange fee of 5%, with total overhead at 10%.

<http://givedirectly.org/transparency>

<comment><AUTHOR> _Transactions costs are low, just 10%._

[http://marginalrevolution.com/marginalrevolution/2011/07/giv...](http://marginalrevolution.com/marginalrevolution/2011/07/give- directly.html)</comment></comment>


Who Speaks for Geek Culture? - <AUTHOR> http://technoccult.net/archives/2011/06/08/who-speaks-for-geek-culture/

<comment><USER2> _Does it even matter who speaks for geek culture?_

No, it does not. The great thing about tech culture is that there is no leader. Most people who are considered influential, is due to merit, and even then it's only within their area of expertise that they are considered authoritative.

The fact that there is vigorous debate over Larry Sanger's article proves this. It wasn't as if Larry (not that he would) declared that geeks were anti- intellectual, and BOOM! that became the common wisdom.</comment>


boxbox - A Framework For Making Games With The box2D Physics Engine - <AUTHOR> http://incompl.github.com/boxbox/

<comment><AUTHOR> [Check out <http://www.functionn.in> for more web resources to keep you functionn.in']

boxbox is a framework for making games with the box2d physics engine. Technically, it's not the same C++ box2D library that's being used, but rather box2dweb, which is a JavaScript port of box2dflash, which itself is a port of box2D for C++.

While the original box2D C++ physics engine has a difficult API to learn if you're not proficient with C++, boxbox provides a simple API in JavaScript for you to make full use of the physics engine. There are difference between box2D and boxbox.

While in box2D we work with fixtures, bodies and shapes, in boxbox, we work solely with entities. We can also attach event to those entities rather than the whole world, use common configurations among those entities and use built- in canvas rendering with image support.

</comment><comment><USER2> The demo doesn't seem to be working correctly.

<comment><AUTHOR> Chrome 22 here - totally working! Might be your end. Anybody else having problems with the demos?</comment></comment>


Life is long - <AUTHOR> https://medium.com/@hauspoor/life-is-long-9daa933eafed#.9vymojefa <comment><USER2> >Ultimately, pick whatever view of time suits you best. Whereas Graham's essay exhorts us to do what matters to avoid FOMO — Fear of Missing Out — personally, FOBB — Fear of Being Bored — is a much more effective motive for me.<

Personally, as I grow older I notice that FOMO rarely influences my choices...FOBB still beckons to me occasionally...primarily to treat the internet as a "salon", in the most liberal sense--a place to meet and greet, dismiss, or engage, a wide variety of ideas and opinions...a chance to, rather inexpensively, strike off into the unknown for an hour or so...as if on a walk, that will eventually lead me home with a few tales to tell of my adventures...</comment>


The Golden Age Of Quantum Computing, Once We Solve These Tiny Problems - <AUTHOR> http://www.fastcompany.com/3045708/big-tiny-problems-for-quantum-computing

<comment> semi-extrinsic From the article: "How molecules interact at the quantum level, for example, is difficult to study in a laboratory and impossible to simulate on a classical computer."

Sorry, but that's just flat-out wrong, and this fact is a quick google search away:

"Density functional theory (DFT) is a computational quantum mechanical modelling method used in physics, chemistry and materials science to investigate the electronic structure (principally the ground state) of many- body systems, in particular atoms, molecules, and the condensed phases."[1]

[1] [http://en.m.wikipedia.org/wiki/Density_functional_theory](http://en.m.wikipedia.org/wiki/Density_functional_theory)

<comment><USER2> Next sentence:

"With this theory, the properties of a many-electron system can be determined by using functionals, i.e. functions of another function, which in this case is the spatially dependent electron density."

The object of study in DFT is the distribution of particles in the system rather than the particles themselves. Which is all well and good, but the article is technically correct in that exactly simulating n-body systems is currently out of reach (in all problem domains) if n is huge.

<comment> semi-extrinsic Sure, there's a limit to how large you can go, but people have recently been doing DFT e.g. for the interaction between DNA bases and graphene sheets, which is quite respectable. Quantum computing may offer better scaling at large n, but since quantum computing is still largely unproven in practice, and in particular since quantum hardware gets much harder to design and implement as you increase the system size, it's quite probable that classical computing will remain faster for the next 50 or 100 years.

You can compare it with matrix multiplication: we know of several algorithms that are better than the naïve O(n^3), but they're essentially never used in practice.

<comment><USER3> Correct me if I'm wrong, but interaction with graphene sheets might me relatively simple due to a simple structure of those.

Once we begin to deal with anything more complicated (e.g. two enzymes, protein folding, etc) we very quickly reach a boundary of what traditional computers can do.

<comment> semi-extrinsic Well, you have to keep your tounge straight here. We're a very very far way from doing DFT of protein folding, that's correct. But we have little reason to believe that DFT is useful for studying the interactions of macromolecules; these interactions are dominated by typical van der Waals forces, along with repulsion and electrostatics, and this doesn't need a quantum mechanical treatment. Then you're in the world of molecular dynamics etc., where we have no problems simulating two enzymes interacting. See this paper where they did fully atomistic simulations of an entire HIV capsule back in 2013: [http://www.nature.com/nature/journal/v497/n7451/full/nature1...](http://www.nature.com/nature/journal/v497/n7451/full/nature12162.html)

</comment></comment></comment></comment></comment><comment><USER4> Also from the article: "A quantum computer could also crack the most sophisticated encryption in use today."

I think this gives the impression that all encryption methods known today fail in the face of a quantum computer. But this is not true. There are a wide array of "post-quantum cryptography algorithms" [1], or encryption schemes thought to be secure against quantum attacks.

I suppose the author might have a particular scheme in mind which he considers the "most sophisticated."

[1]: [http://en.wikipedia.org/wiki/Post- quantum_cryptography](http://en.wikipedia.org/wiki/Post-quantum_cryptography)

<comment><USER3> To elaborate on this. There's a whole group of quantum-safe algorithms, like SHA-2 (used in Bitcoin among other things).

The best quantum computers can achieve is 2x increase in speed.

</comment></comment><comment><USER5> This was a really good science piece by Fast Company. I do wonder how "factors of a prime number" gets by editorial. You don't need a quantum computer to tell you those. :)

</comment><comment><USER6> _Mark Ritter, who oversees scientists and engineers at IBM's T.J. Watson Research Laboratory, wrote: "I believe we're entering what will come to be seen as the golden age of quantum computing research."_

Golden age of quantum computing _research_. That's a very different thing from a golden age of quantum computing.</comment>


Ask HN: How do you tell if a site is tracking you? - <AUTHOR> So I use LastPass, which currently seems to have servers down and I can't login -- another story. But when trying to figure out why it couldn't log in, I noticed the (new?) javascript access request for lmiutil.com.
So when I see something new like that, I tend to try to visit the website or search google to see what they're trying to get me to allow them to run on my browser. Besides, it could be a lastpass related CDN.
Going to their website gave a blank window, not too shocking. But the web search gave me this page:
https://cdn.lmiutil.com/lpassets/track-pageload-lp.v11.html?gaid=null
Seems to be another blank page, but if I view the source, it's sketchy. Excerpt:
<meta http-equiv="Content-Security-Policy" content="img-src https://adfarm.mediaplex.com https://bh.contextweb.com https://sy.eu.angsrvr.com https://rtb.gumgum.com https://partners.tremorhub.com... (long list of known trackers).
How would you go about proving one way or another what's going on here? Is this kind of things standard ad code for their actual website? Or are they tracking everywhere I use LastPass? It would be cool to find a tutorial of tools of the trade for tracing down the behavior of these complex interdependent systems. Or do the patterns and techniques used evolve too fast for anyone with only moderate expertise to figure out what they're doing? <comment><USER2> I don't think I can fully address your question (especially the 'prove' part), but:

1) Why not install Privacy Badger? ( [https://www.eff.org/privacybadger](https://www.eff.org/privacybadger) ) It watches which sites javascript files are loaded from, and if you go to three domains and get the same script, and it seems to be sending back information, it'll flag it and block it.

2) There is the possibility of seeing everything going from your browser to a remote computer. There are two ways.

a) Use the developer tools. In many browsers, you can bring up dev tools (possibly by hitting F12), bring up the 'Network' tab, and hit the 'Preserve Log' button. Everything that goes between your browser and the internet is recorded. You could dive into every javascript file requested, see which data and URLs are requested, etc. In most browsers, you can save this data to a .har file for later analysis, but it will contain cookies, etc, and allow someone else to spoof you.

b) similarly, you could set up a proxy (Charles Proxy, Proxie.app, mitmproxy, etc), to proxy HTTP traffic, but you'd also need to go to extra effort to proxy HTTPS traffic. Then, with your browser (or OS) set up to use the proxy, you can obtain the same sort of data as in (a).

With this information, you could see which sites you are requesting data from, what the data is, and, I suppose, analyze the sources to find out what it is doing.

</comment><comment><USER3> I can answer the inverse of your question. If a site does not require

\- cookies

\- javascript

\- authentication

then it is less likely to be tracking you. There are some clever tricks that do not require those three things, but that is getting into hypothetical and less practical territory.

If you are using NoScript / uBlock or uMatrix / Self destructing cookies or similar and not logging into any sites, then your odds of being tracked are fewer.

If you run a combination of BleachBit, CrapCleaner and BCWipe every time your browser closes, then your odds of being tracked are fewer.

If you have an application firewall that prevents applications from chatting with the internet without you explicitly initiating the communication, that also helps. They may contain user-identifiable strings and may share browser functions.

As for LastPass, I have always steered clear of sites like that. This may have changed, but for a long time, they required your vault decryption password to sync with their site. Unpopular opinion, I know.</comment>


Ask HN: Is there a way to read/highlight new/unread comments? - <AUTHOR>

Sometimes I want to check a post again and read from where I left, but seems it's impossible since the comments are not ranked on time. Am I missing something? or is there a plugin sorting the comments  based on time? I'd like to make one if not. <comment><USER2> It also exists on Firefox [https://addons.mozilla.org/fr/firefox/addon/hacker- news-mark...](https://addons.mozilla.org/fr/firefox/addon/hacker-news-mark- all-read/)

Functionalities

        Mark news as read
        Hide news already read
        Mark comments of a new item as read
        Follow comments of a news item
        Displaying on the front page number of unread comments
        Hiding of already read comments
        Collapsing of long comment thread
        Showing of parent comment in long comment thread

</comment><comment><USER3> [https://chrome.google.com/webstore/detail/hckr- news/mnlaodle...](https://chrome.google.com/webstore/detail/hckr- news/mnlaodleonmmfkdhfofamacceeikgecp)

<comment><AUTHOR> Thanks! This is exactly what I want, though it's for chrome only.

<comment><USER4> > is there a plugin sorting the comments based on time? I'd like to make one > if not

You could port it to Firefox :)</comment></comment></comment>


"Well, shit.": or, When It's OK to Give Up - <AUTHOR> http://blog.nosweaters.com/post/21031428640/well-shit-or-when-its-ok-to-give-up

<comment><USER2> OP, you said you won't pivot, but why not pivot slightly? This appears to be the perfect time to try to take the best of what you wrote, modify the parts that need work even if it results in something only slightly different. For example, instead of bands/music- how about politicians or something else that has polls you could mine from various places? Politics are going to be a big deal shortly at least in the U.S. with the next election, and you could be on top of it.

</comment><comment><USER3> Why not reach out to them and see if you can both collaborate? Perhaps they can use some of the tech you've build or you guys can find a way to work together...?</comment>


The Best Anonymous VPNs For 2013 - <AUTHOR> http://greycoder.com/top-rated-anonymous-vpns-for-2013/The Best Anonymous VPNs For 2013

<comment><USER2> Any thoughts on Mullvad? (<https://mullvad.net/en/>)

I also like the conference talk "#HITB2012KUL D1T3 - The Grugq - OPSEC: Because Jail is for wuftpd" most of it is based on hackers that have been jailed lately and specifically what they did to end up in jail, but there is also some techinal stuff about privacy and anonymity, specifically about TOR+VPN here: <http://youtu.be/9XaYdCdwiWU?t=45m30s>

EDIT: RE: Mullvad, AFAIK they don't have any presence outside SE, NL, or DE so I think your speeds will take a hit coming from outside Western Europe.

<comment><USER3> I'm a Mullvad customer and a big, big fan.

They have great clients for ubuntu and my android phone, and are super fast. No problems or complaints here.

</comment></comment><comment><USER4> Thanks, I did a fair amount of research for this review.

<comment><USER5> Good review but how do you know these services arent setup by those very people wanting to intercept our activity?

<comment><USER4> If you don't trust your VPN providers, see my suggestions in this article, you can run a VPN inside another VPN ([http://greycoder.com/using-a-vpn-inside-a- virtual-machine-fo...](http://greycoder.com/using-a-vpn-inside-a-virtual- machine-for-extra-anonyminity))

</comment></comment></comment><comment><USER6> Very useful, thanks!</comment>


Status.im raises $110M on crowdsale, crashing Ethereum network for the whole day - <AUTHOR> https://themerkle.com/status-im-ico-raises-over-270-million-in-under-3-hours/ <comment><USER2> > It is our belief that messengers are evolving into a new type of OS, and are > becoming gateways to our economies and social lives. Status uses messaging > as a platform, and by combining both a messenger and a browser we are > building a gateway for everyday smartphone users to begin using DApps.... > [0]

I'm not sure what this means but it must be a lot because, on paper, they just raised about $10M per core developer. This for an open-source mobile client.

I have tried but I honestly just don't get the value prop of these ICOs. The only concept that my mind can latch onto is the basest of explanations – that these offerings represent a chance to ride a gold-rush wave of speculation.

I'm not assigning fault, certainly not with the founding tech team. Its just that the last time I felt so disconnected from a major upswell in the tech marketplace was 1999. Will ICOs follow a similar feast-famine-smaller feast curve?

[0] [https://wiki.status.im/](https://wiki.status.im/)

<comment><USER3> It means they're gonna end up building open source WeChat, who already have the features for what these guys are saying is the future.

So messaging apps was at first pure conversations. Then they started exposing webviews. Now webviews are heavily integrated.

Inevitably the trend going forward is chat-first like how things went from being web-only to mobile-first.

</comment></comment><comment><USER4> This is getting insane.

I don't know what else to comment here. That's all I've got. This is the sixth cryptocurrency-related crowdfunding I've read about in the last three months that has received double or triple digit millions in funding in a short period of time.</comment>


Linked In Internships - <AUTHOR> http://thenoisychannel.com/2011/01/19/internship-opportunities-at-linkedin/

<comment><USER2> Direct link to application: [http://www.linkedin.com/jobs?viewJob=&jobId=1354912](http://www.linkedin.com/jobs?viewJob=&jobId=1354912)</comment>


Download any ebook free from Packt Publishing (through the end of the month) - <AUTHOR> http://www.packtpub.com/ <comment><USER2> To clarify the title, the site says you can download one free ebook. So a more accurate title would be "Download any one ebook free from Packt Publishing (through the end of the month)"

</comment><comment><USER3> Reposting a dead (no idea why) comment:

decriddle 1 hour ago

I work for Packt and this campaign has caused huge traffic surges for us. Please be patient as we are working on the issues and the sign up is running until 8am Monday GMT. The offer is for one of any eBooks for free, and can use the library PacktLib to browse and review books before choose. You only need to login/register before Monday but have a week to choose your book.

\-----

<comment><USER4> also, if you follow the blue "yes please" link on the front page, you can register via a page that is much more responsive than the rest of the site. that appears to guarantee your participation in the scheme (they say they will email you when the site is back to normal).

</comment></comment><comment><USER5> I've had some bad experiences with Packt's books.

Choose very carefully.

This comment [1] summed the one book I read quite well:

      This book is so badly written that reading it will
      give you a very good appreciation as to what it must
      feel like to be dyslexic, the words just come at you
      in a random order.

[1] [http://www.amazon.co.uk/product- reviews/1849511446/ref=cm_cr...](http://www.amazon.co.uk/product- reviews/1849511446/ref=cm_cr_pr_hist_1?ie=UTF8&filterBy=addOneStar&showViewpoints=0)

<comment><USER6> I've had some great experiences, e.g. Gregory Smith's PostgreSQL 9.0 High Performance. When considering purchasing a book on a niche topic like Magneto or PostgreSQL, I think it's worth waiting for prominent community members to get review copies and write about their impression, e.g. [http://www.postgresonline.com/journal/archives/192-PostgreSQ...](http://www.postgresonline.com/journal/archives/192-PostgreSQL-9-High- Performance-Book-Review.html)

</comment></comment><comment><USER7> Can anybody recommend some books put out by Packt? I've looked at quite a few of their books over the years, and they have been, without exception, dreadful (not quite a tutorial, but also not a reference, lacking in detail, and usually behind the curve technology-wise). They appear to have several hundred books so there must be some hidden gems.

<comment><USER8> 538 of em have 4-star+ on amazon:

[http://www.amazon.com/s/ref=sr_nr_p_72_0?rh=n%3A283155%2Cp_3...](http://www.amazon.com/s/ref=sr_nr_p_72_0?rh=n%3A283155%2Cp_30%3Apackt%2Cp_72%3A1250221011&bbn=283155&sort=relevanceexprank&unfiltered=1&ie=UTF8&qid=1348793163&rnid=1250219011)

<comment><USER7> Good call, thanks. I think I might look at the one on PostgreSQL optimization.

</comment></comment></comment><comment><USER9> I would strongly recommend against giving these guys your email address.

I once bought a book from them and have had to ask them to take me off their mailing list 8 times now over a 3-year period.

</comment><comment><USER10> Got all the way through finding a book I was interested in (whoever said check the reviews, thank you, a couple I was interested in were slated), then clicking for the download link and then...502 Bad Gateway.

Possibly demand has exceeded expectation.

(As a footnote I picked the Node Cookbook, as I was interested in either an Obj-C, a Node or a RoR book but the RoR stuff was published 2008, so maybe outdate somewhat)

</comment><comment><USER11> If their website is down you can browse their books on amazon ...

[http://www.amazon.com/s/ref=sr_st?keywords=packt+publishing&...](http://www.amazon.com/s/ref=sr_st?keywords=packt+publishing&qid=1348816188&rh=k%3Apackt+publishing%2Cn%3A283155&sort=daterank&ajr=1)

(sorted by publication date)

</comment><comment><USER12> So it seems that in 2 days time their's entire catalog will be downloadable for free on the torrent sites :)

<comment><USER13> What makes you think it's not there already?

<comment><USER12> Yup, one can already see some of the books appearing on the cove of men that love to say Arrr a lot ;) But not the one I'm looking for ;(

<comment><USER14> A shame that Packt's goodwill is repaid like this. It drives me nuts.

</comment></comment></comment></comment><comment><USER15> the free offer is for any ebook in packt or only selected ebooks?

</comment><comment><USER16> Any good recommendations for a book to choose? I browsed the 'new eBooks' section, and the only one that looked any interesting was on balsamiq mockups...

</comment><comment><USER4> I don't know much about ebooks and I don't have a mobile device. Does this include something like a PDF I can read on a computer?

<comment><USER17> They offer downloads in the major formats (open epub, Amazon's mobi, and regular pdf). Also, you can read and convert ebooks in pretty much any format using Calibre <http://calibre-ebook.com/>

</comment></comment><comment><USER10> I can't edit my previous post, but it looks like they've started getting on top of their network issues.

</comment><comment><USER18> Site down?

<comment><AUTHOR> It appears to be up now, but I would expect they got a surge of traffic that might've knocked them out when you were trying.

<comment> at-fates-hands search not working. will try again later.

</comment></comment></comment><comment><USER18> tried ordering an e-book & it asked for payment. i assume there a special promo code that needs to applied?

<comment><USER19> Offer is valid starting tomorrow (between the 28th and the 30th)

<comment><USER18> Where I am, its already 28th(GMT+5.30). what timezone?

<comment><USER19> GMT-5, though I guess it actually is 28th at GMT+0.. Point was just that it still says "Return between the 28th and 30th September to claim your gift", so whoever is supposed to activate the deal hasn't done so yet (and since their office is in England they are probably still asleep)

<comment><AUTHOR> It is working for me right now--I already downloaded my book free of charge.

<comment><USER20> Yep working here too. Except for the occasional 502 Bad Gateway that keeps popping up.

</comment></comment></comment></comment></comment></comment><comment><USER21> Hey guys, I think you killed it.

</comment><comment><USER22> or go to legalreads.com and download million ebooks for free ;)

<comment><USER3> illegal downloads above</comment></comment>


Amazon Uses Trucks to Drive Data Faster - <AUTHOR> http://www.wsj.com/articles/amazon-extends-web-based-artificial-intelligence-1480529802 <comment><USER2> Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway.

—Tanenbaum, Andrew S. (1989). Computer Networks</comment>


Free Interactive Java Tutorial - <AUTHOR> http://www.learnjavaonline.org <comment><USER2> The jobs section claims:

"Our website has over 50,000 monthly hits - programmers from all around the world visit LearnJavaOnline.org to increase their professional programming expertise in the Java programming language."

However, I notice that the domain was registered very recently (on 19-Feb-2013) and there are hardly 15 tutorials on the site and most of these pages are blank.

Edit: looks like this site is just using a template. Please see the OP's response to this comment.

<comment><USER3> They are probably counting their monthly hits on <http://www.learnpython.org/> and <http://www.learn-c.org/> ( <http://www.learnjavaonline.org/static/img/code.jpg> style reflect the adaptation from their python website)

« By running real Java code directly from the web browser, students are able to try out Java without installing it. » their "directly from web browser" solution is using <http://learnpythonjail.appspot.com/> so I wonder if it's using jython to interpret the java code.

<comment><USER2> The _.appspot.com subdomain tells us his site runs on Google App Engine.

Now, as it happens, I have some experience trying to get Java to compile and run on Google App Engine. Actually, at the outset I thought it was impossible because of the way the sandboxing works on App Engine (writes to the file system are disallowed and the javax.tools._ package is not part of their white list). So straightforward approaches such as invoking the Java compiler from code will not work.

Here are various approaches that I have tried and the results:

1\. Use Beanshell and approximate Java:

Beanshell is a scripting language for the JVM with Java like syntax. It also has a "strict" mode where it will behave like a strongly typed language.

Pros: you can run this on App Engine and can trust Google Engineers to worry about security of their sandbox. You also get the scalability of App Engine.

Cons: It is not really Java and language features like Generics are not supported. The error messages are also not as useful as what the regular Java compiler outputs.

2\. Get users to compile code on their own machines and upload the .class file. Then write a class loader that will load this class and then execute whatever method you need to.

Pros: Works perfectly and no language issues.

Cons: The interactivity is lost to an extent. Also, beginners need to start worrying about installing Java and configuring CLASSPATH etc. from get go.

3\. Use an in-memory compiler like Janino. Pros: Works like the Java compiler and error messages are useful.

Cons: it does not support generics and it also does not support other features like the for(String value : values) {} syntax.

4\. Use Google App Engine as the front-end and then run a compiler-as-a- service somewhere else (Linode etc.).

Pros: Full language and you are in control.

Cons: You better know how to sandbox the code (chroot / SecurityManager etc).

5\. Use Google App Engine as a front-end and outsource compilation and execution to some other service like Ideone.

Pros: Full language support and someone else worries about security issues.

Cons: Expensive (the Ideone API only allows 1000 free submissions per month).

If you know some other method, please let me know. I love trying to see how to make things work on App Engine (I learn quite a bit this way).

(minor edits)

</comment></comment></comment><comment><USER4> It's an honest mistake with the job section. Check out <http://www.learnpython.org/> There he does have more than 50,000 monthly visitors. I'm sure he just copied the page and didn't notice.

</comment><comment><USER5> A number of the pages don't exist or work when clicked on. Seems pretty poorly coded.

<comment><AUTHOR> We're still working on the advanced tutorials.

</comment></comment><comment><USER6> Is there something similar for Android programming?

<comment><USER7> I'd recommend the sample projects from google & just having a muck around. Learning the debugger in eclipse is also a very useful tool for understanding what's going on.

<comment><USER8> ?? Could you elaborate a little more? Thanks.

EDIT: OK, I now noticed you were replying to a sub-comment and not the main thread (missed that earlier). Still, a link or two be helpful in directing the rest of us to the 'source'.

<comment><USER9> <http://developer.android.com/tools/samples/index.html></comment></comment></comment></comment>


Putting Money on the Screen - <AUTHOR> http://bengarney.com/2015/09/14/putting-money-on-the-screen/ <comment><USER2> Great advice, especially in an industry with so little wiggle room when it comes to putting money in the wrong place.</comment>


CRDs Killed the Free Kubernetes Control Plane - <AUTHOR> https://caleblloyd.com/software/crds-killed-free-kubernetes-control-plane/ <comment><USER2> I don't completely agree that this is the cause, as CRDs also create revenue- generating demand from controller software that acts on them.

But I absolutely agreed with this:

> _There are applications out there that are storing their complete state in > CRDs. Please do not do this. The Kubernetes API server is not a general- > purpose datastore._

A thousand times, yes. The API server is good at what it does. It is _not_ a suitable replacement for a real, honest-to-Codd database. The idea that laying hands on a connection to a postgresql or mysql server is somehow more onerous than spinning up _an entire goddamn cluster_ is bonkers. Bon. Kers.

<comment><USER3> If your apps run on k8s already, why is it a bad idea to store some simple states in custom resources?

<comment><USER2> There are a number of reasons. One is that states don't stay simple for very long. Just the other day I saw someone ask "how do I find all the children of a parent resource?". The answer was to iterate over everything that might have that parent resource as an OwnerRef. In a normalised schema this would be simple. In a document database it is not.

Another problem: there are no multi-document transactions. If I rely on updating A and B together, I am out of luck. I will instead need to account for A and B being out of sync, which involves 4 permutations: A,B; A, !B; !A, B; !A, !B. As a CRD controller author I am now responsible for a shitty database. Where Kinds have crisp hierarchies this is fine, the supervising controller can inspect and repair the lower documents. But many things are not hierarchical in nature and you can easily wind up with control loop fights.

Another is that there's a difference between "I already have a cluster" and "I am using the API server as a database". Because CRDs wind up in a single global document store, folks inevitably want them to have hard isolation. RBAC, namespaces etc get you _some_ of the way but it's basically just hard. Eventually some bright spark suggests putting things into a different cluster, at which point the balance of ease flips the other way.

CRDs are super useful extension points (note, for example, I am writing a book about Knative), but they are not suitable for most application and business logic purposes.

<comment><USER3> Well, I agree that you can't really use CRD as an alternative to a database. But wouldn't you say that there are cases where it makes sense to use CRD to keep metadata? Keeping results of job runs for example.

<comment><USER2> I think the best use for CRDs is for creating seamless extensions to Kubernetes itself. I see Knative as being in this genre.

</comment></comment></comment></comment></comment><comment><USER4> > Since CRDs are installed on the cluster level, it is not possible to > namespace resource versions (and that's unlikely to happen soon)

This is misleading, the object _instances_ of a CRD belong to a namespace, unless they are cluster wide</comment>


Ask HN: How do I store something confidential (completely encrypted) online - <AUTHOR> Would like to know are there any websites where i can store my confidential info, completely encrypted with PKI infrastructure. So that its really safe only I can ready. Or in other words is PKI infrastructure fool proof. If not what are other means to keep a confidential info on the cloud. I am very well aware of offline backup like encrypted HDD, PenDrive etc. <comment><USER2> Why do you need a PKI to encrypt and store data? As far as I know, you need a PKI when working with other people/with a web of trust.

For just a backup, I think the easiest way is just to encrypt offline and put the encrypted file online. And keep the keys either offline or in another online storage.

</comment><comment><USER3> encrypt data locally, dont put unencrypted data online and keep everything you need to decrypt your data somewhere offline (safe deposit box,etc).</comment>


Disney is thinking about bidding on Twitter - <AUTHOR> http://businessinsider.com/disney-twitter-bid <comment><USER2> Why?

<comment><USER3> Heh. The context makes this one-word comment feel less crappy than it should be.

Seriously, Disney has no capacity to coexist with Twitter's unique value add. This is bizarre.

<comment><USER4> Not bizarre.

Disney owns ABC and ESPN. Twitter is live-streaming games for the NFL (with numbers growing week over week) and the debates, with the real-time stream right there. I'd take Disney figuring out how to monetize Twitter's MAUs (and maybe even start to grow them again) over any other suitor.

Twitter is a media play. It only seems overvalued if you think of it solely from a narrow "online advertising" point of view, or by anchoring them to Facebook's metrics. Disney, or any competent media player, should be able to push the value of those MAUs (which are at a steep discount to Facebook's) higher than any tech buyer. It's the smartest fit out there if they're looking to sell, and if a bidding war emerges, we'll see who really wants to be a player in this emerging hybrid market.</comment></comment></comment>


My Favorite Interview Questions - <AUTHOR> http://www.swiss-miss.com/2017/07/my-favorite-interview-questions.html <comment><USER2> There's a few new questions on this list I haven't seen before. They definitely gave me pause and forced me to think. I think they are two great questions for a more senior position. It makes you reflect on leadership and the ability to admit you're terrible at something.

\- What's something you're bad at that you really wish you were good at. \- Tell me about some people you've helped in your career.</comment>


Radio Frequency Exposure Test Finds an iPhone 11 Pro Exceeds the FCC's Limit - <AUTHOR> https://spectrum.ieee.org/tech-talk/telecom/wireless/radio-frequency-exposure-test-iphone-11-pro-double-fcc-limits <comment><USER2> I am going to call BS- these devices have to pass basic emissions tests for their FCC license. Those labs are accredited and certified and the process is not cheap.

FCC SAR Test Reports for the iphone 11 Here: [https://apps.fcc.gov/oetcf/eas/reports/ViewExhibitReport.cfm...](https://apps.fcc.gov/oetcf/eas/reports/ViewExhibitReport.cfm?mode=Exhibits&RequestTimeout=500&calledFromFrame=N&application_id=y6w73gEq9kcDXxmyOHV16g%3D%3D&fcc_id=BCG-E3305A)

This is more complex than just signal measurement- normally you have to know how to kick the device over into a test mode to test full power output since the devices will, by design, self throttle their power. I am really curious how "rfexposurelabs" setup the test. Also I find it interesting that they are going to make this claim and not publish the lab report so everyone can review their methodology.

</comment><comment><USER3> This seems like some FUD to sell magical pseudoscience phone cases "to reduce RF exposure." And where is Thunderf00t when you need him? ;)

</comment><comment> 1970-01-01 Unofficial test:

[https://youtu.be/v6DyiLeUKoU?t=9m45s](https://youtu.be/v6DyiLeUKoU?t=9m45s)</comment>


Ryzen Threadripper 1950X vs Core i9-7960X - <AUTHOR> https://www.pcworld.com/article/3228244/components-processors/amd-vs-intel-we-test-ryzen-threadripper-1950x-against-core-i9-7960x.html <comment><USER2> That pricing comment is almost laughable and makes me wonder how much Intel paid for this review.

Framing the pricing in the context of a $9,000 PC is a blatant attempt to dilute the price discrepancy. In the context of a common ~$2,500-$3,000 rig, $700 matters a lot. I'd be curious to see how many people buy these "dream" $9,000 PCs. I'd wager it's not many.

<comment><USER3> I don't see this as Intel biased, in the "The bang for buck stops here" the author very clearly points out that the AMD CPU is vastly more cost effective for likely scenarios.

Though saying it's a Mobo and a decent SSD somewhat understates what those builders would likely spend $700 on.

<comment><USER4> > I don't see this as Intel biased,

The article was written to sell the idea that Intel's offering beats AMD's in all relevant features considering all aspects deemed relevant by the writer, and then he proceeds to bend himself backwards to try to come up with any excuse to ignore the 700$ price difference between Intel's i9 rig and AMD's Ryzen Threadripper and how that price difference buys only marginal performance gains.

I would also add that it's also questionable how the author decides for no reason at all to setup Intel's rig with two SSDs in RAID0 while leaving AMD's rig with two separate drives.

All in all, it looks like a far-fetched and somewhat desperate attempt at finding a particular offering by Intel that can show some performance gains over the AMD Ryzen Threadripper, and in the process commit so many methodological errors to get to those marginal gains that a good portion of the text is dedicated to come up with excuses to try to sell the idea that none of that matters.

</comment></comment></comment><comment><USER5> Sort of offtopic, but what is with those charts? Is there some rhyme or reason to the ordering that I was missing? Sometimes the AMD was above the Intel and sometimes vice versa. Sometimes the better result was above the worse and sometimes vice versa. I had to squint at the "longer/shorter bars indicate higher performance" captions on every chart to make heads or tails of it...

<comment><USER6> Understandably different benchmarks have different measurements of success (scores vs. time spent in seconds, etc) but I agree this could be displayed better some way.

Perhaps simply outlining/indicating by colour or a visual marker for the better performer on the chart.

<comment><USER7> You can always normalize it to a "the longer bar is better" measurement. For example instead of "Kernel Compile Time" you graph "Kernel Compiles / hour".

</comment></comment></comment><comment><USER8> Something interesting a lot of reviews don't consider is that Threadripper, since it's a multi-chip module with each chip having its own memory controller, has a non-unified memory architecture (NUMA), where half the memory will have higher latency because it has to go to the other chip. Some software is written with this in mind, some isn't. Consequently, Threadripper has two modes: NUMA mode (OS sees two NUMA zones and different latencies) and UMA mode (single NUMA zone, single average latency). It may be worth trying both when benchmarking to see what difference it makes. I think most reviewers aside from AnandTech have overlooked this since NUMA hasn't been a concern on the desktop before.

<comment><USER9> > has a non-unified memory architecture (NUMA)

Small, pedantic, point of fact, NUMA stands for Non-Uniform Memory Access. You could say Non-Uniform Memory Architecture in this context, obviously, as well.

<comment><USER8> …oh, huh, okay. Point taken.

</comment></comment></comment><comment><USER10> I hate to be the one to say it but this looks very one-sided to me:

is 1-20% of a performance benefit really a "It gives you great performance at light-duty applications and generally can't be touched by the Threadripper 1950X in heavy-duty applications, either." ?

</comment><comment><USER11> tl;dr As you'd expect, AMD's chip is a no-brainer on bang/buck.

I wish more reviewers would compare chips at various price levels, because I think that's how most people think about their purchase.

If you want to build a $1500 gaming rig, you're going to look at the whole system cost, and you'll designate a certain price for the CPU. You'll want to buy "the best CPU for that money".

Similarly, if a medium development company has $10,000 to upgrade _some_ of its systems, does it buy 6 Intel CPUs or 10 Ryzen CPUs with that money?

Comparing product _brands_ like "Intel's top of the line" vs "AMD's top of the line" is not very useful, especially if there's a 2x delta price difference between them, while the performance delta is nowhere that big.

This should be even more the case for data center purchases, where total cost of ownership is king.

<comment><USER12> For data centers the cost is dominated by electricity, not CPU price, so they look for performance per Watt. This was not addressed in the article.

<comment><USER13> > so they look for performance per Watt. This was not addressed in the > article.

The did test power consumption though: [https://images.idgesg.net/images/article/2017/09/fnw_showdow...](https://images.idgesg.net/images/article/2017/09/fnw_showdown_power_scaling-100736973-orig.jpg)

<comment><USER12> That plot shows the power consumption during one rather synthetic benchmark. What is necessary for meaningful conclusion about price/watt is to have power consumption during a particular benchmark so the results can be scaled. This is not addressed.</comment></comment></comment></comment>


America, where you get only one strike - <AUTHOR> http://www.washingtonpost.com/opinions/catherine-rampell-america-the-land-where-you-get-only-one-strike/2014/11/03/a05d7dd6-6391-11e4-836c-83bc4f26eb67_story.html

<comment><USER2> *"but perhaps it is at least time to reevaluate whether we still deserve the back-patting reputation we so often award ourselves as a land that values second chances and mobility for all. That lowest rung on America's socioeconomic ladder is looking awfully sticky these days."

When have Americans ever had such a reputation, even amongst ourselves? No, we're the land that inspired Hawthorne to write _The Scarlett Letter_, the land initially settled by stuck-up, nosy religious prigs because England had had enough of their type. It could be argued that America is a land of opportunity, of which you get one, and after that it transforms to a vengeful and vindictive lot who will make sure your transgressions aren't soon forgotten.

The U. S. has a lot of things going for it. Tolerance of mistakes among the lower classes is not one of them.</comment>


Curing the Vulnerable Parser: Design Patterns for Secure Input Handling (2017) [pdf] - <AUTHOR> https://www.usenix.org/system/files/login/articles/login_spring17_08_bratus.pdf <comment><USER2> I am betraying my ignorance with this question, but: On the last page, the authors claim that SQL queries are commonly constructed by concatenating strings. Was this still, in fact, common in 2017? If it was, that's very scary.

<comment><USER3> Injection is the #1 class of bug in the OWASP top 10 for 2017.

[https://www.owasp.org/index.php/Top_10-2017_A1-Injection](https://www.owasp.org/index.php/Top_10-2017_A1-Injection)

Is there any escape?</comment></comment>


The MIT Guide to Avoiding Burnout - <AUTHOR> http://www.zianet.com/wpickens/jokes/mit.html <comment><USER2> In a similar vein, there's a Facebook group "Oxford University: Where Your Best Isn't Good Enough, Since 1117".

<comment><USER3> That's also Cornell's Facebook group

"Cornell University, where your best hasn't been good enough since 1868"

<comment><USER4> And Also: "Cornell: Where If Your Best Hasn't Been Good Enough Since 1868 Then You Should Probably Leave"

</comment></comment></comment><comment><USER5> Campus wisdom states: At MIT, you can have enough sleep, good grades, or a social life. Pick two.

The monthly three-day weekends are nice though.

<comment><USER6> Worth noting to outsiders that the monthly three-day weekends are colloquially referred to as "suicide-prevention days".

<comment><USER7> We used to have a joke like that at CMU as well <http://www.andrew.cmu.edu/user/djj/architectsLeap.html>

Stopped being funny when someone committed suicide there

<comment><USER8> I've always wondered what goes on in people's heads when they jump down something like that. Do they ever muse about the irony of what they just committed?

<comment><USER9> I've read (from memory, sorry) that almost all survivors of suicide leaps regret it and want to take it back the instant they commit to gravity.

I don't recall irony being reported.

</comment></comment></comment></comment></comment><comment><USER10> Hypothesis: if you find that you have a balanced life you'll eventually get burned out on that too and shift the balance.

<comment><USER11> Especially if you have a 'balanced life' and nobody in your family or social circle does. (I speak from personal experience)

</comment></comment><comment><USER12> The real secret sauce: sleep, variety.

</comment><comment><USER13> Who all on HN is at MIT right now?

Despite MIT's reputation for entrepreneurship, it's been difficult to find collaborators actually willing to take the start-up plunge--perhaps especially in grad school.

<comment><USER14> I've got a couple of my own theories about this -

While MIT prides itself in admitting students with passion and interests over those with 1600 (I suppose 2400, now) SAT scores, I think that the truth is that the overwhelming majority of the students who admitted are still the type to overachieve, overcommit, and - most importantly - follow the rules. To get good grades in high school, you turn in all the assignments, complete tasks (as inane as they may seem), and take the tests.

What this turns into, from my experience, is a large set of students who are not natural risk takers. What's more, I'd argue that MIT makes it or made it difficult to take risks and explore on your own. They load you down with work, pressure you into taking on a UROP (undergrad research for the uninitiated), and it's a rare student who has a significant project on the side as well.

In contrast, places like Stanford seem to encourage thinking outside of the box / trying different things. Their culture definitely doesn't seem like it slants toward loading yourself up with classes as a badge of honor, and I think that's a hugely positive effect on the ability of students to find time to dream. It feels like a cop-out answer, but I've finally admitted to myself recently that this east coast - west coast cultural divide (see inmygarage, above) does exist, and is incredibly influential.

So while the students who have left MIT and become successful are well-known and, frankly, represent, their reputation is disproportionate to their number. You don't see* MIT sophomores walking around handing out business cards for their "startup" - and I don't think it'd be such a bad thing if that changed.

* in comparison to other schools

<comment><USER15> I'm not sure that lack of time to daydream is an east-coast/west-coast thing. Amherst is also on the east coast, and it (and I've heard many of the other "little Ivy" liberal arts colleges) encourages you to take a reasonable, balanced courseload and have time for things outside of school. I would say (based on who my friends are at Google) that Amherst and Brown are culturally much closer to Stanford than to MIT, despite being geographically clumped in New England.

The lack of a supportive environment for startups, and consequent lack of risk-taking, _is_ an east-coast/west-coast thing. There aren't very many Amherst entrepreneurs. Most of my classmates did the minimum-wage "life experience" thing before finally going to law school when they wanted to settle down. It's like MIT encourages you to work really hard, Stanford encourages you to find your passion and _then_ work really hard, and Amherst just encourages you to find your passion.

<comment><USER16> I went to Amherst, and I think you're spot-on with the east-coast mentality. In my experience, most of the students there just got onto the law- school/grad-school/Wall-Street bus and sailed comfortably into their next gig.

It's also worth noting that Harvard used to actively encourage undergraduates to take a year off to recharge their batteries and get a better sense of life outside of college.

</comment></comment></comment></comment><comment><USER17> We need to blackhole every single one of the 55 users who upvoted this submissions. This is precisely the kind of stuff that will turn HN into digg. What's next - lolcats? Seriously?

<comment><USER18> KEEP YOUR SENSE OF HUMOR. Begin to bring job and happy moments into your life. Very few people suffer burnout when they're having fun.</comment></comment>