Netflix's async sendfile now in FreeBSD-current - <AUTHOR> https://lists.freebsd.org/pipermail/svn-src-head/2016-January/080924.html <comment><AUTHOR> Slides from a presentation about async sendfile can be found at: [http://www.slideshare.net/facepalmtarbz2/new-sendfile-in- eng...](http://www.slideshare.net/facepalmtarbz2/new-sendfile-in-english)

<comment> vive-la-liberte Slide 27/36, aka. slide 18/23, shows a type of graph which I have also seen in the Google Chrome Dev Tools as well as a couple of other places. Someone told me once the name of that kind graph but I've forgotten what it was. I've never learned how to read that kind of graph. So, if someone would be so kind, please tell me what it's called and how to read it.

<comment><USER2> They call it a flame graph and what you are seeing are call stacks. X axis is time, Y axis is call stack depth.

The very bottom layer is the function you are analyzing, ever layer above is a function called by the one directly below it.

<comment><USER3> > X axis is time

That's not correct from what I'm reading.

<comment><USER2> If you are sampling the stack at equidistant points in time (or, sampling theorem and all, _fast enough_ ) and then determine the width on the basis of "seen in fraction of samples", that's pretty close to time. (time _span_ if you want)

</comment></comment></comment></comment></comment><comment><USER4> I love how the commit day is the same as the last one -- January 6.

I'll be damned if C doesn't look like arcane magic to me, I can grok some/most of it but fitting it all in my head would take a herculean effort.

Maybe it's system's programming but either way it makes my brain melt.

<comment><USER5> Far be it from the power of my single, small protesting voice to change the tide of a culture, but I wish we could discontinue the use of the word grok. The sound is aesthetically offensive somehow, and yet adds nothing to the synonyms: comprehend or understand.

Its proponents claim it implies a /complete/ understanding, so is more specific. Yet "I understand" does not imply an incomplete understanding. Furthermore the implication of completeness is a weak one, this is proven by how quickly and easily even that small value is neutralized when, for example, the parent said, "I can grok some/most of it." If we should take this to mean, "I can completely and comprehensively understand some or most of it," is that meaningful or truly the parent's intent? Even if it were, does it add to, "I can understand some or most of it"?

I would speculate that the reason a word for "completely understand" hasn't already made its way into the English lexicon after hundreds of years is because it's unnecessary, and further that its use within the IT community is motivated not so much by the desire for precision in communication as by a desire to be perceived as a savvy member of the community.

<comment><USER6> There are few other things in the world that work like source code, where "understanding" isn't something you do linearly, or even hierarchically, but _graphically_ , by exploring the connections between elements.

To grok a program, or a programming language, basically refers to having a graph of its elements and their interactions as a model in your head. "Grokking some of X" doesn't mean that you have a patchy or "blurry" graph of the whole thing; it means you have a complete graph of some subcomponents, but not all.

To put it another way: "understanding" doesn't usually imply being able to recreate the thing yourself. "Grokking" usually does. It's not an understanding you can put into words; it's an intuitive ability to "feel" the rules of the system because you've effectively mirrored the structure of the system with the structure of your synapses.

The only other things you can "grok", I think, are spoken languages (though there, we refer to "fluency"—another specialized kind of "understanding"), and the rules of games and game-like things like the tax system.

Or: to grok is to experience the original designer's intent, such that you could take over from the designer without the code changing in tone/style/quality very much. One might say, for example, that Brandon Sanderson has grokked the _Wheel of Time_ series, while Kevin J. Anderson merely _understands_ the _Dune_ series. It's the difference between "seeing what they did" and "seeing what they were going for."

<comment><USER7> I guess you could liken programming to Lego bricks.

When you have the programming language "groked" you do not see a loose pile of bricks, but what you can create from whats in the pile.

<comment><USER6> Ah, that's not quite what I meant by grokking a programming language. The "designer's intent" bit is important. When you grok a _language_ , that doesn't (just) mean you now understand how to _use_ the language; it means you now understand how to _extend_ the language, or _update_ the language, in a way the original designers would have done themselves if they had continued working on it.

To grok C and Unix, is to put yourself into a mindset where you would naturally come up with Go and Plan 9; and where e.g. C++ would seem, in comparison, ridiculous.

Grokking a thing doesn't mean you have to _agree_ with the mindset of its designers; it just means you have to be capable of _wielding_ that mindset, because it's the optimal mindset for understanding the thing itself.

The interesting thing about grokking a system is that you no longer _need_ to attempt to "understand" the system piece-wise, because you can now _guess_ what the designer would have provided for the problem you're trying to solve, and then just blindly "reach for it" without having to know it exists. There are quite a few times I guessed the existence of a Unix utility without having to be told about it, simply because it 'fit' the Unix philosophy to have a program with that function exist.

Instead of the lego analogy, I might go with IKEA: build enough of their furniture, and you don't have to read the manuals to put together new pieces any more. When you survey the particular parts you got out of the box, you can guess pretty accurately what the manual is going to say.

</comment></comment></comment></comment></comment><comment><USER8> sendfile(1) was taken from Microsoft Windows.</comment>


Qute and awesome text editor with Markdown and TeX support for PC/Mac/Linux - <AUTHOR> http://www.inkcode.net/qute

<comment><AUTHOR> When you add pandoc or lunamark to it, it becomes super powerful:

[http://johnmacfarlane.net/pandoc/](http://johnmacfarlane.net/pandoc/) or [http://jgm.github.io/lunamark/](http://jgm.github.io/lunamark/)</comment>


Extending Scuttlebutt with Annah - <AUTHOR> http://joeyh.name/blog/entry/extending_Scuttlebutt_with_Annah/ <comment><USER2> This is amazing. The most amazing part to me is the part in which programs are published into the network itself, as just messages.

I didn't quite understand it and so I may be wrong, but that Annah thing may be quite game-changing.</comment>


MIT reinvents the Post-It note... with Post-It notes - <AUTHOR> http://www.engadget.com/2008/05/01/mit-reinvents-the-post-it-note-with-post-it-notes/

<comment><USER2> Great idea. Simply great.

</comment><comment><USER3> If they replace the reader with good computer vision technology which scans documents from cameras watching your desk, this could go really far...

</comment><comment><USER4> I don't ever see this coming to fruit but I LOVED the idea, wow. If the attachment/reader was wireless I would so use it, just to have :)

</comment><comment><USER5> Beethoven's 3rd Symphony was a nice touch.

As for the idea... nah, not really, as long as it needs the attached reader etc.

</comment><comment><USER6> I hope MIT's next innovation will be getting the prototypical engineer's handwriting OCR'd.

</comment><comment><USER7> hmm... a $0.0000001 postit note now costs $0.025. I'm sure businesses will be all over it <where's my roll-eyes emoticon?)

This is just another case of solving a problem that doesn't need solving. If it wasn't MIT this would be on a late night infomercial.</comment>


URLs are Directories - <AUTHOR> https://qwtel.com/posts/software/urls-are-directories/ <comment><USER2> http(s) URLs are _NOT_ necessarily directories. From RFC1738, no doubt superseded by some other wordier RFC, referring specifically to the HTTP protocol:

       Within the <path> and <searchpart> components, "/", ";", "?" are
       reserved.  The "/" character may be used within HTTP to designate a
       hierarchical structure.

Note the key use of the word 'may'!</comment>


In Defense of Idiot Masses - <AUTHOR> http://marinich.tumblr.com/post/237233145/in-defense-of-idiot-masses

<comment><USER2> "I want professional journalists to get stuck in the flood of everyday people so that they're forced to be brilliant just to stand out. A lot of professionals have gotten away with being lax and amateur because they had no competition; now they've got to pick up their game."

Unfortunately, no one in professional journalism seems to know yet -how- to "pick up their game", and in the meantime, it's just easier to resent the everyday people. It'll be nice to see what, if anything, emerges.

</comment><comment><USER3> _I've tried Twitter three times and closed my account every time;_

Why does Author care enough to close a twitter account, not once, but three times? This seems strange to me.

 _I threw a hissy fit when the blog service I use added social features._

I use tumblr, and am completely unaware of the "social features" which Author speaks of. Threw a hissy fit? Really? Isn't that caring just a little too much? This entire post seems to care a little too much over things completely unimportant...

<comment><AUTHOR> > Why does Author care enough to close a twitter account, not once, but three > times? This seems strange to me.

I started one when Twitter started, got rid of it, tried keeping a "public" Twitter account for a while, got rid of that too, then had a private one for a bit with friends that I deleted when Facebook changed their feeds. I'll probably start one soon to mirror this new blog, too, hopefully permanently. (I also submit that if I weren't a strange person I wouldn't be writing about Twitter in the first place.)

> I use tumblr, and am completely unaware of the "social features" which > Author speaks of. Threw a hissy fit? Really? Isn't that caring just a little > too much?

Tumblr used to be my absolute favorite site, back when it was fresh and new and entirely basic. When they added the liking and reblogging I thought it was unnecessary, but acceptable. What pissed me off last year was their Tumblarity system. I can't fucking stand having numbers on web pages; it sets me off. (I dislike karma on HN, too, but this is a social site, whereas I always used Tumblr as a private engine.) It's what led to my ending the last blog I kept. I had a more freeform blog, and I'd started to realize I was posting more fluff content to boost Tumblarity and I was avoiding longform because it was dropping my score. Even now it irritates me that by blog is being "ranked" by such an arbitrary metric, and I wish there was an option to disable it and remove myself from the rankings.

I think it's a compliment to Tumblr that I got as upset as it was. Most sites are shitty enough that I don't notice when something's bad on it; Tumblr was such a perfect site that the addition seriously worsened it. It's still very good, but it's not what it once was; I was also upset because the Tumblr staff had seemed to share my design philosophy up to that point, and when they added that feature it confirmed the accusations facing them that they cared more about socialite frivolity than they did about the integrity of their design.

</comment></comment><comment><USER4> Most US newspapers also haven't been long on the analysis, history and erudition that lets us make wise choices. And they were conspicuously quiet about a lot of significant questions during the Bush years. Who can you trust? I tuned into The Guardian a lot.

In that sense, US papers made their own bad situation worse. They chose poorly. Too damn bad - for us all.

My reaction to Twitter being mentioned in the same paragraph as journalism is that we're in trouble. Any evolutionary biologist will tell you that the facts aren't part of the social provinces.

<comment><AUTHOR> > My reaction to Twitter being mentioned in the same paragraph as journalism > is that we're in trouble. Any evolutionary biologist will tell you that the > facts aren't part of the social provinces.

They aren't by default, I agree. I don't think we'll ever have a world of fact-checkers and I'm glad we never will.

But I think it's likely that we'll see groups of passionate writers who strive for accuracy in their writing, not because it's an organization but because it's their individual style. Just like the world of tech blogging has led to these ecospheres, where there's the TechCrunch/Mashable crowd and then the Gruber/Kottke/Mann crowd, and each one has a different approach that different sorts of people like.

</comment></comment><comment><USER5> My humble opinion:

Nice blog design, decent point, pathetic use of profanity.

<comment><AUTHOR> I only used "fuck" twice and "shit" three times. Tough crowd.

<comment><USER5> It might just be my personal preference. Personally I hate it when somebody has a great blog design and great content but then they drop the f-bomb in there.

Nothing personal, and I do agree with the point of your article, I just don't like the profanity usage.

<comment><AUTHOR> Fair enough. I try not to overuse it—I treat it like any ordinary language—but I'm not averse to using it specifically.

</comment></comment></comment></comment><comment><USER6> Interesting format for this article.

Introduction. Careful analysis of a commentary and observation. Lots of hand- waving and profanity. Back to the analysis. More profanity during a rebuttal. Drawing the analysis into a thread. Some toss-away scatology at the end. Coming to some sort of a conclusion.

I'm not sure I like it, but I really enjoyed reading the format when the author actually was getting to a point. Too many times once the "fucks" begin the author goes somewhere out on the deep end and never comes back. This looked like it had been rewritten a bit.

Having said that about the format, the content was mediocre. Maybe I've read so much commentary I'm swimming in it, but it just seemed to restate the obvious. Perhaps others got more out it.

I'm really interested to see if this style takes off, however. It might have some potential. Not a rant, but not exactly analysis either. Sort of a controlled rant.

<comment><AUTHOR> It was actually a Hacker News comment that I wrote; the thread was deleted before I posted it, so I revamped it a little bit and published it, just in case it'd be something worthwhile of discussion.

I'm still in the process of getting a new site launched; it's also been a handful of months since I wrote anything—my last blog, which was submitted a lot here, went offline in June—so I'm still trying to pick up what I'd developed then. My plan is to split the site into drafted articles and more polished releases, but that's not ready yet. I'm hoping within a week I'll have that.

I don't think I'll be submitting it much to Hacker News, though. Even writing this much felt unnatural to me; I'm not deep enough into the stuff Hacker News is to write much that'd be of interest to the community. Hopefully I'll come up with a few things, though.

<comment><USER6> I was just thinking that I'd like to write another well-researched and thoughtful piece for my blog but just can't seem to get excited about anything enough to start one.

I'd like to see more from you, if you write any. I liked the edgy tone combined with the careful analysis and think you could make it into a nice style.

A couple of times in the last week a comment has made me interested enough in a reply. There was a good thread this past week on the limits of quality in software. Is total quality always a good idea? I thought about blogging about it but taking the time to work up a good narrative and then cross-checking and rewriting several times is a major pain in the ass. So kudos for following up on this.

<comment><AUTHOR> You could always subscribe (whoo, self-promotion!), but the stuff I'm interested in's a bit out there sometimes. I'm also trying to avoid the edge as best as I can. I wrote one thing in May that was submitted here without my wanting it to be, and a prominent blogger decided to freak out and rant about it. I'm trying to figure out how not to trip off stuff like that. Glad you liked this, though: That's what counts.

EDIT: I just looked and these are the most-tracked posts from the last month, if that gives any idea of content:

<http://marinich.tumblr.com/post/200996589/talentless>, <http://marinich.tumblr.com/post/216821123/make-great-shit>, <http://marinich.tumblr.com/post/220489097/art-school-blues>. So, as I said, it's a bit of a potpourri.

</comment></comment></comment></comment><comment><USER7> "I don't know why people go looking for idiots so they can jerk themselves off over them. That's a fetish I've never had."

but the fetish of looking for the people who go looking for idiots, now that's apparently very appropriate to jerk yourself over?

<comment><AUTHOR> I don't see why not. It's similar to my political beliefs, where I an extremely distasteful of people with extremist beliefs.

Think of it as my being against negativity. I'm okay with everything but people who put other people down. And smug assholes can defend themselves well; idiots can't, so I defend them instead.

EDIT: I don't think that's quite a cohesive answer, so let me elaborate. I like productive criticism. I've spent a lot of time here criticizing Twitter in the past, especially when it was first growing, because I really don't see the use in it myself beyond for publicity purposes. I don't write shortform very often, so why Twitter was better than a communal blogging system struck me as odd. Similarly, I criticize a lot here and very willingly throw myself into arguments.

Where I draw the line is when people make blanket statements against people they don't know. I understand that's a paradoxical concept, but there's no better way to put it. I also dislike smugness. So criticizing, say, Robert Scoble for being very overearnestly wrong and overreaching when he writes a silly article, that's fine. What wouldn't be fine is making a statement like "Scoble shouldn't ever write again," because it implies that just because somebody's wrong about something should mean they shouldn't try again. I prefer criticism that encourages people to try again, criticism that's potentially constructive.

So I support the masses, even when they're dumb, and I'll go out of my way to criticize people who've got the antiquated attitude that having somebody stupid on the Internet somehow brings the whole Internet down. That's a negativity I can do without; I'd like to see that converted into more earnest criticism in the hopes that those masses become enlightened rather than ticked off that people they don't know are putting them down.

I see it in real life, on occasion, when I meet people who're big into 4chan and Reddit, and it makes me want to hit them. I lost that smugness when I met Internet People in real life and realized they were people, not degenerates; other people carry that smugness over and act like what they type online allows them to spit on other people who care about other things more. Those other people don't care enough to respond, so I provide my viewpoint in the hopes that it'll quell things.

</comment></comment><comment><USER8> This author has a really mean, nasty attitude.

<comment><AUTHOR> Elaborate.</comment></comment>


Surge.sh – Painless web publishing - <AUTHOR> https://surge.sh

<comment><USER2> Not to sound too negative, but since it's not addressed on the site (that I can see):

"Free", to what extent? Is there a hidden quota somewhere? How are you making money? Is this going to disappear suddenly?

</comment><comment><USER3> Why is surge.sh hosted on a DigitalOcean instance instead of your 'production- quality CDN'?

</comment><comment><USER4> If you're looking for a self-provisioned alternative, I believe this does essentially the same thing: [https://github.com/EagerIO/Stout](https://github.com/EagerIO/Stout)

</comment><comment><AUTHOR> The author previously posted the intro blog post[1] on HN[2]. The creator clarifies some things in that discussion.

[1] [https://medium.com/surge-sh/introducing-surge-the-cdn-for- fr...](https://medium.com/surge-sh/introducing-surge-the-cdn-for-front-end- developers-b4a50a61bcfc)

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

</comment><comment><USER5> I like this, but I have the same concerns as mintplant. How large files can I upload? How many websites? Also, where do I point my DNS to?

<comment><USER6> The DNS part is explained here: [https://surge.sh/help/adding-a-custom- domain](https://surge.sh/help/adding-a-custom-domain)

</comment></comment><comment><USER7> Some information would be nice, for instance where are the CDN locations?

</comment><comment><USER8> This is seriously awesome</comment>


Faster Images using HTTP2 and Progressive JPEGs - <AUTHOR> http://calendar.perfplanet.com/2016/even-faster-images-using-http2-and-progressive-jpegs/ <comment><USER2> It's worth balancing this against other research showing that users often don't like the experience provided by progressive image rendering:

[http://www.webperformancetoday.com/2014/09/17/progressive- im...](http://www.webperformancetoday.com/2014/09/17/progressive-image- rendering-good-evil/)

<comment><USER3> Sample size of one, but on mobile, my number one pet peeve (apart from popover ads and autoplay videos!) is layouts that change as the page loads. Progressive encoding with multiplexing should help make sure newly loaded images don't make article text jump around as I try to read it.

Then again, maybe this is a laziness issue since it seems to me defining a layout independent of actual image content is something that you could do in the 90's.

<comment><USER4> Specifying image dimensions is enought to prevent any jumps.

<comment><USER5> On mobile, we mostly do percentages on images due to varying display sizes. Gets ridiculous when you want to specify the dimension, because you can't. We need to specify aspect ratios and css does not provide that.

Went with a padding-top + absolute position in wrapper hack at the end. That jumpiness is part the tooling problem.

<comment><USER6> I know it's a hack, but what is wrong with it? I've always been using that and it works.

I haven't looked in details into the new srcset and size attributes of image, but won't that help also?

<comment><USER7> <picture> with multiple srcset makes it possible to serve images that are displayed at 100% width, filling their (DOM) container.

Check out [http://scottjehl.github.io/picturefill/](http://scottjehl.github.io/picturefill/)

</comment></comment></comment></comment></comment></comment><comment><USER8> > it is possible to flag individual scan layers of progressive JPEGs with high > priority and making the server push those scan layers into the client > browsers' Push cache even before the request for the respective image is > initiated

Whoa - I had no idea this is possible. Isn't this a crazy layering violation (why should HTTP2 know about progressive JPEGs)? The links don't seem to provide any more information about it.

 _edit_ It looks like HTTP2 only talks about streams. So it's too strong to say that you can flag "individual scan layers with high priority." You can't change the order of scan layers within a JPEG file, or send the file in anything except its natural byte order. So it seems like this has the same limitations as HTTP 1.x.

<comment><USER9> It's only a violation if you don't have a clearly structured API to provide the necessary hints from the application to the HTTP server.

<comment><USER8> How can a layering violation in a protocol be fixed at the API level? An API is what it is; a good API atop a gross protocol is only lipstick on a pig.

<comment><USER10> I think he's saying that you could potentially have the prioritized output without "HTTP2 know[ing] about progressive JPEGs". E.g. specifying "these layers are high priority" versus "the first _n_ bytes of this stream are high priority": The first would be a layering violation, but I don't see any reason the second would be (not saying anything about its practicality). Now obviously the protocol would need to support the second (at least to use it in the context we're talking about), but I read the GP as using "API" figuratively enough to encompass this.

<comment><USER9> Yes.

And would pushing chunks actually require a protocol modification? AIUI http2 push mirrors the hypothetical request headers. So it could essentially push a range-request which the browser could use to partially populate its cache.

</comment></comment></comment></comment></comment><comment><USER11> > The best way to counter negative effects of loading image assets is image > compression: using tools such as Kornel Lesiński's ImageOptim, which > utilizes great libraries like mozjpeg and pngquant, we can reduce image byte > size without sacrificing visual quality.

The standard metrics these tools provide (JPEG quality or PSNR) are not enough to preserve the visual quality for the variety of images. I'm working on the project to actually do it [1].

My favorite example is the actual Google logo [2]. It's 13 504 bytes and can be reduced almost 2 times to 7 296 bytes saving probably gigabytes of bandwidth each day.

[1] [http://getoptimage.com](http://getoptimage.com) [2] [https://www.google.ru/images/branding/googlelogo/2x/googlelo...](https://www.google.ru/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png)

<comment><USER12> Image compression is a great first step. Imagemin is a great javascript-based tool that lets you incorperate a bunch of optimization tools (mozjpeg, pngquant, jpegtran, optipng, gifsicle, etc...) all in one (if your project can easily use javascript modules...). And there is a plugin [0] (that I wrote) for webpack to make it happen without any thought.

Another potentially massive step is to use the srcset [1] attribute of the <img> tag. It lets you provide a bunch of different resolutions for the same image, and the browser will choose the best one to download and render based on the physical screen pixel density, zoom level, and possibly in the future even things like bandwidth preferences or battery level.

Combine the imagemin plugin with a webpack-loader [2] that will auto-generate 5-ish different downscaled versions of an image as srcset, and you get a pretty perfect setup.

My web apps now always use the highest resolution image I have available by default (within reason, I do cut it down to a realistic value), then provide 5 different downscaled versions alongside it in the srcsets automatically which are all run through a battery of optimization to compress them as good as possible. And the browsers will only download the biggest one it can realistically use. Everyone gets high quality images, nobody wastes bandwidth because of support for higher res screens.

[0] [https://github.com/Klathmon/imagemin-webpack- plugin](https://github.com/Klathmon/imagemin-webpack-plugin)

[1] [https://css-tricks.com/responsive-images-youre-just- changing...](https://css-tricks.com/responsive-images-youre-just-changing- resolutions-use-srcset/)

[2] [https://github.com/herrstucki/responsive- loader](https://github.com/herrstucki/responsive-loader)

<comment><USER11> Agree. Serving the right size is as important.

</comment></comment></comment><comment><USER9> I never liked progressive images. Just loading vertically is far less tantalizing than having to check the pixelation to see whether you're really looking at the final product.

<comment> angry-hacker Mee too, but choosing between page jumping and your scenario, I take pixelerated. Often I even don't look at those images, all I look is page jumping.

<comment><USER9> Why would the page jump? The rectangular size of the image is encoded in the header either way. The layout engine will already reserve the necessary space as soon as the first few bytes of the image are loaded, progressive or not.

<comment> angry-hacker It's possible I was mistaken. Thank you for pointing it out, I need to research it a bit more.

</comment></comment></comment></comment><comment><USER13> Progressive JPEGs are actually a worse experience on browsers that don't render them progressively, like Safari (including iOS). This is why many major sites, such as Flickr, don't use progressive JPEGs (last time I checked, which was a few years ago).

See: [http://calendar.perfplanet.com/2012/progressive-jpegs-a- new-...](http://calendar.perfplanet.com/2012/progressive-jpegs-a-new-best- practice/)

<comment><USER14> Flickr does use progressive jpegs now. Imo I hate seeing the blurry image first.

</comment></comment><comment><USER15> I'm curious, this would probably be better than using an image preload/loading icon as far as delay or even blank spots/placeholders.

I think I've seen this before but I've used an overlay loading gif which was shown over the image while the image loaded then when it loaded the loading gif would be hidden.

<comment><USER16> I'm always happy when sites don't mess with <img> like this, since it completely breaks down for non-JS browsers. :/ There are ways to do this without breaking, but it's not always done. Apparently.

<comment><USER15> Oh man, that's one of those things with web that sucks you gotta factor it in. I don't know the percentage but say on average, 70% of a basic web gets most of the users. Then you have to factor in blind users, non-javascript, internet explorer... Ahhh

It bothers me because I know it's something to address.

So regarding non-javascript, most interfaces are built with JavaScript so what percentage are you addressing?

I've only had the non-javascript come up personally regarding using Tor. I don't know/use Tor much.

I don't ever put <noscript> alerts in ahhh I should though.

I use AdBlock too, not sure if that affects what the desired end-result of non-javascript

<comment><USER16> I was talking about myself, in this case. Quite selfish, unlike your comment :)

I use noscript and disabled JS on iOS Safari, for battery life and security. Not a fanatic noscript user at all, it just seems slightly less bad than full js at this point.

Graceful degradation is a better choice than <noscript> tags, where possible. Which, for <img>, it is.

thanks for considering the minority, even if it doesn't pan out :)

<comment><USER15> I don't know if it's a futile battle regarding accessibility. I guess if you're a big enough company/group you'd have experts in that area.

Hmm yeah I guess I'm not as up to date with mobile(the stuff you mentioned)

</comment></comment></comment></comment></comment><comment><USER17> If only some side-by-side video of the page rendering with the two methods would be available.

I like progressive images, and the whole idea, but some catchy video about a page re-layouting multiple times as images arrive on traditional http+simple jpeg would be the most convincing.

</comment><comment><USER18> I think at this point a better solution is to use a polyfill for Webp.

The polyfill is pretty light because the underlying image format is just a single frame of VP8. Shouldn't get much performance hit since it will just render as a single frame of video on polyfilled browsers

<comment><USER19> I was going to say the same thing, except "polyfill for JPEG-2000"

<comment><USER18> nah JPEG 2000 isn't quite as nice because some browsers can't natively parse it :) . WebP support literally already exists in all mainstream browsers, it's just a single frame of VP8. And it's still around half the size of regular JPEG

Not sure why we're downvoted here, either of these are clearly better options for increasing image download speed</comment></comment></comment>


Quest for perfect Search Engine (Semantic Search) - <AUTHOR> http://www.abhishekmehta.com/apache-roller-4/blogs/entry/quest_for_a_perfect_search

<comment><USER2> The article is nearly impossible to read.

<comment><USER3> Why is it _impossible_ to read?

Even though I frowned at their splitting the 3 short sections into 3 pages, frowned again at their forcing opening of a new browser/tab for each section, it at least provides a (semi)decent summary of the different search engines in the market and hence stays high above the lower quadrant of the worst articles I've seen in terms of intent, content, layout, or color.

</comment></comment><comment><USER4> How did you felt about this article! discuss!</comment>


Termux: terminal emulator and Linux environment for Android - <AUTHOR> https://termux.com/ <comment><USER2> This package is very useful. I use it to run youtube-dl and attach to my irssi container. I do lots from irssi/termux; tweet slack irc. The termux-url handler is great as well. You can process shared urls from your browser based on their domain name. For some urls I pass them to youtube-dl for others I push to getpocket and a couple of other special cases I have as well. My tablet wouldn't be the same without it.

</comment><comment><USER3> `apt update` runs over HTTP (no SSL)... Is this a common practice?

This is a nice package otherwise.

<comment><USER4> Using HTTP for 'apt update' is common practice. Neither Debian or Ubuntu use https for their repositories. Instead the metadata for each repository is signed with a gpg key. The associated public key is distributed with the installation media and used to verify the metadata. The metadata includes checksums for the other files in the repository. Debian and Ubuntu include MD5, SHA-1 and SHA-256 checksums. Termux includes just the SHA-256 checksums. These checksums are used to verify the integrity of the other files in the repository.

</comment></comment><comment><USER5> If a terminal emulator under Android can not solve the special characters typing(TAB, Ctrl-C), it will be hard to say useful.

<comment><USER6> Volume up + T = Tab

Volume down + C = Ctrl-C

It's not ideal but works.</comment></comment>


Chromecast + NFC - <AUTHOR> http://maxwellito.tumblr.com/post/130977884131/nfc-the-killer-feature-for-chromecast <comment><USER2> Considering the Chromecast is plugged behind the TV, wouldn't it be really awkward to get to to tap on it?

Btw, Google has a series of APIs called Nearby ([https://developers.google.com/nearby/](https://developers.google.com/nearby/)) that are all about connecting to nearby devices but NFC doesn't seem the right answer here.

<comment><USER3> Chromecast isn't the right brand for what the author is suggesting. But what the author is suggesting is a really neat idea.

But it's no different from having a touchscreen with an NFC contact point. The Chromecast brand has nothing to do with it. Such a box could easily be a Chromebox - with NFC & Beacon support.

<comment><AUTHOR> The only reason I mention the Chromecast is because it's a quite popular device, cheap, easy with an existing ecosystem of apps.

But yes, this would work with anything able to display a webpage (:Raspi..) :)

</comment></comment></comment><comment><USER4> According to iFixIts teardown: [https://www.ifixit.com/Teardown/Chromecast+2015+Teardown/501...](https://www.ifixit.com/Teardown/Chromecast+2015+Teardown/50189)

It has a Marvell Avastar 88W8887 chip, which has NFC built in. [http://www.marvell.com/wireless/88W8887/](http://www.marvell.com/wireless/88W8887/) as well as FM Radio.

I said this should be used for "Tap and Play"

<comment><USER5> Just because the chip supports the protocol, doesn't mean the device has the proper front-ends and antennas to receive it.

</comment></comment><comment><USER6> The sender and receiver SDKs have mature APIs for playing video. The session and media channels/objects are well documented and leveraging them on your custom receiver ensures far easier integration on the senders (iOS, android, and web). If you venture out of the cast-a-single-video experience, it can get pretty complicated as there are best practices for how to handle multiple senders, how to fetch a playlist and continue autonomously if the sender disconnects without stopping the cast, and maintaining a good user experience on all senders that represents current state of receiver. You could (and would be advised to) handle all this via the provided "media" channel.

More to the point of the article, there is also a custom messaging channel, you can create your own interactive experience (the receiver is just a website displayed in a chrome tab). Here's an example of tic-tac-toe: [https://github.com/googlecast/Cast-TicTacToe- chrome](https://github.com/googlecast/Cast-TicTacToe-chrome). You can already develop a custom receiver for an in-store search feature or something more interactive and playful. You can connect to it via the same wifi. I don't understand what additional value nfc provides in this case as you'd still need to maintain an open/persistent connection to the receiver from the sender, would nfc be able to provide that?

<comment><USER7> The problem is Chromecast requires the phone to have a Chromecast SDK using app on it anyway. Additionally you couldn't communicate without having a wifi connection, at least without proxying over the internet which is slow.

The closest thing to this would be to have the NFC auto open a webpage that is already paired to the app on the screen so that you can then use the custom web page's UI to send control messages to the TV via internet relaying.

<comment><USER8> What if the chromecast was allowed to transfer wifi network details (either for a secure or unsecure) network over NFC for the phone to temporarily connect to? That's a cool feature even if you don't plan to use the chromecast.

<comment><USER9> I'd throw away my chromecasts immediately. It's hard enough to maintain filter rules to not let this little guy phone home too much.

</comment></comment></comment></comment><comment><USER10> Okay, someone help me. The article says:

> The new version of the Chromecast is launched. I was already in love with > the existing version and [its] JavaScript API.

I have a Chromecast and I Don't Get It. I'll be honest, I haven't tried searching for cool stuff to do with it. Sometimes I stream Netflix or Youtube from my phone. I found a way to stream MKV videos from my computer using Chrome. But that's it, nothing there is cool or revolutionary.

So, what's some cool stuff I can do with my Chromecast? I recognize there's something neat going on here, but it seems so locked down that I can't figure out what it is. Can I write arbitrary apps for it somehow? Is there a cool collection of apps that do... something?

Help me out. What's cool about Chromecast?

<comment><USER11> Instead of making your TV a smart TV, it lets your smartphone be smart on a bigger screen.

<comment><USER10> Tell me how. What do you use it for? What's cool about it for you?

<comment><USER12> I could never get my parents to use a ps3 or 360 or whatever to watch netflix, and them looking vod meant using a crappy service that let them download files into their own "media player". Since they have a chromecast, all they need to do is open whatever they want on their tablet and press a button.

As for myself, I use to it to stream my video games on TV using the "stream entire screen" option in google cast extension in chrome.

</comment></comment></comment></comment><comment><AUTHOR> The point of this article is for a different usage of the Chromecast.

The Chromecast can display webapps (Chromecast apps) and this could transform any TV as interactive screen. Imagine you have a store, you can create an app which display the new products. But instead of having to type the URL on your phone to have more info, the web app could use the Chromecast API to broadcast a URL via NFC.

And for more advance stuff, it could implement something like Liwe. It's a service to use smartphones as remotes for web apps (>> liwe.co).

The problem right now is the Chromecast is only known for broadcasting video and audio while it can do more then that.

</comment><comment><USER13> NFC is unnecessary for what the OP is talking about. The chromecast can advertise itself to mobile phones with inaudible audio or with a hidden QR code on the screen.

</comment><comment><USER11> The article author actually wants a Physical Web beacon. The range of BLE better suits the use case.

[https://google.github.io/physical-web/](https://google.github.io/physical- web/)

<comment><AUTHOR> YES! Too! This would be awesome if it was implemented into the Chromecast. But I guess it's not the market that Google is targeting.

</comment></comment><comment><USER14> This seems like saying, "Hey, lets ditch remote controls and put the controls right on the TV!"

</comment><comment><USER15> Pretty obvious solution, but very useful. If only Bluetooth-pairing was this simple.

</comment><comment><USER16> Hi maxwellito, we're working on something along these lines. Sent you a tumblr message but figured I'd post here as well. Just applied to YC. Would be nice to talk. Overall pretty underwhelmed by the "digital signage" industry and think we could push things forward using affordable commodity hardware.

Over the next few years, think this is a viable / utilitarian medium for delivering on some of the promises of ubiquitous augmented reality.

<comment><AUTHOR> Yeah sure, join me on Gitter :)

</comment></comment><comment><USER17> I already developed a product that does this without the need for NFC.

If there is anybody that can help with setting up an operational infrastructure for this project, then please email me. I'm the sole developer/owner and I mostly need help with building a team and accelerating the project forward.

segrafix @ gmail.com

Best, Ilya</comment>


Court ruling nullifies US requirement that hobbyists register drones - <AUTHOR> https://arstechnica.com/tech-policy/2017/05/court-ruling-would-nullify-us-requirement-that-hobbyists-register-drones/ <comment><USER2> I'm curious how this ruling will affect the consumer drone market in the US.</comment>


Show HN: Framework for writing SEO content that ranks - <AUTHOR> https://mannhowie.com/how-to-rank-without-backlinks <comment><USER2> This is a blog post, not a Show HN:

[https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

</comment><comment><AUTHOR> I have spent the past year building an SEO channel for a B2B SaaS tech startup. With a team of 9 we were successful in turning SEO to be our largest and fastest growing user acquisition channel without backlinking. This blog documents our key learnings and shares the content framework we use. I hope this will be helpful for other growth marketers and tech startups out there

</comment><comment><USER3> How is this a show HN?</comment>


Why Companies Should Insist that Employees Take Naps - <AUTHOR> http://blogs.hbr.org/cs/2010/09/why_companies_should_insist_em.html

<comment><AUTHOR> It seems like space would be an issue, but I do think a 15-20 minute nap around 2-3pm would increase productivity. Even some light exercise like stretching would be nice.</comment>


Tesla whistleblower Martin Tripp is releasing documents on Twitter - <AUTHOR> https://twitter.com/tripp_martin/status/1291856227681656833 <comment><AUTHOR> At the direction of Musk, Tesla security hacked Tripp's phone, had a stingray set up on Tesla property, followed Tripp 24/7, and had him swatted by claiming he was in possession of a firearm and planning a mass shooting at Tesla HQ.

[https://twitter.com/NashGrumps/status/1291818185965080576?s=...](https://twitter.com/NashGrumps/status/1291818185965080576?s=20)

</comment><comment><USER2> [https://mega.nz/folder/CdsXiYoI#hanN79BzrfFmV5WI8X3iYw](https://mega.nz/folder/CdsXiYoI#hanN79BzrfFmV5WI8X3iYw)</comment>


Oracle VM Virtual Appliances / Templates - <AUTHOR> https://www.oracle.com/virtualization/technologies/virtual-appliances.html <comment><AUTHOR> Scan down the page and look at the dates.</comment>


Tell HN: minor bug (feature?) of the YC app - <AUTHOR>

If you don't submit a full URL (i.e. http://<i>) in the company URL field, the application appears to swallow your input (at least it did this for me).  If you entered your URL as www.</i> without the http://, you should double-check your application. <comment><USER2> Sorry, url fields were excessively strict. I'd been meaning to fix that, so I just did.

</comment><comment><USER3> Thanks for the heads up!</comment>


Ideas, Execution, and Talking to Customers - <AUTHOR> http://sealedabstract.com/business/ideas-execution-and-talking-to-customers/

<comment><USER2> The whole 'solving a user pain' is only one aspect of product creation.

What about all those businesses that don't solve a pain at all. Isn't that where the real money is?

Twitter, Facebook, SmartPhones, even the internet didn't solve a problem at all. These huge markets where created where the customer didn't even know they had a pain.

Same with Kindle and tablets, and with tablets we can argue that people are buying them at an alarming rate without knowing what they will use them for, and often from what I've seen don't use them.

If Facebook or twitter had taken Steve Blanks advice, would they have created the businesses they did? I take customer pain with a grain of salt. It isn't the only way to discover opportunities, and it may not be the best.</comment>


Ask HN: What's your Windows {web} development software set-up? - <AUTHOR>

I just bought a new laptop recently and am in the process of setting it up for development on the go.
I just saw the MacOS thread (http://news.ycombinator.com/item?id=1618817) and I figured I'd ask the HN on what everyone's favored setup is, web development or otherwise. I've been using a Macbook for the past 2+ years that just gave away and I decided that Windows 7 was a good reason to move back to the windows platform, not to mention the $$$ i saved on a better specced machine.
Currently, I have:
Notepad++ (IDE) FileZilla (FTP) Microsoft Office
Chrome + Firefox with Firebug
Dropbox (To sync files across machines) Paint.NET (For minor image manipulation) Launchy (Application Launcher)
I was on the lookout for some more software that'd make my life easier.
-- Is there a good replacement for OmniGraffle Pro?
-- Also, what's the best tool for Screenshots (preferabbly a tool that auto-uploads to the web for easy sharing) like Skitch or Cloud App.
-- A good lightweight to-do list like SimpleTask
Thanks. <comment><USER2> You didn't mention what kind of web development you are doing. If you are into node.js, ruby or modern nosql databases, you should definitely install cygwin and mingw. These environments let you compile most posix stuff, like you could do on Mac OSX. Plus they have nearly a complete set of all command line tools you might know. (bash, grep, find, awk, sed, ...)

</comment><comment><USER3> I recently started playing with phpStorm from jetbrains (the people who make intelliJ). I've only been using it for about a week, but so far it seems to be a great php editor and by far the best javascript IDE I've used. If you don't use php they have a cheaper version called webStorm which only does javascript, html and css. My only real complaint is that is a bit of a memory hog and sometimes feels quite sluggish on my netbook.

Other than that generally use topstyle 4 for html and css and pyscripter for python. All of which I'm very happy with.

</comment><comment><USER4> Zend Studio for Eclipse, Putty, and FileZilla are pretty much all I need for PHP development.</comment>


Tom Hanks' Typewriter App Is No. 1 in the App Store - <AUTHOR> http://time.com/3139360/tom-hanks-typewriter-app-is-no-1-in-the-app-store/

<comment><USER2> The power of celebrity endorsement at work. This isn't to say that had this app been built without any connection to Tom Hanks it wouldn't have found an audience, but this way it starts with a much bigger audience than it would have had on it's own. Now, nobody needs a typewriter styled text editor on their iPad, but we can all imagine Forrest Gump tapping out the first draft of his story on a manual Remington typewriter. And that inspires the desire for an app like this.

It's the power of the story you tell about your product, and celebrities tend to be expert storytellers.

<comment><USER3> A buddy of mine was in a non-yc accelerator. One of the questions/goals they had for him was to find his ideal celebrity investor. It's so simple and effective at generating PR (and a little investment cash), I was disappointed I never had thought about it that way before. Not necessarily easy to do if you don't have the right momentum, but effective if you can pull it off.

<comment><AUTHOR> Interesting ! But celebrity investment doesn't guarantee anything apart from a lot of initial press and traction,do they ? Those startups continue are vulnerable to the same failures like any other. Ashton Kutcher invested in the social flirting app which failed to take off , Leonardo Di Caprio invested in Mobli (which isn't big right now either) and a few others. If there is no alignment of the celebrity's existing brand & image to the startup they invest in , the value seems to be strictly initial publicity.

</comment></comment></comment><comment><USER4> Back in the early 1990s I was forced to do typing as a subject in the South African equivalent of junior-high school. We used mechanical (Olivetti?) typewriters (electric typewriters were for the older students who did typing as an elective). Even at the time, we found the whole thing archaic, as many of us had computers and printers, but obviously the school curriculum didn't move forward at the speed of technology. And mechanical keyboards aren't romantic when the typewriters and keys jam up and/or break in weird ways. Carriage returns weren't automatic either, as they are on the Hanxwriter app...you needed to manually move the lever on the left.

After a rocky start (because I refused to cheat and look at the keys), and two years of typing exercises, I found it was a useful skill, and, even now the keyboard "gets out of the way" when I type on any device.

I wonder if there are long-term benefits to formal typing education, vs picking things up, along the way, and if it is still taught formally at school.

As for the app, my first impression is that it provides an _ersatz_ sanitised version of a real mechanical typewriter. Maybe that's a good thing, but it doesn't seem to fulfill any need that I have.

<comment><USER5> "...but it doesn't seem to fulfill any need that I have."

It's a novelty app. Just like one of those "crack the screen" apps. You install it once to show to friends and that's it.

</comment></comment><comment><USER6> I was expecting a video with Tom Hanks typing "Dear ShopGirl..." :-(

</comment><comment><USER7> He writes code by himself?

<comment><USER8> It was built by agency Hitcents, who gave the production process a fairly detailed write-up here:

[http://www.hitcents.com/b2b/work/hanx](http://www.hitcents.com/b2b/work/hanx)

<comment><USER9> It's moderately interesting because it was built using Xamarin. So the top iPad app (at least for a little while) was built using C#.

[http://blog.xamarin.com/tom-hanks-vintage-typewriter- inspire...](http://blog.xamarin.com/tom-hanks-vintage-typewriter-inspired- hanx-writer-app/)

</comment></comment></comment><comment><USER10> He's almost as accomplished as Kim Kardashian now then.

</comment><comment><USER11> I guess this is the result of Apple finally allowing custom keyboards[1]. I've heard people say that you can make more money developing an app for iOS instead of Android and the fact that a simple app like this typewriter emulator - which would have been possible for years on Android - could sell so much reenforces that notion in my mind.

I suppose the success could just be due to the fact that it's being endorsed by a celebrity like Tom Hanks?

[1][https://developer.apple.com/library/prerelease/ios/documenta...](https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/ExtensibilityPG/Keyboard.html)

<comment><USER12> Custom keyboards only work in ios 8, which isn't released yet. This is just a regular app. Comparing it to android seems... unnecessary.</comment></comment>


Cruise's self-driving cars perform 1,400 unprotected left turns in 24 hours - <AUTHOR> https://www.theverge.com/2019/5/23/18637358/cruise-gm-self-driving-unprotected-left-turn <comment> lil-scamp I've seen them making unprotected left turns down in the financial district in the evenings—it's a lot more complex in mid day with full traffic. Looks like the cars on the video are making riskier turns than I would make!

<comment><USER2> I agree! I'd have had a heart attack on that first one in the video, cutting in front of the other car.

</comment></comment><comment><AUTHOR> Direct link to the video: [https://www.youtube.com/watch?v=6YALSJTI33g](https://www.youtube.com/watch?v=6YALSJTI33g)</comment>


A Self-Replicating Radiation-Shield for Human Deep-Space Exploration (Preprint) - <AUTHOR> https://www.biorxiv.org/content/10.1101/2020.07.16.205534v1 <comment><USER2> Didn't Oumuamua had a thick shield of similar to this proposal?

..just saying

[https://en.wikipedia.org/wiki/%CA%BBOumuamua#Appearance,_sha...](https://en.wikipedia.org/wiki/%CA%BBOumuamua#Appearance,_shape_and_composition)</comment>


Get Started with Kotlin on Android - <AUTHOR> https://developer.android.com/kotlin/get-started.html <comment><USER2> I've been playing with Kotlin and I'm liking it, but my god Android development is such an nasty hellhole.

As good as it is, Kotlin can't fully mask the awful boilerplate and APIs .

<comment><USER3> Are you already using anko ? [https://github.com/Kotlin/anko](https://github.com/Kotlin/anko)

</comment></comment><comment><USER4> Great getting started page. Short and direct.

As a Kotlin noob, can someone explain to me why the Kotlin on-click listener doesn't need to specify onClick() like the Java one does?

<comment><USER5> [https://kotlinlang.org/docs/reference/java- interop.html#sam-...](https://kotlinlang.org/docs/reference/java- interop.html#sam-conversions)

<comment><USER6> Actually, this is similar to what you can do in Java by using lambdas (Retrolambda for pre-Java 8, e.g. Android pre-SDK 24). Excerpt from a blog post [1] about it:

      mButton.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
              // do something here
          }
      });

can be replaced with

      mButton.setOnClickListener((View v) -> {
          // do something here
      });

which is nice for all callbacks, but especially together with ReactiveX where they are abundant.

[1] [http://zserge.com/blog/android- lambda.html](http://zserge.com/blog/android-lambda.html)

<comment><USER7> Worth noting for completeness... In Kotlin you can take that a step further:

mButton.setOnClickListener { /* do something here */ }

(In addition to SAM conversions, both the parenthesis and input variable are optional.)

</comment></comment></comment></comment><comment><USER8> Kotlin and React both on the front page. Anyone can give some compelling reasons why old Android devs like me should try React Native?

<comment><USER9> Personally I don't feel the need to use React if you use kotlin. But there are few cases where React makes sense. Everything that involves a stream of events that you need to process and they can fail or you need to retry, them React is your way to go (I don't feel kotlin is ready for this use case yet). For example, if you want to use the BlueTooth API it is so easy to use it with React because of the stream of events.

People are using React for Rest requests, and for APIs where you cannot touch them it can be a good idea as it provide ways to join results of requests and other stuff. But if you control the API and it is designed to be simple and with mobile in mind, there shouldn't be uses cases where a simple request give you all you need.

It also gives consistency as you treat the same way a click event than a http request. Some people like this but I don't.

I personally didn't find a good use case to use it in my app, but you might think diferently. So, I suggest you to try it a little at least an decide by yourself.

<comment><USER10> Have you looked at RxJava/RxKotlin for working with streams?

This can get you started: [http://reactivex.io/intro.html](http://reactivex.io/intro.html)

<comment><USER9> Have you read my comment?

</comment></comment></comment></comment><comment><USER11> Learning curve comparable to go?

<comment><USER12> I'd say that depends on which languages you already know. Go is a smaller language in terms of syntax. No generics, not OO in the sense that it doesn't have classes and inheritance etc. But if you're familiar with the Java ecosystem and languages like Scala, or something like Swift or Rust, Kotlin should be easy to pick up.</comment></comment>


Latest Everything: Bot shows signs of consciousness - <AUTHOR> http://sixwoffers.blogspot.com/2011/04/bot-shows-signs-of-consciousness.html <comment><USER2> It's an interesting article but I feel a bit bait-and-switched by the title; this is a definition of consciousness so weak that it's not really very interesting. I don't think I accept a definition of consciousness that appears to boil down to "shows similar perceptual illusions as the human perceptual system".

<comment><USER3> I think you can be pretty sure all such titles are bait-and-switch. As soon as one isn't, I'm sure we will have noticed the Singularity in some other way before seeing articles describing it.

<comment><USER4> AI doesn't imply Singularity. Self-improving AI implies Singularity. It's totally possible to have e.g. a neuromorphic AI of roughly human intelligence that doesn't cause an intelligence explosion.

<comment><USER5> I don't see how. The only thing that prevents human intelligence explosion is limited intake rate of data (and possibly hardware, of which an AI's would presumably be more reliable).

<comment><USER4> A neuromorphic AI could be constructed without understanding how the brain actually works. You could run that faster, but even with a billion years subjective you still might not be able to come up with ways to improve your own mind if you aren't smart enough in the first place. Of course, the intelligence threshold for self-improvement is lower if your mind is simpler...but the clearest (and fastest?) route to something you could reasonably call AGI may be dumbly reimplementing a human brain.

</comment></comment></comment></comment></comment><comment><USER6> Fascinating study with some fairly straight-forward follow on experiments. I worry about these things getting the same bad rap that plagued 'fuzzy' logic because the investigators try too hard to describe them in human terms. So rather than saying "A new selection mechanism for data assimilation based on similar mechanisms that have been proposed in neural processes." they say "Its almost conscious!" which sets off a whole bunch of distractions which don't help in the underlying algorithm development or understanding its applicability to things like machine learning or process control.

</comment><comment><USER7> Strange; the "button test" says humans take 200ms to press a button once a green light flashes.

I set that experiment up on Engineering Days at my college. Kids who put their faces right up to the light could press the button in under 30ms. The human detector response seemed to depend upon the amplitude of the neurological signal!

<comment><USER8> 30 ms doesn't seem possible. Check the Human Benchmark for statistics, the fastest ones are around 100 ms: <http://www.humanbenchmark.com/tests/reactiontime/stats.php>

Maybe light delay was not randomized and people were just predicting when it'd light up? I remember this kind of trickery being used in Jeopardy to beat Watson.

Another example is the Olympic sprint, where any reaction under 100 ms is considered a false start (if I read correctly): <http://www.condellpark.com/kd/reactiontime.htm>

<comment><USER9> 100 ms is for an adult... The kids have smaller arms, hence shorter axons. Assuming that their conduction speed are similar to that of young adults, a shorter reaction time isn't surprising for young children.

[1] for adults, they decline with age, I don't know how they evolve during development

<comment> a-priori Yes, presumably there is a difference, but it's not that much. The axons that conduct motor signals to the skeletal muscles have a conductance speed of 80-120m/s [1]. In 70ms (100ms - 30ms), at 80m/s, such a signal would travel 5.6m.

[1] <http://en.wikipedia.org/wiki/Axon#Motor>

</comment></comment></comment></comment><comment><USER10> In case someone's interested in why this doesn't tell us much about what's so ridiculously _mysterious_ about consciousness and subjectivity:

<http://consc.net/chalmers/> [David Chalmer's website]

<http://instruct.westvalley.edu/lafave/nagel_nice.html> [Classic paper by Thomas Nagel]

</comment><comment><USER11> "Functional consciousness" is a fine goal if it helps the bot behave in a way that is useful. I don't know how we would even know if we ever achieved subjective consciousness in a computer, except as it says at the end of the article: 'We can't even prove that each of us isn't the only self-aware being in a world of zombies. "Philosophers have been dealing with that for more than 2000 years," says Franklin. Perhaps we will simply attribute subjectivity to computers once they become sufficiently intelligent and communicative, he says.'

</comment><comment><USER12> On the other hand, it's a little flaky that they set a parameter to try to get human-like response times. Statistical fitting.

We built it to hit this number, we're surprised when it does!

Cool calculation process, though.

<comment><USER8> I'm under the impression they fitted only the most basic operations, and the surprise was that the bigger picture followed too, as if the program and the human brain were following the same steps.

<comment><USER12> It's that "as if" that is a little bit hand-wavy. Fitting/overfitting is insidious in that it corrupts both the procedure and the data.

I'm not saying that's exactly what happened here, but I am saying that it's a _hunch_ that human brains are following the same steps. It might be a good hunch, but it's still _not_ a scientific statement with the weight of statistical backing.

</comment></comment></comment><comment><USER13> Where's some source code for this?

There are related papers here, <http://ccrg.cs.memphis.edu/papers.html>, but I'd like to see some code.

This is reminiscent of Funk2, <http://www.funk2.org/about/>, it would be interesting to compare and contrast these approaches.

</comment><comment><USER14> It's pretty interesting that what we think of as consciousness seems to arise from a combination of processing delays and ignoring external stimuli.

<comment><USER15> "The User Illusion: Cutting Consciousness Down to Size" is a great read if you're interested in exploring consciousness. A significant portion is devoted to discussing just how much information our bodies are taking in, versus how much reaches our consciousness.

[http://www.amazon.com/User-Illusion-Cutting-Consciousness- Pe...](http://www.amazon.com/User-Illusion-Cutting-Consciousness- Penguin/dp/0140230122)

<comment><USER16> In a similar vein is Thomas Metzinger's work.

<http://www.philosophie.uni-mainz.de/metzinger/>

</comment></comment></comment><comment><USER17> Bots show no such thing...</comment>


A new responsive Sivers.org - <AUTHOR> http://sivers.org

<comment><AUTHOR> PS I helped Derek put this design together... didn't realize he was going to roll it out so soon.

<comment><USER2> Great work! How much of your work is "responsive web design"?

<comment><AUTHOR> I try and make the answer to that 'all of it'. But the flexible grid stuff can be hard on more complex sites...

On simpler 'blog like' site I can't see a reason why you wouldn't at least try and get things readable on every screen.</comment></comment></comment>


Ask HN: Anybody know of a todo list that can create reports of what you did? - <AUTHOR> I'd love to find a todo list manager that can tell me the projects I worked on even if I only touched a subtask of that project. Then I can use it in our daily standup.<p>Any ideas? <comment><USER2> I'd suggest the following as options to check:

* Weekdone - [http://weekdone.com](http://weekdone.com) * Todoist w/ IFTTT to Google Sheets workflow - [http://todoist.com](http://todoist.com) & [http://ifttt.com](http://ifttt.com) * JIRA - [http://jira.com](http://jira.com) * IDoneThis - [http://idonethis.com](http://idonethis.com) * Basecamp - [http://basecamp.com](http://basecamp.com)

</comment><comment><USER3> It's way overkill probably but JIRA has a JQL language that allows you easily apply filters to your Kanban board which I use every day to know what to bring up in my standup. I just have a "recently updated" filter that looks at all user stories/bugs/sub tasks and shows them to me. Again JIRA is a heavy tool if all you want is "todo list" but it's the best product management tool I've come across and for < 10 users it's only $10/yr if you host it yourself.

It also has a number of agile features via the official "JIRA Agile" plugin.

<comment><USER2> JIRA is excellent; however, I hate Java. It's definitely a bit heavy in terms of what you may be looking for in this case. However, it's a phenomenal and supremely powerful product.

</comment></comment><comment><USER4> I used kanbanflow[1] it is trello like project management tool with built-in support of pomodoro [2]. For reporting, it has a pretty basic use case available on free account but should be good enough for your purpose.

[1] [https://kanbanflow.com](https://kanbanflow.com) [2] [https://en.wikipedia.org/wiki/Pomodoro_Technique](https://en.wikipedia.org/wiki/Pomodoro_Technique)

</comment><comment><USER5> Check out Emacs Org-mode. The learning curve is a bit steep, but it allows you to create task hierarchies, dependencies, Gantt charts, check in to tasks, create reports, schedule, etc. It's all in plan text, open source, and has a lively community.

</comment><comment><USER6> Good responses; I'm glad to see todo lists have evolved since the old pocket- PC days. They used to all discard checked items, leaving you wondering what you did all day. Its an obvious good move to record accomplishment and give feedback on it!

</comment><comment><USER7> I use Todoist for a simple mobile solution and link it to a spreadsheet with IFTTT.

<comment><USER2> I also use this system based on Todoists @tagging system. Great option for the reasonable cost of Todoist per year.

</comment></comment><comment><USER8> You can use Asana and simply export into excel about what you have done. I used Asana alot and also kanban board. I combine both and receive maximum potential of my life

</comment><comment><USER9> right now I just use a simple markdown text file that I track in a private git repo, one per person. They get updated weekly, then I have a cron process that runs every monday and generated a weekly html report for the prior week. It makes it easy to view and you can print to pdf etc

<comment><USER9> forgot to mention this link I found the other day, using git hooks to keep track of your work in a timesheet [http://mike-solomon.com/timesheet- githook](http://mike-solomon.com/timesheet-githook)</comment></comment>


Irresolvable Email Deliverability Issues With Digital Ocean - <AUTHOR> https://www.exratione.com/2014/03/irresolvable-email-deliverability-issues-with-digital-ocean/index.php

<comment><USER2> Key takeaway:

 _" The most logical explanation is that Digital Ocean is a spam-sender's and attacker's playgroup. It is cheap and droplets can be used to immediately send out mail. Bad actors no doubt constantly generate new accounts and rent servers for their nefarious purposes, which leads Digital Ocean IP addresses to become increasingly polluted and worthless for any use involving email."_

This is exactly correct, people set up phishing sites, botnet C&C servers, spam senders, web scrapers, torrent seeders, etc. I regularly ban anywhere from 5 to 50 Digital Ocean IPs every day trying to various evil things (from click fraud to dark hat SEO). What is unclear is what, if any, motivation Digital Ocean has for preventing this. Presumably they are getting paid for the droplet time. Is it too far a stretch to compare it to opening a shop in a sleezy crime-ridden neighborhood because the 'rent was cheap' and then complain that nobody comes to your shop? Some providers spend time and resources policing that stuff, and that costs them money, which is reflected in their hosting costs. Others don't spend any money on that and it too is reflected in their hosting costs :-).

Now not to be a complete downer here, you can buy your own IP addresses from ARIN and get them routed to your droplet. The world will be easier for you. But it is going to increase the cost of doing business.

</comment><comment><USER3> This is not unusual in what is essentially 'shared' IP space within cloud providers. It's easy for spammers to fire up a $5 droplet, send out a ton of spam, and disappear. Rackspace similarly recommends against sending from their cloud IP ranges.

</comment><comment><USER4> Are you using SPF and DKIM? Those proof that the emails are verified by the DNS of the sender's domain. Maybe IP based blacklists are more likely ignored since providers could rather block based on domains than. Both technologies are at least supported by Google Apps.</comment>


If your email is hacked, everything is - <AUTHOR> https://medium.com/@veeralpatel/if-your-email-is-hacked-everything-is-47544aeee699 <comment><USER2> Few weeks ago I got a notification that someone from Moscow (which is like the opposite of where I reside) wants to restore my Google account ("is it you?"). It had "yes" and "no" buttons. I was in the middle of doing something and opened the notification pretty carelessly. Thankfully, I have managed to "no" successfully. But it was horrifying to think that I could have lost everything if I accidentally touched that "yes" button on my phone's screen.

<comment><USER3> Get a physical key and remove other 2FA methods for your email. That would stop them even if you did click yes.

<comment><USER2> What will happen if I lose the physical key (or someone pretends that they are me who lost the physical key)?

<comment><USER3> If you lose the key, keep backup codes somewhere safe.

Most likely if you lose the key, no one will know what it is for or who's it is.

You can also register multiple keys (in GSuite, GitHub, etc.)</comment></comment></comment></comment>


Ex-Googlers At Facebook Working Hard To Avoid Google's Fate - <AUTHOR> http://www.businessinsider.com/facebook-working-hard-to-avoid-googles-fate-2010-9

<comment><USER2> Google's 'fate' so far is to be an immensely successful super-corporation that dominates the search industry and has hooks into just about everything tech- wise.

The only complaints in the article is that it isn't increasing at the rate it used to, and it's getting harder to find new developers at their usual level of awesomeness.

Sounds to me like Google's 'Fate' is to be approaching the best it could ever be.

I don't think I'd try to avoid that, even if it were possible.</comment>


What's New in Google Chrome 12? - <AUTHOR> http://www.sitepoint.com/whats-new-in-google-chrome-12/?utm_source=rss&utm_medium=rss&utm_campaign=whats-new-in-google-chrome-12 <comment><USER2> Nice de-obfuscation! Though I'm guessing they don't detect packers etc. <http://jsbeautifier.org/> will remain a bookmark.

<comment><USER3> It uses uglifyjs and parse-js to prettyprint the js, so its pretty much functionally equivalent to what jsbeautifier is doing. Other than specifying tab size, I don't think jsbeautifier gets you any advantages here.

</comment></comment><comment><USER4> Google Chrome 13 changelog:

* Fixed an issue with the version number. It showed 11 where it should be 12.

:-)

</comment><comment><USER5> they discontinued google gears support. yesterday when I tried to access Remember the milk (as a chrome-web-app) and it showed me an error message, when I tried to install the plug-in it said that it wasn't supported.

this is one of the disadvantages of the automatic update process I guess.

</comment><comment><USER6> On Chrome 13.0.782.24 this doesn't seem to work: <http://cl.ly/7euY>. Is anyone else using the dev channel able to replicate this behavior?

<comment><USER7> On Chrome 13 it is instead a button at the bottom of the inspector.

It looks like this: { }

<comment><USER6> Thank you.

</comment></comment></comment><comment><USER8> Javascript de-obfuscation FTW :-).

</comment><comment><USER9> Finally! A feature so blindingly obvious but missing from all browsers: Native print to PDF

<comment><USER10> Am I missing something? It's there in Firefox, at least on Linux - can't speak for Windows though.

<comment><USER9> Whoops, huge misunderstanding. Apparently this is natively supported by the print dialog in Mac OS X too. I don't usually use Macs but I do now so I thought this was a novelty.

However the print/save feature mentioned in TFA only applies to PDF documents... It doesn't allow you to directly save webpages as PDFs which was what I thought.

Nevertheless it's not possible to save webpages to pdf natively on Windows without software printers such as pdfcreator. That hasn't changed... but would be a nice feature :)

<comment><USER10> I see. I didn't know Windows didn't get that feature. I guess we still need pdfcreator and friends then!

</comment></comment></comment></comment><comment><USER11> Version 12 and still no print preview?

<comment><USER12> It's there, but not yet enabled by default.

If you want to try it, go to about:flags, and set it to enabled.

<comment><USER11> I had it enabled for a while, but it never worked, which was pretty annoying when wanting to print a boarding pass.</comment></comment></comment>


GKE On-Prem Alpha - <AUTHOR> https://cloud.google.com/gke-on-prem/ <comment><USER2> So the big question is... Can we point this at aws and get Google to manage our aws kubernetes Installs...

Given the massive shambles eks turned out to be, that would be great.

<comment><USER3> As of right now, the alpha release is supported on vSphere 6.5... more to come later :)

</comment></comment><comment><USER4> So the war for enterprise on-prem Kubernetes just intensified :) RedHat vs Google? :] I wonder how is Rancher doing? I guess life will be harder too?

Timing seems to be important, just before OpenShift finishes absorbing Tectonic (or maybe Tectonic is absorbing OpenShift) with their installer, UI and billing services. I guess there's still time for Google to land some big deals :)

<comment><USER5> The roadmap for Tectonic and CoreOS integration into OpenShift can be found in these videos:

\- [https://www.youtube.com/watch?v=1AelNjx6BB4](https://www.youtube.com/watch?v=1AelNjx6BB4) (OpenShift) \- [https://www.youtube.com/watch?v=LJOm4JbF4eQ](https://www.youtube.com/watch?v=LJOm4JbF4eQ) (Red Hat CoreOS)

OpenShift is the most mature Enterprise Kubernetes that can be deployed and managed in any cloud environment (public or private). It's great to see further validation that customers want to run applications in both existing data center environments and public cloud environments.

</comment></comment><comment><USER6> Hey Weston here from the GKE On-Prem team. Wifi is spotty at the conference but I'll try to answer questions as they come in.

<comment><USER7> Will Container-Optimized OS be used as the operating system for on-prem? If so, any plans to spin this off as a more general purpose OS now that it needs to support on-prem use cases?

<comment><USER6> Right now we're working with a Google-hardened Ubuntu image; same one we use for GKE. COS is still TBD.

</comment></comment></comment><comment><USER8> > With GKE On-Prem, you get the Google Kubernetes Engine (GKE) experience > directly in your data center. A quick and simple install and upgrade > experience that's validated and tested by Google. _GKE On-Prem also > registers your cluster with Google Cloud Console in order to have a single- > pane-of-glass view for managing all your clusters._

That latter is an interesting way to mentally merge your local DC and Google Cloud.

<comment><USER9> It will get even more interesting if you get decent federation support between your local GKE clusters and GCP GKE cluster allowing you to scale out to the cloud if you run out of capacity in your local cluster.

<comment><USER8> _That_ would be great!

Depends on the latency between your DC and Google's, and the cost of traffic (which could be significant).

<comment><USER3> Which is where Google's network comes into play.

</comment></comment></comment></comment><comment><USER10> An admission that cloud is not necessarily the best answer for all use cases.

It is smart of Google to recognize that and yet still have a product for it. It will tend to commoditize data centers as well.

</comment><comment><USER11> Hey GKE team, can you give any details about how this works? What does it assume/require from the underlying infrastructure?

<comment><USER6> We're going to give a breakout session that goes into more depth on Wednesday @ 4:35pm. IO244.

Some quick details: It's a bit of a split between what GKE runs and what the customer runs. Alpha runs on vSphere 6.5 and we're packing up a Google- hardened OS in much the same way we package GKE for GCP. A lot of the integrations for things like networking and storage will be coming from partners. We'll also have remote mgmt capabilities so we can manage the cluster's control plane in much the same way our SREs do for GKE.

<comment><USER12> Will this be something like COS or even CoreOS? Also, I'm curious to hear more about this part:

> GKE On-Prem has a fully integrated stack of hardened components, including > OS, container runtime, Kubernetes, and the cloud to which it connects.

Which runtime are you shipping? CRI-O? What type of outgoing cloud connection is that? I have so many questions. I'm actually at the conference this week if you're willing to grab coffee.

<comment><USER6> Happy to chat more. DM @westonhutchins and we can setup a time.

</comment></comment></comment></comment><comment><USER13> I previously worked on a similar (non-Google) product that was similar -- it was an "On-Premise Cloud" [0], where the cloud provider managed and owned all the hardware and software, and the customer created workloads on it, and the physical hardware was scaled up/down based on demand.

The product worked well, but I think there was an uphill battle in explaining the mechanics of the arrangement to customers.

[0] [https://knightpoint.com/what-we-do/offerings/on- premises/inf...](https://knightpoint.com/what-we-do/offerings/on- premises/infrastructure-platform/)

<comment><USER3> I'm not sure this is akin to that. This is, for lack of a better term at the moment, more of an enterprise Kubernetes distribution.

</comment></comment><comment><USER14> Does it need some special hardware to run on?

<comment><USER15> Not sure what you mean by "special hardware" but if your hardware is capable of running vSphere, GKE On-Prem should work for you.

Quick note though - We are exploring additional options, such as bare metal support, based on customer demand.

<comment><USER16> So this is like Azure Stack with no limitation on hardware configurations?

</comment></comment></comment><comment><USER15> Hi all. Karan from the GKE On-Prem eng team here. Happy to answer any questions you might have.

<comment><USER17> Which IaaS vendors are supported?

<comment><USER15> We will support vSphere 6.5 in Alpha.

</comment></comment></comment><comment><USER18> This is awesome! One of my problems with showing clients the ability of GKE is having to pay a lot of money to demonstrate.

How complete is this? Can I do the usual ingress/LB annotations for GKE and apply them to an on-prem instance?

<comment><USER11> Since this runs on vSphere presumably it will cost far far more than public GKE.

<comment><USER15> We are supporting vSphere in Alpha. However, we are exploring additional options, such as bare metal support, based on customer demand.

</comment></comment></comment><comment><USER19> Will masters be on-prem or will the on-prem services communicate to masters at GKE over the master-authorized network?

Excited to check this out, completely came out of left field.

<comment><USER6> Masters will run on-prem. We have connection agent that let's us securely talk to the Kube API Server from GCP. We wanted to ensure that the cluster is fully functional even if the connection goes down.

</comment></comment><comment><USER20> Great to see GKE coming to enterprise datacenters! IBM has been very successful with IBM Cloud Private ([https://github.com/IBM/deploy-ibm-cloud- private](https://github.com/IBM/deploy-ibm-cloud-private)) bringing an enterprise Kube distribution for VMWare/OpenStack/Bare Metal in enterprise datacenters since last year. I love to see the momentum of another Kubernetes distribution helping create the de-facto next generation of apps for all kinds of use cases.

</comment><comment><USER21> What is the pricing?

<comment><USER6> Pricing will be announced at a later date.

<comment><USER21> We have an in-house cloud running Kubernetes and we also use Google Cloud with Kubernetes. It is scary to move to GKE in-prem if we do not know pricing.

</comment></comment></comment><comment><USER22> Is this an externally managed service that runs on your own hardware, or is it packaged software that could run in a fully offline environment?

<comment><USER6> While the cluster can operate in a disconnected state, much of the functionality is provided by the connection to GCP. Things like UI integration, policy syncing, Stackdriver, etc. Our early focus is on datacenters that have a connection to the internet. However, we're starting to look a lot more are airgapped environments.

</comment></comment><comment><USER23> Very excited to test this out, we have lots of use cases that will benefit from it.

<comment><USER15> Let me know if you need a contact at Google to get started.

</comment></comment><comment><USER24> What's the difference in running GKE on-prem vs Kubernetes?

<comment><USER15> GKE On-Prem eng here.

GKE On-Prem is packaged with upstream K8s. So for your team that currently uses `kubectl` to deploy or manage workloads, there won't be any differences.

<comment><USER24> What is the value prop then, for someone who already runs open source Kubernetes on-prem? Why should he pay extra for GKE on-prem?

<comment><USER15> Excellent question.

GKE On-Prem is a Google provided, validated and supported distribution of Kubernetes and extensions that offer a GKE-like experience in your on-premise datacenter. It makes it easy to install and upgrade Kubernetes and provides access to GCP services such as monitoring, logging, metrics, security and auditing for your on-premise installation. It is the foundational component of the Cloud Services Platform, and is how Google "brings the cloud to you".

CSP combines Kubernetes both in your on-premise datacenter (GKE On-Prem) and Google-managed Kubernetes in GCP (GKE) with Istio and other CI/CD (Cloud Build) and serverless (Knative) products. You can leverage this suite of products to both modernize your existing on-premise applications and build new applications in the cloud.

Additionally, Google will be offering phone and email support similar to the existing GCP support packages.

<comment><USER25> What is the benefit, if you get the same output from "kubectl" as regular GKE, or from any other distro.

Basically, this is yet another paid packaged Kubernetes distribution, that has the explicit goal to do "Hybrid clustering" so that it is easier to lure the customer back to GKE. Do I get that right ?

<comment><USER15> What we have found out is that most on-prem customers are eager to move to the cloud. Practically it's not easy to just lift-and-shift. So think of this is a ramp to the cloud.

Now, the benefit of upstream K8s is that your dev team can build apps and containers without proprietary APIs; so when you are ready to move to the cloud you are not locked-in.

<comment><USER25> Thanks. I agree that lift and shift never happens easily in real life.

That being said, why would I not use the actual free upstream Kubernetes for my on-prem distribution ? (with the help of one of the thousands installer out there like kube-adm, kubespray, etc).

What I have seen working with Kubernetes for quite a while, is that the lowest common demominator is the YAML definitions for your workloads (what you want to run on your Kubernetes cluster). Those should be portable accross any Kubernetes distribution, on-prem or on the cloud. As far as I can tell, today this is already the case.

Is the benefit in this case that you can use the Google ecosystem for logs etc ?

<comment><USER15> > That being said, why would I not use the actual free upstream Kubernetes for > my on-prem distribution ? (with the help of one of the thousands installer > out there like kube-adm, kubespray, etc).

None of them actually provision your infra for you (VMs, LB rules etc). GKE On-Prem will.

<comment><USER25> Ok, thanks I got it, you are bundling everything into a VMWare image, that boots ready to use.

Is it fair to say that this is similar to Canonical Ubuntu MAAS + Juju Kubernetes? I'm sure that Red Hat Openshift must have something similar also to install directly on a pool of managed bare metals.

<comment><USER15> I don't know enough about Juju K8s to really say similar it is. GKE On-Prem will be an OS image, set of containers, config, tooling and support.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER26> Does it provide a way to install k8s nodes on a VMware cluster ?

<comment><USER15> GKE On-Prem is a full K8s installation - so nodes and masters. We will support vSphere 6.5 in Alpha.

<comment><USER27> Is vSphere Essentials Plus supported as we have a good use case. Are there any specific additional requirements eg. vsan or does it all run on the base Esxi product?

</comment></comment></comment><comment><USER28> would there still be chance for startups doing similar thing ?

<comment><USER25> there are literally 60+ startup distributions that try to sell a "distribution as a service" for the upstream code that is free.

I think most if not all of them will fail, and as usual, the big 3 or 4 will win the market (if I had to bet: Google, Red hat, Canonical and maybe the guys at Heptio that are really cool and got the right attitude)</comment></comment>


Ask HN: How do you use tags and categories? - <AUTHOR> Just curious. A lot of software has these two types of ways to describe things (email clients, bookmark managers, filesystem browsers, note taking apps, etc) and I've never really settled on a sane way to combine them for managing my things. I end up with weird hierarchies and inconsistent conventions. Anyone have a system that takes advantage of both and works well? Or anyone ever participated in building such labelling features and could shed light on what the intended usage is? <comment><USER2> I'm using broad terms like "workflow" for categories. Tags in "workflow" are e.g. #shortcut, #vscode</comment>


Ask HN: What do you do with outdated smartphones/mp4s? - <AUTHOR> <comment><USER2> Some of them are very good for pet projects and hacking and rooting and doing stuff you would not dare to do on your new phones. I would love to tinker with them a bit.

<comment><USER3> I have a lg risio that is just sitting around and my new Alcatel idol 4 is there anything that can be done with them?As far as rooting and apps.

</comment></comment><comment><USER4> If they're old and junky I recycle them through Apple's program.

[http://www.apple.com/shop/help/recycle](http://www.apple.com/shop/help/recycle)

if they're horribly trashed, they get taken out and used for target practice.

</comment><comment><USER5> I only have one outdated smartphone, bought about 2010, and discarded late 2015 simply because the USB charging mechanism was too worn out (could have got that fixed, but wanted Android 4.x which it couldn't do); was on its second battery. It now sits peacefully in my desk draw at work.

</comment><comment><USER6> Donate them to save the rainforest!

Also, the project is an interesting technical solution in and of itself.

[https://rfcx.org/](https://rfcx.org/)

</comment><comment><USER7> Old smartphones are pretty good to use as security cameras with the right app. I use airbeam on older iOS devices

</comment><comment><USER8> I scratch my phones badly so i cant resell them. But if i or a friend need a temporary phone i happily give them out.

</comment><comment><USER9> Usually trading them in for a new phone or resell on a classifieds site. What country are you based in?</comment>


Bruce Schneier on how insecure electronic voting could break the United States - <AUTHOR> https://80000hours.org/podcast/episodes/bruce-schneier-security-secrets-and-surveillance/ <comment><USER2> Does anyone know why mail-in paper ballots are not the norm in the US?

Since I've been of voting age, that's all I've used and its great. I can take my time, read about the measures and the candidates, then make my decision and throw it in the mail. Even if I wait until election day, I'm able to go drop it off at one of the many drop off points across the city.

I'd be far less likely to do it if I had to take time to go to a polling location, wait in line, then figure out what I'm voting for.

<comment><USER3> Then to cheat, all you need is a friend who works at a mail sorting facility. Deliver the ballots from zip codes that vote the way you prefer. The others, possibly just half of them to evade detection, get dumped in a swamp.</comment></comment>


Managed Redis on Google Cloud Platform - <AUTHOR> https://cloudplatform.googleblog.com/2018/04/Accelerating-innovation-for-cloud-native-managed-databases.html <comment><USER2> > Compatibility with the Redis protocol means you can migrate your > applications with zero code changes.

Does this mean they don't actually use Redis, but have an alternate implementation of the protocol? In such a case, wouldn't it be different it terms of performance when compared to the original one. Also, keeping up with new versions should be a major overhead. If Google is still doing an alternate implementation, I wonder what could be the reason.

<comment><USER3> We have a Redis+Memcached frontend with an Apache Ignite Backend. Now we can re-use existing functionality in the clients and have new features like read- through based on a MySQL database or an automatically updated near cache on the instances themselves.

<comment><USER4> Are you talking about this [https://apacheignite.readme.io/docs/redis](https://apacheignite.readme.io/docs/redis)

If yes, that's 5% redis features.

</comment></comment></comment><comment><USER5> Great. Does this support persisting to disk RDB[1] or AOF[2]?

Pricing seems reasonable?

1GB of Redis data is $0.049 per GB hour. 730 hours in a month = $0.049 * 1 * 730 = $35.77/mo.

5GB of Redis data is $0.027 per GB hour. 730 hours in a month = $0.027 * 5 * 730 = $98.55/mo.

[1][2] [https://redis.io/topics/persistence](https://redis.io/topics/persistence)

<comment><USER6> Those prices are not per hour, but per GB-hour. So multiply your second monthly price by 5. Not cheaper for more data, but definitely cheaper per GB.

<comment><USER5> Oops. Duh, that makes more sense. Updated.

</comment></comment></comment><comment><USER7> Too bad you still need to provision instance and reserve max capacity.

They had a chance to outcompete AWS by providing a truly serverless Redis-like service with no upfront commitment and pay-per-use.

That's what I expected when I first heard that GCP is working on "Serverless Redis" a year ago.

<comment><USER8> Where do you read you have to provision instances? I have to choose between Basic and Standard. But there's no clear indication that i have to select an instance based on my storage requirements. The pricing information does not indicate different instances for the different storage requirements, it could be, but would not really fit how the rest of gcp works.

<comment><USER7> The lowest tier says min 1GB. So I guess it starts from $35.77/mo, even if your app doesn't need the whole 1GB.

<comment><USER8> Yes, but that's no indication you have to provision an instance (not serverless). Google just decided that their granularity for billing is 1GB, like aws lambda and google cloud functions are billed in second granularity and not milliseconds.

<comment><USER7> According to your definition Heroku is serverless.

Serverless widely understood as:

1\. not having to deal with instances/dynos/droplets/etc.

2\. Pay-per-use, no upfront payment for unused capacity

Some calling AWS DynamoDB - serverless, but having to pay for reserved capacity for each table and index, make it a bad fit for the rest of serverless stack like AWS lambda or API Gateway or even S3.

<comment><USER8> The Google redis service will be serverless if the pricing table is not mapped to "subscriptions" you choose from but instead automatically chooses the pricing layer each hour based on your stored amount (like automated discounts for vms). Thats what i am saying: We still dont know if you have to choose first which pricing layer you want or if google automatically seitches you to the one fitting the amount you store.

Both requirements would be fullfilled on automatic selection of pricing layer: 1\. You sinply store data, google handles the price/gb-hour depending on your stored amount 2\. You only store data and you are only billed the stored amount (in 1GB increments)

I just wanted to say we just dont know yet whether its serverless (instance type changed automatically) or you have to choose the instant type first.

<comment><USER9> You have to pick the instance type beforehand. Back when I asked about this in the alpha, I was told changing the size of the instance flushes the cache on the basic instance and has some downtime. I can confirm this happens now that resizing is available.

For standard, it should be relatively seamless (no flush, minimal downtime), but I'm not gonna test right now. :-)

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> > Reach out to us to let us know what kinds of managed database services you'd > like us to offer next.

Hey Google friends,

I'm not ready to move over to GCloud but I'm interested in prototyping a few applications. Here's a few things on my wishlist:

* Wrapping the cli tool for common db tasks in the way heroku does (ex: heroku pg:push - push local database to production database, heroku pg:pull - pulls production database to local).

* Simpler integration of Cloud SQL with AppEngine flex. It's not a lot of work ([https://cloud.google.com/appengine/docs/flexible/python/usin...](https://cloud.google.com/appengine/docs/flexible/python/using-cloud-sql)) but it would be cool to build a flex environment / provision a sql database / setup connection strings in one swoop.

* While you're at it, better AppEngine flex introductory pricing ($40 / mo for 1 vcpu, 512 mb ram) :)

Not related to managed databases but hopefully helpful. TLDR Heroku but on GCloud.

</comment><comment><USER11> Huge fan of RedisLabs, but I'm all for more managed Redis options.

<comment><USER12> NodeChef Redis Hosting is another option that makes it easy to deploy, operate, and scale Redis in the cloud. [https://nodechef.com/redis- hosting](https://nodechef.com/redis-hosting)

<comment><USER13> Please use a disclaimer that this is your company if you're going to advertise

<comment><USER14> It isn't their company...

<comment><USER13> Yes it is, did you bother checking? [https://news.ycombinator.com/item?id=13523349](https://news.ycombinator.com/item?id=13523349)

       > coupdejarnac on Jan 30, 2017
       > Are you a nodechef cofounder by any chance? I host with nodechef and am happy with them so far.

       > squid3 on Jan 30, 2017
       > Yes, I am one of the co-founders. Thanks for hosting with us.

</comment></comment></comment></comment></comment><comment><USER15> will this support the new upcoming Streams datastructure in redis ?

I'm looking forward to a lightweight, hosted kafka replacement using redis streams.

<comment><USER13> [https://RedisLabs.com](https://RedisLabs.com) probably will, if you just want a managed offering. They are cheaper, and the official sponsor of the redis project now with support for the latest releases.

</comment></comment><comment><USER16> I'm an GAE user, and I use Memcached there. Implementation aside, how does this different than GAE's Memcached? (from perspective of running on Google Cloud)</comment>