The Fastest Blog in the World - <AUTHOR> http://jacquesmattheij.com/the-fastest-blog-in-the-world <comment><USER2> This is absolutely brilliant _if the only metric your audience cares about is page load time_. For most sites that's only part of the story.

Take the first paragraph, about how Google's homepage of just a textbox should really be a few hundred bytes instead of a megabyte. Google's homepage does a lot more than just enabling you to enter a search - there's the autosuggest feature, there's analytics, the apps tray, G+ integration with live updates, etc. Google's homepage _looks_ basic but under the hood there's a lot going on. Which is the real crux of the matter - Google have designed something that doesn't get in the way of searching but is really a powerful portal to Google's suite of services _because that 's what gets them the data that makes them money_. The fact they might be able to shave a milliseconds off the domContentLoaded time (which is only 394ms on my work PC) wouldn't make anyone happier but it would damage their bottom line because they'd know less about us.

If Jacques blog gets a significant amount more traffic by loading super fast then that's a definite, measurable success. If the _only_ change is that it loads faster, and he doesn't grow his audience, then he hasn't really achieved anything.

There's a good lesson in this that's analogous to startups that spend huge amounts of time and money doing things that get them no additional customers. Optimising things that don't affect the metrics you use to measure how successful you're being is a waste of effort. Put your time in to things that actually matter.

<comment><USER3> While I agree with your comment about Google, I disagree with this one:

 _> If the only change is that it loads faster, and he doesn't grow his audience, then he hasn't really achieved anything._

If this makes his readers happier, it _is a success_ nonetheless.

Maybe this is a startup/HN thing that everything must grow and grow. But that isn't the only successful strategy, even from a purely economic point of view.

If you have a niche, and serve that niche very well, you can beat your competitors by quality rather than quantity. Not all niches are large. If you manage to cover 100% of your niche, it is a huge success! - even if 100% means just a few thousand people.

<comment><USER4> load time is not a success factor in and of itself. Fast load times for bad content will not lead to success as little as really great content with horrible load times. But that being said, I am a proponent of significantly prioritizing load times over everything else. Load time should be a constant multiplier in decisions. If a "great feature" significantly taxes load time it needs to either die or be optimized.

</comment></comment></comment><comment><USER5> > _I'm sure I can do better still, for instance the CSS block is still quite > large (too many rules, not minified yet)_

CSS doesn't minify particularly well since the class names, tag names, and attributes all have to stay in their full form. Basically it just ends up being removing extraneous whitespace.

However, ever since reading James Hague's post on "Extreme Formatting"[0], I've rather liked CSS without all the extra whitespace. For example, [1]. You can see all the rules at a glance, and while it's a bit weird at first, I think you can get used to it pretty quickly. But then again, I've always sort of thought APL/J/K are beautiful in their own way.

[0] [http://prog21.dadgum.com/200.html](http://prog21.dadgum.com/200.html) [1] [http://prog21.dadgum.com/p21.css](http://prog21.dadgum.com/p21.css)

<comment><USER6> But if everything that could possibly reference a class or tag or attribute is inlined into the same file then you know exactly what the scope of your CSS is for that particular request. So it should be possible to minify even the names.

<comment><USER7> Hm. A minimizing post-processor for a webpage _and_ all the resources that it loads. That's an interesting idea which means it has probably already been done.

<comment><USER8> Doesn't mean it's been done well, it's been done to the point it's usable to anyone other than the originator, or it's been done and subsequently published in a way that's available to the general public, though :)

</comment></comment></comment></comment><comment><USER9> Here's a page of mine that's almost 20 years old.[1] Look at the page source. That's HTML in its pure form. No styling at all.

Looking at the page source for the "fastest blog", there's still far more formatting info than content. Much of that bloat isn't doing anything.

[1] [http://www.animats.com/papers/leggedrun/leggedrun.html](http://www.animats.com/papers/leggedrun/leggedrun.html)

<comment><USER10> HTML in its pure form doesn't render well on current mobile devices.

It's idiotic that you are punished when you use HTML like it was supposed to be used but that's unfortunately how the mobile browsers work currently.

<comment><USER11> Doesn't render nice in desktop browsers either. Once upon a time, at least that page would actually be a little easier on the eyes (and a bit uglier) thanks to Netscape's gray background. But the real kicker is that user stylesheets have gone the way of the dodo. There's no reason that page (as is) couldn't look better than most pdfs generated from LaTeX or what not. Sad, but true.

<comment><USER10> Firefox still has the user stylesheet but it's always been cumbersome to use it.

There's the extension "Stylish!" for Chrome and Firefox which has quite a good UI for giving the power of styling websites back to the user.

</comment></comment></comment></comment><comment><USER12> > _Take the Google homepage. It's a one liner text field and two buttons. It > weighs in at a whopping 1170 kilobytes! That's more than a megabyte for what > technically should not take more than a few hundred bytes._

The Google homepage does a lot more than that. Since it is one of the most important pages for Google, I think that the engineers over there know what they are doing. I don't think it is a good example of _bloat_.

<comment><USER7> Coldtea pointed that out as well, I've changed the article to reflect this. Thank you!

</comment></comment><comment><USER13> > _I positively hate bloat in all its forms. Take the Google homepage. It's a > one liner text field and two buttons. It weighs in at a whopping 1170 > kilobytes! That's more than a megabyte for what technically should not take > more than a few hundred bytes._

That's because you didn't consider the business reasons behind it being 1170Kb.

If it was your "few hundrend bytes" design it would have sank the company (or only have worked in the early days, when VC money took care of lack of income sources).

<comment><USER14> The Google home page from 1998 really is a one line text field and two buttons. [https://web.archive.org/web/19981111183552/http://google.sta...](https://web.archive.org/web/19981111183552/http://google.stanford.edu/)

It only really starts getting js-heavy after about 2010. Evidently the relative cost of bandwidth and value of analytics have crossed over.

<comment><USER15> I remember first seeing google and it seemed so amazingly clean and fast compared to AltaVista. We were using a 64k leased line into the small college I worked in at that time, and I had a 28k8 modem at home.

As we move to price per Gb of download from 'all you can eat' I think that page payload may become more important.

</comment></comment></comment><comment><USER16> doesn't inlining the CSS make the page require more data in the long run? Especially if you're not changing it often

Browser caches solve a lot of things for us. Though you're still parsing a bunch of JS, google's front page is "only" fetching 56kb

Granted, this blog post is 13.5kb, but it doesn't have an entire search app embedded into it (with the whole search results automatically appearing thing, I imagine that inside that 56kb is pretty much all the code required for all of google's little widgets in the search results)

Anyways, always fun to see somebody go in and rip out as much cruft as possible

<comment><USER7> There is a small penalty but it does not seem to weigh up against the advantage of having all the data in one shot even on first page view on that site. Total overhead of the CSS 'in flight' is about 6.6K, versus doing another request which would require another round-trip to the server.

Inlining the CSS was considerably faster in all my tests.

<comment><USER17> How much of that win was only on the first time a page from your site is requested?

I'd expect in-lining the css to be a _slight_ net loss once the data is cached - my strategy would be a `style-<md5sum>.css` with a long max-age.

I wish browsers could cache page fragments!

<comment><USER7> > I'd expect in-lining the css to be a slight net loss once the data is cached

I expected that too but it didn't work out that way. I'm not sure why, possibly a cache lookup is still slower than reading the style info out of the same page. I don't know enough about the guts of a modern browser to make the call but the numbers aren't there.

<comment><USER17> In chrome, I'm getting extremely similar times for the two approaches _without caching_ (I am in-network, so my roundtrips are ~1ms). With the style.css fully cached, I'm getting ~15ms faster on the sideband approach than with inline styles.

Can you expose your methodology, or are you using a common tool for testing these things?

<comment><USER7> Using FF development tools. Shift-ctrl-Q, reload.

<comment><USER17> It looks like inline performs better on firefox and not on chrome - I just made a bunch of attempts both ways, and I'm seeing cached sideband as significantly better on Chrome, and only roughly equal on firefox.

I was not expecting to see such a difference between the two browsers, but I'm not familiar enough with firefox to guess what's causing it :-\

<comment><USER7> Ah! Thank you for that datapoint, I don't use Chrome but I really should have tested that too.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> Very zippy indeed! Have you thought about switching to nginx so you can get SPDY (and soon HTTP/2)? Also, Hugo is cool. I've evaluated it myself, but I have 8 years of WordPress archives -- ~500 posts -- and I worry about things like images, comments, etc.

<comment><USER7> The benefits from SPDY are probably not going to help much if you only do one request :)

<comment><USER19> Things like resource inlining are an antipattern in an HTTP/2 world. The stylesheet for example _should not be inlined_ ; the server should instead push the stylesheet out to the user agent proactively (typically three frames—a PUSH_PROMISE telling the client of the request that is being simulated, then a HEADERS and a DATA frame with the response).

The first time, the browser will receive it approximately as fast as the inlined version; subsequent times, there is no overhead, moreover browsers can load the stylesheet only once rather than needing to load it for every page.

</comment></comment></comment><comment><USER20> Mine is very fast [http://max.io](http://max.io)

I use wintersmith to generate it, and it is hosted by nginx in an EC2 t1.micro

<comment><USER7> Indeed it is! 330 ms on my connection, 5 requests, 18K data and 13 K in flight.

<comment><USER20> The funny thing is I didn't even try! Just feels like common sense. Maybe since I've been doing web stuff since '95 its in my blood to keep things tiny and simple.

<comment><USER7> I think one of the major differences is in how the content is generated. The more software that is used to make the content the larger the pages will be. If you hand-craft your page it will automatically be small and fast.

</comment></comment></comment></comment><comment><USER21> Mine is faster :) [https://github.com/kaihendry/natalian](https://github.com/kaihendry/natalian)

      X1C3:~$ httping http://natalian.org
      PING natalian.org:80 (/):
      connected to 22.214.171.124:80 (147 bytes), seq=0 time= 91.36 ms
      connected to 18.104.22.168:80 (147 bytes), seq=1 time= 28.63 ms
      ^CGot signal 2
      --- http://natalian.org/ ping statistics ---
      2 connects, 2 ok, 0.00% failed, time 1394ms
      round-trip min/avg/max = 28.6/60.0/91.4 ms
      X1C3:~$ httping http://jacquesmattheij.com/the-fastest-blog-in-the-world
      PING jacquesmattheij.com:80 (/the-fastest-blog-in-the-world):
      connected to 188.8.131.52:80 (329 bytes), seq=0 time=550.05 ms
      connected to 184.108.40.206:80 (329 bytes), seq=1 time=550.08 ms
      ^CGot signal 2
      --- http://jacquesmattheij.com/the-fastest-blog-in-the-world ping statistics ---
      2 connects, 2 ok, 0.00% failed, time 2760ms

<comment><USER7> I'm pretty far away from you, you have to discount for the network.

Pretty good though, I think if you inline the CSS you'll win hands down :)

<comment><USER21> I don't like the idea of having reproduced CSS in each page. style.css should be optimal. :)

<comment><USER7> It should be, but measurements bear out that it isn't...

<comment><USER21> Speed isn't everything to me. I love the fact that for example view- source:[http://natalian.org/2015/07/06/Bank_secrecy_in_Singapore/](http://natalian.org/2015/07/06/Bank_secrecy_in_Singapore/) is more readable than most blogs.

<comment><USER22> It's mind boggling to me, as someone who was first introduced to web development in the days of gopher, that most fresh developers don't adequately understand simplicity, but also believe it's a-ok to glue a bunch of js & css libraries together and call it "good enough".

The first Java version of an internal app we had converted from Progress 4GL used Java Webstart to dynamically load & launch, and because of programmer laziness (and the 93 3rd party Java components they'd included) it literally took 3 minutes to launch. That was the point where the manager -- who was a better programmer than anyone in the team, but who had previously been hands- off -- stepped in and created some rules and instituted code reviews. Still, though, totally insane behavior by so many young web programmers.

</comment></comment></comment></comment></comment></comment><comment><USER23> You could make it even faster by putting it on CloudFlare and setting a cache rule so that we keep it in cache all around the world. Then you'll get the advantage of fighting the speed of light as well.

<comment><USER7> That's a good one, I should try that.

</comment></comment><comment><USER24> You can use the Chrome dev tools to run an audit. One of the performance metrics it tracks is the number of unused CSS rules.

<comment><USER7> Thank you, that's a very useful tool.

</comment></comment><comment><USER25> I really enjoy trying to make things as bloat free as possible but also retaining some styling, unlike motherfuckingwebsite.com.

Many of my posts use images and I use Google Analytics so I made a text only one and disabled GA to see how it compares. With your trick of the inline stylesheet I got a massive speed improvement[0], down from about 100ms to between 60-70ms.

I too use Hugo. I host the site on a $10 VPS from digital ocean located in London, but I also use Cloudflare to speed up image delivery.

I'm not sure where your site is physically hosted but testing from Amsterdam we're pretty much the same given the 1KB page size difference.

Very cool post and thanks for the tips!

[0] [http://tools.pingdom.com/fpt/#!/bvkhPp/http://josharcher.uk/...](http://tools.pingdom.com/fpt/#!/bvkhPp/http://josharcher.uk/code/speedtest/)

<comment><USER7> I'm hosting at virtual access in Uitgeest. Any difference you see is most likely because the server this is on is a massive beast.

</comment></comment><comment><USER26> It's really hard to argue with the basic idea. For my blog[1] it'd generally be about 6kB for the html + 1.5kB of CSS that'd be cached for return visitors (typically 15% of pageloads) + Google Analytics almost always from cache.

The "Recent Tweets" part of this site feels somehow at odds with the principles though. It's got nothing to do with the actual page, and has a really bad ratio of markup to content. Those 20 tweets are still 11kB uncompressed! It's also a very heavy visual element.

[1] [http://www.snellman.net/blog/](http://www.snellman.net/blog/)

<comment><USER7> The goal was not 'minimum size per se' but 'minimum size while retaining all the elements of the old blog'. So yes, the 'recent tweets' (and the older posts) sections are at odds with a total minimalist style. But the whole idea was to _not_ simply strip but to strip while maintaining all the old functionality.

</comment></comment><comment><USER27> I did some testing using [http://yellowlab.tools/](http://yellowlab.tools/) to find the slow parts of [http://www.clarkeology.com/blog/](http://www.clarkeology.com/blog/) and I'm pleased with the results so far. Ditching jquery was quite a big win. Having no content to speak of makes it fast too...

</comment><comment><USER11> 20kb is still over a minute at 2400 baud ;-)

</comment><comment><USER28> Surely you're throwing away some of the speed benefits of parallel requests by massively-inlining everything?

I'd be interested in seeing some waterfall charts comparing this setup with something that keeps the number of total requests small (say 3-5 requests) and evenly balanced. Particularly as we move toward HTTP2, having lots of small parallel requests will be a more effective way of getting raw page load performance.

The speed gains from eliminating all but the most necessary components is definitely the biggest win here, though - cool to see what you can do when you decide to get focused about what _needs_ to be on the page.

<comment><USER7> I expected that to be the case but repeated measurements tell me that it is in fact the opposite. The difference was about 50% faster on the version with everything inlined. Counter-intuitive for sure!

For instance, just taking the CSS out and loading that separately doubled the page rendering time (because another resource had to be loaded _after_ the first one).

Now it is just like a 'declare before use' program in a regular programming language, by the time the browser reaches a tag that needs definitions from the CSS the CSS is already there, right there in the page, no need to wait until reading that separate resource is done. And that round-trip to the server is actually more expensive than the entire embedded CSS. Looking at it after going through the whole exercise it makes sense but that was definitely not what I expected. Even more counter-intuitive: this holds even when loading multiple pages on the same site that share the same (small) CSS file.

So in the end the inlining of the CSS was a good thing to test. Presumably, there is some cross over point where if the CSS file gets very large there is a benefit for follow-up pages on the same site to be able to re-use it.

<comment><USER29> A couple of Hugo questions Jacques, and please don't tell me to RTFM!

Is there a way to instruct Hugo that once a crossover point is reached to unbundle the CSS? That'd be sweet.

Is there a way to concatenate multiple Markdown files into a single post?

The reason I ask is because I've recently started building a site that has weird hand-rolled static Markdown pages served up dynamically by a Rails/Bootstrap combo. The kicker, some of the pages are very long so I've split them up into multiple files to make them cognitively easier to edit. I'd be interested if I could drop the Rails part :)

Thx in advance

ps: I'm now too afraid to measure the page load times of my Wordpress blog now :(

<comment><USER7> > Is there a way to instruct Hugo that once a crossover point is reached to > unbundle the CSS?

Not that I'm aware of, Hugo is pretty much of the 'sausage grinder' variety of blog post generators, not much in terms of decision making during the processing from what I've seen so far. I also ran into a pretty serious bug while doing this and there are likely more. Still, as fresh as it is it performs amazingly well and the authors are super helpful and worked hard to track down and fix that bug.

> Is there a way to concatenate multiple Markdown files into a single post?

Again, not from within hugo but that one should be fixable with some pre- processing. I use a makefile that does some pre and post processing.

> I'm now too afraid to measure the page load times of my Wordpress blog now > :(

Do it anyway, that will give you a nice before-and-after benchmark.

</comment></comment></comment></comment><comment><USER30> > _inlined the stylesheet (there is a cache penalty here so you have to trim > it down as much as possible but the page starts rendering immediately which > is a huge gain at the cost of a little bit of extra data transferred)_

I guess you're optimizing for people who only visit one page and bounce away?

Well, come to think of it, the majority of visitors who followed this HN link is never going to navigate past the single page that was linked. So it probably makes sense for optimize for them, at the expense of repeat visitors who will have to download the stylesheet over and over again.

<comment><USER7> By my measurements (and pagespeed and a couple of other tools like that) it's actually faster for repeat visits and multiple pages on the same site as well (which surprised me but I'll yield when the data is that conclusive).

</comment></comment><comment> design-of-homes How does my blog compare? I submitted this link to Hacker News yesterday. It's quite an image heavy page but I think (I hope!) it loads quite fast for most users. It obviously won't be as fast as a text-only page. There are no fancy optimisation tricks. Just plain HTML and CSS and a tiny bit of Javascript (for older browsers). Not responsive either, but readable on mobile.

[http://www.designofhomes.co.uk/042-tour-bois-le- pretre.html](http://www.designofhomes.co.uk/042-tour-bois-le-pretre.html)

<comment><USER7> That's pretty good actually. You're very heavy on visuals but that's to be expected given the nature of the page and the only things you could do to make it faster are to lose the font and inline the CSS, but likely the gains in your case would be minimal so I'd just leave it as it is. Good job!

</comment></comment><comment><USER31> I've seen this blog, jacquesmattheij.com several times on HN and every time I try to access it I get 403 Forbidden. What gives? It's not very fast either...

<comment><USER7> Interesting! What's your IP? Maybe you ran afoul of my pretty trigger happy security measures. That machine also runs a pretty high traffic website.

</comment></comment><comment><USER32> It's great to see focus on performance, especially after all the recent stories on web bloat.

I've noted a few techniques I've used on my blog to get pages served in a single request to users, including using SSIs and avoid cloudflare's "rocket loader"

[http://www.pixelbeat.org/docs/web/about/#performance](http://www.pixelbeat.org/docs/web/about/#performance)

</comment><comment><USER33> 1\. Thumbs up for making loading times a priority!

2\. Using Hugo instead of Octopress won't make your site any faster to users ¯\\_(ツ)_/¯

3\. You're almost completely forgetting about server-side performance. I'd recommend looking into GitHub Pages for a free and fast (CDN-backed) way to host a static site.

\---

Unrelated, but:

4\. I'm not a fan at all of the self-upvoting link at the bottom of your post. Not cool.

</comment><comment><USER34> > I'm sure I can do better still, for instance the CSS block is still quite > large (too many rules, not minified yet)

You could try out Addy Osmani's tool, Critical, for extracting and inlining critical path css. That only leaves out the css in actual use. If you actually want all css in use (also below the fold), then just specify a bigger window size.

</comment><comment><USER35> @jacquesm are you sending compressed files ? I can't check that myself with my iPad 1. I'm in a camping with a bad WiFi. I can confirm that I saw and felt the difference ! Congratulations.

<comment><USER7> Yes, the gzip module is on in the web server.

<comment><USER35> Are you using a front end web server for handling caches, TLS, etc. in front of the Hugo server or is the hugo server in the front line ?

<comment><USER7> Plain old apache but tuned very well on a massive server (32 cores, 96G of RAM), the server is actually the production server for a high traffic website and this is just piggy-backed onto the site as a 'servername' entry in the apache config. If I shut down the other site then blog will be quite a bit faster still but that seems counterproductive ;)

</comment></comment></comment></comment><comment><USER36> > (nice idea for a browser plug in, take the css loaded by the page and remove > all unused rules)

I believe Chrome's devtools can do that. (See the Page Audit functionality).

</comment><comment><USER37> Related: [https://news.ycombinator.com/item?id=9990630](https://news.ycombinator.com/item?id=9990630)

</comment><comment><USER38> I compared it with my svtble blog and I am pretty pleased with the results. No bloat at all. Just one request with inline css.

<comment><USER7> Link?

<comment><USER38> [http://syedmusaali.svbtle.com/](http://syedmusaali.svbtle.com/)

</comment></comment></comment><comment><USER39> Is there a better way to have fast-loading comments than outsourcing them to Twitter/HN or Discus?

<comment><USER16> <form method="post"> <input type="text" /> <button type="submit">Post</button> </form>

That will probably load really fast. You can server-side cache the post comments section fragment (or the render of the entire page really) to get nice results

</comment></comment><comment><USER40> You beat mine by 10ms, this affront will not stand!

The webfont kills me without that it'd be under I think.

<comment><USER7> Hehe. Challenge accepted ;) Let me know when you beat mine, I'll update the post.

</comment></comment><comment><USER41> You could also uglify your CSS and HTML by removing redundant whitespace and newlines

<comment><USER7> I'll have a look to see what the differences are, gzip is already enabled so it might be less than on a site that sends all the data in plaintext over the wire.

<comment><USER42> Also, you could cut down the size slightly by shrinking div names. Sure, with gzip "aside.sidebar" isn't going to take much extra space, but it will take some.

(That being said, please don't do this. Minified JS is bad enough.)

<comment><USER7> I think I'm pretty close to the 'sweet spot' where further optimizations are both a waste of time and make the result much less useful in the longer term. But just for the sake of research I'm more than willing to play around to see what happens.

<comment><USER42> In that case... I wonder if reordering things (e.g. CSS rules) could improve the compression ratio.

<comment><USER7> I'm still at the stage of dropping rules that aren't used. CSS tends to get pretty inefficient if enough people have hacked on the file and the one on my site is no exception to that. It'll still need some work. But even that is already in the realm of 'diminishing returns on investment'.</comment></comment></comment></comment></comment></comment>


Define a custom environment in ASP.NET Core - <AUTHOR> http://www.talkingdotnet.com/define-a-custom-environment-in-asp-net-core/ <comment><USER2> This is awesome! Something I've wanted for some time.</comment>


Typeset in the Future: Blade Runner - <AUTHOR> https://typesetinthefuture.com/2016/06/19/bladerunner/ <comment><USER2> Fascinating stuff, although I disagree about the red-eye. I always interpreted the red glow in the eyes to be an indication that they were replicants.

<comment><USER3> I think the author didn't want to include any spoilers. That the red eyes aren't gaffes is even hinted at with "How strange! I'm sure it won't turn out to be significant". This phrase pops up again at a later time in the article around a similar plot hint.</comment></comment>


Show HN: Create pretty charts on the web directly from excel - <AUTHOR> http://excharts.com/

<comment><USER2> I am potentially interested in this product, but I couldn't help but have a negative reaction to the bare bones website that is currently up. I understand that entrepreneurs need to build MVPs, etc. but a screen with two very small (i.e. unreadable) images and basically no information whatsoever is just frustrating. I hope that feedback helps to make a more informative page.

<comment><USER3> Agreed, a landing page with 2 images isn't exactly a "show HN" worthy news item.

</comment></comment><comment><USER4> Would like to use something like this to create charts from Excel and put them on our Intranet without my data ever leaving our network. Is this a use case you would support?</comment>


Compelled Decryption and the Privilege Against Self-Incrimination - <AUTHOR> https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3248286 <comment><USER2> > An assertion of privilege should be sustained unless the government can > independently show that the suspect knows the password.

I strongly disagree with this interpretation. It's an old argument, I follow the reasoning behind it (I actually think the author does a good job arguing in favor of this position), but at the end of the day I'm just too uncomfortable with how this would work in practice.

During a normal search, they get a warrant, tell you to produce some documents, and if you don't comply then they go get the documents themselves. If they can't find the documents, then they can come back to you with obstruction or contempt charges, but this is the rare case.

With passwords, the rare case becomes the common case. Enough people are going to suddenly "forget" their passwords that law enforcement and judges are going to roll their eyes and throw the book at anyone who _actually_ forgets a password.

I don't believe it's possible for anyone to _prove_ that someone knows a password. People can forget at any time, for any number of reasons, including trauma.

What's going to happen when police have evidence that I did, at one point, know the extra-super-secret password to some old confidential document that I set up a pgp key to encrypt and promptly forgot about? What about when my harebrained DIY deniable encryption scheme means that I genuinely don't know which of the following hundred-thousand files I know the password to, even though I obviously must know, because I set it up in the first place?

There's no law against being a paranoid doofus.

<comment><USER3> legitimate forgetting will rarely arise: law enforcement just captures the defendant entering the password (e.g. surveillance video).

Face ID is also hard to "forget" :-)

<comment><USER4> Having old devices/HDD sitting around seems to be common in tech and non tech circles. So, I suspect 10+% of people already have an encrypted device in their home where they forgot the password. Now, given a few dozen tries they might be able to recall it, but it's not something they can just hand out.

<comment><USER5> I'd be surprised if more than 10% of the population actually ever owned an external drive... (excepting diskettes)

<comment><USER4> That 10% is including old phones, tablets, computers, USB sticks, and external backup drives. I suspect old tablets and phones are going to make up the bulk of forgotten passwords, but the government is going to request every password for every device.

</comment></comment></comment></comment></comment><comment><USER6> This interpretation of the right to remain silent frightens me.

The example I was always given to point out the need of such a right is the police saying, "Alright, show us where you buried the body." And if they can "prove" that you buried the body but you cannot actually take them there because you didn't bury the body then you go to prison forever.

The government should not have the power to go on a fishing expedition through my device. If the government can already prove that something illegal is on my device, then they do not need that thing in order to convict me of a crime. It is just superfluous to compel me to do things and it is dangerous.

<comment><USER7> I really sympathize with the desire to have my computing device extremely protected against scrutiny because I like to think of it as an extension of my own memory and cognitive ability etc and don't want to worry about maintaining an airgap between in-brain capacity and external capacity for liability reasons.

However I am not very optimistic that this line of argument is going to fly. Why do you need to search my car for illegal drugs if you can't already prove that I have them? Why do you need insight into my finances if you can't already prove that I am evading taxes?

As long as we, in principle, give the legal system a mandate to investigate crimes, there is always going to be a point where arguments around reasonable suspicions are going to prevail against privacy concerns. Ultimately I don't think it's realistic to hope to create a comfortable relationship with a malevolent judicial establishment by adding some hoop or other for them to jump through before they get to fuck you over.

<comment><USER8> > _Why do you need to search my car for illegal drugs if you can 't already > prove that I have them? Why do you need insight into my finances if you > can't already prove that I am evading taxes?_

The law already imposes those requirements, in theory. A warrant should only be issued, according to the US Constitution, if evidence is presented to a judge that it's more likely than not the search authorized by the warrant will find evidence of a crime. That usually means a non-consensual search is only allowed when there's already significant evidence of guilt.

If that sounds like a fairly high standard, you're right. It was intended to be. If it sounds like a higher standard than is often used in practice... well, you may be right about that too.

<comment><USER7> Yeah, so I think that imposing similar requirements for compelled decryption is not the way forward. There is limited use in instituting high standards if you fundamentally can't trust the people interpreting those standards.

<comment><USER8> I'd like to see more work on systems with plausible deniability. Many legal jurisdictions already have compelled decryption

</comment></comment></comment></comment></comment><comment><USER9> The precedents on snooping that have served us up to the 1970s are outdated for several reasons.

On one hand, it's true that where in the past most people would have sent letter and kept physical record books that could be siezed, the modern equivalents are often encrypted.

On the other hand, modern phones don't only contain the letters and records someone in the 1970s would have kept. People have GPS location records, records of things they've read, heart rate monitor records, naked photos of their lovers, and all the credentials needed to empty their bank accounts.

There is also a change in scalability; while in principle monitoring on 0.01% and on 99.99% of the population may be equivalent, in practice a quantitative difference of so many orders of magnitude is quantitatively different. In the 1970s, trailing someone everywhere was so expensive large-scale monitoring was impossible, and rules to keep tabs on the impossible weren't needed. In the modern age, the costs have dropped to a fraction of a penny, but the protections against abuses haven't kept pace.

Achieving a reasonable balance will be difficult.

<comment><USER10> Aside from GPS logs, which of those things wouldn't have been on your desk, when the police raided your home office for papers in the 1970s?

The problem is with overly broad warrants, that allow for whole device imaging — though we sometimes see that with real warrants too, which just grab everything.

</comment></comment><comment><USER11> "This paper solely addresses the Fifth Amendment framework for compelling acts of decryption by entering passwords without disclosing it to the government. Compelled use of biometrics and compelled disclosure of passwords raise different Fifth Amendment issues."

Are we to believe that typing it in the presence of officers of the court doesn't communicate the password to officers? This seems questionable. I'm sure judges love, technically we are violating your clients rights but as long as officer smith looks over that away we TECHNICALLY wont be.

Further one can argue both having forgotten a password AND the fifth amendment. You can argue that the act of trying to unlock it is testimonial AND that you don't know the password. Prove them wrong.

You could argue that the authorities have presented you with a device that has had the password changed. If they actually do this do they just get to lock you up for however long they feel like?

It's probably true in many cases that you can establish that a device was used by a person, bought by a person, that that person PROBABLY knows the password. This isn't enough for it to be a foregone conclusion.

This reads like complicated wishful thinking designed to relieve the prosecution of the burden of doing intelligent police work.

<comment><USER12> > You could argue that the authorities have presented you with a device that > has had the password changed. If they actually do this do they just get to > lock you up for however long they feel like?

I am strongly against compelled decryption, but haven't come across this argument before. I think it's a brilliant point.

<comment><USER13> Argument that represents unlikely logical possibility rarely wins.

<comment><USER14> Except when fear comes into play. You might enjoy reading this: [https://psychology.stackexchange.com/questions/9200/why- do-p...](https://psychology.stackexchange.com/questions/9200/why-do-people- fear-statistically-unlikely-things)

In this particular case, there is a fear that one could get a severe sentence (e.g. capital punishment) without having even committed a crime, all due to the police changing their password. If a person is afraid enough of that (unlikely) potential outcome, they may ignore statistics all together and follow their fear.

For more examples of how much people ignore probability, consider [https://money.cnn.com/2017/08/24/news/economy/lottery- spendi...](https://money.cnn.com/2017/08/24/news/economy/lottery- spending/index.html) and [https://www.quora.com/How-much-does-a-casino-make- daily](https://www.quora.com/How-much-does-a-casino-make-daily)

<comment><USER13> How that fear is supposed to help with court cases? Defendant being fearful does not help his case.

<comment><USER14> I'm not saying people should take the stand and say they're afraid... perhaps we have different interpretations of the quote from appleflaxen that was quoted and that you responded to. Here it is:

"You could argue that the authorities have presented you with a device that has had the password changed. If they actually do this do they just get to lock you up for however long they feel like?"

I interpreted that quote to be used as potential horror story that could be created by compelled decryption. As such, the fear that story creates could make it used as an argument against compelled decryption ("if a court can compel you to decrypt your files, then $HORROR_STORY is possible! We need to all fight against compelled decryption!").

A good number of people will get behind that argument, even though (as you said) that argument depends on an "unlikely logical possibility". And those people using the fear of that horror story to dislike (and maybe even rally against) compelled decryption is what my point was about.

<comment><USER13> I guess I should have mentioned that my comment was about argumentation in the court.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> A bit meta, but the abstract employs a very interesting rhetorical device:

"An assertion of privilege should be sustained unless the government can independently show that the suspect knows the password."

On the surface it almost looks like it argues for the opposite position by using the "Always do A unless exceptional conditions are met" form, but then guts that by making the "exceptional" condition pretty damn trivial.

</comment><comment><USER16> This completely ignores one of the purposes of the Fifth Amendment, which is to remove the incentive for law enforcement to torture suspects for information. The fact that you know they have the password has no bearing on that.

</comment><comment><USER17> There may be technological solutions to this.

Say your encrypted files need two secrets, one in your possession, one in possession of a third party.

To decrypt your file, use your secret and ask the third party for their secret. To get their part of the secret, either call them or type a password or use some other private key. It can be automatic and fast.

The role of the third party is to block the secret retrieval at any suspicion of law enforcement involvement. Second secret then cannot be retrieved and the files are safe.

Also, if you type the wrong password, the third party blocks retrieval and will reactivate it after investigating whether you are in law enforcement company.

Law enforcement may try to compel the third party to give the second secret. Having third party in another country, or multiple third parties in multiple countries may solve this.

Another idea is that the third party is your lawyer. You shared that second secret with your lawyer and told him to stop sharing or destroy the second secret if you ever meet law enforcement.

You get arrested, stay silent, your lawyer is called; before anything else the lawyer blocks retrieval of the second secret. This may be attorney/client privilege and would block law enforcement from compelling the lawyer to give the second secret.

Add some randomness (retrieval of second secret gets blocked with probability 1/10 when the correct password is entered) to get plausible deniability.

Some people could be interesting to pay Apple a lot to implement this. Or some law firms could start selling such lawyer phones.

Edit: typos, last sentence

<comment><USER18> > Another idea is that the third party is your lawyer.

Then that isn't your lawyer; rather your co-conspirator.

I'm pretty sure that if you're in a conspiracy with your "lawyer", you'll be charged together and you'll need another actual lawyer to represent you.

</comment></comment><comment><USER19> These arguments almost always seem like encryption is about access to information but isn't encryption about understanding information? If they are asking for a key to decrypt then they already have access to the data. If you write a note nobody will ever have access to- say you slipped it onto Voyager 1, there would be no point in encrypting it. Encryption is to protect against (possibly) accessible data.

Old-school though experiment- I encrypt all my paper notes using a simple substitution cipher. They seize my notes and have full physical access to them. If they don't understand my notes can I be forced to explain my cipher?

If I comply and the unscrambled contents are "RedFalcon has delivered the ApplePie to the EndOfTheRainbow". This is basically another substitution cipher. Can I be forced to explain this under threat of jail if I don't explain it in a way they accept?

I realize modern encryption is way beyond this, and way beyond my understanding. Has the basic principle of access vs understanding changed?

<comment><USER20> Exactly. It'd like to make this analogy myself: Forcing somebody to decrypt a drive is like forcing somebody to keep rearranging a bunch of papers/notes (he or she supposedly produced) until a punishable offence is noticed. Are you not able to compose a satisfactory result? It's jail for you because you are hiding something.

</comment></comment><comment><USER21> A rare example of a document which you can tell is definitely mistaken without going any further than its title.

US civics-class-takers will naturally remember learning about how the first ten amendments to the constitution are commonly referred to as the "Bill of Privileges".

</comment><comment><USER22> There's no legal/moral/ethical silver bullet here.It's a difficult enough problem even without allowing for the possibility of a tyrannical/abusive state (which you could argue is a failure mode of a democracy, and is less rare than you think).

</comment><comment><USER23> Encryption is a human right.

We all agree that we shouldn't be compelled to testify against ourselves. Right?

Ok... now let's think of Geordi La Forge.

Were he to commit a crime, could the government compel him to produce encrypted recordings from his visor?

And hopefully you'll come to the conclusion, "No, because that visor is part of him. He shouldn't have to give up his sight just to maintain his ability not to testify against himself."

And from there it's just a few steps towards, "Yes, I do need my cell phone to be a productive human... and yes, tech I need to be a productive human should be covered under the same protections as I am."

Plenty of other ways for cops to catch the bad guys.

<comment><USER24> > Encryption is a human right.

Who said so? UN? Some Constitutions? Who?

<comment><USER25> Well, _I_ assert that encryption is a type of arms, and that it's the right of every free man (so, children/prisoners/&c. are excepted) to own, bear & use arms peaceably.

In the U.S., one can make an argument that the Second Amendment protects the right to encryption.

But even if no constitution or law in the world protects a right, it's still a right — just a right without legal recognition.

<comment> loup-vaillant > _Well, I assert that encryption is a type of arms_

I wouldn't. Arms helps you kill or hurt people. Encryption hides information. Both functions can be used as a means to protect yourself, but its really a stretch to compare arms and encryption. Da-Vinci's mirror writings were as comparable to a rapier than AES-CGM is comparable to a hand gun. That is, not at all in my opinion.

As a citizen, I would argue that the right for encryption is closest to freedom of thought. My private thoughts don't have to be confined to my brain, I should have the right to memory prosthetics (I mean a computer) as well.

 _(Edit: of course, the decision to classify encryption as munition was ridiculous. How it combines with the second amendment (which I happen to mostly disagree with), is just a fortunate coincidence.)_

</comment></comment></comment></comment><comment><USER26> i don't understand how this can be an argument regarding the 5th amendment right against self incrimination if it doesn't address schmerber vs California ([https://supreme.justia.com/cases/federal/us/384/757/](https://supreme.justia.com/cases/federal/us/384/757/)) which found "Since the blood test evidence, although an incriminating product of compulsion, was neither petitioner's testimony nor evidence relating to some communicative act or writing by the petitioner, it was not inadmissible on privilege grounds."

I'm not an expert, but I'd note that Fisher Vs. United States which gets brought up several times was about the accused individual's lawyer producing documents the individual had given them. And a large part of the judgment in the case is the difference between ownership and possession (as seen in the decision of couch vs. united states which it relies on).

In any case fisher said that you couldn't be compelled to testify to affirm the truth of the contents of the documents sought and that the password would decrypt them. But decrypting files is affirming a truth in the documents sought, as the government lacked testimony of their encrypted existence on that hard drive and of the passwords ability to unlock them.

</comment><comment><USER27> The problem in my mind comes in when you look at what type of systemic abuse you enable by throwing "common sense" out the window.

Suddenly, every chunk of 0's and 1's in the hands of an unscrupulous/ambitious/pressured prosecutor becomes a ticket to indefinite incarceration.

For every criminal this practice may help collar, I see too much potential for and utility as a form of political and civic suppression. Someone being problematic? Have the geek find evidence of what might be an encrypted volume and order the problematic person to supply the keys to open it. Presto. Enjoy your time in the Klink.

You can't let such harmful precedents stand. Heck, who is to say someone doesn't just write a worm to create small encrypted caches on everyone's machine? Does that then put everyone in a Spartacus situation?

This is dangerous ground in which the courts are treading, and no less than 2 Constitutionally defined rights are in conflict.

Personally, I prefer a system with maximum difficulty with regards to the cessation of Rights. A government empowered to ignore your Rights is well on the road to hell. There is a balance somewhere, but I am at a loss as to where it is at the moment. Where ever it is though, it isn't on indefinite cessation of freedoms just because the State has a hunch there might be something relevant they can't read.

</comment><comment><USER28> I'd also recommend this other interesting read by the same author and co- authored by Bruce Schneier: [https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2938033](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2938033)

</comment><comment><USER29> This will be an unpopular opinion, but hopefully enough people were paying attention in school when they taught the concepts of mutually assured destruction. Hopefully a percentage of the population have time based countermeasures moving along in the event that the courts get too muddied by poorly defined laws, or laws with excessive intentional wiggle room for interpretation. I am probably fantasizing. It might explain why I enjoy dystopian films. My fantasy is that people will rise above a broken system rather than playing their game.

</comment><comment><USER30> The paper is arguing FOR self-incrimination, not against it.

</comment><comment><USER31> Author: Orin S. Kerr

<comment><USER32> Am I supposed to know who that is?

<comment><USER33> If you follow this stuff, arguably yes.

<comment><USER34> Why should I need prior knowledge to follow the conversation?

Just describe who that is, and why it is relevant to mention it.

<comment><USER33> I'd say that one needs prior knowledge to follow maybe 70% of HN posts. And some of it's quite arcane.

I could have linked the Wikipedia article, but that's getting pretty close to LMGTFY, no?

</comment></comment></comment></comment></comment><comment><USER35> Passwords are keys. Providing a key to your safe is not self incrimination. The 5th is unquestionably specific to self incriminating testimony.

<comment><USER36> Providing the _combination_ to your safe seems like a closer analogy, and I believe it is protected from compulsion by the Fifth Amendment.

<comment><USER37> A safe can always be opened by force.

An encrypted file cannot, assuming a suitably complex password.

<comment><USER38> Until you get to an encrypted file that has such a complex password it would take all of the energy and longer than the heat death of the universe to compute, it's just that you can't open it by force within a suitable timeframe.

<comment><USER39> An encrypted file cannot, given P!=NP (and a host of other assumptions, but P!=NP is the foundation), be decrypted.

So require proof that the file is not decryptable by other means before you can compel entering a password ;)</comment></comment></comment></comment></comment>


The Pentagon Needs You to Help Them Take Down Small Drones - <AUTHOR> http://www.defenseone.com/technology/2016/08/pentagon-needs-you-help-them-take-down-small-drones/130727/ <comment><USER2> So why not something like Iron Dome? I mean, even a basic old school phalanx system could "shotgun" a drone out of the sky. I'm guessing a generic RF jamming system likely would work well too here. So then there's the hacking potential....does the pentagon want to get these drones in tact? Or do they really just want them knocked out, b/c knocking out could take a myriad of far more primitive (kinetic) solutions than hacking.

</comment><comment><USER3> Train birds of prey.</comment>


Google owned duck.com redirects to Google.com. How is this legal? - <AUTHOR> Here is the DNS information:
https://whois.icann.org/en/lookup?name=duck.com
How can this be legal, since clearly the name is similar to a rival search engine? <comment><USER2> This is more than a little bit silly. Duck.com used to be owned by On2 Technologies which made video compression software. Google acquired On2 and got duck.com as part of the deal. It's not like they went out and just bought the domain. And they definitely didn't spend $106 MILLION on a video compression company just to get the domain. This is entirely legal.

[http://googlepress.blogspot.com/2009/08/google-to-acquire- on...](http://googlepress.blogspot.com/2009/08/google-to-acquire- on2-technologies_05.html)

[https://web.archive.org/web/20080301180912/http://www.duck.c...](https://web.archive.org/web/20080301180912/http://www.duck.com/)

</comment><comment><USER3> "duck" also is a common english word, and quite far from any of the trademarks or domains owned by DDG. They don't display content that could confuse a user. If this were illegal, a single trademark would block way to many different words.

It's not particularly nice of Google (e.g. they could sell the domain or just leave it pointing to nothing if they don't have fittingly named product/project right now), but it shouldn't be illegal.

</comment><comment><USER4> Preface: I have only little knowledge aboud DNS records. Feel free to correct or add any information.

Here is what 10 minutes on the internet got me:

\- According to Wikipedia [0] DDG started 2008

\- The whois record shows 1995 as creation date (I assume this is the first time someone registered it back then?)

\- According to [1] the Domain changed owners 3 times (since 2002); These records indicate Google bought the domain latest in 2010

\- According to [2] DuckDuckGo Traffic 2010 was between 40k-80k quries per day (~0.5 - 1 QPS)

Unfortunately, this doesn't allow (me) to draw a clear conclusion. (If duck.go were bought in 2005 or 2015, it would have been more clear...)

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

[1] [http://whoisrequest.com/history/](http://whoisrequest.com/history/)

[2] [https://duckduckgo.com/traffic.html](https://duckduckgo.com/traffic.html)

<comment><USER5> [https://web.archive.org/web/20101002183258/http://duck.com/](https://web.archive.org/web/20101002183258/http://duck.com/) in October 2010 it still had the website for a software development company.

The redirect was added shortly after in 2010: [https://web.archive.org/web/20101203075708/http://www.duck.c...](https://web.archive.org/web/20101203075708/http://www.duck.com/)

I don't think there's even malice. They probably bought the domain and "parked" it by doing a 301 to Google.com - that's it.

<comment><USER6> It apparently came to them when they acquired the Duck Corporation[0], but I think it seems slightly naïve to assume no malice in setting up the redirect. Google own many many domains that do not redirect to google.com or similar.

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

</comment></comment></comment><comment><USER7> Old news:

[http://thenextweb.com/insider/2012/01/30/we-bet-you-dont- kno...](http://thenextweb.com/insider/2012/01/30/we-bet-you-dont-know-who- owns-duck-com-and-what-it-redirects-to/)

</comment><comment><USER8> Google is being evil here.

</comment><comment><USER9> Previous discussion: [https://news.ycombinator.com/item?id=3524164](https://news.ycombinator.com/item?id=3524164)

</comment><comment><USER10> The question is not legal its about ethical. Why Google Why ?

</comment><comment><USER11> How is it illegal?

</comment><comment><USER12> This is really unfortunate, it makes duck.co to loose visitors to google.

</comment><comment><USER13> This has bad-faith written all over it.

I think a court would agree.</comment>


[flagged] Animation Workers Get $100M in Wage-Fixing Suit - <AUTHOR> https://pando.com/2017/02/03/animation-workers-get-100m-wage-fixing-suit-prompted-pando-reporting/ <comment><USER2> (paywalled)... but the "web" links takes you to other reports on the same story.

<comment><AUTHOR> @masonic, I missed this. I'll stop posting Pando links.

\- [https://pando.com/2016/05/09/sony-settle- techtopus/](https://pando.com/2016/05/09/sony-settle-techtopus/)</comment></comment>


HaLVM: run Haskell directly under Xen - <AUTHOR> http://halvm.org/wiki/

<comment><USER2> I'm not sure why this isn't a more popular approach. I've often wanted a JVM (or Ruby VM) that ran without an OS, but it's a little "off the grid" right now. Good idea.

<comment><USER3> Oracle has a project to run the metacircular JVM Maxine directly on Xen: <http://labs.oracle.com/projects/guestvm/>

</comment></comment><comment><USER4> Interesting. Anyone know of a barebones Xen harness? Could be fun to bring a few other things straight to the virtual metal.</comment>


Experimenting with WebAssembly and Computer Vision - happy-go-lucky https://hacks.mozilla.org/2017/09/bootcamps-webassembly-and-computer-vision/ <comment><AUTHOR> It is so subpar compared to native, both in terms of time needed to reach the result (6 weeks 4 engineers) and fps (30 fps, no low pass filter, lots of noise and drop in the result...) that it confirms me that wasm is not ready for primetime. Overall, the web techonologies are loosing ground.

I wouldn't build any company around this technology.

<comment><USER2> I wonder how much of the perf/feature diff is due to lack of simd or threads? I don't even know if OpenCV uses either (I'd be surprised if they didn't), but both features are coming to WebAssembly.

<comment><USER3> Regular python/C++ API is threaded (to some extent). Parts of the C++ API is GPU enabled. Simd - pretty sure, the library originated at Intel, after all.

</comment></comment></comment><comment><USER4> I wonder why they didn't contribute directly to [https://github.com/ucisysarch/opencvjs](https://github.com/ucisysarch/opencvjs). It was suffering from a bit of code rot so a lot of the demos no longer work. But the ones that do are still pretty comprehensive in terms of opencv feature coverage (at least compared to the demo they built):

Canny w/ webcam: [https://ucisysarch.github.io/opencvjs/examples/live/img_proc...](https://ucisysarch.github.io/opencvjs/examples/live/img_proc.html)

Colors, canny, blurs, contours, histogram, morphology: [http://ucisysarch.github.io/opencvjs/examples/img_proc.html](http://ucisysarch.github.io/opencvjs/examples/img_proc.html)

Detect face/eyes: [http://ucisysarch.github.io/opencvjs/examples/face_detect.ht...](http://ucisysarch.github.io/opencvjs/examples/face_detect.html)

And much more from: [https://github.com/ucisysarch/opencvjs/tree/gh- pages/example...](https://github.com/ucisysarch/opencvjs/tree/gh- pages/examples).

<comment><USER5> In this demo, they're not writing code in JS. They're compiling C++ code to run in the browser's webasm runtime.

<comment><USER4> Same with ucisysarch's demos. All opencv.js does is add JS bindings to compiled C++ code. They could've made it output webasm just by adding a "-s WASM=1" to the g++/em++ flags.

</comment></comment></comment><comment><USER6> Here's a much better demo of browser-based face detection and face tracking and other cool stuff:

[https://tastenkunst.github.io/brfv4_javascript_examples/](https://tastenkunst.github.io/brfv4_javascript_examples/)

</comment><comment><USER7> I was just writing about using PNACL for a project the other day: [http://www.doxsey.net/blog/juggle-tutor](http://www.doxsey.net/blog/juggle- tutor).

In some ways the death of PNACL is kind of sad - as I think it was probably a technically superior solution. But cross-browser support is nice.</comment>


How Much Money Do We Make? - <AUTHOR> https://www.alifefullofroses.com/how-much-money-do-we-make/ <comment><USER2> Nowhere in the article does it actually say how much money they have made.

<comment><USER3> If you want to actually get a pretty decent idea of how much you can make, someone made a good video about it: [https://www.youtube.com/watch?v=do1VLjNg6AE](https://www.youtube.com/watch?v=do1VLjNg6AE)

Your earnings vary a lot based on what kind of video you make so it's somewhat complex.

<comment> rr-geil-j TechLead's video[0] similar to this can be a good reference for his sub- category.

[0] [https://www.youtube.com/watch?v=PZsEU-T1Gmg](https://www.youtube.com/watch?v=PZsEU-T1Gmg)

</comment></comment></comment><comment><USER4> Call me a cynic, but it feels very typically hypocritical for the author to be a feminist and proponent for women's social change yet repeatedly post half naked pictures of herself and partner on social media and Instagram. You have to admit the absolute double standard and conflicting message there.

<comment><USER5> I don't have to admit that, because it's not true. If women doing whatever they want with their bodies (be that showing them off or covering them up) isn't feminism, then I don't know what is.

<comment> rr-geil-j I personally understand both sides of the argument but I would like to be a devil's advocate this time and provide an opinion similar to the OP:

The analogy of this will be like someone who declares that he is the master of his own fate and has freedom to do whatever he wants. Then he proceeds to slave away in a dead-end job with non-existent autonomy.

<comment><USER6> What argument? The original commentator simply displays a deep misunderstanding of what feminism is about.

Feminism (in this case) is being able to pose naked as a woman, in the same way you would be as a man and not being treated any differently for it. Case in point: Most people wouldn't suggest it's anti-masculism if a male was posing naked. So then don't do it with females. There you go, feminism.

</comment></comment></comment></comment><comment><USER7> I call bullshit. They are telling me they probably make less than I expect they make, but if they actually gave numbers I'm certain it's far above what most expect and that they would in the light of the actual facts appear quite greedy for wanting more.

If that's not he case I'm unsure why they push this vague cop out of an attempt to argue why more is justifiable without actually answering the title questions.

Provide the numbers.

<comment><USER8> Not that I care (I don't even know who these people are), but the statement, "We don't make enough to cover our mortgage or our bills"... doesn't really tell me anything.

For example, what is your mortgage? $1000 a month, or $15K a month? And how much of your "bills" are from credit card charges from shopping sprees or whatever?</comment></comment>


Twitter Data: An Investor's Perspective - <AUTHOR> http://www.techcrunch.com/2009/10/05/twitter-data-analysis-an-investors-perspective/

<comment><USER2> This is actually the perspective of someone who would like you to know about his new company called RJMetrics.

<comment><USER3> Perhaps. But smart people know that this is good analyis: <http://www.avc.com/a_vc/2009/10/the-cohort-analysis.html>

</comment></comment><comment><USER4> >> "38% of users have never sent a single tweet, and over 75% of users have sent fewer than 10 tweets."

That's pretty damning. Are these accounts setup in the hope people will follow them - honey pot style maybe? For spamming later.

>> Source = TXT: <5%

Since less than 5% are using sms to update twitter surely they can abolish the outdated 140 character limit?

<comment><USER5> _Since less than 5% are using sms to update twitter surely they can abolish the outdated 140 character limit?_

Never having used it, I can't actually say, but I had the impression that the 140 character limit was the point of Twitter.

<comment><USER4> I guess to a certain extent, but for most use cases it just becomes irritating and makes people use url shorteners, txt spk etc.

</comment></comment></comment><comment><USER2> A few interesting points:

 _the average time between any two tweets from the same user is exactly 24 hours._

i.e. people use Twitter every day.

 _The rate of new user acquisition has plateaued at around 8 million per month._

Wow, only 8m new users per month. That's gotta hurt.

 _We know that Twitter has 50 million registered users_

OK, small user base then.

<comment><USER6> the problem with the user base seems more likely to be that you can ignore almost 75% of all users due to no activity

<comment><USER7> Not exactly - twitter, unlike facebook, is asymmetric, so you expect a large percentage of users who are just listening. That doesn't mean you can ignore them - they are the audience.

<comment><USER6> you're right about the asymmetry, but let's not pretend that 75% of 60M are actively listening to anyone...

I would be stunned if that number was higher than 10%

</comment></comment></comment></comment><comment><USER8> With any of these social platforms there is a small percentage of creators and a large population of consumers. For example, look at Youtube. The same can happen for twitter...a lot of people may just consume the tweets of celebrities or other feeds. Low tweeting is not a big issue. The consumption traffic continues to grow

<comment><USER9> Low tweeting is a big issue, since it negates some of the Twitter narrative. The whole "pulse of the planet" realtime search thing isn't really valuable if most of the users aren't contributing to the corpus.

Also, if it's just a handful of the users creating the value, then the switching costs are much lower. You'll go to "where the celebrities are" (which may turn out to be Facebook, or something else) and not the harder to move "where are your friends are".

</comment></comment><comment><USER10> If those numbers are real, that's pretty deflating.

</comment><comment><USER11> Huge increase in user growth rate this year means most users are new users.

New userbase + long average time between early tweets -> most users have < 10 tweets.</comment>


GIMP 2.9.4 and our vision for the future - <AUTHOR> http://girinstud.io/news/2016/07/gimp-2-9-4-and-our-vision-for-gimp-future/ <comment><USER4> Gimp 2.8 frustrated me: I could no longer open a .png, edit it and easily resave it back to .png. The Gimp developers knew better and made the UI strongly favor saving as .xcf, which makes sense in some use-cases, but not mine.

I found this fix, which made quick uses of GIMP less painful for me: [http://shallowsky.com/software/gimp- save/](http://shallowsky.com/software/gimp-save/)

I'm assuming the new save behavior persists in Gimp 2.9.x, but I don't know.

<comment><USER5> > less painful for me

I realize that this is common UX jargon, but is it literally "painful" to click "File->Export" rather than "File->Save"?

I frequently hear front-end developer peers arguing that it's "painful" to read 10 or 20 lines of XML. Back-end peers retort that it's more "painful" to look at large complex structures in JSON.

There's a hundred other cases in which this comes up. Are people really walking around in crippling pain, due to various software having trivial differences from their ideal preference?

<comment><USER6> >> I realize that this is common UX jargon, but is it literally "painful" to click "File->Export" rather than "File->Save"?

One can also make that statement to the person who decided the default save format should be different from the one the user opened. IMHO most people want to save in the format they started with and if they want to change it, something other than "save" is warranted.

<comment><USER7> This isn't just a problem with Gimp. It's a problem with Photoshop and basically every discipline where there's a bunch of file formats that have varying levels of support for features.

"Open" would then more correctly called "Import" for most file formats. If you want Open and Save to work with all file formats, you'd then need to restrict the UI to operations that work with the file format you have open. Otherwise, you lose data when saving.

>> IMHO most people want to save in the format they started with and if they want to change it, something other than "save" is warranted.

Most people when they save a file expect everything to be there when they open it later. That's only possible when you save using that applications proprietary file format.

<comment><USER8> If I open a PNG in Photoshop, crop it or resize it, it stays in PNG when I save it. This is such a common workflow that it makes me wonder if you use Photoshop.

I understand your points, but it doesn't mean that there aren't pragmatic UX choices to be made here.

</comment></comment></comment></comment></comment><comment><USER9> Be aware, if you recommend GIMP to people on Macs with retina screens they are going to be very disappointed. TLDR; retina screens on Macs simply aren't supported properly (everything you do will be at a minimum of 2x scale). See [https://medium.com/@kjeldahl/gimp-and-inkscape-on-retina- mac...](https://medium.com/@kjeldahl/gimp-and-inkscape-on-retina-macs-do-not- work-9601c3052e86#.tq62wux1j) for more details.

</comment><comment><USER6> Still waiting. They need to prioritize 3 things IMHO, and those are 1) GEGL integration - this was claimed to be 80 percent done in 6 weeks (several years ago). Updating core code and libraries should be done quickly, not spread out over years concurrently with other development. 2) Update to GTK3. How can a flagship OSS program still be using a many-years-old GUI toolkit? And finally 3) Wayland support. This will be easier with GTK3 and is still slightly future-looking, but I'm writing this on a Wayland desktop so it won't be long before GIMP on the whole is completely built on outdated technology. I know all of these are in the works, but it seems like a nice sprint could get each one done in a month or two at this point. Yet here we are seeing another blog about anything but these...

<comment><USER10> It would probably be done in few months, if GIMP had a few full-time developers. But as it stands, with people working in their free time, don't expect miracles. If anything, I find it amazing that it's still developed at all.

</comment></comment><comment><USER11> The action search feature is nice. I like it that more software is getting search-across-all-menu-entries.

I'd have really liked Ubuntu's HUD menu-search to have become a standard on the Linux desktop; adding search-across-menus would become much easier for softwares, most wouldn't need any addition of code.

<comment><USER12> It's one of the better features built into OS X, ⌘⇧? will search through all menu items, combined with ability to assign a shortcut to one even if it had none originally.

</comment></comment><comment><USER13> GIMP is an icon of open-source software, but do any professional designers use it full-time over Photoshop?

Compare with Sketch, which has taken scores of users from Illustrator.

<comment><USER14> unlikely, while a certainly poewrful piece of software that can do much of what photoshop can (in the 2D realm), it has no support for 3D work, real vector support, active filters (this is a huge one in traditional 2D work, esp icons/logos)

<comment><USER15> The one feature that breaks it for me for professional work is that filters happen to a layer instead of being attached to them an are able to be changed on a whim. It's impossible to do any real work if you have to render and re- render every shadow on every text and object when its size changes. I think I could do without everything else but that.

<comment><USER16> That's why I love Krita so much – it can do all those things, can do animation, and, partially, already 3D, too.

</comment></comment></comment></comment><comment><USER17> Really not a fan of this. In a link he says he took the code for saving/exporting and split it apart: [http://girinstud.io/news/2015/09/improving-the-export- proces...](http://girinstud.io/news/2015/09/improving-the-export-process-in- gimp/)

The only way I ever use GIMP is through forked builds that let you save as whatever you want without the annoying save/export distinction, so they seem to making it tougher for people who are making good forks of their bad software to do their job.

<comment><USER18> Saving and exporting are different tasks: the former saves the current work- in-progress project with no loss of data, the latter exports to a particular image format and is inherently lossy. If you combine them, you risk misleading users.

And by keeping them split, it makes some things more convenient. When I edit images, I save a .xcf and I also export a .png. Having to manually switch between these file-types and manually remember and reënter the (possibly differing) filenames when saving would be a pain. Keeping Export and Save as separate means I don't have to. It also means that Ctrl-S saves the project, rather than overwriting my last export. And as the part you linked to points out, this means you can do things like change the scale at export time.

<comment><USER19> What's the difference, and why should it matter? I just want to persist my changes to a file.

IMHO just keep things simple and use Save for saving in the same format as the original (possibly if a warning if it doesn't support some things you've done to the file), or Save As for saving in a different format.

<comment><USER7> Simply, you expect Open > Save to persist your file format. In the use case they target Save > Open persist what you were editing. Things like Live Text, Smart Objects, alpha layers (for many file formats), etc will stay around. It's a common approach I've seen in other image editors (including Photoshop), 3d tools, and I imagine text editors do this, too.

</comment></comment></comment></comment><comment><USER20> GIMP is a handy tool: I use it for a lot of my image editing needs, for when very basic tools won't do. I rarely need the power of PS, and can't afford it anyway (although I do miss that magnetic lasso: GIMP's magic scissors don't quite have a good enough algorithm). All of this talk about the future is exciting.

However, yes, GIMP is quite rarely an acceptable replacement for PS, and I find this unlikely to change any time soon.

Also, GAP is really, REALLY, _REALLY_ awkward and unwieldy to use. I would reccomend Synfig Studio for animation instead.

<comment><USER21> GIMP's new (though not actually young) engine - GEGL, contains ffmpeg frame sources and sinks, provides a good abstraction for creating interfaces better than GAP for animation or video editing - <USER2> [https://www.youtube.com/watch?v=GJJPgLGrSgc](https://www.youtube.com/watch?v=GJJPgLGrSgc) for an example of a video that has been edited and encoded using GEGL this year.

<comment><USER20> Well, yeah, but why would I write a new interface, when Synfig is already there and, to some extent, comparable to Flash?

<comment><USER21> Synfig focuses on more cartoon based vector animation. What GEGL provides good foundations for doing is video editing/compositing with keyframed properties for filters.

As mentioned in the linked article of this story - having an eco system of applications using GEGL would benefit both these applications and GIMP - <USER3> they would be sharing image processing operations and plugins.

<comment><USER20> Well, I AM doing cartoon animation. Although video editing/compositing is always handy. Do you know if sombody's created a UI for this stuff yet?</comment></comment></comment></comment></comment>


Things Found Inside Cheap Chinese Products - <AUTHOR> http://www.chaostrophic.com/10-weirdest-things-found-inside-cheap-chinese-knock-off-products/ <comment><USER2> Not a fake, but a clever improvisation: I bought a large woodturning lathe once ( Powermatic 3520, for those who care).

The lathe was shipped inside a heavy duty cardboard box. The box was strapped down to a pallet. When I cut the straps and lifted the box off the pallet, the lathe was bolted to the pallet. OK, great so far.

However, because the pallet has gaps and, I guess, salty sea air could get in that way, the pallet had been covered w a big sheet of metalized mylar. Very clever!

...and the metalized mylar was from a big roll of as-yet-uncut ramen wrappers. No English text, but covered in Chinese characters and pictures of steaming hot ramen.

</comment><comment><USER3> My favorite I've seen personally was a science toy which supposedly lit a light by generating a current with a magnet sliding thru a coil of wire. Taking it apart there was a hidden watch battery lighting the light! Not sure if it was cheaper to fake it or if they couldn't get the real version to work reliably. It was funny though, a faked science demo product.

</comment><comment><USER4> Looks like a ripoff from: [http://www.dorkly.com/post/77486/10-weirdest- things-found-in...](http://www.dorkly.com/post/77486/10-weirdest-things-found- inside-cheap-chinese-products?ref=homepage)

</comment><comment><USER5> The pony is actually brilliant. I wonder whether they already had a bunch of extra dolls that didn't sell, or did they buy them for the purpose.

<comment><USER6> Or they somehow made more heads than bodies...

</comment></comment><comment><USER7> The phone case just proves China is focusing on going green, they recycle. Great reuse.

</comment><comment><USER8> counterfeit walnuts? wow, that is really bizarre

<comment><USER9> I would love to meet the Chinese factory owner/manager who makes the calculus on this stuff. "No no, walnuts are too expensive. Let's take walnut shells, fake walnut shells, and put rocks in them. That's much easier and cheaper."

</comment></comment><comment><USER10> Counterfeit walnuts...

...or...

When labor is cheaper than something that grows on trees.

</comment><comment><USER11> This is horrifying. It's one of the reasons I stopped using ebay.

</comment><comment><USER9> I kind of want to go home and open up all the cheap Chinese stuff I've bought over the years.

</comment><comment><USER12> This website was blocked by my corporate network as NSFW. FYI.

<comment><USER4> Original (?) SFW source: [http://www.dorkly.com/post/77486/10-weirdest-things- found-in...](http://www.dorkly.com/post/77486/10-weirdest-things-found-inside- cheap-chinese-products?ref=homepage)</comment></comment>