Ten Years of Vim - <AUTHOR> https://matthias-endler.de/2018/ten-years-of-Vim/ <comment><USER2> One thing google can do that blows most peoples mind when I show them: Did you know vim supports time travel undo?

Sometimes you do some things then undo and redo trying to get back to a certain point in time. In vim you can step forward and back through all this by doing "g-" or "g+" to travel backwards or forwards in time. Or you can say ":earlier 50s" to go back to where you were 50 seconds ago.

Most editors treat undo as a linear thing, you undo and you redo. But once you undo and then do some things, it starts looking more like a tree than a line. It's not frequent, but sometimes I just need to say "I know what I had was what I wanted 5 minutes ago."

<comment><USER3> All the JetBrains IDE's keep a history of your edits, I accidentally rm -rf'd the wrong dir and reverted my code back thanks to JetBrains. I can't imagine vim saving your old files that have yet to be checked in to SVN / git (breaking changes anyone?) that you've not yet opened on vim.

Funny you mention that though, a coworker opens files in vim and does changes and tests but keeps it open if he's going to try something else so he can always go back to those other changes (guessing he reverts the code, then opens yet another vim window). I work with a lot of VI(M) coders but they barely take full advantage of VI(M). I just use IDE's or Emacs / VS Code (w/ X Forwarding more recently) personally makes it easier to find the fancy features with a UI.

I'll share that time travel feature to my VIM coworkers maybe it'll save their tail sometime.

<comment><USER4> Vim also has persistent undo. Check out the options:

        undofile
        undodir

These will cause vim to store all file histories into files within that directory. Now you can close and reopen vim and continue undoing as much as you want!

<comment><USER5> Do you know if there's a way to make "normal undo" stop at the beginning of the current session, then have some special command or confirmation that I indeed want to move further back? I almost never want to undo past the current session, but occasionally I do.

</comment></comment></comment></comment><comment><USER6> OP should consider using buffers: you can _:ls_ to display the list of buffers (which I have mapped to _gl_ ) and then _:bn_ (where _n_ is a buffer number) to go to some specific buffer. Also, in the same fashion of _gt_ and _gT_ for tabs, I mapped _gb_ to go to the next buffer, _gB_ to the previous one, and _g space_ to go to the last one. IIRC all these key bindings are unused by default. In my opinion tabs are more useful/interesting when you work with multiple windows layouts.

[https://github.com/pera/vim/blob/master/.vimrc](https://github.com/pera/vim/blob/master/.vimrc)

<comment><USER7> I use CTRL-j and CTRL-k to cycle through my tabs. It's like j/k except for tabs instead of lines:

        map <C-j> :tabn<CR>
        map <C-k> :tabp<CR>

I also alias ":split" to ":tabe", because my fingers will be forever wired to type ":split <filename>" when I want to open a new file.

        cnoreabbrev split tabe

</comment></comment><comment><USER8> I use (Vim IMproved - not vi) vim all the time. I find it interesting to see what features other people tend to use in vim, there seems to be some minor differences in their workflows, but it's not clear who "wins" the productivity battle.

I only use a _very_ small number of it's features:

* `:tabe` Create a new tab

* `:e .` Start browsing files in that tab

* `:w` Write the file

* `:q` Quit the file (`:q!`, seriously, please do quit the file)

* CTRIL+SHIFT+UP/DOWN To switch tab (doesn't reliably work on every machine)

* `/WORD` To search for something

* `:NUM` To go to a specific line

* `i` To insert

* SHIFT+V to select lines

* `d` To delete lines

* `x` To extract lines

* `y` To "yank" (copy) lines

* `p` To paste lines

>Here are a few things I wish I could do better:

I don't have a great memory, so memorizing more than what I use every day is a little too much. One thing that I'm working on remembering is the ability to replace strings (although I don't really like regex).

>Would I learn Vim again?

I'm yet to experience anything compelling enough to stray me away. The advanced features are there if I ever need them, but for the most part I am free to have a lightweight editor.

<comment><USER9> >Vim IMproved

Oh, so you are using an improved version of Vi IMproved? ;)

<comment><USER10> Emacs + evil-mode, presumably. :)

<comment><USER11> I need to use Emacs rather than vim for some things (Proof General, mostly), and I was surprised how well evil-mode works. It's only undo that I don't get. From vim I'm used to be able to undo as many editing steps as I want. In evil- mode, I find that if I type "u" too many times, it runs out of undos to do and starts undoing the undos (i.e., it starts _re_ doing things I want to go away).

Also, search uses different word separators from vim: In vim "foo_bar" is a single word that will be skipped by pressing "w". But in evil-mode the "_" is a word separator, so the above is _three_ words. That breaks my flow every time.

Some of this might not be due to vanilla evil but due to the fact that I'm using it through Spacemacs.

This is my two cents. If by any chance anyone would know off the top of their head how to fix these, I'd be greatful.

<comment><USER12> For linear undo and undo branches, undo-tree.el is required:

[https://www.emacswiki.org/emacs/UndoTree](https://www.emacswiki.org/emacs/UndoTree)

Regarding "_", you can set up Emacs to treat _ as _word constituent_ by modifying the _syntax table_. For example:

        (modify-syntax-entry ?_ "w")

For more information, please see:

[https://www.gnu.org/software/emacs/manual/html_node/elisp/Sy...](https://www.gnu.org/software/emacs/manual/html_node/elisp/Syntax- Table-Functions.html)

<comment><USER11> Awesome, thanks! I'll try these.

</comment></comment></comment></comment></comment></comment><comment><USER13> I know you said that you like maintaining a super minimal .vimrc, but fwiw there's a couple of plugins that really helped me with the workflow issues you mentioned struggling with:

> Jumping around in longer texts: I know the basics, like searching (/), > jumping to a matching bracket (%) or jumping to specific lines (for line 10, > type 10G), but I still could use symbols more often for navigation.

vim-sneak is real nice for this, and has turned into one of my most-used movement commands [https://github.com/justinmk/vim- sneak](https://github.com/justinmk/vim-sneak)

> Using visual mode for moving text around: Sometimes it can be quite > complicated to type the right combination of letters to cut (delete) the > text I want to move around. That's where visual mode (v) shines. It > highlights the selected text. I should use it more often.

vim-move was a game changer for me [https://github.com/matze/vim- move](https://github.com/matze/vim-move)

> Tabs: I know how tabs work, but all the typing feels clunky. That's why I > never extensively used them. Instead, I mostly use multiple terminal tabs or > an IDE with Vim bindings for bigger projects.

This is worth a read: [https://joshldavis.com/2014/04/05/vim-tab-madness- buffers-vs...](https://joshldavis.com/2014/04/05/vim-tab-madness-buffers-vs- tabs/). Buffers + vim fzf is a really nice workflow [https://github.com/junegunn/fzf.vim](https://github.com/junegunn/fzf.vim)

<comment><AUTHOR> OP here. Thanks for the tips. I've used vim-sneak for quite a while (it's even built into Visual Studio Code's Vim plugin), but it just didn't work with me. I'm more of an easymotion ([https://github.com/easymotion/vim- easymotion](https://github.com/easymotion/vim-easymotion)) type of guy. But even easymotion vanished from my workflow, because `/` works almost equally well for me and easymotion is not available on every system I use.

I guess what I'm trying to say is that I became more and more conservative about what external dependencies to rely on, because as soon as they become part of my workflow, I can't easily go back because they become part of muscle memory.

For vim-move I use `V` + `j,k` for the selection followed by `d` to delete and `p` for paste. Works quite well for me. The problem that I have with visual selections is, that I often want to "grow" a selection from inside of my current position. Say my cursor is inside parentheses, I'd like to hit a key repeatedly to select an ever growing region of text: first the entire content inside the parentheses, then including the parenthesis, then the entire line, then the entire function and so on. Is there a plugin for that?

Thanks for your article on buffers. Looks like a great workflow. What I'd like to have on top of that is a way to open a buffer based on the contents of a file. Say I have a file somewhere that contains a specific function, `myFunction()`. I'd love to just start typing `myFu` and vim would suggest the correct file to open. Bonus points for handling typos, e.g. `ymFu` should also work.

<comment><USER14> I think vim-expand-region ([https://github.com/terryma/vim-expand- region](https://github.com/terryma/vim-expand-region)) is what you're looking for.

It allows you to repeatedly 'v' to select ever larger parts of text.

<comment><AUTHOR> Well that's exactly what I was looking for. Thank you!

</comment></comment></comment></comment><comment><USER15> After using vim for a few years now, I noticed how I changed from thinking about text as characters to thinking about text as lines, which lets me create much cleaner code (independently from pretty printers).

When I selected code via mouse in the past, I selected it from character to character. In vim I tend to think line-wise so I can yank, paste, delete code per line which makes sense in many scenarios.

<comment><USER16> I have been noticing this effect as well, and I was thinking that there needs to be a change in how we design programming languages. The old programming languages are treating characters or words as atomic units, but human mind does not really work at words. We work at sentences or lines. Each line can have its own context and can host more flexible syntax. On one hand, the programming languages can be more expressive when designed toward line units -- lines naturally can host more vocabulary than isolated words; on the other hand, the compilers and parsers can actually be simpler or smarter, as lines pose boundary of syntax and errors may be confined and easy to recover.

<comment><USER17> Lisp?

<comment><USER18> Yes and no. In my experience vim is great for manipulating s-expressions because it has expressions like da( which means "delete everything between the parens wrapping the cursor".

But no, many lisp dialects have a tendency towards nesting expressions which will force them accross many lines which doesn't match up with ^^'s idea of keeping lines context free.

<comment><USER17> Sure, but then you just say that the atomic unit is not the line, but rather a list.

</comment></comment></comment></comment></comment><comment><USER19> Surprised to see that he's gone back to an empty vimrc after years with high customization. To me customization is such a great part of vim that I can't imagine being without it. For instance, I have shortcuts to find and replace on visual selection. I also have at least 5 plugins in my vimrc that are absolutely necessary for my workflow. Pure vim is nice if you need to occasionally edit files, but if you use it as your prime editor its not enough without customization.

<comment><USER20> My experience has also been with a decaying amount of customization. As I get better with Vim I learn more and more how to do things in a "Vim-native" manner which I had previously needed plugins for. For example, when I first started using Vim, I relied heavily on NERDTree. These days, netrw works perfectly fine for me.

<comment><USER21> This is what I tend to hear from Emacs people too. Not an absence of cpnfiguration, just a surprisingly minimal amount because to them, the defaults start making sense. I have no idea if this is because the human learns the editor, or if it is the editor shaping the thoughts of the human, but it sounds nice and I sort of wish I would get there soon.

</comment></comment></comment><comment><USER22> One built-in feature (not enabled by default) that I absolutely love is persistent undo. _Love_ it.

Basically, undo trees can be persisted across vim sessions. Have a read via ":help undo-persistence".

<comment><USER23> Pairing this with undotree[1] is really handy, as it allows you to see your full edit history, branches and all, and jump back and forth.

[1] [https://github.com/mbbill/undotree](https://github.com/mbbill/undotree)

</comment></comment><comment><USER24> One current problem I have with Vim is those linux distributions where someone - maybe the VPS vendor/hosting company - put in some mystery .vimrc file somewhere that makes the editor apparently more friendly for new users. So you copy and paste a line to your mysql config file, to restart the database service and find that nothing has changed. So then you edit the file again and discover that the mystery .vimrc file has added a '#' at the start of the line.

Another one that gets commonly messed with is the search. If you use '/' then you should expect the search to begin when you press the enter key, with the usual 'n' to go to the next match. But no, some mystery .vimrc file has made this more newbie friendly, so the search happens before pressing enter. Which is not what you want if standard, expected behaviour is expected.

For reasons of teamworking I have moved away from vim plugins in the IDE, for this I have had to buy a new keyboard. Normally I do not use a full keyboard as that number block on the right hand side has no value whatsoever to me. If I was right handed and did accounts then sure, that would be a handy feature, but the number pad is really just not helping for me, most of the time, particularly on a laptop where the numpad skews the keyboard off to the left hand side. I want the spacebar in the centre, not an inch or so off skewed to one side.

So my new discovery - the gaming keyboards that have the home/end and arrow keys but no number block - I think they are called 87 key keyboards. These are great if 'moving away from vim' as the 'home/end' keys make it easy to get to a start/end of a line. Under normal circumstances with vim there is no need for these extra keys, to add to the end of a line or the start is just a matter of using the right keystroke, just 'o' or 'a' is all that is needed with the magic that is vim.

Moving away from vim is quite dangerous, for a while you find programs breaking because there is a block of 'kkjjj' or an 'i' embedded in there somewhere!

<comment><USER25> This can almost certainly be avoided by typing ":set paste" before entering insert mode and pasting. Give it a try!

</comment></comment><comment><USER26> The point in the article is that the Vim keyboard bindings are most useful. Most editors have an option or plugin for that. That's what I use mainly. For instance I use Visual Studio + Resharper + VsVim ( + AceJump + RelativeLineNumbers) as my main development enviroment. I also use webstorm configured in a similar fashion. Visual Studio and R# understands the code and how to manipulate code far better than anything in the Vim world does, but I use it in combo with Vim keyboard bindings and it becomes incredibly quick to do things.

I don't actually use Vim itself very much ( I still use it for various things, but its not my main editor ). Its nicest attribute is for quick editing tasks it loads quick and can load very large files.

</comment><comment><USER27> Vim user here. One thing I rarely see discussed is the idea that vim is not about speed. It's about comfort.

Maybe hjkl is a little faster than arrow keys. I don't care. I just like doing my editing with less hand movement.

I'm sure that I could perform many operations faster with a mouse. Select text, drag it a little below. Probably faster than d}}p even. The point is, mouse is finicky and annoying. The context switch between typing and moving the mouse breaks flow. Aiming the pointer is hell, and even worse if the target is small or the mouse of low quality. Anyone who plays click-heavy video games (RTS, many MMOs, 4X) can probably understand the pain of dragging the cursor between two points and clicking repeatedly.

Vim is terrible. It takes a while to learn and when you've learned it well enough you're spoiled and everything else feels painful. Vim is the closest I can get with current technology to a neurally linked brain-controlled editor. It feels like the cursor obeys my thoughts, not the limits of my manual dexterity. The next step would be an editor actually wired to my brain where I just think what the text should look like.

</comment><comment><USER28> One thing I noticed when working with people who are only familiar with IDEs for coding and GUIs for version control: they're helpless on remote servers. If they need to jump on a box and debug an issue live, they just can't do it. For me, using tmux + vim + git cli locally, my workflow remains exactly the same remotely.

Tools are nice, but don't let them make you weaker.

</comment><comment><USER29> Tabs are great for organizing groups of related files. They are different from other editors that only let you have one file per tab.

With Vim you could split a tab with a frontend HTML and CSS file, and have a couple of backend files in another tab. Then `gt` or `gT` to switch between the groups.

If you use nerdtree, `t` opens a file in a new tab, so you don't need to type `:tabnew` often.

</comment><comment><USER30> Nowadays, I prefer Kakoune ( [http://kakoune.org/](http://kakoune.org/) ) to vim. Being based on selections rather than movements feels much nicer. It feels a bit like always being in a kind of visual mode. That said, there are the following caveats:

* Vim tends to be installed/available almost everywhere, Kakoune isn't

* Vim has a much bigger ecosystem

* There are some very advanced features hidden in vim that most people don't know about. If you depend on those, substituting vim with another editor can be hard.

<comment><USER31> I've been meaning to look into Kakoune for some time now. How steep is the learning curve for a long-time vim user?

<comment><USER30> Some of the keys match up, but many are different. The actual way of thinking and composing actions while you're editing is similar, although I'd say thinking in terms of selections rather than movements makes things easier.

</comment></comment></comment><comment><USER32> It's highly overstated how hard it is to learn imo. I would learn it again without a doubt.

<comment><USER33> I ran 'vimtutor' twice and felt comfortable enough to switch. I think the only reason people think it's so difficult is they maybe try to go too deep too fast?

<comment><USER34> I repeated vimtutor for a few days in a row trying to following this nice Vim learning plan [1] I saw on HN and I gave up trying to switch to Vim as my main text editor after that. Even though I knew how to perform most of the basic operations, the fact I had to switch to normal mode to do anything more complex than editing of the current line felt just too unusual to me. I mean, I'm comfortable editing files on remote servers in Vim now but I don't think I'd ever be considerably more productive in Vim than in IntelliJ/Sublime.

[1] [https://medium.com/actualize-network/how-to-learn-vim-a- four...](https://medium.com/actualize-network/how-to-learn-vim-a-four-week- plan-cd8b376a9b85)

</comment></comment></comment><comment><USER35> > I don't use arrow keys to move around in text anymore but forced myself to > use h, j, k, l. Many people say that this is faster. After trying this for a > few years, I don't think that is true (at least for me). I now just stick to > it out of habit.

Sounds like he's not a touch-typist.

And as a general note; learning and mastering vim can hardly be a pleasant activity for non touch-typists, or otherwise typing heroes.

<comment><USER36> I don't see why that means he's not a touch typist?

I actually use both hjkl and the arrow keys. Arrow keys are useful for moving the cursor in insert mode.

<comment><USER35> Because the hjkl key bindings are invented by touch typists for touch typists.

Touch typists are more comfortable with using hjkl than the arrow keys as the hjkl keys reside in the home row; so they are extremely cheaper to press than the arrow keys for touch typists.

And, you don't need to move the cursor in insert mode. vim and more generally the modal editing concept is invented just so you don't do that. I'm not sure if you are a rookie vim user or have a niche use case that requires moving the cursor in the insert mode.

I think it is funny that vim supports arrow keys at all. It's probably to reach a wider audience, and for compatibility. And a related fact is that the original vi doesn't support using arrow keys in insert mode in the way you expect.

</comment></comment></comment><comment><USER37> I read an article a few years ago, the name of which escapes me. It was something like "Idiomatic Vim" or "Linguistic Vim". I would love to find that article again, if anyone happens to know based on the sparse info I've just provided, I would greatly appreciate it.

One of the things I learned was that you can do things like yank to a character. In other words, if your cursor is at the beginning of "The quick brown fox jumped over the lazy dog" you can type 'ytx' (Yank To to the "x" next "x" character) and it'll yank "The quick brown fo". That's really handy with code, I find.

<comment><USER38> To sure about your article but this sort of thing is the subject [https://pragprog.com/book/dnvim/practical- vim](https://pragprog.com/book/dnvim/practical-vim)

It's full of tips on doing things "the Vim" way without plugins.

</comment></comment><comment><USER39> All of the points in the "Some things I wish I could do better" section are the reason I use a regular memorization free-ish IDE.

Out of the box the things I want to do are easy (multiple files, manipulating structure of blocks of text, searching and manipulating information across my project simultaneously) and the things that aren't are rare (Add a dollar sign at the beginning of the next 13 lines).

I know how to use vim solely because it's necessary to edit files in a terminal.

<comment><USER35> > Out of the box the things I want to do are easy

Easy what? Easy to learn or easy to do?

They are arguably easier to do in vim once you learn the proper method. Just not as easy to learn.

That a common trade-off shared by rather elaborate tools.

<comment><USER40> Yeah "once you learn the proper method" is the key phrase here. The proper method being "use rote memorization to learn about things which could have easily been made available via some discoverable visual mechanism".

GUIs make things easy to learn and easy to do. Especially on an OS like Windows where you can drive the entire UI with just the keyboard and about a handful of well-known keyboard shortcuts.

So what's your point? Perhaps you're using a Mac or some other barely usable desktop system that has crappy keyboard acceleration for the UI?

<comment><USER35> > The proper method being "use rote memorization to learn about things which > could have easily been made available via some discoverable visual > mechanism"

I already said that this is a trade-off. Nobody's claiming that the vim way is the "right way" to do text editing. If you prefer a discoverable visual mechanism, you can go with it.

But some people clearly prefer to "use rote memorization" because they obviously gain something out of it.

And believe it or not, "rote memorization" is an essential part of our everyday life. Without it, you can do nothing. I don't see any harm in somebody deciding to apply it to text editing as well. Obviously thousands of people decided to do that, looking at vim's popularity.

And lastly, the memory we are talking about here is the muscle memory. You put something there once and it's done. Using vim is very much like riding a bicyle in that sense.

Would you prefer to have a bike that has labels on the pedals, brakes, gears; and prefer to go through those labels each the you need to use one of them?

Memorization allows you to do things without thinking. The mantra of vim and similar tools is to enable you to become one with the tool just like you become one with your bike, your tennis racket, your sword (!), whatever. Touch typing really helps here as well.

You can't understand that without investing enough time to that. (You don't have to. But you don't have to criticize it without really knowing what you are talking about either.)

I use Arch Linux. Keyboard accelaration is perfect.

<comment><USER40> Define rote: mechanical or habitual repetition of something to be learned. This is not something that is part of every day life at all. After school the only time I had to repeat something over and over with any kind of frequency at all was when I was learning vim.

> Would you prefer to have a bike that has labels on the pedals, brakes, > gears; and prefer to go through those labels each the you need to use one of > them?

That's not a really good analogy because my memory also works for GUI apps. However, I didn't have to use a rote method to get there. I just use the GUI with its labels and visuals helping me along the way. If I don't use something for a while, the labels and other visual elements are there to help me out.

> Memorization allows you to do things without thinking.

Yes and your memory works with GUIs too. But again, I didn't have to put myself through weeks of exercises to use a GUI.

> You put something there once and it's done.

I don't think so. Time is a thing and particularly with regards to lesser used features - you'll find yourself looking up things that you once knew.

> I use Arch Linux. Keyboard accelaration is perfect.

Sure it does... at least until the next update amirite?

<comment><USER35> > Define rote: mechanical or habitual repetition of something to be learned. > This is not something that is part of every day life at all.

I can understand that. It was already clear that you are not the type to give time to learn about rather elaborate tools that have higher learning curves than the average. That's ok. It may not be a part of YOUR everyday life. But not everybody is living your life.

The difference between you and me is that you are implying that vim is pointless and wrong. I'm saying that everybody should go with whatever works best for them and that every approach has their benefits.

Also, attacking my operating system has nothing to do with this discussion. Not a very effective rhetorical method.

<comment><USER40> I agree that everybody should use what works best for them. So there's definitely value in that.

Typically when I pose an argument in a thread like this, about a technology that I don't prefer, it's due to the fact that a multitude of users have badgered me over my own preferences elsewhere, saying that their technology is clearly superior.

I use Windows, Linux and Mac in that order of frequency and I like them all for different reasons and I dislike them all for different reasons. A ton of users on HN react badly to anyone who isn't just like them. So, I was being a bit defensive sorry.

</comment></comment></comment></comment></comment></comment></comment><comment><USER41> Regarding tabs: I bound F2 to previous tab, F3 to next tab and F4 to new tab. Besides highlighting the current line, I think this is my most important customisation.

<comment><USER42> Isn't `gt` and `gT` faster? You don't have to move your hands!

<comment><USER29> I like `gt` and `gT`, because they are available out of the box on remote servers too.

<comment><USER38> Also you can use <num>gt to jumpe to, say, second tab.

</comment></comment></comment></comment><comment><USER43> Wait until he discovers emacs!

I don't mean that rudely, it's just that emacs can do everything vim does & far more.

<comment><USER44> To paraphrase the OP's own words, he likes vim because it treats editing as a first class citizen. Editing in emacs, without something like evil mode, is a second class citizen - it requires key chords to do.

And, if I put on my snark mask for a moment, at the point you're using key chords to do your editing, why limit yourself to emacs? A fully programmable editor is now the norm, not the extraordinary.

Taking my snark mask back off, I realize there are no editors currently which are as fast an extensible as emacs yet; Atom is close, but bloated and slow in comparison.

</comment></comment><comment><USER45> Long time Vim user here. Just switched to Emacs primarily. Use Vim for small tasks

</comment><comment><USER46> Only 10 years? Feels old, man.

</comment><comment><USER47> Vi

</comment><comment><USER40> Whenever vim comes up I see someone trying to sell the audience on some "amazing", obscure and rarely used feature that users of other editors should be jealous of... However, it seems to me that if anyone _actually wanted_ those features then they'd be standard in other text editors and we'd have them already.

But what I find really hilarious is that whenever these features are mentioned I see people who have been using the thing for a decade say "I never knew that!" or they dicker about what the commands actually are.

</comment><comment><USER48> "And I still can't find how to quit"

<comment><USER49> Did you mean, "It's hard to quit from using vim once you get accustomed to it."? :)</comment></comment>


An Analysis of Going from $0 to $1m Revenue in 1 Month - <AUTHOR> https://elizabethyin.com/2019/02/19/an-analysis-of-going-from-0-to-1m-revenue-in-1-month/ <comment><USER2> Using non real world examples is a big problem.

So let's say you could convert $1 into $1.15 in revenue. You can't invest that money back into advertising because you forgot about costs and margin. Your product would need to have 100% margins for this to be true.

Now direct to consumer companies get no where close to that mythical margin and probably are well below 50% which means that you would need to finance a tremendous amount of inventory as a cost to get to revenue of $1MM.

So more like you need $25k ad budget and oh yeah we forgot to mention another $400k invested in inventory.

But saying you need $425k to get $1MM in revenue isn't as catchy as saying all you need is $25k.

<comment><USER3> I would hazard a guess that many of these kinds of companies aren't holding inventory, though. Dollars to donuts says that they're taking that money from the customer, ploughing it back into ads, then using cashflow from future customers to actually order the goods from a dropshipper week or so later.

Some would call it a ponzi scheme, others would call it a kickstarter.

</comment></comment><comment><USER4> This is a really misleading title!

I don't normally leave negative comments but how did this article even break the top 10? There's no correlation between this formula and reality.

99% of ad campaigns have negative ROI, and those that don't need massive scale, not a small seed tranche.

Advertising is a powerful but expensive tool, not a solution to becoming an overnight unicorn.

</comment><comment><USER5> Step 1) Have $25,000 to gamble on ads in one day. Well, shit.

</comment><comment><USER6> Everyone seems to be reading this in the most literal way possible and complaining that the numbers aren't real, or that advertising doesn't work that way, or somehow thinking this is some sort of recommendation for an advertising based business strategy. It's not.

The point is simple: For the same unit costs, if you get your payment cycle time down, you will make more money.

It's a mathematical example showing what happens in extreme cases, so that it's easier to spot the trend. Nothing to do with advertising specifically.

</comment><comment><USER7> Good illustration of the time value of money and why clearing payments sooner gives compounding results.

</comment><comment><USER8> You're an engineer and you've built your own product (no dev costs except your own time). Its serverless and hosting costs are minimal, < $1 per million requests (source: [https://aws.amazon.com/lambda/pricing/](https://aws.amazon.com/lambda/pricing/)).

Assuming you convert $1 in ad spend to $1.15 in revenue, would this be possible?

</comment><comment><USER9> This is interesting, but I'm suspicious of the rosiness of the 1.15x return math when it implies that if this business starts on day one with a $1 ad buy they'll have $84bil in revenue after about six months.

<comment><USER10> You might run out of search volume a little before $84bil. Maybe even before $1m. Great business they found though - no refunds!

</comment></comment><comment><USER11> So this is like the Carnot Cycle for investing then? The "theoretical optimal maximum" for a cycle, that efficiency will be measured against but can never be reached?

</comment><comment><USER12> get this garbage out of here.

> Now, in practice, the scenario I've outlined is near impossible.

shocking. sensationalized title with nothing to back it up. its a shame too, because understanding cash flow is very important in business and its a worthy topic for startup founders.

This author, while I've never seen of or met her before, seems to be otherwise reputable but this is a garbage content on a level of which I usually see relegated to indiehackers.

Going from $0 to $1MM in one month for a brand new product from a brand new startup isn't near impossible, its FUCKING impossible.

Lets break this down a little bit more:

25k a day in adspend: okay great. Except that most ad platforms don't let you just immediately ramp to 25k per day. So unless you have a) a team of people who have been researching and building ads and keywords for some time before, b) an outsourced digital ad agency to ramp for you, or c) you're Google or Facebook, spending 25k a day isn't going to happen.

Immediate ROI: Sure, you spend $25k on ads, those ads net you a bunch of money on sales, then you can immediately transfer that revenue right back to ads right? wrong. Its going to take days or even up to a week to move that money back into ads. From your credit card process, to your bank, to your ad platform. So unless you have closer to $125k-$175k in cash or credit set aside for a weeks worth of ads, you can't turn cash that fast. Even if you ignore the fact that your card processor is going to freak the fuck out at the rapid increase in processing and is going to keep a substantial part of your revenue as a rolling reserve.

You have a company, product, and team that can deal with $1m in sales: The author just neglects this, which means shes either minimizing the work that goes to getting a company to this point or.... or i dont know what shes trying to say. You aren't going to be able to build a company that can deal with $1m in revenue in 30 days and live to tell about it. You probably spent months or even years building a team, that built your product, that cost you hundreds of thousands of dollars.

No, the tried and true, Product Owner (not investor) endorsed method for getting your first customers is to not use ads, but to do it with good old fashioned word of mouth and sales.

This type of content is awful because it works to perpetuate the flawed notion of instant startup success. All you have to do is spend a bunch of money and you too can be a unicorn. Its completely contrary to how it actually works and its frustrating seeing founders become demoralized because their startups don't work like this.

The truth is, it takes time and effort to build your company. Your fist $10k in revenue is just as hard and just as important as your first $1m in revenue. Its going to take time, maybe years, before you can get it done. Its definitely not going to happen in one month.

<comment><USER13> The point of the article wasn't to present a realistic scenario; it was just saying "never underestimate the value of time in making money"

<comment><USER12> the title is:

"An analysis of going from $0 to $1m revenue in 1 month"

which is the opposite of what you are suggesting.

</comment></comment></comment><comment><USER14> "Now, in practice, the scenario I've outlined is near impossible."

</comment><comment><USER15> I'm not sure if this is satire or not.</comment>


Ask HN: Is Lockerz.com legit? - <AUTHOR>

So a friend of mine had me sign up for this site, saying you can get free stuff by watching videos and stuff. Site looks well made but a google search shows little info on this site. This site:http://hubpages.com/hub/Is-Lockerz-legit
says "As a testament to the legitimacy of Lockerz.com, its CEO, Kathy Savitt, used to be Vice President at Amazon.com and the CMO at American Eagle. " I'm looking at some of the videos and they got celebrity endorsements, but my gut feeling says this is some kind of scam since I cant find much info on this site. Anyone got some info? <comment><USER2> Lockerz is what made a lot of users on my site (pikagame.com) fanatics about free stuff. They do send out prizes however the process is somewhat shady, as they have a limited quantity and the prizes are only available at a certain time/day (kind of like Woot).

It might get you something but honestly it's probably not worth the time.

</comment><comment><USER3> Why not sign up using a disposable email such as <http://whyspam.me> (disclosure:developer) and get a P.O. box and try it out. Then you can let us know.

WhySpam also tracks spammers and not-legit sites, so you can check to see if someone reported on it already.</comment>


"Optimizations should be added to V8" for the asm.js subset of JavaScript - <AUTHOR> https://code.google.com/p/v8/issues/detail?id=2599 <comment><USER2> Now this is big. Doesn't this means Node.js would benefit from asm.js addition in V8 as well?

Few months ago by Brendan Eich: "Get your tums out, pal. We're taking PNaCl down for good this year with <http://asmjs.org/>. Cross-browser."[1] With the announcement of Unreal Engine and this, seems like he's one step closer to the goal. Now only JSC and Trident left...

[1]: <https://news.ycombinator.com/item?id=5226967>

<comment><USER3> I don't see this as big. Kbr wouldn't in any way be responsible for adding asm.js support to v8. He's one of the core guys on accelerated graphics, but isn't involved in the JS engine. Also, you'd be well served to consider anything Brendan Eich claims in the context of his own motivations. Because other JS engine developers aren't necessarily enthused about signing on to support a spec that Mozilla developed mostly in secret without their input, relies extensively on engine quirks, and doesn't yet (ever?) address many hard problems like code caching and threading. I'm not saying asm.js isn't interesting, but it's not a guaranteed win either.

<comment><USER4> > Because other JS engine developers aren't necessarily enthused about signing > on to support a spec that Mozilla developed mostly in secret without their > input,

I don't think that's accurate. We started work on asm.js only a few months ago; at the beginning, we had no idea if it would work, so we just threw around some ideas between each other. When we had something we felt could actually work, we immediately put it up on

<https://github.com/dherman/asm.js>

And worked on it there. asm.js has been discussed on IRC (#emscripten and other places), the emscripten mailing list, etc., as we further improved the spec.

About the middle last month, we got some performance numbers, and felt we could say something about speed, so I mentioned asm.js in my talk at mloc.js and other more noticeable places, but it was definitely not a secret far before that.

> relies extensively on engine quirks

That would be a bad bug in the asm.js spec. Can you please elaborate?

<comment><USER5> Yet when Google spent only a few months developing the first Dart, and then released it to the public, and has been iterating on it for 2 years in full public view, and it still isn't even in Chrome nightlies (yet asm.js has already been dumped into Firefox nightlies) the same criticism was leveled at Google from Mozilla.

I think Mozilla would get a lot more benefit if people stop with the juvenile "You're going down!" adversarial mentality. If someone from the Dart or NaCL team had tweeted "2013 is the year NaCL and Dart destroy Javascript!" imagine the uproar. This is about exploring the solution space for solving technical challenges related to maximizing performance, helping developer productivity, and strengthening the Web, and there are many potential solutions. (I for one don't see the "Web" as Javascript, I see it as HTTP, URL, 'drive-by', indexability, transparency, platform independence and location independence. HTML, CSS, and JS are just particular concrete embodiments of those principles, but 30 years from now, they could be implemented in a radically different way)

I think asm.js is great for a slice of game genres, and I fully support it. The cheerleading and politics just isn't needed, let the code, benchmarks, and game demos speak for themselves.

<comment><USER6> > Yet when Google spent only a few months developing the first Dart ... the > same criticism was leveled at Google from Mozilla.

Yeah right. Dart was originally dash. Before that it was planned modifications to JS, but nobody wanted to turn JS into Java so you threatened JavaScript "would be replaced".

Dart/dash/google.js is just open-washing. Nobody outside of Google has any say in it, and that's why they don't take to it.

<comment><USER5> Sigh...

No, Dart had nothing to do with planned modifications to JS, and if you think it was in the oven for a long time, why then have 2 years passed and it still isn't shipping in the browser, and the language grammar has undergone many changes? It's spent an enormous amount of time, the vast majority, in public development. The Dart2JS compiler was rewritten multiple times from scratch since then.

I work for the GWT team, which was also owns the Google Closure Compiler. Simultaneously, at the same time, our team was kicking around taking the Closure type annotations, and making them actual (optional) grammar terminals instead of boilerplately JsDoc comments, pretty much exactly what TypeScript or JSX is today, and then propose those changes to TC39 (one difference is, we didn't have classes, we had Structural Types). A separate team was working on Traceur, which was prototyping a different set of changes to JS, and they too were planning to go the TC39 route. Google is a big company and can have multiple teams prototyping many approaches. This stuff about turning JS into Java sounds like religious nonsense from people who have an aesthetic derangement over classes and OO, there are advocates on both sides, not just Googlers (and in fact, there are Googlers opposed to classes in JS), and ES6 has been fielding Class proposals. We were testing out how various extensions "felt" and worked with tooling, for example, Structural Typing in the presence of recursive types has issues.

There's nothing "non-open" about coming up with language extensions, doing a prototype implementation, and then putting it out for public review and drawing up a spec. That's exactly how all of the IETF specs get done -- rough consensus and running code. Talk is cheap, a proposal is better understood if it comes with an example prototype. Mozilla does their own prototyping of extensions to JS, it's the only way to really do a sanity check. Compared to IronMonkey, no one is under any illusions that something like Traceur was being pushed as some kind of official product for people to adopt and use, it was very clearly, a test bed for experimentation.

If we take your definition, no one outside of Mozilla had any say over asm.js, they developed the complete asm.js spec without involving the public, dumped it fully formed, along with an implementation VM, emscripten integration, and even an UnrealEngine demo, all before any standardization activity. The draft spec has no non-Mozilla editors/contributors listed or acknowledged as far as I can tell.

One of the real shames here, all the focus on Dart/NaCL, while native apps distributed on mobile OSes are eating our lunch. I want ChromeOS and FirefoxOS to be a success, but it is more likely to be a success if Mozilla, Google, et al can work together, and avoid attacks. It pains me to see this because both sides are doing tremendous work to move the web forward, and pettiness can harm spirit of cooperation.

<comment><USER6> > if you think it was in the oven for a long time, why then have 2 years > passed and it still isn't shipping in the browser, and the language grammar > has undergone many changes?

As an outside observer I'd say as a company with basically unlimited money resources for a decade that Google devs probably are slacking off quite a bit, not really driven in language design to get anything done.

Asm.js is basically just a spec for what emscripten was already doing. There's not much too it beyond that other than the linking/module bit, so not much to even discuss with anybody else. Dash/Dart/Pepper is a major piece of technology that is not a subset of existing tech like asm.js is. It has a much higher expectation for collaboration.

<comment><USER7> So rather than believe that Dart wasn't anywhere near done when it was announced, as evidenced by the massive changes, 20000+ commits since then, and the time it's taken to get close to version 1.0, you prefer to think that the engineers are just slacking off.

Right.

Big disclaimer: I work on that slacker team.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> More like "Chrome team member begins discussion for adding optimisations for asm.js to V8"

<comment><USER9> kbr is one of our WebGL engineers and while he does interact with the V8 folks often, he's not the decider when it comes to what goes into V8.

Your suggestion is certainly a more accurate summary. (I'm on the Chrome Developer Relations team)

<comment><USER10> At least it's on the radar, but man, if Chrome picks asm.js up, it's a game- changer in so many ways.

</comment></comment></comment><comment><USER11> Seems there's just an issue opened (less than one day ago) to add asm.js support. I didn't see any indication that a decision was taken...

<comment><USER12> The issue is opened by a someone who is involved in the development as well <https://email@example.com/>

It's not from some random dude on the internet.

<comment><USER13> True, but see Paul Irish's comment on kbr:

<https://news.ycombinator.com/item?id=5453892>

</comment></comment></comment><comment><USER14> It's not _just_ for the browser experience. I see all this is a preemptive move to make developing games (and other "rich experience apps") on Firefox OS more attractive to new developers. Who knows, we may even have some ports of existing games for it pretty soon.

Very smart move IMO.

Edit: To clarify. To think that the devs here are interested means the Mozilla folks got the right idea.

<comment><USER15> Can you port say OpenGL 4+ games to asm.js and the browser, or will you be able to use only the WebGL/OpenGL ES 2.0 API for it? If so, then we will only see mobile/indie games on the web for now, at least until WebGL gets more advanced graphics API's.

<comment><USER14> Don't see OpenGL 4+ making it to asm.js, but if anything has shown me with my limited experience in gaming, it's that people don't always flood to games because of the eye-candy alone. Case in point: Angry Birds.

I think WebGL/OpenGL will do nicely to create a game like Ikaruga (<http://en.wikipedia.org/wiki/Ikaruga>). It's probably one of the hardest, but most enjoyable games I've ever played and I think mobile/indie game developers will pull it off. If anything this opens up a new democracy in the previously restrictive world (if not outright closed as in iOS) game development for devices and consoles.

<comment><USER15> I just wasn't sure whether this is bound to WebGL or not. But even if it is, it's only a matter of time before WebGL gets graphics API's as advanced as the full OpenGL (5-10 years).

I think we're already going to see OpenGL ES 3.0 being implemented into WebGL within the next 2 years, and even if WebGL never adopts the full OpenGL (it has a lot of cruft anyway), keeping up with the OpenGL ES API's should be good enough (OpenGL ES 3.0, ES 4.0, ES 5.0, etc).

I was thinking the OpenGL ES will be the future most popular graphics API anyway (on any platform). It's just that Nvidia announcing full OpenGL 4.3 support for Tegra 5 kind've made me re-evaluate that. But if other mobile chip makers just stick with OpenGL ES, and WebGL does, too, then OpenGL ES should still become the most popular graphics API in the next few years.

</comment></comment></comment></comment><comment><USER16> Bit of a tangent, but I couldnt help but think of bus factors when I seen the comment in the linked thread

"Let's wait to land a patch until Jakob is back."

<https://code.google.com/p/v8/issues/detail?id=2424>

<comment><USER17> There is not much of a bus factor here.

I filed Issue 2424 and so let me explain: my fix was a very hackish local way (not the way I'd really like to see it fixed) that just demonstrated how much of the performance can be gained.

A generic implementation is obviously preferred. I would like to do it myself but I don't work on V8 full time anymore so I can't dedicate my own time to it.

<comment><USER16> Heh yeh I probably should have put a disclaimer in there since I wasnt trying to imply that there actually was a problem.

It was just the first thing that popped into my head when I read the comment.

</comment></comment></comment><comment><USER18> Now i'm gonna say that plain and clear : I don't care which wins, between PNacl and asm.js, i just care that one or them wins, and gets in every browser with decent performance.

Both approaches have their merits and drawbacks, I personnally prefer asm.js because of backward compatibilty and portability, but if we could avoid a 5 years fight about which is gonna bring near native perf in the browser, it would be absolutely awesome.

<comment><USER19> I care who wins and I hope its asm.js

For me, its not _that_ important, that every browser supports it. I have a large base of Business clients who have no problem, using whatever browser gets the job done best.

</comment></comment><comment><USER20> Smart move, Asm.js could basically be the gate opener for Chrome OS. Suddenly it makes sense if the OS is just a browser, if you imagine you could run things like Photoshop, Office or your complete development enviroment from any browser. Emscripten already has examples of QT apps running in the browser, this enables a whole new world of web development.

<comment><USER21> That's already possible with NaCl, and will soon also be possible with PNaCl.

<comment><USER21> Confusing downvote, what I said is factually correct. That's how Bastion, Angry Birds and I believe Netflix as well run on Chrome OS.

</comment></comment></comment><comment><USER22> Whether it's asm.js or PNaCL or something else, it seems that we are headed towards a future where the client part of web applications is crafted with compiled languages rather than JavaScript. That would be closer to the way mobile is now, with the exception that applications are discovered through a browser. It's starting to feel as if the JavaScript renaissance that we are having is taking us to a place where actually crafting web applications with JavaScript is factored out. That would certainly change what it means to be a front-end web developer. Maybe it will be that JavaScript will still have a place with very simple document-type content, while heavier applications will be made with compiled langauges. It's going to be interesting to watch this unfold.

</comment><comment><USER23> I'm just glad this development will allow you to use other languages besides javascript. Emscripten is cool, but not practical without something like this standardized. If it can render an Unreal level, it should be able to render a Qt widget sufficiently. Everything I've seen in this regard so far is inferior to just using html/css. As this tech develops that may not always be true.

</comment><comment><USER24> Javascript (full-stack) will be running at least half of the most popular websites within 5 years.

<comment> iso8859-1 > most popular

are you talking about the top-10 websites? let's take them one by one:

\- Google. I don't think so, it's not even one of their major server-side languages now.

\- Facebook. Likewise.

\- YouTube. See Google.

\- Yahoo!. I don't know anything about their server-side

\- QQ.com, Taobao.com, Baidu.com. Given that the Chinese do not pioneer web platforms, I don't see why they'd do this.

\- Windows Live. I know MS "likes" JavaScript, putting it in Windows and all, but it's not one of their major languages. It's not even their own :P

\- Wikipedia. Would require a switch from MediaWiki or rewrite. While I'd very much like to see PHP replaced, it's currently doing it's job. I have a feeling the language does not matter much, MediaWiki itself is not very complicated.

\- Amazon.com. Don't know.

Do you seriously see 5 or more of these turning to server-side JS?

<comment><USER25> _\- Amazon.com. Don't know._

Very unlikely; Amazon's backend is basically Perl talking to an SoA via an internal service definition language. A change to server-side JS would require a re-write of almost everything (which isn't unprecedented; the migration from a single giant C++ binary to the Perl system 10-odd years ago was such a rewrite).

<comment><USER26> While I agree that it's terribly unlikely, one could argue that having the services backing the frontend fleet written in JavaScript was "powering" Amazon.com via JS. There's no technical limitation on what you can build those services in, so it's theoretically possible.

<comment><USER25> One could indeed, and again there is some precedent for writing services in "unusual" languages. However, the service ecosystem, tooling and deployment was/is entirely custom; they'd need to add support for JavaScript to an awful lot of internal tools to make it work well. The effort to get _Java_ supported as a first-class development language was pretty substantial, and over the years there a number of internal teams with clever names sprung up to try and change the status quo in one way or another (SVN > Perforce! Ruby > Java!) with varying degrees of success.

So, yeah, no _technical_ limitation, but explaining to Jeff that you've spent a year retooling the build system to support node.js but not actually shipped any features yet might lead to limitations of another sort :-)

<comment><USER26> > So, yeah, no technical limitation, but explaining to Jeff that you've spent > a year retooling the build system to support node.js but not actually > shipped any features yet might lead to limitations of another sort :-)

Indeed, and this is why I agree that it's pretty unlikely :).

During my stint at Amazon we barely had time to build the infrastructure we absolutely needed to launch features on the artificial deadlines imposed from somewhere in the stratosphere. How anyone had time to work on paying off technical debt or building new infrastructure is beyond me.</comment></comment></comment></comment></comment></comment>


Ask HN: How do we discourage extreme aptitude tests in the hiring process? - <AUTHOR> Throughout my entire development career I've dealt with increasingly extreme aptitude tests that other industries simply don't have. For a recent senior role I was told to either fill out a 3 hour exam or write a 500 word essay convincing them that I know JS.<p>Is there anything candidates can do to discourage this kind of practice? <comment><USER2> Do not participate or require compensation for your time concomitant with your expected salary.</comment>


Justin Kan Launches Exec (YC W12) For Real-Time Mobile Jobs - <AUTHOR> http://www.forbes.com/sites/tomiogeron/2012/02/29/justin-kan-launches-exec-for-real-time-mobile-jobs/ <comment><USER2> Strangely enough my biggest concern is how well this will scale.

EDIT: I'm not sure why I'm getting down boated. I'm pretty serious. I have no idea the average task duration but assume its an hour then every "exec" can only do about 7-8 a day (assume some non billable time). If they get 10,000 customers and say each need one task every 2 weeks. Thats 5000 tasks and would require a staff of 125 execs. With 125 execs now you need managers and quality control and customer support. I'm assume execs are only getting paid about $15 an hour. That means A. Quality of Execs would be an issue. B. You only have about $10 of every hour left towards margin. Margin in straight services is nasty and this one is thin and in this case unless you have an extremely efficient staff your margin tends to go down as you grow - not up.

<comment><USER3> Your managers are algorithms.

Your onboarding costs you $20 for each Exec you sign up - in this economy, your acquisition cost for them is likely near zero because WOM and free PR will give you more opportunities than you can handle.

You bootstrap CS with either the founders or one of your close friends, building systems to support the common cases (e.g. "Exec flaked on me") and using T1 support as a system-level T2. Your margins are asymptotically the same as selling iPhone apps at $15 each ($10 minus pocket change either way), but you'll have many customer LTVs in the hundreds. Eventually, you'll have a proper CS team in place like e.g. Airbnb and the'll involve themselves in < 5% of orders at a fully-loaded cost of $12 per incident.

We know that this model in broad strokes works because Rentacoder, ODesk, 99Designs, Airbnb, etc etc all work. The major gamble is that there exists sufficient market demand among the upper middle class for semi-interchangeable gophers. It doesn't strike me as obviously a billion dollar business but then again I thought "Young ladies will happily pay money to stay the night at private residences" sounded categorically insane the first time I heard it and we already know how that story turns out.

P.S. Numbers here come from "Big dumb megacorp with a traditional CS department assumes an American FTE talking on he phone costs $12." There's all sort of ways you can cheat that assumption, beginning with not being a big dumb megacorp.

<comment><USER2> _Your managers are algorithms. - We know that this model in broad strokes works because Rentacoder, ODesk, 99Designs, Airbnb, etc etc all work_

I'm sorry I don't buy this, I may be misreading how Exec works but it looks like Exec's are _employees_ \- not _freelancers_. I don't know how this would work any other way you couldn't guarantee staffing levels and "real time service" for your customers if they were independents like Task Rabbit. Not to mention Rentacoder, Odesk and 99designs all usually have some aspect of geographic arbitrage which brings down their prices. The major difference in this model is that Exec becomes entirely responsible for QC - unlike each of the other's you mention where if a person (or place) is crap that "vendor" gets downvoted out of the game. Here the only people who lose karma is Exec itself.

This brings a whole world of pain and management which none of the crowdsourced models address - payroll taxes, labor codes HR - scheduling. You're definitely not managing with algorithms. I have a good friend who runs a Doggy Day Care in SF who hires a lot of folks in this price range. He has a hard time getting 15 people who can _walk dogs_ with a decent level of service.

<comment><USER3> You guarantee request quality of service, not staffing levels, by using a per- request queue. Beginning with the person most likely to say yes desirably, send out SMSes saying "Exec! New job for you. If you want details reply in next 2 minutes.". If they reply, opportunistically lock job for 5 min while they read. If not, move onto next potential exec. Tune parameters as required until 90% of customers get called within 10 minutes.

I totally get that your friend deals with the problems of flakey and unreliable people who are habitually not up to the task of working... but she doesn't deal with them like they were IP packets, does she? If she did, she wouldn't really be in the dog walking business anymore, but she'd also have potentially quite good reliability systemwide based on a network of high- failure components.

<comment><USER2> There seems to be a disconnect on the points we're arguing here. Task scheduling and routing is (almost) the easy part or at least a pretty solvable equation - there's a whole range of operations and queue theory texts that can make a quick go of managing that.

I'm more concerned with the human element. HR overhead, people making sure tasks are getting done well and in a timely manner. " _but she doesn't deal with them like they were IP packets, does she?_ " - No she (he actually ;-) can't they're people.

<comment> barry-cotter "I'm more concerned with the human element. HR overhead, people making sure tasks are getting done well and in a timely manner. _"but she doesn't deal with them like they were IP packets, does she?"_ \- No she (he actually ;-) can't they're people."

That's the point of Exec and of every we-can-disintermediate-this-or-make-it- massively-easier-by-using-IT-and-CS startup. They can treat people like IP packets. At some stage they'll have practically open hiring and most people will wash out fairly quickly but the ones who either excel or consistently fail to fuck up will just keep on getting tasks from Exec, the others won't.

</comment></comment></comment></comment></comment></comment><comment><USER4> Exec is awesome. We (ZeroCater) give all our employees Exec accounts and a weekly budget they can use to outsource random tasks outside of our core competencies.

Congrats Justin and Co!

<comment><USER5> That sounds very interesting. May I ask, how are your employees using this in practice? What kinds of tasks they are outsourcing, and how much is that weekly budget?

<comment><USER4> Just recently we had a big party [1]. We definitely outsourced a lot of the logistics and organization of that in various Exec tasks. More day-to-day, it's very random.

I think we give each ZeroCater employee something like 5 hours worth of Exec time per month. It's well worth it.

[1] <http://blog.zerocater.com/and-there-was-food-for-all>

</comment></comment></comment><comment><AUTHOR> The beta users for Exec were YC alumni living in SF, and they have great things to say about it.

<comment><USER6> I was a beta user for Exec.

I used the website to order a task ahead of time - delivering a burrito to my boyfriend on Valentine's Day! The coolest part was being able to watch the delivery happen in real-time on my iPhone (super cool).

It was an adjustment for me to think of an everyday task that I could outsource. In general, I think that if people can make the mental switch, Exec will be a game changer.

<comment><USER7> randomly noticed. happy 1000th day birthday on HN!

<comment><USER8> Please don't do this. It does not contribute to the discussion.

</comment></comment></comment></comment><comment><USER9> I was excited to try this out and was very impressed with the quality and speed of the service.

Back when I was working at Big Co Inc., the shared admin assistants were an incredibly valuable resource to leverage your time. Unfortunately, it's not a feasible option to hire one at a startup. Exec changes that.

It's a great option for times when you need something NOW but can't or don't want to stop what you are otherwise doing. Examples: taking a mac to the genius bar, getting printer ink, getting batteries.

Also relevant is this cdixon blog post about how the internet is changing what a "job" is. [1]

[1] [http://cdixon.org/2012/02/26/the-internet-is-reshaping- our-e...](http://cdixon.org/2012/02/26/the-internet-is-reshaping-our-economy- from-one-of-huge-corporations-with-lots-of-jobs-to-huge-platforms-with-lots- of-income-streams/)

</comment><comment><USER10> I have a lot of respect for Justin Kan, so this might come off a little weird, but: How the hell does he split his time between two time-intense companies and start a new startup at the same time? Am I missing something here?

Edit: three companies, but I guess he isn't in Socialcam's core team (or is he?)

<comment><USER11> So, here's the skinny:

I spent most of Monday at Justin.tv / TwitchTV. At TwitchTV I mostly work on strategy and management issues. My cofounder Emmett Shear runs the company as CEO along with a great management team including our COO Kevin Lin, who runs all the partnerships and operations, and CRO Jonathan Simpson-Bint, who is the founder of IGN, and runs all biz dev. Operationally the team is excellent, the company is growing well (almost 60 people now between two offices) and my services aren't really required for operational issues. Monday night I work on Exec stuff as well.

Tuesday is YC day. Since we're going through YC for Exec, I'm down in Mountain View anyways. I hold office hours during the afternoon most weeks, and then attend the dinner with everyone else.

Wednesday -> Sunday I'm working on Exec full time, but occasionally do calls for JTV/TTV. I also stop by the JTV office a few times a week just to hang.

Socialcam is being run by our other cofounder on JTV, Michael Seibel, along with two engineers formerly from JTV. It is fully spun off as a corporate entity now. We still have a great relationship and they are part of the JTV family, but I don't have an active role. They are off to the races though and on the way to be extremely successful.

UPDATE:

Re-read this and it makes it sound like I work an insane amount. I don't want to make it seem like I'm Jack Dorsey-ing it. I take time on weekends and nights to relax and have a social life. I think working at a sustainable pace is important. Luckily (for me), I enjoy working at so many things because they give me a chance to exercise / learn different skills (strategy and growth at JTV, programming and pitching at Exec, talking about business ideas at YC).

<comment><USER12> The multitasking founder is an interesting emerging trend - Jack Dorsey being the most prominent example, and Steve Jobs before him. If an effective founder is the rarest commodity, and their role at mid-to-large startups can be reduced to its most essential elements, it makes a lot of economic sense.

<comment><USER13> It's probably an anti-pattern. The only great example, Steve Jobs, took the CEO title at Pixar but my sense is that he played more of a Chairman's role there, he only really did the full CEO thing at Apple.

Even Jobs had to neglect huge portions of Apple itself to focus on developing new products like the iPhone.

One reason it probably can't really work very well: <http://www.paulgraham.com/top.html>

<comment><USER10> I think Jack Dorsey (and now Justin Kan) are pretty good examples, too. Why are you excluding those two?

<comment><USER13> Because neither has proven that it can work yet.

I can think of multiple counter-examples as well. People who are trying to run multiple organizations and doing rather poorly (as judged by results). I wouldn't want to single them out publicly though. Besides, it's rather difficult to judge the cause and effect for things like this.

<comment><USER11> I agree that it is hard to focus on multiple things. Certainly I am not "running" Justin.tv/TwitchTV by any means: my cofounder Emmett Shear is in every sense of it. I don't think I could have a day to day operational role at two companies. At JTV/TTV I focus on providing value by advising those people who are in operational roles.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> This sounds pretty damn cool. It's like a more humane, more generous implementation of the vision of Mechanical Turk.

When is it coming to London? I'll sign up.

<comment><USER11> Soon I hope. London is on the short list of places to expand to!

<comment><USER14> Can I sign up as a beta tester somewhere?

<comment><USER11> Hm, we should probably add that feature. When we go to London we will definitely post here again.

</comment></comment></comment></comment><comment><USER15> I've tried using Exec and it worked flawlessly.

</comment><comment><USER16> I'd love to see livestreaming from Exec workers. That would help "human telepresence" tasks like these:

[http://www.taskrabbit.com/tasks/attend-a-talk-at-uw-and- writ...](http://www.taskrabbit.com/tasks/attend-a-talk-at-uw-and-write-a-trip- report-28-february-2012-3-30-4-30)

[http://www.taskrabbit.com/tasks/please-help-me-shop-for- furn...](http://www.taskrabbit.com/tasks/please-help-me-shop-for-furniture- using-qik-for-four-hours-on-monday-28-november-2011--3)

[http://www.taskrabbit.com/tasks/help-me-attend-a- conference-...](http://www.taskrabbit.com/tasks/help-me-attend-a-conference- via-skype-on-2-november-2011-8-30am-6-15pm)

</comment><comment><USER17> I would love to have an Exec for tasks inside my company. The money would be drawn from a company´s bank account. Sort of like internal bounties perhaps. Maybe even complementing salaries, I don´t know. Thoughts?

<comment><USER11> Please email me at firstname.lastname@example.com. We can make it happen!

</comment></comment><comment><USER18> I'm blown by how basic the site looks right now. This attitude of launching something which probably doesn't even do much yet is really hard for me to digest. Also, Justin's comment on keeping features to a minimum is interesting. Everyone always talks about it, but few manage to pull it off because you need the right features.

Justin, can you comment on how you chose your feature set?

<comment><USER11> One of my biggest problems using marketplaces is the cognitive overhead of figuring out the often complex process how I'm supposed to use the site.

With Exec, I wanted to make something that was super simple and just works. Most of our challenge is actually figuring out how to inform users of what they can get done, because for most people outsourcing their errands is a new behavior to learn.

We haven't created any features that weren't based on iterating to solve a real user problem that was being experienced during our trial. Our minimum viable product really was "minimum" -- everything including the the map / location tracking, iphone app for the Execs, etc came out of that process. The first version of Exec was literally single text area.

We have done a ton of work on the backend to make sure that Execs pick up and do your jobs excellently -- a lot of that is transparent to the user. Lots of thought has gone into making that work well.

If by "basic" you meant the site's design, then I fully admit that. We used Twitter Bootstrap, which is awesome. I'm not a great designer, but hopefully we can bring someone on soon that is excellent :) (Shameless plug, Exec is hiring a designer and senior engineer for our core team. Come help us build the future of work: <https://iamexec.com/hiring>)

<comment><USER18> Thanks Justin. You're probably already tired with comparisons to Zaarly and Taskrabbit, but it looks to me like you are focusing on building a really high quality version of the same idea. Talk about focus!

</comment></comment></comment><comment><USER19> Having found Exec in the AppStore, I noticed that they have 11 other apps for specific restaurants ... is Exec a pivot from another idea?

<comment><USER11> Daniel and Amir had a company that focused on restaurant apps that turned into the company that is Exec.

</comment></comment><comment><USER20> Kan mentions that Exec is real-time compared to other existing services, such as TaskRabbit. I've used TaskRabbit several times and found TaskRabbit to be plenty fast enough, probably similar to the real-time described in the article.

<comment><USER21> Really? I've never heard of anyone I know getting a sub-1-hour response time on TaskRabbit from request to starting a job, much less 10 minutes.

</comment></comment><comment><USER22> I would like to know how they determined the price point. IMO, with such a name, they should be targeting higher end customers. People willing to shell out $50+ or $100+ for a specific task..... Or $15000 a la Transporteur

</comment><comment><USER18> Is there a marketplace like this for quick programming tasks?

<comment><USER23> I've often wished for a similar marketplace, but more for consulting, than actual programming. When starting out with a new language or new technology (particularly unpopular ones, that don't have good online resources) it would be worth paying an "expert" for an hour or two of their time to ask questions.

<comment><USER18> Minutebox is trying to do something like that but their focus is not on programming at the moment.

</comment></comment></comment><comment><USER24> Realtime access to offline services via simple interfaces is awesome. I love Exec's UI because it exemplifies this.

</comment><comment><USER25> This market sounds horizontal, but it sounds like they're managing it well. Excited to see how this pans out.

</comment><comment><USER26> Justin, What's involved in the interview process? What are the different stages?

<comment><USER11> We do a bunch of screens, including an in-person interview. We also background check all our Execs.

</comment></comment><comment><USER27> When will we see this in NYC (or other markets)?

<comment><USER11> soon, I hope! we want to make sure it is excellent in the Bay Area before expanding.

</comment></comment><comment><USER28> Twitter Bootstrap + Subtlepatterns \m/

<comment><USER11> <3 both of them. Bootstrap made me 2x productive at front end stuff.</comment></comment>


Don't Call Me - <AUTHOR> https://medium.com/@mitchellharper/dont-call-me-40fa5d852c53 <comment><USER2> You must live in a special kind of bubble for this to be practical to you. Just mute your phone when you are busy. I am not going to schedule a beer with your weird ass. Cmon, I get the idea, but be reasonable.</comment>


We need to stop calling suicide 'selfish' - <AUTHOR> Glenn Cooper was on the way to work when someone committed suicide. Commuters vented as to how selfish this person had been in delaying them. In the post below he looks at our attitudes towards suicide and why perhaps we are in fact the selfish ones:<p>http://www.getinspired365.com/articles/we-need-to-stop-calling-suicide-selfish <comment><USER2> These disruptive methods of self-termination are protests, of course. Humane society should provide painless and immediate and no-question-asked exit services to people of all ages. It would save zillions. Most of the expensive healthcare is done to the very old, who have little choice, all they can hope is that the expensive operation fails and they die under sedation.

</comment><comment><USER3> [Note: Self posts have a penalty here, so it's more difficult for them to reach the front age. Next time try submitting the URL without a comment.]

</comment><comment><USER4> tl;dr: person's train is delayed, thinks deep thoughts about why they weren't more concerned for the dead guy.

All very moral and noble. Except I have this nagging doubt: did the suicide have to do it in such a disruptive way? Did they just step in front of the train impulsively, or did they plan to go out with a bang? Because, that's critical to understanding the OP's point.

</comment><comment><USER5> This is a very good message.</comment>


Getting PHP framework CodeIgniter to play with Facebook - <AUTHOR> http://blog.wishli.st/getting-codeigniter-to-play-nicely-with-facebook/

<comment><USER2> Elliot Haughin's original library is here: <http://www.haughin.com/code/facebook/></comment>


Eurostar unveils new 200mph Channel Tunnel train - <AUTHOR> http://www.telegraph.co.uk/news/uknews/road-and-rail-transport/11227836/Eurostar-unveils-new-200mph-Channel-Tunnel-train.html

<comment><USER2> The current trains run about 180 mph? I guess every little bit helps. I once rode the fastest train in the US from New York City to Boston. I calculated the average speed at 79 mph.</comment>


Ask YC: Transfer ownership of a domain name? - <AUTHOR>

I'd love to hear any advice on the best ways to transfer ownership of a domain name-
A domain associated with our company is currently being used as a personal blog; We made an offer, and agreed on a price to buy it out, but I'd appreciate any advice on where to go from here.
The easiest way I can think of to alter the ownership is to simply send them a check, then set up a quick GoDaddy (or similar) account just for the transfer.. We could tell them the password, and keep a copy ourselves. Once ownership is transferred to the transient account, we could then change the password and move it to own own accounts.
This seems a bit kludgey, of course. There are a lot of steps where things can go wrong, and there's a lot of trust involved.
I see that Network Solutions has a policy of getting notarized documents faxed back and forth, but we don't want to overwhelm the guy who runs it.. The chance of him abandoning the deal because of difficulty is greater than him abandoning it because of malice.
Has anyone transferred a domain name before? Did you use a 3rd-party middle man? What were the pitfalls or pleasures of the journey? <comment><USER2> Just get the auth id from him, make sure he unlocks it and initiate the transfer from the registrar you like. Name.com makes it easycheese and is also $6. I have 300+ domains on there (all transferred the same way, either owned by me or others).

</comment><comment><USER3> See <http://news.ycombinator.com/item?id=129079>

<comment><AUTHOR> Thanks, but that doesn't talk about the nuts and bolts of actually doing the transferring, which is what I'm interested in ;)

We've got the negotiation and agreement part down, but I appreciate the link none the less! -Colin</comment></comment>


Adafruit's Trinket - <AUTHOR> http://learn.adafruit.com/introducing-trinket/introduction

<comment><USER2> I love this! The attiny85 has been my go-to chip for the last couple of years. They're great.

They're really cheap, which makes them really easy to just put into things. It's also a great way of getting people to think-outside-the-arduino.

</comment><comment><USER3> Or for $10, you could get the TI MSP430 LaunchPad [1]. You can then pop off the DIP chip and mount it however you want. It is nice since the chips themselves are about $1 or so each (depending on which one you get).

[1] [http://www.ti.com/ww/en/launchpad/msp430_head.html](http://www.ti.com/ww/en/launchpad/msp430_head.html)

<comment><USER4> My experience with the launchpad has been mixed. The chips are definitely aimed at the low power, low requirements side of things; I had a project where the MSP430g2231's inability to clock from an external high-frequency crystal was a dealbreaker. There's also a wider breadth of hobbyist software targeting the AVR.

If you're a hobbyist, it's definitely not worth saving a few bucks if you're only making a few of them and you account for the value of your time. YMMV.

<comment><USER3> I was under the impression that the newer chips are able to clock from an external crystal. My 2553 certainly came with one, though I have had no need to use it yet.

<comment><USER5> That's the crystal for the slow clock, which runs at about 32kHz. You still can't clock the main clock off it.

</comment></comment></comment></comment><comment><USER4> Looks somewhat inspired by the teensy 2.0 (mini USB -- not micro!, bootloader button). This has a lower price point and an ATTiny instead of atmega32u4. I have a few teensys and find them to be really practical.

Does the ATTiny implement USB or is it bit-banged?

<comment><USER6> I think it does.

BTW, Teensy 3.0 just recently came out : [http://www.pjrc.com/store/teensy3.html](http://www.pjrc.com/store/teensy3.html)

It's only slightly bigger than the 2.0, but you get 3 more PWM pins (10 total) and 34 I/O and 3.3V out.

<comment><USER7> Plus a 32-bit ARM processor @ 48mhz, and 128k flash.

</comment></comment></comment><comment><USER8> It's very similar to the digispark and is riding on the tails of it. The only major difference is in the pinout.

www.digistump.com

<comment><USER9> I own two digisparks, and I think the main improvements are the 3.3V/5V and mounting holes. I'm still glad to see more devices filling this niche.

<comment><USER8> I designed a very similar board. It's currently on order from OSH park. I'll see how it turns out.

[http://oshpark.com/shared_projects/ltCSLIIB](http://oshpark.com/shared_projects/ltCSLIIB)

</comment></comment></comment><comment><USER10> Many people don't find this exciting. But I am excited indeed. You know why? Because to program an Atmel Microcontroller, you need a 'programmer' whose selection itself is fairly confusing for newbies (USB/Serial/etc) and costs as much as $20 for a good one. This one instead is just plug and play, and that's awesome :)

<comment><USER11> The Arduino platform has already largely solved that, though. Almost all of their products (besides a few "Pro" models which are TTL-serial only) have USB ports on board.

<comment><USER12> Yes, but (at least in New Zealand) they're more than the $20 threshold mentioned above. So you're effectively buying a microcontroller plus a programmer.

</comment></comment></comment><comment><USER13> Why didn't they use the ATmega 8u2 with native USB? The small version is no bigger than the chip on this trinket. Eating 3 kB for the tinyUSB stack is annoying.

Also, they claim is has "hardware I2C" which is stretching the truth IMO. The USI doesn't let you write a fully interrupt driven I2C slave, it is a polled implementation leaving lots of support logic to software.

</comment><comment><USER14> For someone who knows nothing much about Arduinos, what are a few examples of projects this would be good for?

<comment><USER15> Head over to [http://hackaday.com](http://hackaday.com) or [http://makezine.com](http://makezine.com) and search for Arduino or ATMega or microcontroller -- you should have a ton of hits describing various projects.

<comment><USER16> How similar is this to an Arduino?

<comment><USER5> Runs same code, has less memory, storage, and I/O

</comment></comment></comment></comment><comment><USER17> The ATtiny series do not have USB capability, which is why they are cheaper. The underlying bitbang implementation comes from V-USB [1], which is commonly used to add USB capability in software. Another implementation which may be of interest is LUFA [2].

[1] [http://www.obdev.at/products/vusb/index.html](http://www.obdev.at/products/vusb/index.html) [2] [http://www.fourwalledcubicle.com/LUFA.php](http://www.fourwalledcubicle.com/LUFA.php)

</comment><comment><USER18> This is probably an ignorant/newbie question but what are the connectivity options available with a board like this? Can it do Zigbee or WiFi?

<comment><USER19> This board is pretty minimalistic. It has five general-purpose I/O pins that you can use to read and write logic-level signals (either 0V or your supply voltage, usually either 3.3V or 5V). Three of those also have analog-to- digital converters, so you can use them to measure voltages in that whole range. Two of these pins have hardware for generating PWM signals, making them useful for motor control. Three of these can be used for an SPI or I2C bus.

</comment></comment><comment><USER20> No one seems to have mentioned the Minimus[1] as an arduino compatible[2] alternative -they we're costing us £3 and have a lot more GPIO pins to play with[3]. The new version is powered by a ATMEGA 32U2 so it's got some grunt (and lets you play USB too).

[1] [http://minimususb.com/](http://minimususb.com/) [2] [https://github.com/pbrook/minimus- arduino/](https://github.com/pbrook/minimus-arduino/) [3] [https://github.com/pbrook/minimus- arduino/wiki#pinouts](https://github.com/pbrook/minimus-arduino/wiki#pinouts)

</comment><comment> the-kenny While I like the Arduino movement very much, I don't see what's so special about this.

It's a breakout board for an ATTiny, with some vreg and an usb port on board. So what?

<comment><USER21> One obvious advantage is that it's cheap enough to use as-is. One of the things that keeps me from caring much about Arduino is that it's too expensive to use for anything but experimentation: if I'm building more than a one-off, I'll always do a custom PCB.

For reasonable volumes that's still probably the best approach, but at $8 a pop this is perfect for throwing together some quick project.

By way of analogy: to me, an Arduino is a breadboard. If I use one at all, it's to play with a first concept, and certainly not for any kind of permanent use. If that's true, then this is kind of like solderable perfboard: not optimal, but good enough for many things.

</comment></comment><comment><USER22> Another option is the even smaller "open source hardware" Digispark with USB on board, arduino enabled, supporting many shields (grove shields etc): [http://www.crowdsupply.com/digistump/digispark-mini-usb- ardu...](http://www.crowdsupply.com/digistump/digispark-mini-usb-arduino)

</comment><comment><USER23> I got excited about this thinking I could use it to quickly prototype controlling a toaster oven over USB, but I'd have to add another software USB implementation like the bootloader's.

</comment><comment><USER24> Can I use this to plug into my cars usb and take over the touch screen display unit?</comment>


Show HN: Format – a Swift 2.0 formatting kit - <AUTHOR> https://github.com/marmelroy/Format <comment><USER2> I was hoping this was more like gofmt, but this looks neat, too.

<comment><AUTHOR> That would have been cool too :)

I don't really know of a direct gofmt Swift equivalent but you should check out - [https://github.com/realm/SwiftLint](https://github.com/realm/SwiftLint) [https://github.com/haaakon/SwiftFormat](https://github.com/haaakon/SwiftFormat)</comment></comment>


DeepDream: How Alexander Mordvintsev excavated the computer's hidden layers - <AUTHOR> https://thereader.mitpress.mit.edu/deepdream-how-alexander-mordvintsev-excavated-the-computers-hidden-layers/ <comment><USER2> I've been incredibly lucky to work with Alex on several projects, including DeepDream. He's amazing. If you think you have a new idea about how to understand neural networks, there's a decent chance Alex did a prototype of it five years ago.

Regarding DeepDream, it often feels to me -- I don't wish to speak on behalf of Alex or Mike -- that we didn't really understand what our results meant when we published DeepDream. It was kind of like discovering that warped glass can distort and magnify images: a really interesting discovery, but a lot more work was needed to turn it into a scientific instrument like glass can be used to form a microscope. As the community got single neuron or direction feature visualizations that worked well, lots of research possibilities began to open up. And in retrospect, one of the most important tricks was jitter, which Alex introduced. This style of feature visualization is probably the single tool I rely on most in my research to this day.

(If you're curious what this has led to as we've continued to pursue it, check out Circuits ([https://distill.pub/2020/circuits/zoom- in/](https://distill.pub/2020/circuits/zoom-in/)), Building Blocks ([https://distill.pub/2018/building- blocks/](https://distill.pub/2018/building-blocks/)) and Activation Atlases ([https://distill.pub/2019/activation- atlas/](https://distill.pub/2019/activation-atlas/)).)

I'd also encourage people to check out Alex' new line of research, Neural Cellular Automata ([https://distill.pub/2020/growing- ca/](https://distill.pub/2020/growing-ca/)). I think it's a really interesting line of exploration. And as usual, Alex has an incredible deep trove of small fascinating results relating to NCA if you talk to him about it.

</comment><comment><USER3> > The crucial point is that the machine does not see a cat or dog, as we do, > but a set of numbers.

This seems to miss the point - to follow that pattern, "Humans do not see a cat or a dog, they receive a set of neural impulses".

If a human "knows" those impulses represent a cat, you could also surely say an artificial neural net "knows" those numbers represent a cat - and if you ask "how" a human/NN knows this, I guess the answer is the same -- different levels of visual abstraction (numbers/impulses trigger neurons that recognize edges and shapes, which become eyes become faces become bodies become animals...) trigger different levels of the network that are familiar with those abstractions and turn them into the end result: "That is a cat."

</comment><comment><USER4> Ugh, I really dislike articles that are about to tell you the key idea(s) at the beginning then veer off into a personal interest story before doing the reveal. It's enough to get me to quit the article.

<comment><USER5> Ok, but please don't post unsubstantive comments to Hacker News.

<comment><USER4> I see comments on how articles or websites are presented all the time, didn't realize it was disallowed. Apologies.

<comment><USER5> Thanks—appreciated.</comment></comment></comment></comment>


Show HN: Brackets4Life, our hackathon project. Proceeds go to SIDS research - <AUTHOR> http://www.brackets4life.com/

<comment><USER2> I saw Brackets and hackathon and thought this was about the code editor. I feel silly now.</comment>


Scuttle - Anonymous hangouts for co-workers - <AUTHOR> http://scuttle.in

<comment><USER2> Might want to wrangle the HTML formatting before it becomes too unwieldy! This looks great. Would be nice to know how our messages are secured, as well.

<comment><USER3> It's a little cleaner in our ERB files :)

Your messages will only be visible to others who have signed up at your company. We won't be storing your company email, so it's impossible for us (or anyone) to correlate your messages to who wrote them. We'll allow you to store a personal email along with your account, but we'll leave securing/anonymizing that up to you.</comment></comment>