S
Sealed Abstract
sealedabstract.com · Personal blog · on HN since 2009
Drew Crawford writes long technical essays on mobile performance, self-hosted email, software practice and other programming topics.
What HN saysCommenters call his mobile web apps piece an excellent writeup on JavaScript speed and garbage collection, and recommend his email server guide as easy to follow.
104HN people shared it
59linked it in comments
69stories submitted
2.6Kstory points
10 months agolast shared
2009people per year2026
Most-shared posts
- 1Why mobile web apps are slow29 people · 463 points · first shared 2013 · 147 comments on HN
- 2Set up an email server in two hours12 people · 296 points · first shared 2013 · 127 comments on HN
- 3RE: xkcd #1357 free speech6 people · 2 points · first shared 2014 · discussion on HN
- 4Conduct Unbecoming of a Hacker (2014)5 people · 49 points · first shared 2014 · 7 comments on HN
- 5Hey programmers, we need to talk4 people · 290 points · first shared 2013 · 49 comments on HN
- 6Nanomsg postmortem and other stories4 people · 81 points · first shared 2016 · 31 comments on HN
- 7Index4 people · first shared 2021
- 8Why I stopped reading HN (2010)3 people · 499 points · first shared 2010 · 289 comments on HN
- 9Google, Our Patron Saint of the Closed Web3 people · 297 points · first shared 2015 · 94 comments on HN
- 10Why Software Projects Are Terrible And How Not To Fix Them3 people · 182 points · first shared 2011 · 23 comments on HN
- 11Do Hard Things3 people · 27 points · first shared 2011 · discussion on HN
- 12Python 3 is fine3 people · 15 points · first shared 2014 · 2 comments on HN
- 13How in-app purchase is not really destroying the games industry3 people · 10 points · first shared 2014 · 1 comments on HN
- 14Screen Shot 2013 05 14 at 10.15.29 PM.png3 people · first shared 2013
- 15Of Wizards and Magical Machines (2012)2 people · 118 points · first shared 2012 · 16 comments on HN
What HN people wrote when they linked it
mistermann · 2009-07-27
Hi Drew,
I read your new post on your blog:
http://sealedabstract.com/?p=515
And I must say, to anyone that is thinking of getting someone to develop an iPhone app, this is a must read!!!!
So, regarding that post, I have a couple questions. First, for context, I should mention, I am a developer myself (.Net), I read tons of blogs, I have casually read a fairly large amount of iPhone development related articles (just as they come through places like HN, not because of research).
So, a few questions if you don't mind, I have a feeling now that I am quite naive regarding the iPhone:
* developing on the iPhone, memory management, the issue with unknown screen size, etc....this gives me the impression that iPhone development is really quite "archaic" low level stuff...ie: nothing is easy or can be taken for granted. I would have thought that despite being a low power platform, no garbage collection, C Language, etc that Apple would have to a great degree abstracted a lot of this away. For example, my take a photo and upload requirement....I would have thought that there would be some sort of a Camera Control that could be embedded in a form, that would then inherit the inherent functionality of the control, and after the photo is taken, you would then have code that decides what to do with it (save, upload, etc) Do you really have to do great amounts of memory related programming to do this kind of task?
* The App store - I have read the horror stories and don't doubt…
mwcampbell · 2015-06-08
I disagree. Swift and its accompanying libraries are designed for automatic reference counting rather than tracing garbage collection. I think that's a big deal for mobile apps (see Drew Crawford's take on GC in mobile apps, http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/). In that light, Swift projections for WinRT would be great.
mattkrea · 2015-04-12
Host your own.
Here's an excellent guide: http://sealedabstract.com/code/nsa-proof-your-e-mail-in-2-hours/
mpnordland · 2015-03-29
Well, I went and made my own email server, and as of last week, I only depend on google calendar, which in a month, that will be over too. I've run my own email since last fall, and have had no problems. It's not that hard either. I followed this tutorial: http://sealedabstract.com/code/nsa-proof-your-e-mail-in-2-hours/
tootie · 2015-02-20
JavaScript is slow. DOM is really slow, but JavaScript is fundamentally slow. It's slower than Java and way slower than Obj-C and always will be. Excellent writeup here: http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/
jennings223 · 2015-02-16
Yeah. I'm aware that Apple has made some great contributions in Open Source. However, that doesn't change the fact that they live on proprietary technologies and investing in OSS is just a strategic business action.
This article here explains this:
http://sealedabstract.com/rants/beyond-open-source/
ianlevesque · 2015-02-01
> I can't find it, but I remember a popular post that talked about this with respect to iOS' better performance than Android (while having less resources available)
This may have been it, and is a great read anyway if it wasn't:
http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/
bostik · 2014-12-15
By far the best write-up about mobile app development and the true cost of GC has been in [0]. It's a very long read but well worth it.
If you took just one rule of thumb from it, let it be this: if you want speed with garbage collected languages, be sure to use at most 1/6 of the overall system memory.
0: http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/
jasode · 2014-05-06
> , modern generational GCs overhead is typically very small (<5%) with only 20-50% more memory than the live set size, not 3-5x as the paper claims.
Another set of GC tests mentioned by the famous Drew Crawford article [1] said 4x to 6x was the sweet spot. A followup commenter wanted to clarify that the "best GC algorithms" worked within 2.5x. Whether its 2.5x or 4x, it's a counterpoint to the claims of only 50% more memory. Perhaps there are drastically different workloads skewing the tests. (I didn't thoroughly read both cited papers.)
[1]
http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/
cmsimike · 2014-01-24
I loved this [0] guide. You may not need the encrypted partition part of it so you can leave it out but I've followed it multiple times, all successfully.
[0] http://sealedabstract.com/code/nsa-proof-your-e-mail-in-2-hours/
idProQuo · 2013-09-14
Past progress is not a sure indication of future progress. Phones have made huge leaps in the past decade, but now the leaps they're making are smaller and more incremental. We're hitting a barrier of how much power we can pack into a device that can fit in your pocket.
This article does a fantastic job of explaining whats up: http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/
aufreak3 · 2013-08-24
The memory tax for GCed language was written up in [1]. The blog post [2] (which is a great read that I recommend) summarized it like this - "As long as you have about 6 times as much memory as you really need, you’re fine. But woe betide you if you have less than 4x the required memory."
[1] http://www-cs.canisius.edu/~hertzm/gcmalloc-oopsla-2005.pdf
[2] http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/
JackdawX · 2013-07-12
This is a post responding to the following article that was posted on HN yesterday-ish: http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/
The point of that article was to specifically call out lazy surface-level discussions of HTML5/js apps by throwing out some benchmarks, and trying to have a practical fact-based discussion. I found the article very convincing actually, and what I wanted to see was both browser-app proponents and detractors testing out the limits of what the browser is capable of, so we can determine what is and is not viable to program in the browser stack.
This piece is simply not an answer to that article in any way. It does not attempt to answer the question posed in the title, nor does it address any of the points of it's parent article. I think we need to step up the level of discussion here if we want browser tech to be more viable for general use.
jsomers · 2009-12-12
As an alternative, I've been using a fast feed scanner to digitize my books. The obvious downside is that they need to be cut first.
I was inspired by this blog post: http://sealedabstract.com/?p=410
klmr · 2016-02-17
I haven’t followed recent development of JavaScript all that closely so my knowledge is somewhat outdated. However, the optimisations that make JS performance close to C in some cases are really recent. Some of the tricks are old, such as the paper you cited. But these tricks only go so far, and in particular even modern GCs simply work badly in memory-constrained environments, which puts a hard upper limit on the amount of memory that JavaScript can handle efficiently. One of the better articles on this subject is [1].
That said, my comment already mentioned that local variable lookup isn’t a problem in JavaScript. It is in R, however; see my example in [2]. Beyond that, both R and Python execution have obvious optimisation potential, which is made hard by the fact that existing libraries rely extensively on implementation details of the current interpreters.
[1] http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/
[2] https://news.ycombinator.com/item?id=11117070
aaronem · 2014-01-24
You may or may not have seen it already, but in case you haven't, I'll link here the "How to NSA-proof your email" howto [1] someone just posted in the "Gmail was down" thread. Regardless of how you feel about the Black Chamber, it's an excellently well-written document on setting up your own mail-serving VPS using postfix and dovecot; the filesystem-level encryption stuff is trivially severable, and constitutes about 80% of what I'd have written (but not as well) had I not found this first. The other 20% would be setting up Baïkal for CalDAV/CardDAV service, but that's pretty straightforward and well described in the Baïkal Github repo.
(Minor quibbles about the HOWTO: I'm not sure Solr is really necessary; Dovecot seems to give me full-text search for free via IMAP. Also, I tried Z-push and it worked, but didn't support message flags, which I require, and I got tired of push pretty fast anyway. It works, and might've added message flags in the years since I tried it, but it's by no means required. Still, an excellent document, which I unreservedly recommend.)
[1] http://sealedabstract.com/code/nsa-proof-your-e-mail-in-2-hours/
airstrike · 2024-10-11
You're only seeing the alleged benefits from GPL, without factoring in its costs. Everything is a tradeoff. Some companies don't touch GPL code, which means those projects receive less support than they would with a more permissive license such as MIT/BSD. You're claiming GPL "[encourages] organisations to release their code under a similar license". I'm saying it often discourages organisations from ever touching GPL code and picking other libraries instead.
People have been writing about this in way more detail for a long time. If you're really trying to understand some position you can't possibly fathom and not just argue, then I'd point you to one post from 15 years ago: https://sealedabstract.com/rants/why-the-gpl-sucks/index.html
sickofparadox · 2024-06-17
This XKCD sucks and is essentially a thought-terminating cliche.
https://sealedabstract.com/rants/re-xkcd-1357-free-speech/index.html
k310 · 2023-08-11
mpweiher · 2023-04-02
> Javascript ... faster [than static languages] in real world tests
Er...citation needed?
All the benchmarks I have seen, particularly real-world, show it to be significantly slower than static languages.
For example:
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/no…
See also:
https://sealedabstract.com/rants/why-mobile-web-apps-are-slow/
Karunamon · 2021-11-19
What isn't? Every single stepping stone on that path uses someone else's infrastructure, who are able and willing to shut you down for any or no reason.
To activate your free speech rights, first buy a computer and build your own datacenter. Next, start your own ISP. Finally, tell others about your site, without piggybacking on any existing sites. In this way, all citizens can express their views without fear of censorship… and without fear of anyone ever noticing.
https://sealedabstract.com/rants/re-xkcd-1357-free-speech/index.html
vxNsr · 2021-03-19
Oddly, until recently they were. It only became different recently and obv xkcd popularized the idea, but if freedom of speech isn’t associated with freedom from persecution it’s not really free speech.
Everyone in the world has the right to free speech because they can literally talk and say whatever they want, but if the society that speech is spoken in doesn’t agree to allow that speech to be spoken freely (as in beer) it’s not a truly progressive society. Apparently the brits have been struggling with this for years[0]
[0] https://sealedabstract.com/rants/re-xkcd-1357-free-speech/index.html#f…
mrfredward · 2020-10-08
The same author has a post from 2013 (3 years after "Why I stopped reading HN") addressing what is lost when programmers chase internet points.
https://sealedabstract.com/rants/hey-programmers-we-need-to-talk/index…
It resonates with me because I often find myself scrolling HN when I was meaning to be working on a project, both at work and at home.
rntksi · 2020-10-08
The author is actually still reading HN: https://sealedabstract.com/posts/metapolitics/
endgame · 2017-08-03
That argument gets increasingly flimsy when all public spaces that matter are owned by private corporations, both online and off.
The quotes from Alexander Hamilton and J.S. Mill in the below link sums it up well, IMHO:
http://sealedabstract.com/rants/re-xkcd-1357-free-speech/
Spivak · 2017-02-09
Freedom of speech is an idea that many people hold well above the very limited constitutional right.
http://sealedabstract.com/rants/re-xkcd-1357-free-speech/
striking · 2016-11-23
History suggests otherwise, and so does the SCOTUS and ACLU.
http://sealedabstract.com/rants/re-xkcd-1357-free-speech/
jpm_sd · 2016-11-04
A postmortem on nanomsg begs to differ: http://sealedabstract.com/rants/nanomsg-postmortem-and-other-stories/
daurnimator · 2016-09-18
Yeah that was my first guess. My second guess would be the articles around the demise of nanomsg. http://sealedabstract.com/rants/nanomsg-postmortem-and-other-stories/