Buttery Smooth Emacs - <AUTHOR> https://www.facebook.com/notes/daniel-colascione/buttery-smooth-emacs/10155313440066102/ <comment><USER2> Related to the topic of "Emacs is a terminal program with lots of clever hacks to run in a GUI", I recently encountered a big problem on macOS 10.12 "Sierra", which I found reported at [1]

The crux of it is that macOS became more strict about what you were doing in GUI- vs non-GUI-threads, and now asserts if you fetch GUI events (I think?) in not the main thread, because of the risk of memory corruption. Ostensibly.

This bug only manifests if you compile Emacs on 10.12 (so if you install the "emacs-app" in MacPorts, for example), because then it'll link against the asserting framework. If you use Emacs from another source that compiles it on 10.11 (such as from [https://emacsformacosx.com/](https://emacsformacosx.com/)), then it links against an older framework that doesn't have the assert, and it'll work "fine".

Considering the fractal accumulation of "clever hacks" that make Emacs work on modern GUI systems, I'm curious to see how this issue will be resolved, because I doubt it's something so simple where Emacs has proper separation of GUI vs non-GUI threads, as QED by the article ;)

[1] [https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24678](https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24678)

<comment><USER3> This issue is aleady solved in Yamamoto Mitsuharu's Emacs OSX port ([https://bitbucket.org/mituharu/emacs- mac](https://bitbucket.org/mituharu/emacs-mac)) which if you use Emacs on OSX is what you should be running (rather than the "official" OSX branch).

The OSX support in the mainline Emacs repo (which emacsformacosx.com and aquamacs use) is a third class citizen, since very few people work on it and Stallman is always quick to remind the rest that Linux (sorry GNU/Linux) remains the priority rather than those pesky non-free OSes. The end result is that the official OSX Emacs is perpetually buggy (check emacs-devel, it breaks all the time) and lacks a lot of useful features that are available through new OSX APIs. To make matters worse, Stallman has demanded that _useful features be removed_ from the OSX branch, because _Linux doesn't have equivalent APIs_. It was disappointing to see them following through with these removals.

On the other hand, the Yamamoto Mitsuharu port is rock-solid, functionality is not removed cause Stallman said so, is actively worked on (Yamamoto was the old Carbon Emacs maintainer and knows what he's doing) and uses the latest OSX APIs. It has had flicker-free double-buffering for years, smooth (pixel-based) scrolling with inertia, integrated AppleScript bridge, integrated Apple event support, HiDPI, ligatures, graphics/SVG/animations through ImageKit, proper C-g handling, dictionary service support, proper fullscreen, and I could go on and on and on [1] ..

TL;DR

If you're using Emacs on OSX, you should be running Yamamoto's port.

[1] [https://bitbucket.org/mituharu/emacs- mac/raw/892fa7b2501a403...](https://bitbucket.org/mituharu/emacs- mac/raw/892fa7b2501a403b4f0aea8152df9d60d63f391a/README-mac)

<comment><USER4> No. You should be using the official emacs-x, not emacs-app, not Aquamacs, not Carbon or emacs-mac. I tried to work with them, but after a week I'll get terrible hand aches for their problematic keybindings.

The traditional x port flickers a bit, (dan just fixed it via xdbe, great!) but proper Ctrl-x, Command-x and just works as everywhere else. RMS politics are stupid, yes, but overall the official port is still the best.

<comment><USER5> Just to make sure everyone reading this can follow along: you are probably suggesting using Emacs on the X windowing system on OS X (which would of course require XQuartz to be running).

And by "problematic keybindings" you probably mean how most graphical Emacs packages on OS X use the Command modifier key to set the meta bit.

But Mitsuhara Emacs (or emacs-mac as you refer to it) lets you assign any "Emacs modifier bit" (control, meta, alt, hyper or super) to any of OS X's modifier keys (namely, control, option, command or fn) except for the shift key.

So for example if you're on a Macbook, but you are used to the key on the bottom left's being a control key, you would add (setq mac-function-modifier 'control) to your .emacs.

To use the option key as your meta key, (setq mac-option-modifier 'meta).

>The traditional x port flickers a bit

None of the other ports you mention have ever flickered in my experience. And running Emacs under X has the disadvantage that Emacs ends up looking quite different typographically than native OS X apps do.

<comment><USER6> I'm using an rMBP and the XQuartz treatment of text on there is literally painful -- simultaneously blurred and pixellated if that makes any sense. This isn't the hedonic treadmill effect with regards to the retina display as I have no problems using other systems with "standard" displays.

<comment><USER4> I agree that the latest XQuartz update forced me to try out the native emacs- app which had nicely looking fonts. But I couldn't store my selection of a good font, and the overall experience was awful. My hand still hurts.

With the latest XQuartz and emacs 25 only "Use System Font" looks good, before we had much more good fonts. Wonder what caused this regression.

</comment></comment></comment></comment></comment></comment><comment><USER7> What are some good resources to learn more about the inner workings of text editors or building one from scratch? So far I've found and enjoyed reading/watching the resources below and would love to learn more.

* The Craft of Text Editing: [https://www.finseth.com/craft/](https://www.finseth.com/craft/)

* Writing a Text Editor From Scratch: [https://www.twitch.tv/gary_bernhardt/v/90796516](https://www.twitch.tv/gary_bernhardt/v/90796516)

* A Modern Text Editor Built in Rust: [https://www.youtube.com/watch?v=SKtQgFBRUvQ](https://www.youtube.com/watch?v=SKtQgFBRUvQ)

<comment><USER8> One of the best docs describing how to write an editor I've ever read was the old documentation for the lcc-win32 compiler. It touches on the practical aspects of developing an editor (and the pipelining compiler as well.) Some understanding on how the Windows API works might be of value for the editor part, but the compiler part should be understandable to anyone:

[https://docs.google.com/document/d/1_S7gv6UGLAKuo9g1tNoNbU2O...](https://docs.google.com/document/d/1_S7gv6UGLAKuo9g1tNoNbU2OR_5DBYEdquvYeqgkPMk/edit?usp=sharing)

(I won't go into jus how hard it was to find this version of the docs and extract the file on a non-Windows computer. Luckily I just did that a few months ago for unrelated reasons!)

<comment> Lx1oG-AWb6h_ZG0 Thanks, this is fascinating! This is the sort of thing that makes me think Vernor Vinge wasn't so far off when he described the concept of programmer archaeologists.

BTW, can you upload the original doc file somewhere? Google Docs appears to be mangling the formatting in a few places (page 28, for example).

<comment><USER8> Hey, absolutely. Here they are, zipped with the original installer: [https://drive.google.com/file/d/0BxF_x9mBC-n1eEduWVRmV3ZJTUU...](https://drive.google.com/file/d/0BxF_x9mBC-n1eEduWVRmV3ZJTUU/view?usp=sharing)

I hadn't heard of Vernon Vinge before, but the concept resonates. There's so much lore and knowledge to be found in old software packages. When I was learning how to program, I randomly found this pseudo-BASIC compiler called ASIC, which was amazing for what it could do. It provided low-level functionality that normal QBASIC wouldn't give you. I remember spending a whole summer playing with that and a free tutorial on 3D programming called "3DICA" written by some Finish students. Good times.

BTW, [http://www.textfiles.com](http://www.textfiles.com) is a great place to start looking for oldies but goodie :)

<comment><USER9> Well, if you like science fiction, you should read some of his works. He is a mathematician and computer scientist who has written some fascinating science fiction. "A Fire Upon the Deep" is probably his best and most famous work. Imagine that in different parts of the universe people can have different intellectual abilities because of different physical laws. And we are living in the slow zone.

<comment><USER8> Thanks for the book recommendation! I'll add it to my queue, for when I finish Abaddon's Gate (The Expanse, BTW, is a pretty solid sci-fi series, although I think I'm ready to take a little break after three books in a row.)

<comment><USER9> Loved the Expanse. Read the first few books, need to get back to it. It feels like our future world more and more.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> Windowing systems and GUI modules and so on and so on, all give us powerful capabilities but also come with their own conceptual frameworks that need to be understood and plugged into each other. If both the module designers and the engineer of the larger system are working from roughly the same mindset, this is routine work. But if the former and the latter worked on entirely different machines, trained by computer science in wildly different stages of its development, I'm sure things can get much more "fun."

 _Intergenerational software development_ will someday be its own sub- discipline, with professors and specialized techniques and everything.

<comment><USER11> See also "software archeology" in the sci fi book _A Fire Upon the Deep_. God I love that book.

<comment><USER12> Software archaeology is from the prequel, "A Deepness in the Sky".

<comment><USER11> Ah. Well, I love them both.

<comment><USER13> Software archaeology is in both =D

</comment></comment></comment></comment></comment><comment><USER14> On the flip side, it's pretty cool what Emacs can still do on a text terminal. Multiple windows, mouse, auto completion pop-ups--all work comfortably over an SSH session.

<comment><USER15> I use tramp for all things ssh these days. Becomes very practical w/ ssh-agent and Emacs bookmarks.

<comment><USER16> You can even use eshell w/ tramp... sorta

<comment><USER17> What do you mean sorta? The eshell integration is amazing in later versions. Can cd into docker instances. Is glorious.

<comment><USER18> Could you share details, please? Does it work out-of-the box or what do I need do do this?

Edit: Found it out myself. Install docker-tramp.el [1], `C-x C-f` to `/user@myserver|docker:mycontainer:/`

[1]: [https://github.com/emacs-pe/docker-tramp.el](https://github.com/emacs- pe/docker-tramp.el)

<comment><USER17> Apologies, having a day mostly out. That is indeed the package I am using. Glad you found it.

</comment></comment></comment></comment></comment></comment><comment><USER19> This is the commit in question: [https://github.com/emacs- mirror/emacs/commit/c29071587c64efb...](https://github.com/emacs- mirror/emacs/commit/c29071587c64efb30792bd72248d3c791abd9337) for those interested.

<comment><USER20> I really hate that commit message style. Lots of content that can be auto generated, little explanation :(. Not the authored fault, but I really don't understand why so many gnu projects still do this.

</comment></comment><comment><USER21> "One day, a fool wanted to run Emacs in a GUI as a native GUI program. The rest is ChangeLog."

<comment><USER22> "Internally, Emacs still belives it's a text program, and we pretend Xt is a text terminal, and we pretend GTK is an Xt toolkit. It's a fractal of delusion."

<comment><USER23> ...Well then how do fonts, images, and embedded X widgets work? Are they elisp hooks into the lie?

<comment><USER24> They're propertized text. For example, on the splash screen, you can move the point on the logo and M-x describe-char to see that it has:

          display   (image :type svg :file "splash.svg")

[https://www.gnu.org/software/emacs/manual/html_node/elisp/Di...](https://www.gnu.org/software/emacs/manual/html_node/elisp/Display- Property.html)

<comment><USER23> That makes sense.

Frankly, Emacs is a fractal of hacks, but it's incredibly powerful, consistent enough from a user perspective, and usually works, so we tend to ignore it.

</comment></comment></comment></comment></comment><comment><USER25> There a discussion on the mailing list about pulling GTK support out into its own front end (like mswin or ns) that never uses X directly. This would allow simplifying the X front-end, and also running graphical emacs on a pure Wayland system.

I wonder if something analogous this hack would be required in the new GTK front-end.

<comment><USER26> So for those of us not in the inside loop, what does "pulling out into its own frontend" mean?

Also, are the Xt and motif versions still maintained? Surely the user base of those must be pretty close to 0 these days?

<comment><USER27> You'd be surprised how many people use non-GTK X11 Emacs. The reasons they give include being able to connect and disconnect from multiple X servers (GTK has longstanding unfixed bugs here) and being generally lighter on the system than GTK is.

"Pulling [GTK] out into its own frontend" means taking GTK support out of where it is now, Emacs' general-purpose X11 code (where GTK is one of many supported X11 toolkits) and putting it in a new top-level window-system that's a peer of NS (for OS X) and Windows support. The new GTK window system wouldn't be allowed to use X11 functions directly. Under this architecture, Emacs would be much closer to a well-behaved GTK program and could take advantage of cool GTK tricks like Broadway support.

<comment><USER28> I am one of those X11-only, no-toolkit Emacs users. The only times I need gtk support is when I run a variant build with gtk3 support in order to have a native Wayland window which doesn't require Xwayland. But I primarily use X11 so the no-toolkit, X11-only build.

<comment><USER29> It does X11 specific calls unconditionally, so it is not currently possible to run emacs as a native Wayland client.

<comment><USER27> One of the big advantages of the new GTK-only backend I propose in [1] is the ability to use non-X GTK back-ends, like Wayland and Broadway.

But SHTDI. Volunteering?

[1] [https://lists.gnu.org/archive/html/emacs- devel/2016-10/msg00...](https://lists.gnu.org/archive/html/emacs- devel/2016-10/msg00956.html)

<comment><USER29> I already spend most of my day writing an IDE (GNOME Builder) and making it Wayland ready out of the box.

However, I am responsive on #gtk+ answering questions to people working on this.

</comment></comment></comment></comment></comment></comment></comment><comment><USER30> Emacs flickers? I've never noticed this, but I've only ever used it on Linux. Maybe it flickers in OSX?

<comment><USER31> Perhaps using a compositing desktop manager mitigates it, since those are almost always vsync'd and double buffered.

Edit: Hm, no there is no synchronization between the WM and emacs in any way. So this can't be it.

<comment><USER32> It definitely flickers a bit when running in XQuartz.

(I hope this change doesn't make it run crappily in XQuartz! X-Windows programs that do double buffering draw to an offscreen buffer often perform really poorly, poorly enough that I'd definitely rather have the flicker, not least because I don't mind the flicker too much anyway.

(I assume a lot of them have a client-side pixmap that's written to manually, and then has to be sent over the network link. )

<comment><USER27> One of the advantages of using the X double buffer extension or XRender or something like that is you don't need to send raster image data over the network. You're still sending ordinary drawing commands, and it's the server that accumulates the results into a pixmap somewhere.

If it _is_ slow for you, you can turn off the new stuff:

        (modify-frame-parameters nil '((inhibit-double-buffering . t)))

<comment><USER4> But why inhibit-double-buffering and not just the simple no-double-buffering?

<comment><USER32> There are only 3 variables with a "no-" prefix, but 30+ starting with "inhibit-"...

</comment></comment></comment></comment></comment></comment><comment><USER33> I cannot read a blog post without seeing who of my fiends is online. Now, this is progress!

<comment><USER34> I had the same feeling. I often want to keep facebook apart from my hacker reading, for some reason.

</comment></comment><comment><USER35> I'm back on emacs after a couple of (fun) months with vim, and one of the things I miss is smooth scrolling in terminal. Enabling mouse in vim is enough for the scrolling to work pretty great in iterm2, while in emacs (also in iterm2) even after numerous hacks and trial and error I'm still not happy with the result.

<comment><USER36> You should be able to just (setq scroll-conservatively 1000). As you no doubt have guessed, the page-by-page scrolling default in Emacs is to reduce the amount of redrawing necessary.

</comment></comment><comment><USER37> Sorry if it's off-topic, but since when can you publish formatted "blog posts" on facebook?

<comment><USER38> It's called Notes.

For about 6 months.

<comment><USER39> Actually there was a similar feature almost since the beginning.

<comment><USER38> Yes, but the Medium-inspired formatting is quite new.

</comment></comment></comment></comment><comment><USER40> Prerequisites: XCode 8.1, brew, autoconf, automake, libxml2

Here's the .configure you'll need: ./configure LDFLAGS=-L/usr/local/opt/libxml2/lib CPPFLAGS=-I/usr/local/opt/libxml2/include PKG_CONFIG_PATH=/usr/local/opt/libxml2/lib/pkgconfig

<comment><USER41> > Prerequisites: XCode 8.1

There are more things in Heaven and Earth, Horatio, than are dreamed of in your iPhilosophy. ;-)

</comment></comment><comment><USER42> If I remember correctly this was actually one of the main differences with the XEmacs fork.

Some of the features are already fuzzy on my mind, but I think one reason I used to use it instead of the original Emacs was the improved GUI experience.

Last time I have used it was around 10 years ago.

<comment><USER26> IIRC a couple of decades ago XEmacs used the new and fancy Athena widget set (Xt), whereas Gnu emacs used, uh(?), raw Xlib.

Though I think XEmacs is mostly dead nowadays..

<comment><USER42> I would need to search for it.

Around 10 years ago is when I moved back into Windows on my main computer, so eventually I settled on using whatever Emacs version is installed, if any, when accessing GNU/Linux environments.

Another aspect was I think only XEmacs had nice menus and toolbar, until eventually Emacs added them.

</comment></comment></comment><comment><USER43> Thank you for taking the time to make things better.

</comment><comment><USER44> Surely with modern compositing window systems, the Emacs approach of _" I'll draw whenever I like"_ is actually the right one?

<comment><USER45> He was modernizing it on top of X11, which is still pretty far from a modern compositing window system. Also it looks like much of the challenge was even just identifying when drawing was truly complete. That problem doesn't go away by just putting a compositor in front.

</comment></comment><comment><USER28> Can we get this in 25.1.2 or in a branch/commit on top of 25.1 for those of use who don't want to track trunk's development, given how long the reschedule schedule is? The patch from the list didn't the apply cleanly, but I haven't tried to merge it in a git repo (yet).

<comment><USER27> M-x report-emacs-bug. We can talk about it there. Doubtful, though, since this work is both 1) brand new, and 2) not a regression fix.

"But I wants it!" is not a reason to backport fixes or issue new releases. You can always run from master for now.

<comment><USER28> Sure, that's why I asked if there's topic branch, even if now obsolete, which I could merge into the 25.1 branch. I'll do some digging, since this seems to be a single commit from what I can tell.

</comment></comment></comment><comment><USER46> How much effort would it take to rewrite a modern GUI for Emacs?

<comment><USER47> What would a modern GUI look like for Emacs? And how would it be an improvement?

Every time someone releases a new IDE or text editor or word processor I take a look and then return to Emacs. I don't mean that it is perfect, just, for me, better than the rest.

<comment><USER46> Currently per the article states, the Emacs GUI uses a lot of hacks to display like a terminal. Because of this a lot of things like real smooth scrolling doesn't work like most text editors. Highlighting text with a mouse for example just doesn't feel right. I know people will say who uses a mouse to operate Emacs anyway but there are plenty of other scenarios that makes Emacs feel somewhat ancient, which it doesn't have to be. I don't use Linux DE a lot to know all of the quirks but on OS X when Emacs go full screen there are still black borders, etc. Imagine the possibilities of having a non-text only modeline for example, the ability to render pdf and modern JS/CSS websites, etc.

<comment><USER47> In what way does highlighting with the mouse not feel right?

Seems to work pretty much the same as in Visual Studio to me. Mind you I hardly ever use it, I prefer to mark the region instead.

If you can add what you want to Emacs without making the new features compulsory and without removing the existing ones then by all means go for it. But I suspect that the lack of some features is simply down to no one with enough enthusiasm and expertise to build them actually wanting them. Most of Emacs' features were built by people who wanted to use them so a lot of stuff ends up being worked on just until it is good enough for the creator's own purposes.

</comment></comment></comment></comment><comment><USER48> The C side of Emacs is pretty bad, and his description makes it sound worse, but honestly I've never seen Emacs flicker or draw white boxes at any time in my life.

<comment><USER27> I wouldn't call it "bad". Is it different from most modern programs? Certainly. But it does a lot of clever things well. A program that I use every day can't be all bad.

<comment><USER49> I think he meant bad as in this: [http://geoff.greer.fm/vim/](http://geoff.greer.fm/vim/). 400 lines of code to wait for keyboard input.. sweet Jesus. Thankfully Neovim exists now.

Granted, that's a VIM example, but I can't imagine Emacs being much better in terms of code.

<comment><USER27> FWIW, I've hacked a little bit on bash, and IMHO, Emacs internals are _much_ cleaner than bash's.

</comment></comment></comment></comment><comment><USER50> Somehow I suspect this is a gambit to pull Jamie Zawinski out of coding retirement.

<comment><USER51> Don't believe Debian's lies, xscreensaver just got an update this month.

</comment></comment><comment><USER52> I always wondered why Emacs struggled to render certain visual elements as quickly as other editors (e.g. Sublime). For example, load in a relatively long line (not even ridiculously long), and it comes grinding to a halt, can't even edit text _near_ the long lines, if its in view! Same goes for linum mode being resource heavy. Why is this? I would have expected that a text editor built in the 70s should excel at rendering text quickly and efficiently?

Is the reason related to this blog post? Every time I tried to profile emacs it led me to the redisplay function, and from there i was lost..

Is there any hope that emacs will ever render code as quickly as modern 'native' apps (e.g sublime)??

<comment><USER5> I'm pretty fussy, and I haven't noticed any slowness when editing long lines on Emacs on OS X or Windows. Might be specific to the GTK port.

</comment></comment><comment><USER53> Every time I'm reading about emacs I'm thinking if it might be worth porting my vimrc to emacs+evil. What do you think? Anyone done the switch? Are there any significant benefits I get from doing it?

(Please don't suggest spacemacs)

<comment><USER54> Diehard Vim user here. I use Vim-motions everywhere, system-wide. You should at least try Spacemacs, learn the layers system and then based on that build your on configuration. Trust me - it just makes things a lot easier. Spacemacs comes in different "flawors" you can choose bare-bones, instead of default and then add anything you want on top of that.

<comment><USER55> Ditto. Spacemacs is awesome and very configurable (but in a good way).

</comment></comment></comment><comment><USER56> There's a great blog at [http://emacshorrors.com/](http://emacshorrors.com/) if you need to satisfy your roadkill-fascination with the layers of hacks we call Emacs. See [https://hn.algolia.com/?query=emacshorrors&sort=byPopularity...](https://hn.algolia.com/?query=emacshorrors&sort=byPopularity&prefix&page=0&dateRange=all&type=all) for some highlights :-)

</comment><comment><USER57> Now we just need something like this for Vim. I don't know why, but iTerm 2 + Vim is very slow for me. Holding "j" or "Ctrl + Y" for instance is jerky and slow. Maybe it's just my computer and no one else has this problem, but it's a relatively recent MacBook Pro. I've checked all my settings in .vimrc and Googled the problem, but I can't seem to figure out what is making it so slow.

<comment><USER58> Try Spacemacs. It gives you VIM in Emacs.

<comment><USER59> So do viper or evil modes. Right in a terminal version, too, if that's your thing.

<comment><USER54> Spacemacs is not just a mode or a bunch of modes. Building decent evil-based config is not easy and may take years. Every Vimmer I believe should at least try Spacemacs.

</comment></comment></comment></comment><comment><USER60> "My diff turns scrollbars and other widgets that share screen space with the double-buffered region into independent X windows. Overall, it's a giant hack."

Ain't that how X11 was originally envisioned? You'd create a bunch of windows made of many smaller windows. At least, that's the impression I got when I started playing around in X11 (mostly for StumpWM hacking).

</comment><comment><USER61> It's great to see improvements in Emacs. Are there any developments on getting a decent terminal emulator? I use term but occasionally have to open GNOME terminal when Emacs' term can't display something properly (like ncurses-based programs).

<comment><USER3> I tried writing one in pure Elisp some time ago, but it was too slow. Maybe I'll give it another shot in C this time, on top of the new dynamic module support.

The built-in terminal emulator is atrocious, both code-quality and feature- wise.

<comment><USER62> I agree with you as an end user that the features of all terminal emulators available in emacs are atrocious. Have my up vote, and silent support should you decide to really put some time into a better terminal for emacs.

</comment></comment></comment><comment><USER63> Any reason you chose to use DBE instead of just creating two drawables and swapping with Present / CopyArea? DBE is considered deprecated over the newer techniques since it's not accelerated.

</comment><comment><USER64> Now people are publishing on Facebook pages that look like modern blogs?

<comment><USER65> Facebook employees are

<comment><USER66> I'd be tempted to do this. Not work for Facebook, but blog using Facebook.

<comment><USER64> Because you're insane?

<comment><USER66> It's quite possible.

</comment></comment></comment></comment></comment><comment><USER67> How do I install this version? (On a mac, preferably using homebrew)

</comment><comment><USER68> I love how the solution was to add another layer of emulation.

<comment><USER69> A famous aphorism of David Wheeler goes: "All problems in computer science can be solved by another level of indirection" (the "fundamental theorem of software engineering"). This is often deliberately mis-quoted with "abstraction layer" substituted for "level of indirection". Kevlin Henney's corollary to this is, "...except for the problem of too many layers of indirection."

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

</comment></comment><comment><USER70> I am chocked that somebody that can be so involved in Emacs can share it's ideas on Facebook.

It would be a big failure for Emacs.

<comment><USER71> Dan is an ex-Facebook engineer.

</comment></comment><comment><USER72> Emacs' redisplay architecture is an adaptation for ancient serial terminals with very low rates. On those terminals emacs has always been "buttery smooth" compared to other editors! Of course very few people have any reason to use those terminals these days.

</comment><comment><USER73> Now we need true color terminal support.

</comment><comment><USER74> I have heard that double-buffering is an excellent solution to a number of data-stream problems. Are there any resources on StackOverflow explaining such things?

<comment><USER75> What's to explain? You allocate two image buffers. At any particular time, one is displayed and the other is hidden. You draw to the hidden buffer. When you're done drawing, you swap the buffers. Lather, rinse, repeat.

</comment></comment><comment><USER76> I've never understood why anyone uses Emacs over purpose-built IDEs. This article made me even more confused.

Can anyone explain?

<comment><USER77> One editor to rule them all, then you don't have to individually configure every IDE with various idiosyncratic preferences. & learn new sets of commands which you can't take with you elsewhere. Reuse muscle memory between all situations. Reuse over SSH. Low resource requirements. Infinite scriptability

<comment><USER76> Multiple editors would have been an issue for me a few years ago, but JetBrains has changed that (for the set of languages I use, anyway). I can use the same IDE for a bunch of different ecosystems.

Reuse over SSH is a compelling reason. Do you still have low resource requirements if using things like linting, hinting, and full graphical debugging?

<comment><USER78> > Multiple editors would have been an issue for me a few years ago, but > JetBrains has changed that (for the set of languages I use, anyway). I can > use the same IDE for a bunch of different ecosystems.

Exactly. Now, imagine being able to use that same IDE for everything JetBrains supports, and to read man pages, and to read info pages, and to read & compose email, and to list the processes running on your computer, and to manage files in directories, and to emulate a terminal, and to browse the web, and to play NetHack, and to use IRC, and to manage git repos, and to do _every other thing you want_. And all the keybindings remain consistent throughout all of those modes. And you can easily schlep data back & forth between them. And it's extensible in a relatively sane language (sane compared to Java, JavaScript, C, C++ and Python, anyway).

That's why we use emacs. That's why it's very difficult to understand why anyone else _doesn 't_ use emacs.

> Do you still have low resource requirements if using things like linting, > hinting, and full graphical debugging?

Emacs can be pretty amazingly fast even with all of that running. There are advantages to having first been written back when computers were small.

</comment></comment></comment></comment><comment><USER79> can we please refrain from posting facebook links unless the circumstances dont allow any other blog host ? call me a privacy fetishist but it is in the best interest of everyone to avoid this site like the plague.

<comment><USER70> Talking about Emacs on Facebook is awful. As if the thing was "only a text editor" and not a symbol of freedom...

<comment><USER54> Author also worked at Facebook. According to your logic it would be awful if North Korean journalists would talk about freedom of speech.

<comment><USER70> For a Facebook employee, there is many other ways to speak about Emacs than on a closed platform.

In North Korea, I am not sure they have many alternative if they want to chat about freedom of speech.

Though, I appreciate that you compare Facebook to North Korea.

</comment></comment></comment></comment><comment><USER15> I really dislike this style of writing. When I came to the actual important part I was exhausted already having read paragraphs of much-ado-about-nothing. GNU Emacs is older than me, and it's probably older than X Windows, certainly it'll have some weird things here and there. Why the shock?

I haven't ever experienced any flickering on emacs myself, but thanks to the author for the patch anyways. One thing I'm looking forward to is the concurrency patch.

<comment><USER80> Then don't read it. Surely there will be a summary blog post written for those that don't like long form. I personally enjoy the meandering sometimes. It's the difference between reading a book and reading the cliff notes, they each have their place.

<comment><USER81> Usually, one must read a piece to build an opinion on its style and comment about it. Just sayin'.

<comment><USER15> As you see you better keep them comments to yourself. This guy wrote that I'm "shitting on" things and "nobody cares about [my] opinions", and no mod intervention. A couple months ago I told a guy he was being too pedantic and my thread was detached.</comment></comment></comment></comment>


Eek, A Male - <AUTHOR> http://online.wsj.com/article/SB10001424052748703779704576073752925629440.html <comment><USER2> My child went to an excellent day care center that got targeted for harassment because it had male workers. The place got inspected by the state and ultimately got a clean bill of health, but it cost them money and caused a lot of worry for them and parents who had children there.

I spoke with the director and we both agreed that children spend too much time with women in school and day care. One of the reasons many young boys don't click with school is that they don't get male role models. Children who don't have a "man in the house" might get all the way to high school before they meet any male role models at all.

<comment><USER3> I spent several years working with elementary-aged kids in our church. For one whole year, it was me and another dad with a class of a dozen or so 5 year olds. (We're all background-checked, for what little that's worth. We also have child protection guidelines to follow - foremost of which is to never be alone with a kid and no other adult.)

It was amazing to see the reactions of moms dropping off their kids when they realized it was just us. Only once did I get asked "is there going to be a mom here with you?" but I know it was in a lot of their minds. But I never had one refuse to leave their kid with us. Over the years I've had plenty of moms eventually tell me how glad they were to see men working with kids.

I did get a chance for 2 years to run more "boy-friendly" activities at church. We did mock camp-outs, blanket forts, went outside for classes whenever the weather and sunlight allowed, and even had campfires outside during what otherwise would have been time spent sitting around a table trying to pay attention. Boys don't work well indoors trying to sit still and pay attention. They really do absorb more if they're outside and their hands are busy.

I even got to work with a special-needs girl that was horribly abused by her birth parents. (I'd happily beat her birth parents within an inch of their lives and worse if I ever met them.) In two years she went from screaming fits if an adult even accidently touched her arm to the point that she'd walk up and hug me. I was honored to be a small part of her recovery.

<comment><USER4> The Child Protection Policy at my church requires a male and female leader in every situation.

Its a shame that this is where our society is going and that being 'beyond reproach' means remaining one step ahead.

</comment></comment></comment><comment><USER5> If I had to choose one of the following, to improve society:

      a). More women in tech
      b). More men in childcare/teaching

It'd be 'b' without a doubt. As said elsewhere, the complete lack of any male role models at a large number of schools is astonishing and very worrying. Is it any wonder girls are performing better than boys these days, as the number of male teachers has decreased to almost none?

Great to finally see an article like this one.

<comment><USER6> I have to admit I'd go the complete opposite. I do know there are great male teachers, but in environments where the male teacher might be alone with children I am hesitant. The data bears this out, as does personal experience.

With that said male coaches or piano teachers or tutors I have no problem with, since those generally take place in plainsight of parents.

I know that really sucks for the good ones, and most are. But there are enough bad ones that the risk seems too great.

<comment><USER7> Most abuse is by family members/friends.

So rather than trusting your husband to drop your kids off in the SUV and worrying about the gym teacher - you would be safer letting them walk with strangers.

<comment><USER8> In the same way that "most accidents happen within 5 miles of home" is true but wouldn't be true any longer if you intentionally increased the amount of time spent driving farther away, if you made sure your kids hung out with a variety of strangers more often than with people you know, then it wouldn't be true any more than most of their abuse would come from family or friends.

At least, you can't deny that it's possible. In other words, your reasoning is wrong ("So ..."), no matter the actual truth value of your conclusion.

</comment></comment></comment></comment><comment><USER9> [I originally posted this on a reddit discussion, link's at the bottom]

      One day, my friend Bryan was charged with the daunting task of getting Ellie, one of the older and more difficult students, to read out of a children's book for a distinct and measurable amount of time.

After some cajoling, pleading, and maybe even trickery, the two were finally sitting down at a table with myself and another student. To keep Ellie in control long enough to read more than a sentance was a complicated maneuver, but the best way (this was relayed by the teacher-coordinator person) involved being really close with him and loosely holding him in place. I don't know much about Ellie's potential conditions or history, but this makes some sort of sense. Suffice it to say, they were close, but in a totally appropriate manner (I was in a position to guage, because I was basically staring in awe the entire time)

But a few minutes in, Ellie decides he's done reading for the day. And for one reason or another, he jumps up out of the bench seat, pointing an accusatory finger at his tutor. His English wasn't super clear, and he wasn't being very loud (thank god), but I did catch "touch" and "special area."

The two of us are frozen in horror. What can you say but "I... b... no..."? Ellie maintains this outrage long enough to really get some good satisfaction out of the looks on our faces, and then he relents and just starts laughing at us.

What if someone walking by had heard? We were in a partially exposed church basement kind of area, so it's not unheard of for random people to be walking by - and the cry of abuse stirs the indignation better than most anything else - so there was a really good chance that something really awful was about to happen.

But it didn't.

So the question was, what do you do now? We tried to impress upon him never to do something like that again, but he clearly didn't grasp the full potential force of his actions. We were like 20 at the time, and ill-equipped to deal with children on this level, so we probably should have relayed the event to an adult of some sort, but we were too worried about how it would be perceived, so we just moved on.

Neither of us stopped volunteering because of the incident, but I'll never forget the sinking dread of that instant, that's for sure.

[http://www.reddit.com/r/AskReddit/comments/e7l16/i_work_with...](http://www.reddit.com/r/AskReddit/comments/e7l16/i_work_with_atrisk_children_26_and_have_a_hard/)

<comment><USER10> I'll never forget when my two oldest kids (now in their 20s) went to one of those early head-start kind of places when they were a kid.

One week the lesson was on inappropriate touching. I know this because both kids spent the next month inappropriately touching everybody they met -- with some very humorous results.

Of all the things that have changed in the last 40 years or so, this thing we've done where we've trained everybody to be afraid of each other is probably the worst. Every day parents are bombarded by statistically highly- unlikely events that they take to be commonplace. It's made an awful impact on the fabric of society. Very sad.

<comment><USER11> All the french people in the audience will remember the Outreau trial ( <http://en.wikipedia.org/wiki/Outreau_trial> ) where several innocent people spent years in prison and one commited suicide, all that based on the lies of two persons and bogus psychiatric expertise of the children. The media also took a big part in this debacle. I think it really made people realize something here, I don't think this could happen again anytime soon. I hope you won't have to live something like that in the US to make things change.

People should be presumed innocent unless proven guilty, not the other way around. The modern western society would have us think otherwise (and not only for child molesting, see CCTV, airport screenings, ...).

<comment><USER12> Ah, but we did live through it in the '80s with the satanic abuse hoax, and we didn't learn anything. In fact, the people involved in pushing the hoax were rewarded with higher office. See [http://online.wsj.com/article/SB1000142405274870428120457500...](http://online.wsj.com/article/SB10001424052748704281204575003341640657862.html) for a good writeup of the case.

</comment></comment></comment></comment><comment><USER13> The media deserves a good chunk of blame for this phenomenon. They have inflamed society's fears into paranoia by hyping and over-reporting exceptional events, giving the false impression that child predators are anywhere and everywhere.

Meanwhile, children are far more likely to be physically or sexually abused or kidnapped by close relatives. But that story is less compelling from a media perspective so the public is less exposed to it.

<comment><USER14> I agree. I also think that like many things, this kind of paranoia regarding pedophilia is taken the the extreme in the US. I've spent time in several European countries, Greece for example, where it is perfectly OK for an adult man to pat someone else's child on the head without the mother pulling the kid close.

</comment></comment><comment><USER15> Lenore Skenazy is actually the leader of an entire movement around kids being able to do more of what they want (hence the book: Free Range Kids). You can check out the blog here: <http://freerangekids.wordpress.com/>

Also, she caused quite a stir a few years ago for letting her 9 year old kid ride the subway alone. Her story about it is here: [http://www.nysun.com/news/why-i-let-my-9-year-old-ride- subwa...](http://www.nysun.com/news/why-i-let-my-9-year-old-ride-subway-alone)

<comment><USER16> Skenazy was also featured in an episode (608) of Penn & Teller's Bullshit about the topic.

[http://en.wikipedia.org/wiki/List_of_Penn_%26_Teller:_Bullsh...](http://en.wikipedia.org/wiki/List_of_Penn_%26_Teller:_Bullshit!_episodes#Season_6:_2008)

</comment></comment><comment><USER17> All the newspapers and TV stations and social media and whatnot create an environment very different from the one we evolved with. This is not the small tribe living in the savanna anymore, yet we react to news exactly the same way.

Hence all the bizarre attitudes like the one described in this article.

<comment><USER18> It's like the "mass animal deaths" stuff at the beginning of the year. Despite all statistics saying it's normal, it suddenly feels like a real problem because the news is covering it. 24/7 news is probably the worst thing to come from the 20th century.

</comment></comment><comment><USER19> I didn't know the author's gender until the end. Nice to see a woman pointing out misandry.

</comment><comment><USER20> Male nanny here.

Anyway, I was an education major and one my male professors would always stress to the males in the class that they should be extremely cautious when dealing with children (don't hold their hands, etc):

The professor started out teaching first grade, and one time, a boy in his class came out of the bathroom with his pants down because he couldn't get them back up. Before the boy could even ask for help, the professor ran down the hallway to the nearest classroom with a female teacher to have her pull up the boys pants.

I'm not offended by the way it is though. Like how at the Iowa daycare center where the one male aide can't even be in the room while diapers are being changed. I was taught to stay far away from those types of situations and to be honest, if it makes someone feel better that I'm not in there - that's fine by me.

<comment><USER21> Slippery slope, dude.

</comment></comment><comment><USER22> I remember when this all got started in the early 90s. The 80s were pretty mellow but then I think the Polly Klass murder in California was a watershed moment where the politicians and the news media just went for it with the insane anti-male paranoid stuff. All the school policies changed and everything got excessively locked down and paranoid.

<comment><USER23> The 80s weren't completely serene either though. That's when the whole day care sex abuse hysteria really picked up steam.

<http://en.wikipedia.org/wiki/Day_care_sex_abuse_hysteria>

</comment></comment><comment><USER24> Sadly, it's difficult to compare the hand-wavy benefit (letting children interact with men) with the real cost of having something happen to your child.

As a parent, I'm of the opinion that the media blows kidnappings and the like way out of proportion. Even then, it's difficult to look at the data objectively, because it's your children.

<comment><USER25> Kidnapping and child abuse are almost always relatives or friends of the family. Strangers, statistically, are very safe.

</comment></comment><comment><USER26> I get a weird mix of this.

I'm a scout leader in Australia, where Scouts is non-denominational, non- discriminatory and mixed gender. I'm a Venturer leader, the 14 - 18 year olds, and I'm gay.

These things ARE linked. I'm a Venturer leader because it was this or being a Joey leader, which is the under 10's, and I just CBF dealing with that noise, because I'm also gay, which makes parents immediately suspicious. 'Cause, you know, once a little bit of a pervert, NATURALLY a complete monster. Just like how litterbugs all become worse then Pol Pot.

So, on the one hand I avoided one sort of leadership. On the other, I'm wanted because I'm a male, I can relate to the younger dudes. At camps we have a leader of both sexes not because there are touching fears, but because kids need someone of either gender to talk too if they need it, to make them comfortable.

</comment><comment><USER27> This also extends to other areas as well.

If a man is furiously yelling and striking a woman in public the police will be called on the man. If a woman is yelling and furiously slapping a man, the police will be called on the _man_.

Consider that: 1\. Men receive stiffer sentences for the same crime.

2\. Men are routinely ruined by family court, because of the instant trump card that an abuse accusation brings. Additionally they have few options when they are the victim of abuse.

</comment><comment><USER28> It bothers me.

I used to assist teaching a Saturday morning martial arts class for kids. The change-rooms were communal; nothing unusual and I never thought anything of it. Then I was told that it made the parents uncomfortable and I had to change in the office. Suddenly I felt embarrassed and shameful.

Then I was shocked that I had felt such feelings. I don't experience much, if any, discrimination in my life. I really empathize with those who do. It's terrible.

</comment><comment><USER29> I teach first grade Sunday School at my church and I definitely noticed that parents were uncomfortable with me being alone with the kids for a few weeks. This in spite of the fact that I'm a leader in our church and I knew a lot of the parents outside of this setting. I also had to have a background check before being allowed to help out.

It was pretty annoying but the parents got over it when they saw that their kids loved having me there. This is in part because I always seem to end up discussing Star Wars or video games with the boys for at least part of the time.

What's funny (and sad) is that this attitude spills over into family life. My brother won't kiss my oldest daughter on the lips despite her insistence that he do so (she has some pretty strong opinions). His response was that "I don't do that with kids."

<comment><USER30> That last comment made me think of this sentence from a student's recent petition to reverse a school's "No hugging" policy:

"Interpersonal touch is not inherently sexual, and to treat it as such is to make it so."

[http://www.boingboing.net/2011/01/17/kids-petition- agains.ht...](http://www.boingboing.net/2011/01/17/kids-petition-agains.html)

</comment></comment><comment><USER31> Nothing to be proud of here, but very recently a huge child pornography case was uncovered in a dutch day care center where a guy molested and filmed the molesting of upwards of 80 children together with his partner.

The case is extreme both in scope, gravity of the offenses, duration and in the position of trust the perpetrators were in and it will take a long long time for that to blow over again.

'Eek A Male' is very much a response heard around daycare centers here.

[http://www.wtop.com/?nid=383&sid=2198339](http://www.wtop.com/?nid=383&sid=2198339)

</comment><comment><USER32> A BBC story from 2006? Stories from her friends? That's the best she's got? Would be nice to see a real article on this topic with actual analysis and data.

Of course it's stupid to label all men as possible predators, but there's another side to it: when a single pedophile can damage literally hundreds of children, who wouldn't have cause for concern?

The challenge is to find the level of concern that is reasonable and warranted, but this article can't be bothered with gray areas.

<comment><USER33> I think this is a situation where the votes this story is getting ARE the data.

I imagine many men voting this story up have noticed this trend in their own lives.

It's not hard data, but it shows a trend.

Heck just yesterday I rode an elevator up with 2 parents and their maybe 3 year old kid. The kid had been out in the rain and I made a comment directly to the child about the rain. The parents looked pissed just because I was talking to their kid.

I was just trying to make awkward elevator conversation a little less awkward.

<comment><USER32> I don't disagree with the notion that people overreact to men around kids, but I think the article itself is just a lazy appeal to emotion, and not very well argued.

</comment></comment></comment><comment><USER34> This one really bugged me: "Three airlines, British Airways, Qantas and Air New Zealand, have attracted criticism for controversial seating policies which discriminate against adult male passengers on the basis of their gender." Fortunately BA has changed its policy.

[http://en.wikipedia.org/wiki/Airline_sex_discrimination_poli...](http://en.wikipedia.org/wiki/Airline_sex_discrimination_policy_controversy)

</comment><comment><USER35> What a fucking horrible way to live :-(

</comment><comment><USER36> Reminds me of this Reddit post [http://www.reddit.com/r/WTF/comments/cf8j9/14_year_old_charg...](http://www.reddit.com/r/WTF/comments/cf8j9/14_year_old_charged_with_abduction_for_helping_a/)

</comment><comment><USER25> 3 comments on this, and 200 on some girl whining that (male) geeks "hurt her feelings".

<comment><USER37> Which article are you referring to ?

<comment><USER25> This one: <http://news.ycombinator.com/item?id=2110756>

Obv there are more comments here now :-)

<comment><USER38> It's funny how that works - a brand new article not having much commentry. No such thing as confirmation bias, eh?

<comment><USER39> Oh, come on - he gave it a _full eight minutes_ before complaining that some _girl_ got more attention in a thread on her post.

<comment><USER25> Just pointing out that men face real, actual discrimination, whereas actually there is nothing preventing women working IT jobs if they want to.

<comment><USER39> Cry us a river, gaius. If things like this article count as "real, actual discrimination", then pretty much every women-in-tech complaint includes tales of "real, actual discrimination".

<comment><USER25> THe article? No. The underlying fact that innocent men are hounded from their jobs by the cops they pay to protect them? Absolutely yes.

<comment><USER38> And innocent women aren't hounded from their tech jobs by the 'boys club' that is IT?

It's not a competition.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER40> I went to the Exploratorium by myself on Sunday. I figured people would probably assume I wasn't there by myself. But I couldn't help thinking about this Asiz Ansari joke where he's talking to a kid at a museum, and finds out they have a lot of things in common, including Call of Duty on xbox, theories about LOST and stuff, and then the kid's dad leaves him there with his new "friend"</comment>


Ask HN: Given an unfamiliar problem, what is your reaction? - <AUTHOR> You're faced with a hardware or software problem that you are not immediately able to solve. It's unfamiliar or confusing. What is your reaction? <comment><USER2> Ask questions, or do experiments (which is just a way of asking questions without involving other humans). Usually when a problem is confusing, it is because something important about it is not known. So, get more information.

</comment><comment><USER3> "Oh, neat."

Unless it's an uninteresting problem or unrelated to my skillset/job. Then it's more of a "Dammit I hate programming because I keep having to solve unrelated problems so I can program."

</comment><comment><USER4> This means war!

I actually get somewhat worked up at times but generally the more it winds me up the more i want to bash its face in with a solution</comment>


Ten Years of Instapaper - <AUTHOR> http://blog.instapaper.com/post/170231611161 <comment><USER2> I sometimes describe Instapaper as "/dev/null for web content". I reflexively share to Instapaper not to read it later, but to absolve guilt for not reading it at all. It is one of my weirdest web habits, on reflection.

OTOH, back when del.icio.us was good, I used it for roughly the same purpose.

<comment><USER3> To me, this effect is only prevented by the fact that I get the articles emailed to my Kindle. If I was just marking something to "read later", and expecting to read it later on my computer's web browser, it would never happen.

But instead it shows up on my Kindle. I'm in a completely different mode when reading my Kindle than I'm in when on the computer. I'm calmer, slower, and I'll actually sit down and read the articles.

<comment><USER4> Yeah, the win for me is it goes to my iPad and I catch up with longer articles when I travel in particular.

That said I also use Pinboard.in. I don't go back to read everything but I find it a useful research tool for when I remember saving something but not exactly what it was.

<comment><USER5> I have the same use case as well, pinboard is to save mostly obscure websites and blog posts and comments i found interesting but not necessarily useful

</comment></comment></comment></comment><comment><USER6> It feels odd that the current owners say "we did this, we launched that" in reference to the years Marco ran Instapaper as a sole proprietor, especially given that Marco explicitly uses "I" as the prounoun for Overcast: [https://overcast.fm/skeptics_faq](https://overcast.fm/skeptics_faq)

<comment><USER7> I'm OK with it as it emphasizes that collectively, they all did it, yet the current owners aren't trying to take credit for what they didn't do.

</comment></comment><comment><USER8> Interesting typo on the name of the dyslexic-friendly font they use. They mashed up OpenDyslexic (which they offer) with Dyslexie (which they do not offer).

Fun fact: The latter sued the former unsuccessfully several years back.

<comment><USER9> Perhaps they were using a font in which the lower case e and lower case c were pretty similar.

</comment></comment><comment><USER10> Just an FYI, Marco Arment, the original author of Instapaper was also the first employee and architect at Tumblr- where this article is hosted.

</comment><comment><USER11> Phew, that's a lot of work! I have to wonder, will Instapaper ever be "finished"? If all the engineers went home, would it just run by itself? It's hard to see how a competitor could execute better and steal any customers. It seems just fine the way it is.

Maybe many of the engineers have moved on to different projects at Pinterest, but even then, what's left to do at Pinterest? I just looked up "new features in Pinterest", and they're working on AI to identify different things in photos [1]. "Lens can recommend outfits for you if you snap a photo of clothes that are already in your closet" \- That's actually a really cool idea. But it kind of feels like a different startup tacked on to the Pinterest brand. I guess there are a lot of directions they can branch out into. Maybe they'll eventually become like Google, working on a lot of unrelated projects. If Google can do it, it's hard to see why other companies can't build up a large portfolio of disparate apps and services.

Anyway, I hope they keep Instapaper running instead of shutting it down. I don't use it myself, but I just like the idea of "finished software" that runs for the next hundred years. Everyone's always trying to change things and increase growth, but they usually end up shooting themselves in the foot.

[1] [http://www.businessinsider.com/pinterest-lens-updates-new- fe...](http://www.businessinsider.com/pinterest-lens-updates-new- features-2017-6)

</comment><comment><USER12> Instapaper with my first iPad was the best thing ever the year it came out. It was just so convenient (and still is, we just got used to it). When people asked me why I got an iPad, an odd device for its time, I said: e-mail and Instapaper.

Back then, people were not accustomed to build tablet-friendly websites and even though Safari was very good, Instapaper was in league of its own when it came to plain old reading, especially when offline.

</comment><comment><USER13> I actually enjoyed reading the different attempts at finding the right pricing. I was a happy premium subscriber and an even happier free user.

I found it the best service to be able to just click a button and have long articles delivered to my kindle. I do a weekly batching and it just works.

</comment><comment><USER14> For those who've used Instapaper and Pocket, do you have a clear preference for one?

<comment><USER15> I think Pocket is better, by the style, fluency, and because it transforms websites to text better than Ip. But, one of the best features of Instapaper (which doesn't have Pocket) is that you can change the title names. I really like that feature.

<comment><USER14> That's a feature I've definitely wanted!

</comment></comment></comment><comment><USER16> I still love the app after years of use.

But anybody else experiencing lots of bug with the paging view and automatic night mode on iOS? (Page in night mode, but menu buttons and status bars still in day mode, offset of the page incorrect...)

Reporting bugs always met with silence.

</comment><comment><USER17> Anyone wish Instapaper/Pocket had better Text-to-Speech functionality on mobile?

<comment><USER18> [https://www.narro.co/](https://www.narro.co/)

<comment><USER19> Thanks for the suggestion, i'll check it out right away.

It's a service that converts text or websites to audio. It's voices seem pretty good (I've just tested a couple, both with text in english and in spanish).

I love that it haves the ability to integrate the articles I send to Narro into a podcast feed, that I can suscribe to see in Overcast next to my "real" podcast.

</comment></comment></comment><comment><USER20> I had never heard about this app before. Reading comments here it seemed like a good reading list app. Unfortunately the android app[0] seems abandoned, last update was in August 2017. Anybody know of a good alternative on android?

[0] [https://play.google.com/store/apps/details?id=com.instapaper...](https://play.google.com/store/apps/details?id=com.instapaper.android)

<comment><USER21> It's a bit strange to call an app "Abandoned" because the last update was 6 months ago. When an app is mature and stable, it doesn't require a steady flow of updates to be good and useful (except as a way for developers to show that they are still active and "please" their users).

I'd call it abandoned if it didn't fit the platform standards, if it was buggy, if it didn't run on some new devices…

<comment><USER20> If you go to the istore version history for the same app, there have been regular feature updates and bug fixes in the same time frame. Are you implying that the android version simply doesn't have any bugs to fix?

This update in September is enlightening:

Added support for iOS 11 password autofill.

You know which other OS introduced system-wide autofill suppport? Android Oreo.

I think it's safe to say that Instapaper is abandoned on Android.

<comment><USER21> There is a difference between being abandoned and having the latest shiny new features. Not that I don't understand your feeling.

</comment></comment></comment></comment><comment><USER22> Can we as a community agree to be really careful and in no way vague or clickbaity when it comes to posting things about Instapaper?

Ever since Pinterest bought them I've been waiting for the sunset message

</comment><comment><USER23> They are lucky to still be in the App Store. Instagram's lawyers have been sending cease and desist letters to anyone using their trademark "Insta". Even apps with words that start with "Insta", like Instant.

<comment><USER21> Instapaper exists since 2007 and has a trademark on the name filed in August 2010: [http://tmsearch.uspto.gov/bin/showfield?f=doc&state=4808:v4h...](http://tmsearch.uspto.gov/bin/showfield?f=doc&state=4808:v4hzyi.2.1)

Instagram has their trademark since September 2011 ([http://tmsearch.uspto.gov/bin/showfield?f=doc&state=4808:v4h...](http://tmsearch.uspto.gov/bin/showfield?f=doc&state=4808:v4hzyi.4.19)).

So no, Instapaper is not "lucky" to still be in the App Store.

Don't assume that because Instagram is well-known that they have more seniority and the rights and abilities to do whatever they want.

<comment><USER24> > Don't assume that because Instagram is well-known that they have more > seniority and the rights and abilities to do whatever they want.

Though it's easy to assume in this day and age.</comment></comment></comment>


Fractals are not self-similar [video] - <AUTHOR> https://www.youtube.com/watch?v=gB9n2gHsHN4 <comment><USER2> Good stuff. I now understand fractional dimensions.</comment>


Show HN: A Polygon Mesh Processing Library - <AUTHOR> https://www.pmp-library.org <comment><USER2> What is the use case of PMP over something like IGL [1]? IGL has a ridiculous number of implemented algorithms -- at this point the second a new paper comes out in the geometry processing community it gets implemented in IGL!

[1] [https://libigl.github.io](https://libigl.github.io)

<comment><AUTHOR> There are a couple of things, actually:

\- A proper mesh data structure providing meaningful abstractions

\- Support for general polygon meshes

\- Support for dynamic connectivity updates

\- Cross-compilation to JavaScript, allowing for web-based demos[1] and interactive HTML slides[2]

\- Implementations of canonical algorithms as described in the standard textbook of the field (Polygon Mesh Processing[3])

[1] [http://www.pmp-library.org/mpview.html](http://www.pmp- library.org/mpview.html)

[2] [https://pmp-library.github.io/pmp-slides/slides.html](https://pmp- library.github.io/pmp-slides/slides.html)

[3] [http://www.pmp-book.org](http://www.pmp-book.org)

<comment><USER3> Looks like a really good start. One suggestion: add mesh boolean algorithm, currently, only CGAL do this well, if your library could supports this on the MIT license, I would definitely try it. Currently, I am using libigl to do parameterization and CGAL to do mesh boolean in my 3D modeling software[1]

[1] [https://github.com/huxingyi/dust3d](https://github.com/huxingyi/dust3d)

<comment><AUTHOR> Thanks for the suggestion, definitely something to think about. However, this is also non-trivial to implement in a robust and efficient manner, so not sure we'll look at this soon.

</comment></comment></comment></comment><comment><USER4> Sounds promising. If authors are reading this: web demo ui is too small on mobile.

<comment><AUTHOR> Co-author here. Good point. So far we did not yet really optimize for mobile. Thanks for the feedback.</comment></comment>


Tesla can't sell cars in MI, but state retirement fund owns the stock - <AUTHOR> http://www.detroitnews.com/story/business/autos/2016/08/10/mich-retirement-funds-boost-stake-tesla-stock/88548252/ <comment><AUTHOR> To me this is the very the definition of irony. Interestingly though Tesla is blocked from selling cars (passed in a special 3 am legislative session) they do own a tool and die plant in Grand Rapids.</comment>


Ask HN: How to efficiently learn a codebase  new job that has no documentation? - <AUTHOR> So I'm in a bit of a pickle, I've started a new job and am trying to get "familiar" with the code over the holidays while most people are away. Unfortunately there is absolutely zero documentation. The codebase is massive and spanning across multiple repositories. I want to dive in and be productive as soon as I possibly can. Outside of code pairing with the the other developers (which is currently impractical due to most people being on vacation), what is the best way to approach learning the codebase at a high level (and eventually granular) so that I can make an impact ASAP? <comment><USER2> Pick use cases and walk through the code. I usually start with something simple like login, or common functions like logging etc. Use case focused lets you see the app in use and then trace what the code is doing which to me is far more valuable than just reading code. Reading code without a purpose is useless IMO. Also doing this is sometimes great for the team because you will find stuff they have missed and can ask questions about it which will result in either them explaining why it is that way or saying crap, good find.

Other options (I usually use these to build documentation from a codebase I don't know but to get up to speed faster I use the above method):

If it is object oriented, find all the base classes and work your way up through the derived classes learning what they do. Once complete, follow the procedural method below.

If it is procedural, then find the entry point and walk line by line, and at the first non-system/sdk level function call start building a function map so you know what calls what and what data is needed, passed etc.

<comment> no-s this is a good strategy. You want to understand the flow, and discover what is important to accomplish particular use cases. This should also tell you about interfaces, which helps with divide-and-conquer against the code base. You also want to be able to reproduce builds and configurations, so you need to identify the related parts for a particular component.

Tactically reading code may not seem productive, but if the source is versioned and someone has explained the history of the application, you might be able to pull diffs and see what code was the target of changes, thus telling you what is the focus of attention. Code that isn't changed very much but is used a lot tells you what are truly fundamental parts of the overall systems. Commits may help with identifying who to ask about a particular section. Perhaps the committer might have or be able to identify some relevant documentation relating to their specific work. The build can tell you about the relevant part of the code base in use as well. Often an org may have documentation, but the docs may not be well indexed. Running code is the index.

I'm "experienced" and get kinda curmudgeonly ( or worse ) when I work someplace that runs the developer shop like it's 1999 or earlier, so I'm always vigilant for anti-patterns in the interview...the situation the OP describes would be one of those - if job position is not "heroic individual contributor" I would expect some sensible on-boarding for new devs supervised by a knowledgeable guide, with some example tasks to help get up to speed. Successful orgs do this. Orgs that don't are prone to failure and devaluing your shares through repeated VC financing, heheh.</comment></comment>


Surviving UI Programming - <AUTHOR> http://inessential.com/2014/04/23/surviving_ui_programming

<comment><USER2> UI programming is actually the most fun you can have in many shops. How many developers are out there mind numbingly writing CRUD services to some ORM abstraction? It's an easy life, but it's really no fun at all.

With UIs, things change, feedback is far faster than in a service-only world, and there's a whole lot more freedom. For some of us, it's about as fun as things can get. You just have to be able to pay the price of understanding a bunch of infrastructure underneath, and the newer the technology, the worse the infrastructure gets, because it's buggier and incomplete.

So as far as UI development goes, there's a bit of a technological ugly valley. Things are fun if you are on the bleeding edge, and building libraries yourself. They can also be fun if you are running on something mature and documented. It's the space in between that sucks. Now, the sad thing is that many places out there are choosing web technologies that are in this ugly valley. Just enough help to start to have expectations on getting things done quickly, but widgets that are one or two features away from what you want, and yet are almost impossible to extend well.

So how do you survive UI programming? By being very careful about the tools you use.

</comment><comment><USER3> If you are just bored, then perhaps you're not getting the hard problems. Even CRUD can be hard when you are working with bad API backed by complex domain model.

For example, I'm working on a form (easy right?) that allows user to build layers on phantom models before it is allowed to persist. Each layer of model is supported by one API. There are distinct possibility that the persisting can fail at one time and you need to roll everything you persisted before back (through the same API). Even those rollback calls can fail. Not only that, but each of these API calls can take 10 to 90 seconds to complete.

Now it's hard right?

</comment><comment><AUTHOR> I submitted this because my feeling about UI programming is that I'm missing some sort of theory/language/spec for describing what I want and what the APIs can give me.

I don't know if that's a failure of my education, or if it's just not out there, but I always feel like I'm guessing what a given API call or widget will do. With other areas of programming, I make plenty of mistakes, but they're because I ignored a case, or misread documentation, or didn't think through how an algorithm would function.</comment>


Why you should verify the tokens you own: Deep dive into hacked ERC20 contracts - <AUTHOR> https://cryptojobslist.com/blog/two-vulnerable-erc20-contracts-deep-dive-beautychain-smartmesh <comment><USER2> This is case of substandard programming. Ethereum's solidity tutorial has clear instructions for avoiding integer overflow and underflow bugs. Third party contract audit should be defacto standard for token roadmaps.

</comment><comment><AUTHOR> Hi HN,

This week trading on several tokens got halted due to discovered & exploited vulnerabilities in two smart contracts. One of them lost about 90% of its value… and another one lost 26% - $40,000,000 in market cap.

We wanted to focus more on the technical analysis of the situation to shed some light on common vulnerabilities that still abound.

Would love your feedback, since we got some mixed reviews on whether we did a correct technical judgment of one of the contracts. Especially of the SMT token.

<comment><USER3> it's pretty scary how many newbies to programming think they could charge money for consulting on Solidity projects. Which creates this massive bounty opportunity.

Especially for those with C/C++ experience, this must be a lot of fun</comment></comment>


OCaml Modules: Think Immutable Singletons - <AUTHOR> http://blog.eatonphil.com/2015/05/24/ocaml-modules-think-immutable-singletons/ <comment><USER2> One problem is that it first starts with a Person class, then it says _nope, modules are not like this_. So it increases the cognitive load for absolutely no reason.

Another problem is that an immutable singleton could have interesting properties, like it could have a type, it could be polymorphic (e.g. think Scala's objects), but this article presents Ocaml modules to be nothing more than namespaces. So first of all, that's not true and furthermore, I don't see the usefulness in that compared to any other language that can do namespaces. When reading about some construct of a language I don't know, I want to see how that construct is different or useful for me.

As I'm writing this, the article has 42 points and I'm left wondering why. I've long suspected that HN votes articles by keywords happening in the titles, without reading the articles.

<comment><USER3> > As I'm writing this, the article has 42 points and I'm left wondering why. > I've long suspected that HN votes articles by keywords happening in the > titles, without reading the articles.

I haven't read the article, but it would be great if whoever submits an article also had to enter one or more questions (with yes/no answers or one- word unambiguous answers) about it. Then, upon submitting a vote for the article, HN would prompt users to answer them. A suggestion to read the fine article would be given to people who cannot answer, and no upvote would happen.

</comment></comment><comment><USER4> Hacker News, circa 2015.

Someone writes a blog post, using JavaScript to explain how modules are used in OCaml. Just in the case it changed during the last 20 years or so.

Edit: I'm glad more people learn about OCaml. A few years ago, I kept hearing that no one will contribute to my open source OCaml projects...

<comment><USER5> Well... yeah. What do you want, it's trying to explain by analogy. If it used OCaml it'd be "ocaml modules are simple, they're just like ocaml modules" which is... unhelpful. They could have used C but then they'd have to implement a singleton pattern in C first at which point thats like a dozen things to explain.

</comment></comment><comment><USER6> The OCaml code for the Person module in that post is not not idiomatic. Also, a module is quite different from a class or JS object and it would be more helpful to think about a module implementing an (abstract) data type like in C or other procedural languages. There is no inheritance with modules and no dynamic dispatch. Once compiled, there is no selection of functions/methods at runtime.

<comment><USER7> So how does an ocaml module compare to a Haskell type class?

<comment><USER6> OCaml modules and Haskell type classes are quite separate, too. I would make more sense to compare OCaml and Haskell modules. Haskell type classes implement ad-hoc polymorphism and OCaml doesn't have that at all. You can't implement in OCaml something like a show function that works on integers and strings and list of integers and so on like in Haskell using the Show type class.

<comment><USER8> You sort of can with functors or GADTs.

<comment><USER6> Like you say, sort of. This would imply that you wrap all the basic types in a sum type. It's quite heavy. Using the PPX mechanism the compiler can also be extended to generate this code automatically but again, this isn't very natural at the moment.

</comment></comment></comment></comment></comment><comment><USER9> This is pretty wacky. I cannot help but feel that it would be far better to just learn OCaml modules without this metaphor. It seems too far from meaningful.

<comment><USER10> I agree. The title is downright bizarre until you realize the article is consumed more by JS idiosyncrasies than about the OCaml modules.

<comment><USER9> Well, it certainly spent effort explaining JS oddities, but it's ostensibly about OCaml modules. So, it's either stream of consciousness and dependent on commentary to intuit meaning or merely failed in its goal.

</comment></comment></comment><comment><USER11> Is JavaScript becoming a lingua franca, used to explain other completely unrelated languages?

<comment><USER12> Even if any given developer doesn't use it as a primary development language, then as something they need a little bit of to do something in a browser, so I'd bet most programmers have at least seen it. And even if you've never seen Javascript before, it's superficially similar to C++/Java/C# so you can kind of make sense of it in simple examples like this.

</comment></comment><comment><USER13> What I get from this article is that OCaml modules are sort of like browserify modules or ECMAScript 6 modules.

Cool... I guess?

<comment><USER14> ES6 modules aren't higher order AFAIK</comment></comment>


SSL/TLS Security Test by High-Tech Bridge - <AUTHOR> https://www.htbridge.com/ssl/ <comment><USER2> When testing my domain, I got "ERROR WHILE TESTING IF INSECURE SITE REDIRECTS TO SECURE VERSION An error occurred while testing if the HTTP website redirects to an HTTPS version." because my server doesn't listen on port 80. Listening on port 80 for an API has the potential to leak client credentials, a mistake we're not willing to tolerate.

Just worth a note.

</comment><comment><USER3> I have to admit, I never noticed that Camellia was a default cipher until I ran this test. I've added !CAMELLIA to my cipherlist and it seemed to sort that out.

I do note that the "supported cipher list" produced by this tool fails to recognise ECDHE-RSA-CHACHA20-POLY1305 and ECDHE-ECDSA-CHACHA20-POLY1305, which I have showing in the ssllabs test.</comment>


Apple TV "Top App" Numbers - <AUTHOR> https://medium.com/@alariccole/apple-tv-top-app-numbers-23e2faa8a409 <comment><USER2> It's really interesting to see the kinds of numbers you need to get to the top of the paid lists.

I really wasn't sure what to expect from the Apple TV and despite being initially disappointed with the lack of app discovery - it seems that people are actually finding and installing app which is a start

I made a general knowledge trivia app - 60 second quiz - and seem to be getting a couple of downloads a day. It's nice to know that hard work and a few downloads a day can mean you end up as #3 in the top charts!!</comment>


Research Papers That Caught the Public's Attention in 2019 - <AUTHOR> https://www.altmetric.com/top100/2019 <comment><USER2> > Out of 330 Game of Thrones characters, 186 die by the end of season 7, with > survival ranging from 11 seconds to 57 hours and 15 minutes. This study of > their characteristics reveals great potential for preventing violent deaths > in the Game of Thrones world.

Looking forward to a follow-up study which will hopefully include season 8..

<comment><USER3> Season 8 with plot armors thicker than The Wall...

</comment></comment><comment><USER4> >A Randomized Trial of E-Cigarettes versus Nicotine-Replacement Therapy

Seems like this is going to be the most cited and controversial paper here.

>Association Between Push-up Exercise Capacity and Future Cardiovascular Events Among Active Adult Men

They had the push-ups done to a metronome but I don't see anywhere that it states that the participants were made to use one strict form of push-up. Not all push-ups are created equal (get your butt down!).

<comment><USER5> Odd, never thought to use a metronome on push ups.. regular rhythm often helps. Thanks for the indirect tip.

</comment></comment><comment><USER6> What's wrong with statistical significance?

<comment><USER7> Here's paper that explains the current objections: [https://www.nature.com/articles/d41586-019-00857-9](https://www.nature.com/articles/d41586-019-00857-9)

There is nothing wrong with statistical significance as long as no one is misled by it. Unfortunately, there is plenty of confusion around it and lots of people being misled. Here are two of the concerns mentioned in the article:

1) P > 0.05 is mistakenly taken as evidence of no effect. Tradition is that P > 0.05 should be interpreted as no evidence of anything. For example, run your study with two people and you will find that p > 0.05 for a relationship between exercise and obesity or between teeth brushing and cavities.

2) 0.05 is mistakenly perceived as an indicator of whether things are 100% likely to exist or 0% likely to exist. The challenge here is that the user is not comfortable thinking about probabilities. So a study finding that the difference in cholesterol between Seinfeld fans and Chris Rock fans is statistically significant at 0.0499 is reported as "Seinfeld raises cholesterol."

I think that the central issue here is an objection to having to participate in a research community with people whose training in statistics did not allow them to understand the statistical tools they use in their work.

<comment><USER8> Then these articles saying scientists are "Against statistical significance" are misleading. It sounds like scientists are more pro statistical significance than ever, so much so that they want it to be defined and interpreted correctly.

I guess many people would benefit from taking a high school statistics class.

<comment><USER9> Well, in isolation p is problematic. For instance, without hypothesis pre- registration you have the obvious problem with negative results and publication bias.

</comment></comment></comment></comment><comment><USER10> TLDR of 100 researches:

1) Work out 3+ hour/week with as lease 2 weight training sections.

2) No processed food, no added sugar. More nuts, fruit, vegetables.

3) The world is fxxked because of climate change.

4) Sleep more.</comment>


First diagnosed case of Evola in the US - <AUTHOR> http://www.cnn.com/2014/09/30/health/ebola-us/index.html

<comment><USER2> This story is already #1 on the front page. Also you misspelled it.

</comment><comment><USER3> I have some fast-breaking news, news clearly not know to you -- most modern computers allow you to copy sequences of text characters from one place to another. This means an article title like "CDC: First diagnosed case of Ebola in the U.S." can be copied in its entirely from the source page to HN, and serve as a correctly spelled title for your submission.</comment>


Agera – Reactive Programming for Android - <AUTHOR> https://github.com/google/agera <comment><USER2> An insightful analysis by one the primary authors of RxJava: [http://akarnokd.blogspot.com/2016/04/google-agera-vs- reactiv...](http://akarnokd.blogspot.com/2016/04/google-agera-vs- reactivex.html)

<comment><AUTHOR> So whether the project will have a huge market for users react? on the articles google will not be able to

</comment></comment><comment><USER3> Would this be of general interest if it hadn't come from Google? On a quick skim I'm not seeing anything that hasn't been done elsewhere.

</comment><comment><USER4> > "Agera (Swedish for "to act") is a super lightweight Android library that > helps prepare data for consumption by the Android application components > (such as Activities), or objects therein (such as Views), that have life- > cycles in one form or another. It introduces a flavor of functional reactive > programming, facilitates clear separation of the when, where and what > factors of a data processing flow, and enables describing such a complex and > asynchronous flow with a single expression, in near natural language. " > [https://github.com/google/agera/wiki](https://github.com/google/agera/wiki)

<comment><AUTHOR> Thanks, interesting</comment></comment>


Ask HN: What business workflows would you like to automate in your organization? - moraya-re Especially requiring human intervention. <comment><AUTHOR> All of them</comment>


Pioneer One - A dramatic series distributed by download - <AUTHOR> http://www.pioneerone.tv

<comment><USER2> Just saw this today... it's not bad at all. Sure it's low tech and the dialog is rough around the edges, but there were some gems in there and the end of the 1st episode is enough to make me want to see number 2.</comment>


DoorDash (YC S13) Delivers Food Quickly In South Bay, Hopes To Expand Beyond Food - <AUTHOR> http://techcrunch.com/2013/07/26/y-combinator-backed-doordash-delivers-food-quickly-in-south-bay-hopes-to-expand-beyond-food/ <comment><USER2> With so many startups doing things similar to this (do local tasks, fetch food, deliver stuff, clean home, do laundry) -- I am wondering where and how they will all be able to hire local runners (lets not forget ebay, google and amazon also trying to get into this 'get it now' mania).

It might actually be a killer idea to employ these local runners -- and then get jobs from all these varied companies/startups. So, doordash, instacart, prim etc. could all contact you and use your workforce -- you essentially remove the headache of hiring, scheduling and logistics for these startups. But then -- what would be the point of all these startups -- you could just offer these services yourself if you owned the runners :)

<comment><USER3> It's an interesting idea, actually. Your value-add is that you (the "runner" company) blanket the area with runners. You give them RAM mounts and tablets that run an app that predictively puts them in the most likely zone when they're not making a run. If you have enough drivers, you could conceivably dispatch one to any location within 5-10 minutes. Add 10-20 minutes of driving time to the destination and you're conceivably doing sub-30 minute deliveries like Dominos promised in the 1980s. The more customers (customers being companies like Prim, Doordash, etc.) you have, the more you can saturate and the shorter that time becomes.

Automate the pick-up arrangements and intelligently route them on best route to the drop-off. No need to collect money at the drop-off site other than tips. That's handled during the API transaction, where "RunnerCo" collects and skims it's per-transaction fee.

The reason that so many delivery services failed in years past was that they were doing radio dispatching with poor/minimal map and routing technology and they were collecting cash money at the door. No wonder they couldn't make a profit.

</comment></comment><comment><USER4> The first time we used DoorDash, Jessica said "This has changed my life." If you have small children you understand.

<comment><USER5> Is this Kozmo.com version 2.0?

I LOVED Kozmo back in ~1999/2000.... and now I have small kids. So I am interested in how Jessica found this to change her life? Can you give her/your user story?

<comment><USER6> It's mainly changed my life on weekends, when I'm with my kids all day. I tend not to eat very well (eat junkfood/graze - anything quick!) because I'm not very good at finding the time to cook something for myself. When DoorDash delivered Oren's hummus/veggie skewers to me on a Saturday, I was so excited that I think I told Paul it changed my life.

</comment></comment></comment><comment><USER7> When I was at RIT in '02-'03 there were two companies doing this. Both of them shut down a couple of months after launching. After I graduated and moved back to Connecticut I found two services in the area that did this. They too both eventually shut down. This model seems to have a problem making enough to pay drivers.

<comment><USER8> Don't worry there's plenty of VC to keep this thing going.

And on the off chance they make it work, everybody wins.

You don't really lose anything for other peoples failures (unless you're investing money you're not willing to lose)

<comment><USER9> > _You don 't really lose anything for other peoples failures (unless you're > investing money you're not willing to lose)_

A number of pension funds are invested in venture capital.

Thus, a lot of people are unknowingly losing money on these types of things. Granted, they're only losing pennies each time. But it adds up.

<comment><USER10> That's not how it works, VCs are like record publishers, doesn't matter if most of your companies suck as long as one is a hit.

You can't pick only hit companies. Well, if _you_ could I'd sure pg would want a word!

<comment><USER9> > _That 's not how it works, VCs are like record publishers, doesn't matter if > most of your companies suck as long as one is a hit._

I know how venture capital is supposed to work. The problem is that it hasn't been working out the way it's supposed to.

Over the past decade, venture capital has underperformed the stock market.

Thus, pension funds have gotten their money into illiquid and risky VC investments -- but they haven't been getting paid the liquidity and risk premiums that they thought they were going to get.

(Incidentally, the record labels haven't done that great over the past decade, either.)

<comment><USER10> If you supposedly know how it works why are you blathering on about pennies here and there? As the post I replied to shows a glaring lack of knowledge.

Plenty of VC funds are working exactly how they're supposed to work, don't try and wriggle out of it by claiming that 'of course you know' but somehow dropping a few million here and there on grocery suppliers is a meaningful loss to a VC or pension fund.

I'd have far more respect if you just said 'yeah, whoops, didn't know what the fuck I was talking about'.

<comment><USER9> A million here, a million there, pretty soon you're talking about real money.

As for your personal attacks upon me, I think it evident that you just want to pick a fight. Four sentences in your post, and all four contain more insult than content.

As for "Plenty of VC funds are working ...", I would simply repeat what I've already stated, and you've ignored -- that the industry as a whole isn't delivering the promised returns.

Good luck trying to pick the VC funds that are working, rather than the ones that aren't.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> I missed a beat when I read South Bay, because very few of the 'cool' apps like instacart, lift, uber, taskrabbit, or any apps having real-life tangible outcomes ever work in San Jose. I thought finally something is going to work in San Jose and then I read the list of cities. Well, hopefully doordash do well enough in Palo Alto and Mountain View and expand to San Jose soon :-)

<comment><USER12> Some of us live in Santa Cruz. We don't even exist as far as all these startups are concerned.

</comment></comment><comment><USER13> Just ordered (from Oren's Hummus). We've used Seamless and others in the past and suffered the sometime two-hour wait. If DoorDash can get the delivery time down to closer to 'impulse' (as quick as going to the grocery store and back?), these guys will kill the competition.

<comment><USER14> How did we do? We're working on shaving off as much time as possible, that's where partnering with the restaurants really helps.

</comment></comment><comment><USER15> Been dying for this in MV since GrubHub and Seamless have terrible selection / high delivery costs on a per restaurant basis.

Only junk food is available on a regular basis.

No kids in my case, just lots of side projects to shepherd, rather not spend time to cook or go out.

<comment><USER16> This must be a SV thing since the Seamless selection in NYC is quite good here.

<comment><USER15> I used to live in NYC, Seamless is a lot better in NYC. In SV it's pretty lame and overpriced.

</comment></comment></comment><comment><USER17> Last year rewards programs like Five Stars were hot. This year everyone wants to do deliveries. Sucks to be waiter.com these days.

</comment><comment><USER18> Can't help thinking that this service is providing something like the cafes in that article "The Locust Economy". [http://www.ribbonfarm.com/2013/04/03/the- locust-economy/](http://www.ribbonfarm.com/2013/04/03/the-locust-economy/)

> To take coffee shops as an example, an unending supply of idealistic wannabe > cafe owners enters the sector every year, operates at a loss for a few > years, and exits. The result is that even under normal business conditions, > without swarming locust consumers, this is a loss-making business with an > extinction rate of around 90% at the 5 year point in the US.

<comment><USER19> Yet, Starbucks is a healthy and profitable company with an insane number of locations. Which suggests most of those failures are a result of simple incompetence.

<comment><USER20> and presumably the lower efficiencies involved with not being a multinational?

</comment></comment></comment><comment><USER21> I know one of the developers there and Peter's always struck me as incredibly smart. I wish door dash the absolute best (and hope they expand to the East Bay) as soon as feasible :) ).

</comment><comment><USER22> I wish South Bay included you know, San Jose

<comment><USER23> Yeah, when I think South Bay, I think Sunnyvale, Cupertino, Campbell, Santa Clara, San Jose. They're missing over half of the "South Bay" at the least.

I think the doordash website more accurately defines the areas they serve as "Mountain View" and "Palo Alto".

</comment></comment><comment><USER24> In Miami I know of at least 5 companies doing this, none are really tech companies, or even logistics companies. One example is [https://www.deliverywow.com/](https://www.deliverywow.com/)

</comment><comment><USER12> I can't wait until we have driverless delivery as that will significantly change the economics. I suspect that delivery charges will be close to zero, and in principle they can serve every producer in an area.

<comment><USER25> Gas alone can cost as much as a minimum-wage driver, to say nothing of insurance and car upkeep.

<comment><USER12> I would expect the delivery vehicles to cost a lot more, but those higher upfront costs reduce the ongoing costs (maintenance etc). There would be an incentive to maximize utilization as an idle vehicle earns no money. A vehicle owner would want to deliver on behalf of many businesses, which allows combining multiple deliveries for better utilization. Software would allow for a lot of optimization in routing, pickups, delivery and transfers.

</comment></comment></comment><comment><USER26> There's a company called Mosis ([https://www.mosi.ch/](https://www.mosi.ch/)) that has been doing this since 1998 in Zurich, Switzerland. I just checked their history. The best thing, they were apparently inspired by American and Australian companies that had already been offering the same service for a number of years. So, this is really nothing new.

</comment><comment><USER27> I think 3rd party restaurant delivery could be disrupted in just about every metropolitan or college town. If your town is host of awesome restaurants but no unified delivery service, then make it happen! (Disrupted might be the wrong word here unless you're trying to do this in the Bay Area; most cities don't have any 3rd party delivery services so you'd be starting something new)

<comment><USER5> this model needs to be franchised out with central control, scheduling and access infra. Let any students/underemployed sign up to be a delivery person for quick cash...

Imagine if you could opt in for a delivery anytime you're on a non-rushed lege between points A and B and can accept the order, and pickup and dropoff as well.

</comment></comment><comment><USER28> Pfsh.

Over here in the Netherlands - and I think it originated in the UK - we have JustEat ([http://www.just-eat.co.uk/](http://www.just-eat.co.uk/)), a company that connects local food restaurants behind a single web interface. If I'm correct, the restaurants still do their own deliveries; they just get orders in from another single source. It also seems that JustEat sponsors the restaurants with things like insulating delivery bags, scooters, etcetera.

I for one don't see how this startup offers anything better than that structure. Maybe a shared 'delivery guy' pool, since some restaurants / takeaway places will be more popular than others, where the others have such a low volume they couldn't support a delivery guy of their own.

<comment><USER29> That "maybe" aspect you list at the end is a huge advantage! You say that you don't see an improvement on the other structure, then list the killer improvement!

</comment></comment><comment><USER30> For company lunches/dinners, YC also has invested in ZeroCater: [https://news.ycombinator.com/item?id=3297522](https://news.ycombinator.com/item?id=3297522)

</comment><comment><USER31> Back in Bulgaria someone got the idea to use the taxi fleet for food delivery - the delivery charge is still fixed, it's just that the car is a taxi. I always thought this was very clever.

</comment><comment><USER32> Is this just a cheaper version of www.trycaviar.com?

</comment><comment><USER33> This is an awesome article. Liked and upvoted :)</comment>