IOS5 & "+" button = Upside-Down Pictures? - <AUTHOR>

Before you could use the "Volume +" button to take pictures it was probably accepted fact that you had to have the home button on the right when taking landscape shots.
Now that the "+" button is available it seems that most people would instinctively want it on the upper-right when taking pictures.  This leads to a problem in that the shots end-up upside-down when emailed or when viewed on most computers.
Why didn't Apple put in an option (or do it by default) to rotate the images and achieve the correct orientation?  Maybe there's something fundamental I am missing here.  It just doesn't seem like a sensible way to this to work.  I personally like the mechanical shutter button option, but now having to ensure that every single shot is oriented correctly isn't a lot of fun.
I've seen reports of video showing up upside-down, however I have not experienced this (only tested on the 4S). <comment><USER2> It seems like it would be nice if viewers stopped ignoring the EXIF orientation data. It's becoming more and more important.

Or hey, where there's pain, there's opportunity. You could create a tiny little photo app which uses jpegtran to flip things around so non-EXIF-clued readers can open it and still see the right thing.

<comment><AUTHOR> I guess I am interpreting things differently. On learning that the "+" button is now used as the camera shutter button and that a number of people where having trouble with it I decided to run a little experiment.

I gave the phone to about a dozen people and, after explaining that they could press "+" to take a shot, asked them to do so. I did not suggest an orientation and went out of my way to not telegraph how they had to hold the phone.

Every single person placed the "+" button on the upper-right. And, every single one of those shots would display upside-down if you emailed it to someone right from the phone (and if viewed through other means).

My thinking is that the device is intelligent enough to know the orientation. There is no reason whatsoever for the image to be stored upside-down. OK, there's one reason: That's what the user wants. That unusual case ought to be covered with a suitable option. Otherwise the phone should always use the available sensors to store the image using the correct orientation.

Furthermore, and perhaps more fundamental than anything else: Why don't they allow the user to define where "up" is for each orientation. There really is no reason whatsoever to have a "mothership" impose this upon all users. This holds particularly true if you believe in that EXIF will save the world. If we take that as the truth, then let me define "up" as I wish and life is good.

The reason this came to the surface is that we were studying the design of an accessory where it would be desirable to have "up" be landscape with the "+" button on the upper-right. The fact that images end-up upside-down is making things a little less than ideal.</comment></comment>


Ask HN: Are Google Hangouts and other VoIP providers a secure way to call? - <AUTHOR>

<comment><USER2> Define secure. The traffic seems encrypted from you to Google and from Google to the other caller(s), but do you trust Google, your OS, etc.? FWIW, I believe Google records the last few seconds of a hangout to let people report abuse.</comment>


Ask.YC: someone/something changed my submission title. - <AUTHOR>

I need to change my password :)) <comment><USER2> I don't know about this case, but keep in mind that editors can rewrite submission titles. Check: <http://ycombinator.com/newsguidelines.html></comment>


Why Telling a Story is the Most Powerful Way to Activate Our Brains - <AUTHOR> http://lifehacker.com/5965703/the-science-of-storytelling-why-telling-a-story-is-the-most-powerful-way-to-activate-our-brains

<comment><USER2> "We are not Homo sapiens, Wise Man. We are the third chimpanzee. What distinguishes us from the ordinary chimpanzee Pan troglodytes and the bonobo chimpanzee Pan paniscus, is something far more subtle than our enormous brain, three times as large as theirs in proportion to body weight. It is what that brain makes possible. And the most significant contribution that our large brain made to our approach to the universe was to endow us with the power of story. We are Pan narrans, the storytelling ape."

\-- Ian Stewart and Jack Cohen, Science of Discworld II

<comment><USER3> And here I was thinking that all my bullshitting _wasn 't_ paying off!

</comment></comment><comment><USER4> In law, we are taught, "make it fresh and vivid." Stories do that when they are well told. People relate. It makes an abstraction real to them by bringing their experience into play. It gives them a hook by which to remember an important point. This does _not_ mean, "tell a story every time you want to make a point" because straining for effect while trying to persuade, even in trying to weave stories into your narrative, is self-defeating. The point is not to show how how clever or artful you are, it is to make your points in ways that will stick. To do that, you need above all to be sincere and credible. You need to use the power of logic where it applies. You need to bring in emotive elements when apt and when they fit naturally into your narrative. You need to use imagery that is original, not borrowed, drawing from your experience if possible and then from the use of a vigorous imagination. And you need to do all this with forceful use of language, with active style that moves quickly without pausing to try to impress.

When you do all that, and do it well, you will find your audience at each level _relating_ to you and to what you are saying. Stories can add powerfully to that relational effect. Like a fellow out in nature watching birds from afar and suddenly seeing them up close and vividly through magnification, your hearer or reader will find himself drawn close to what might otherwise be a distant narrative through stories that enliven the very things he is eager to see. Your audience _wants_ to relate. Help them along with this with stories where apt. If knowing the science behind this helps, apply that as well. But, at least as far as effective communication goes, don't forget the broader context. We get bored and glaze over all too easily. Make it fresh and vivid. Make it original. Make it memorable. Then you will have spoken or written well. And your audience will value what you give them.

</comment><comment><USER5> _Our brain learns to ignore certain overused words and phrases that used to make stories awesome. Scientists, in the midst of researching the topic of storytelling have also discovered, that certain words and phrases have lost all storytelling power._

This is interesting. It's not just words, but events as well. It seems our minds are quite adept at finding things that are unordinary. If you asked someone living in a city environment "How many people did you see walking today?", no one would be able to answer. However, if you asked "How many people did you see riding unicycles today?", you would likely get a pretty definite response.

I've spent a good amount of time learning memory techniques to retain information that is largely abstract/arbitrary (learning Japanese/Chinese characters for example). The key to these techniques is to take something abstract and figure out how it encode it in concrete images/stories (a mental "bookkeeping" system like Roman Rooms is helpful as well). However, _the strength of the encoding relies on how memorable your images are_. In essence, you are creating a mapping between the brain's ability to work with images and abstract knowledge. Generally, the more crazy, ridiculous or absurd these image/stories are, the more memorable they will be, and thus the easier it will be to remember whatever you are trying to remember.

A task that normally seems extremely difficult (say, memorizing the Periodic Table, or the order of a deck of cards, or even just remembering people's names!), becomes almost trivial if you map the knowledge into something the brain is easier to understand.

<comment><USER6> _" If you asked someone living in a city environment "How many people did you see walking today?", no one would be able to answer. However, if you asked "How many people did you see riding unicycles today?", you would likely get a pretty definite response."_

Isn't that because the answer to one question is "some big number" and the answer to the other question is "none"?

<comment><USER5> Perhaps the point I was going for may be better illustrated if you compare single observations:

What can you remember about the person standing in front of you in the ATM line this morning?

What can you remember about the unicyclist you saw this morning?

</comment></comment></comment><comment><USER7> In the building where I live I have a neighbour that I thought he was 60 (or less) years old because it was very vitalized, moved very well.. and one day I happened to talk to him, he told me he is 74 years old, he obtained two university degrees when he was young, he had been a teacher, he also was a calligraphy national award and finalist of a novelist award..

I asked him what's his secret to being so active and vitalize at his age.. he told me "it's all in the mind" he then proceeds to tell me that he reads and _writes_ every day (he is writing a piece of a novel everyday) I then ask him what is a better exercise to keep the mind active, reading or writing? his answer, "absolutely the writing, writing is the backing of the imagination".. and then I see this article on hacker news and start connecting dots..

<comment><USER8> On that same note I've often wondered how useful it would be if our IDEs actually recorded our keystrokes as we developed code. The problem with commits is that we only see the end result. There is usually a process of evolution of code, and through this evolution we can fully understand the end result. So much information about a codebase is lost because we only see the end result.

Git and Mercurial are steps in the right direction here. You see groups of changes as one unit, and the philosophy of these systems is one of frequent commits. But what if we went even further and could see code evolve as its being typed?

</comment></comment><comment><USER9> I find being told a story is a great way of learning a new code base. Often the architecture only makes sense given some historical context, and being told the story of this helps me understand why certain bits are where.

</comment><comment><USER10> <rant>i find blogging very hard. the exercise of creating a narrative -- putting it together for other people --

when I write a blog, I always get a sinking feeling that nobody is reading - and it's probably true. however, the more I talk to people the more I get hurt for not having these thoughts written down everywhere.

there once was a time when it was hard to tell a story. publishers offered a platform for people to distribute their own content. the limitations of their resources led to competition for people submit their material to them. this is how we get Harper-Collins.

these days with the Cloud, Heroku, Amazon AWS, and so on, we can publish whatever rag we want and the WHOLE WORLD has access to it. for the first time in history information has become cheap.

with this unprecedented amount of information available -- every CD I have every purchased is on youtube. Or else it's on Spotify.

with instagram and wordpress everyone has a chance to tell their story. we are able to find common ground in exactly the way we want. most of the time we just play Candy Crush Saga.

my lingering doubt... with all this crap available, should I add to the mix? I thought the answer was no, but it seems to be yes. </rant>

</comment><comment><USER11> Weirdly enough (and this is completely pulled out of my posterior) I think this ties into why things like snapchat, facebook photos, and instagram took off as wildly as they did ... people love images. They seem to process them faster, and remember them longer.

By telling a story, you force the user to visualize your narrative, and this in turn makes it easier for people to remember what you tell them.

</comment><comment><USER12> Interesting premise. I've noticed most people use conversation (which is storytelling) as a substitute for writing essays. The main benefit in writing your thoughts is the ideas you generate by doing so. This happens in conversation too, but more randomly and usually less effectively.

 _And that is exactly how we think. We think in narratives all day long, no matter if it is about buying groceries, whether we think about work or our spouse at home. We make up (short) stories in our heads for every action and conversation._

Actually, I think in images. The only dialogue in my head is my own voice. Whether I'm doing mathematics or programming, it's images combined with me speaking internally about it (trying to reason my way through it). Perhaps that's a "story", but it'd be a boring one. Maybe there's a more precise term?

When you're reasoning through a problem, what does it look and sound like to you, mentally? Does anyone else think in pictures?

<comment><USER13> I think in images and then try to verbalize it when I need to express it.Mostly when I am doing coding or math,the solution most of the time strikes me as an image then I go about implementing it. I think most of us think more in images than words.

<comment><USER12> _I think most of us think more in images than words._

I thought so too, but interestingly the imagery is completely different for different people. Einstein often spoke of "thinking with music," and Ramanujan claimed to think of solutions by picturing a goddess delivering them to him as drops of blood.

Here's a concrete example of the difference: When I see "13/12", I think of a pie shape with a small sliver filled in, like if you filled in the area between the hands of a clock pointing at 12 and 1. That's the "one-twelfth" part, so the whole thought becomes "one plus [that image]". People seem to think of fractions differently; sometimes purely as an abstraction rather than visualizing what the numbers mean.

Someone should write a webapp to poll the community / explore the different ways people think about various tasks. I bet $5 that Bret Victor's mental imagery is more powerful than ours. Naturally, we'd want to change our thinking to match his process, if we had the option to. The only reason we can't is because we don't know what his mind looks like when he's problem solving. Making a webapp that enables us, as a community, to explore these differences is perhaps a step in that direction.

<comment><USER13> I doubt most people know they have particular thinking pattern and when they think in images v/s words or in any other form. A web poll would be nice though.

</comment></comment></comment></comment><comment> cm-t So that might explain in a way why it is working:

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

[https://www.hnsearch.com/search#request/all&q=rubber+duck](https://www.hnsearch.com/search#request/all&q=rubber+duck)

</comment><comment><USER14> And why the most effective lectures are those where the lecturer weaves a coherent and supportive story around what has to be learned.

</comment><comment><USER15> Funny, I was thinking a lot about this recently for an iPhone app I've been working on. It's essentially a simple photo collage & caption creator (Capcam - [http://www.germanysbestkeptsecret.com/capcam](http://www.germanysbestkeptsecret.com/capcam)), but what I realized when using it was that it was a great way to compress and communicate a whole experience. It might sound trivial, but rephrasing things that way (stories over features) resonates a lot more with people.

Here's another very lively quote about this idea of telling stories: [http://chri.sto.ph/tell-a-story](http://chri.sto.ph/tell-a-story)

</comment><comment><USER16> _" Some scientists have contended that figures of speech like "a rough day" are so familiar that they are treated simply as words and no more."_

My guess is pg and YC partners treat marketing-speak similarly.

</comment><comment><USER17> This is very strongly backed in language learning. I love this concise example in action: [http://www.youtube.com/watch?v=4K11o19YNvk](http://www.youtube.com/watch?v=4K11o19YNvk)

</comment><comment><USER18> Great post! So story tellers are the smartest people ever? :)

<comment><USER14> I don't know. But I've certainly met many smart people who are great story tellers.</comment></comment>


Should Available Internet Speeds Affect The Price of A Home? - <AUTHOR> http://www.besttechie.com/2012/12/10/should-available-internet-speeds-affect-the-price-of-a-home/

<comment><USER2> This is an example of what's commonly known as a __no-brainer. __</comment>


Twitter Unveils Plans to Draw Money From Ads - <AUTHOR> http://www.nytimes.com/2010/04/13/technology/internet/13twitter.html?ref=business

<comment><USER2> Something like this doesn't bother me at all. I enjoy using Twitter for free, and as long as the ads are targeted based on what I search for, they can be quite useful.

If they aren't too intrusive (and I doubt they will be), this sounds alright. It's just surprising they haven't done it sooner, which probably shows the ads won't be intrusive. If Twitter were hellbent on making tons of cash as soon as possible, they would've thrown ads all over the place quickly.

<comment><USER3> Just to make sure you're on the record accurately here, and that your world view is consistent.

You enjoy watching ads on TV, hearing them on radio, reading them on billboards, seeing them on buses, in subways, on milk cartons, benches, ...

It's always OK if it's free, right?

And, they _are_ hell-bent on making cash. Everyone who seriously applies themselves, as they are doing, are hell-bent on making cash. They've acquired a huge base of users who, inexplicably, find value in their wares.

You and those masses are hooked, and now you're advertising targets. Happily so, in your case.

</comment></comment><comment><USER4> _"According to comScore, Twitter.com had 22.3 million unique visitors in March, up from 524,000 a year ago"_

The 524,000 figure looks fishy. Compete.com puts Twitter's April 2009 unique visitors at 19 million (versus 21 million for April 2010).

<comment><USER5> Compete's stats are WAY off. At least for my sites. I suspect they are for others too.

<comment><USER4> Could be, but given the Twitter hype last year, 524k seems off by an order of magnitude at least.

<comment><USER6> I agree, I don't think 524k to 22.9m sounds even remotely reasonable. Twitter was larger than that last year, and did not grow by 4400% in one year.

</comment></comment></comment></comment><comment><USER7> As with Google Adwords (especially PPC ads appearing when I search) this makes sense and, as long as there's a limit to how many ad-tweets appearing at one time, doesn't concern me. After all, if I tweet that I'm headed to Starbucks and get a reminder of their current promotion, that's of potential benefit to me.

Admittedly, the Twitter site itself is far too restrictive to provide me with useful communication data anyway, so I use TweetDeck to track conversations, topics, and mentions. With more real estate, ads would be less cluttering to me.

</comment><comment><USER8> _"...Twitter's announcement is the first significant step toward a business model."_

That statement seems so odd.

<comment><USER9> Especially since they're already profitable...

<comment><USER10> Is that sarcasm?

To the best of my knowledge, they don't even have any significant revenue (besides bigger and bigger VC rounds ;-)) - let alone having hit profitability.

<comment><USER9> They got about $25m from Google and Microsoft in return for real-time data feeds, which is by itself enough to make them profitable: [http://www.businessweek.com/technology/content/dec2009/tc200...](http://www.businessweek.com/technology/content/dec2009/tc20091220_549879.htm)

</comment></comment></comment></comment><comment><USER11> " _Once Twitter figures out how to measure the number of people who read posts other than on Twitter.com, it will also allow third-party developers to show ads and share revenue._ "

Now this is interesting. Twitter 3rd party clients would finally have some sort of business model too!

</comment><comment><USER12> It's not quite what they've announced, but I think there's potential in the idea that advertisers would pay to promote positive things people are already saying.

There's serious trust/disclosure issues to work out -- burying bad reviews and promoting good ones for payola is what makes Yelp seem a bit slimy. But if advertisers can pay to multiply any little positive thing said by someone real near you, who you already know isn't a professional shill, it could have legitimate influencing power.

Facebook's fan pages are also in an excellent position to try such models, with the same trust/disclosure issues.

<comment><USER13> I think building that stack that figures out who is saying positive things on twitter about brands is probably valuable in itself. You can resell the results to whomever.

<comment><USER12> Last summer, I was curious about how Mechanical Turk worked, and signed up for some HITs. I had to classify the sentiment of tweets -- mostly about airlines/airports/travel-in-progress. I suspect I was helping train an automatic classifier. So work on such stacks is certainly underway...

</comment></comment></comment><comment><USER14> and here we go! This will be an interesting few weeks to see how this "clicks"

</comment><comment><USER11> Awaiting patiently the Greasemonkey script which will get rid of those ads.

</comment><comment><USER15> Queue the apps that remove tweets in your stream not from your followers. Ad- blocking for twitter.

<comment><USER16> If long yearned for a function that would "silence tweets for 60 minutes."

Sometimes I'm really just not interested in the conference you're attending right nos; but generally I'm pretty pleased to follow you.

<comment><USER17> Some Twitter clients have keyword filtering, including Tweetie for Mac.</comment></comment></comment>


Kakoune – An experiment for a better code editor - <AUTHOR> http://kakoune.org/ <comment><USER2> I tried switching to this editor permanently from vim. The selection based movements are asurdly good, I could kill for something like this in vim.

However I couldn't stick with it for two reasons. The first is when I went to figure out how to customise it, I found that the customisation is essentially vim like but weaker. Everything is hardcoded like it would be in vim but with less options. If you're used to Emacs insane customization, this is the other end of the spectrum. The stuff that IS customisable works by executing embedded bash scripts[1]!? You can only embed these in specific hooks and places, so it's really limited, and platform specific. Install this on a system missing a bash feature someone is using and who knows how it'll behave.

Basically, the features implemented are gorgeous, but past that I can't stick with it. Just going to consider trying to port the selection based movements to a vim plugin but I think it'll be a challenge.

1: [https://github.com/mawww/kakoune/blob/master/rc/clang.kak](https://github.com/mawww/kakoune/blob/master/rc/clang.kak)

<comment><USER3> Hello,

Glad to hear you liked the interaction model, may I ask you what kind of options were missing for you ?

The extension model is, I agree, unorthodox, but I think it does work reasonably well (the file you linked manage to provide asynchrounous clang completion and syntastic like diagnostics using it), and keeps things simple. Note that we try really hard only to depends on POSIX tools, so the scripts are actually targeting POSIX shell.

The rational behind this extension model can be found there: [https://github.com/mawww/kakoune/blob/master/doc/design.asci...](https://github.com/mawww/kakoune/blob/master/doc/design.asciidoc)

And a more in depth explanation on how to use it is there: [https://github.com/mawww/kakoune/blob/master/doc/interfacing...](https://github.com/mawww/kakoune/blob/master/doc/interfacing.asciidoc)

<comment><USER2> Honestly it's been a little while, I can't remember. However this is more or less why I went back to vim. Your other comment in particular:

> We do not have options for everything, but I'll gladly add more options if > there is a reasonable use case for them. In other words, options only get > added if someone requests them (and makes a good case for them).

I don't really want to switch to an editor where missing options might have to be justified. I'm not knocking your work, it's really good, and my complaint applies to vim as well. But if I can't implement something myself as an add-on (which I definitely have more power to do in vim) and have to wait for it to be patched and released in your release cycle I'd rather just try and implement your features in vim and keep the customisability.

Having said that I could be wrong and maybe the plugin system is more powerful than I thought. But as an example, I have a 5 line function letting me have ctrl-p like functionality backed by fzf in vim. I can't figure out how I would do that in kakoune at all.

<comment><USER3> Thanks a lot for you reply, I try to be reactive to feature requests, especially easy ones like making something configurable through an option (I expect most of these to be resolved in a day or so).

Some people are using kakoune with fzf, using tmux to open a split, which is very simple to implement with fzf-tmux. Interacting with Kakoune interface ought to be possible but possibly more tricky.

<comment><USER2> Yeah, I can't see how I would do it. I could open a tmux pane with fzf and run another kak window but that's not really the goal. I'd like to use fzf to open a found file in the current kak window. The plugin architecture just really limits this kind of thing, and this fzf example was just a simple one I wanted to use to demonstrate the point.

But again, the stuff you have in this editor is absolutely fantastic, really, I can't say that enough. I just personally find kak less flexible than an already inflexible vim so I couldn't stay with it.

If you have a way to do the fzf example though I'd be curious to see how you do it.

<comment><USER3> Thanks a lot for you feedback, if you use tmux, interacting with fzf is easy as you can run fzf-tmux, that will open a tmux pan for fzf to run in.

There is an example script for that in [https://github.com/mawww/kakoune/issues/383](https://github.com/mawww/kakoune/issues/383)

Its more tricky if you do not use tmux, as due to Kakoune client/server nature, fzf will be launched by the server, which might not even have a terminal. That said I really enjoy fuzzy matching, and most built-in completions do fuzzy matching already.

Thanks again for giving feedback on your experience with Kakoune, always much appreciated !

</comment></comment></comment></comment></comment></comment><comment><USER4> You'll want to take a look at your site's theme on mobile devices. On my iPhone 6 on iOS 9 (Safari), the navigation bar is fixed at the top half of the pane and takes up over half the screen.

<comment><USER5> It looks like the site's built with GitHub Pages so you could raise an issue for it: [https://github.com/mawww/kakoune/issues](https://github.com/mawww/kakoune/issues)

<comment><USER6> Why downvote this? The submitter here isn't necessarily the author, so the author is more likely to see this if someone submits an issue for it.

<comment><USER7> A lot of downvotes happen by accident, as on mobile it's easy to fat-finger the down arrow. No need to comment, typically people will notice the mistake and correct it with upvotes.

If the mods read this, I'd like to put in a suggestion to, on mobile, add CSS that places the down arrow on the right side of the screen, nowhere near the up arrow on the left, and make the icons bigger so you can tap them without having to zoom in. Or if that looks cluttered, make the icons as big as they normally are, but make the clickable space larger using padding rules. This is the biggest UX problem HN has, in my opinion.

</comment></comment></comment></comment><comment><USER8> I've played with Kakoune a little bit not that long ago. It's actually pretty nice. By far the best feature is the popup that lists all the sub-actions for chords: imagine if, when you press "g" in Vim, it lists all keys you press after AND what they do. It makes it very easy to figure out new behavior. The idea of working on selections is also very intuitive and works well, both in vim compatability and ease of use.

The biggest issue I had with it, that made me return to Vim instead of try and keep with Kakoune, are the lack of options. A lot of the settings appear to be hardcoded, with no way to set them even with : commands. While it does have scripting support, and a lot of the core application is implemented with it, there doesn't seem to be any docs on how it works or any community behind it.

<comment><USER9> well intentioned nit-pick: vim commands starting with a g are NOT chords, and that's very important from am usability standpoint. For the most part vim avoids chords, while E-macs embraces them. It's a question of whether you want to strain your hands (chords/emacs) or your brain (modal/vim) for triggering infrequent commands.

<comment><USER10> I would like to see an option for both in a text-editor - they are not as far apart as people assume. In emacs there are not enough chorded options for everything so after a while they switched to dead-key like operations. That is basically a modal interface where you have to keep the mode key depressed.

My dream editor would feature: * Three modes: insert, quick commands, a searchable palette for everything. * Configurable switch between modal/non- modal use of the command key. * On screen display for quick command mode (e.g. a partially translucent display of the keyboard when command mode is entered with icons to show what each key does).

The memorability issue for key-strokes doesn't really exist in a modern desktop environment. It is a relic of terminals with low bandwidth and poor support for multiplexing information. In a windowed / eye-candied environment the memorability of shortcuts should be a non-issue and discoverability of the command-set should be improved.

At this point I have to accept that I've said way too much in response to your nitpick and I will stop typing now :)

<comment><USER11> > * Configurable switch between modal/non-modal use of the command key.

This one is also provided in Spacemacs which is called editing style (vim, emacs or hybrid). It is possible to switch between them dynamically.

</comment></comment></comment></comment><comment><USER12> I can't even say how happy it made me that Clippy made it into a CLI program. Is that a common joke I've just missed elsewhere?

<comment><USER13> Sort of. [http://vigor.sourceforge.net/](http://vigor.sourceforge.net/)

<comment><USER14> See also: [https://github.com/Fuco1/clippy.el](https://github.com/Fuco1/clippy.el)

</comment></comment></comment><comment><USER15> Kakoune seems great and I hope I will eventually make the switch from vim but there are currently 3 things holding me back.

1\. Slime-like interaction: In vim I'm used to [vim- slime]([https://github.com/jpalardy/vim- slime](https://github.com/jpalardy/vim-slime)) for interactive languages such as python but I couldn't yet find an equivalent way to do it in kakoune. I suspect there is an easy way to do something like this using `:new` or the tmux integration but I don't know how.

2\. Executing commands in the underlying shell: With C/C++ I usually need to work only with a single file and a fast compile-run cycle. I have simple functions defined for compile and run in my vimrc so that I can do it with a simple key map but I'm not sure how to do this in kakoune. The problem is sometimes output of my program exceeds one line so `:echo` is not quite useful here.

3\. ctags/cscope integration: I haven't really checked this yet but I need something for jumping around in large codebases.

<comment><USER3> Hello,

1\. that is missing, but mostly because nobody needed it yet, and I am not very familiar with repl style languages. I expect it to be implementable with current features.

2\. The simplest way to do that is to set the makecmd option, options can be set per buffer, so each C++ buffer can have it set to the compile command for it. You'll get output in the _make_ buffer.

3\. I use ctags a lot, and it is well supported, it requires the readtags command that is provided by default in universal-ctags, and needs to be installed manually with the older exuberant ctags. There is no cscope support script AFAIK (although should be possible).

</comment></comment><comment><USER16> It looks nice, and I assume the underlying code is less gnarly than vim's, but I don't see the radical improvement over vim which would make me switch (also, obviously, it's not going to benefit from the huge ecosystem of vim plugins).

What I think would be a killer for a vim successor would be to keep the best- in-class editor functionality, add decent extensibility (not vimscript) in the core product. Then add support for stuff commonly found in IDEs: notion of projects/subprojects, API to support plugging syntax parsers easily, source control integration, etc., and offer core plugins for a few popular languages.

</comment><comment><USER17> I'm hoping neovim will be able to adapt these ideas in the future.

They're addressing all the hardcoded parts so it should be possible to make any of these with an addon / some nvimrc magic.

</comment><comment><USER18> First impressions with this editor are _very_ good.

One thing I'm not 100% sure how to do is substituions with references

so if I want to change the all the strings "foo(5, bar)" to "baz(bar).foo(5)"

with 5 and bar being arbitrary strings. How could I do that? In vim I would use a regex expression and refer to matching sections with "%s/foo(\\([^,]+\\), \\([^)]+\\))/baz(\2).foo(\1)/gc". In Kakoune it seems I might have to do some multiselect shenanigans, the regex has better escaping for my taste, but I can't match on specific selections. So I can't shuffle them arbitrarily.

I looked through the vim golf challenges and couldn't find Kakoune doing an operation like this.

mawww, do you have some screencasts of you using this editor? I would be nice to have some live demonstrations showing off useful and common usage patterns for it.

<comment><USER3> Hello,

If you get your selections through a regex, you will have access to capture groups in registers 0..9 (which will store the correct match for each selections), so to do the change you wanted, you'll type (in normal mode, no ':'):

%sfoo\\(([^,]+), ([^)]+)\\)<ret> # select whole buffer, then select all regex matches

cbaz(<c-r>2).foo(<c-r>1)<esc> # enter insert mode, <c-r> recalls a register

I have been meaning to do a screencast at some point, or maybe I could do a twitch Q/A session.

</comment></comment><comment><USER19> One piece of feedback about the website itself: the actual reading area is unusably small when viewed on a mobile device. Here's a screenshot:[http://imgur.com/yvOGc02](http://imgur.com/yvOGc02). Note that the menu doesn't hide, so >50% of the screen is occupied by a static menu that's irrelevant to the actual content I'm trying to read.

</comment><comment><USER20> Documentation in PDF available?</comment>


Tornado 2.1 released - <AUTHOR> http://www.tornadoweb.org/documentation/releases/v2.1.0.html <comment><USER2> Tornado is intriguing, but the main thing I don't like about it is how it reinvents the wheel with a lot of its components. For example:

\- They created a lot of Web-stuff parsing code themselves, when Werkzeug provides a tested and thorough implementation of a lot of that. (Especially routing, regex-based routing just looks horribly kludgy once you have used werkzeug.routing.)

\- They created their own template language when they could have used Jinja. (In fact, tornado.template is basically a half-as-powerful copy of Jinja.)

\- They created their own database access layer when they could have used SQLAlchemy instead.

Sometimes I think people take the concept of "minimal dependencies" way too far.

<comment><USER3> tornado.database has no real ties to the rest of the system; you can (and I usually do) use SQLAlchemy or another database layer instead. You can also call another template engine if you prefer, but you're sort of stuck with the url routing.

<comment><USER4> I'd be curious as to how many people actually use it. Since it's MySQL specific, it holds little value for anyone not using MySQL ;-)

<comment><USER3> 20% of survey respondents reported using it in february: [http://dl.dropbox.com/u/19694335/tornado/Tornado%20usage%20s...](http://dl.dropbox.com/u/19694335/tornado/Tornado%20usage%20survey%20results.pdf)

</comment></comment></comment></comment><comment><USER5> 90% made up my mind to use Tornado for several upcoming projects, would love to hear some comments (good or bad) from anyone thats used it or using it.

<comment><USER6> I've noticed that Tornado comes with its own MySQL wrapper, however I'm concerned it might have blocking issues.

Does anyone have experience with using this ?

Also, what do people use for form validation with Tornado ?

<comment><USER7> The theory is, you shouldn't need async database access. If your database is a bottleneck, you are screwed, regardless of how your app layer is scaling.

The main advantage of async is not blocking if you call an external web API.

<comment><USER8> That sounds wrong. You need async database access so that while you're waiting for a query to finish, you can still process other requests.

Imagine an app that receives an HTTP request every second. One in five of these requests requires making a query that takes 3 seconds to complete. The rest is serviced immediately. You don't want the long request freezing your entire server and preventing the fast requests from being serviced.

<comment><USER9> From this thread [https://groups.google.com/forum/#!topic/python- tornado/mgj18...](https://groups.google.com/forum/#!topic/python- tornado/mgj18IzasQg) (posting here because Google Groups sometimes require login):

      We experimented with different async DB approaches, but settled on
      synchronous at FriendFeed because generally if our DB queries were
      backlogging our requests, our backends couldn't scale to the load
      anyway. Things that were slow enough were abstracted to separate
      backend services which we fetched asynchronously via the async HTTP
      module.

      I may open source the async MySQL client I wrote, but I am still
      skeptical of the long term value given the code complexity it
      introduces.

      Bret

<comment><USER8> Erm, so if things are fast it doesn't matter and if things are slow you should write a whole new service, put a HTTP interface into it and use that? Not sure I buy that :)

Disclaimer: I wrote an async DB module for Twisted/PostgreSQL and it did not turn out to be all that complex.

<comment><USER7> There's async libraries here: <https://github.com/facebook/tornado/wiki/Links> \- You can get just about any db _except_ MySQL. There's ones for Couch, Mongo, HBase, a bunch of other No-SQLs and Psycopg (PostGres).

Also, Tornado is now introducing some kind of interface to Twisted's event loop, which _does_ have everything ported.

Bret just doesn't seem to want async My-SQL in the main code base.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> Coming from php(mvc background), the only thing i don't like about tornado is that basically you have a Class per request, currently i'm in a process to refactor this so that:

www.site.com/controller/action/params/?vars -> would route to ->

class controller(requestHandler):

        def get_action(self, *params, **vars):
            #do something
            self.write(response)
        def  post_action2(self, *params, **vars):
            #.... and so on ....

<comment><USER11> I don't get it. Your example is what Tornado looks like::

      class LoginHandler(RequestHandler):
          def get(self):
              self.render('login.html')
          def post(self):
              self.set_secure_cookie(self.get_argument('username'))
            self.redirect('/')

Having one class __per URL __is very common and perhaps it's more than a decade of Python web programming but I like that. Makes for neat code.

<comment><USER12> The one class per action pattern helps with async calls and callbacks. The handler class has methods for each HTTP method plus the callbacks it needs.

That would get really messy in a controller-with-multiple-actions pattern as the controller classe now has a lot more methods in a single class: all the HTTP methods it handles plus the callbacks for all of them.

<comment><USER10> i dont agree with you, i would rather have a controller with multiple actions, rather then "controller"/requestHandler per action, because in most cases you want the controller to handle all the actions of a page, rather then one action.

Having controller per one action would put overhead on the code lines you write.

</comment></comment></comment></comment><comment><USER13> For a multiplayer, realtime, text-based game, like a quiz, should I dive in nodejs or Tornado?

I know Python but never played with server-side javascript before.

<comment><USER14> It all boils down to what you prefer. They're both relatively mature software packages that are being used by tons in production.

Whichever you choose, you may find that <http://socket.io/> saves you some time by inventing various wheels you may have needed to reinvent (for use with tornado, see the tornadio project).

<comment><USER13> Thank you! Didn't know about tornadio.

</comment></comment></comment><comment><AUTHOR> I'm especially looking forward to trying the new interface to Twisted and the gen module. I was about to write some async interfaces to things that are currently not - these new modules look like they'll be helping me out quite a bit.</comment>


Ask HN: How do you manage several projects at once - <AUTHOR> All my projects seems to be high priority, and on fire.
Some times I'm overwhlemed.
I am beginning to feel my job is running fire to fire instead of preventing them.
This work flow style is beginning to effect my performance.
Others who are managing several projects, all with the seemingly same level of priority- what skills have you developed to manage and organize? <comment><USER2> Difficult question.

First you have to learn to say "no".

It is not your problem, it is your companys problem.

Often they ask just the people for a job beause it is easy (yes yes I'll do it) or because they do it better than others .. so even it is not really your job, they ask you because you do the job better then the people who really should do the job.

Just keep in your mind, you work out of your free will in your company.

If you have several projects all on the same time, it does need a bit self discipline. Do finish a real task on a project and not start on each project something.

</comment><comment><USER3> One of the things I did when running multiple projects is to report on them to my supervisor in the order I believed they were in priority. I always stated this and asked for clarification if my assumptions were wrong. I'd also have cutoffs one the number of projects I held that-project-only meetings with others. I'd hold a catch-all meeting for the rest. It worked out, more or less.</comment>


Counterpoint to Jessica L's advice: Why Startups Should use Marketing as Sonar - <AUTHOR> http://peternixey.com/post/88182825903/a-counterpoint-to-jessica-livingstons-advice-or-why

<comment><USER2> I don't think pointing to 'basecamp' as an example of people doing marketing wrong is the best path.

And I very much agree that you should focus on sales first and marketing later. Proper marketing burns money like there is no tomorrow, it can distort a bad picture into one that superficially looks good, it distracts you from talking to your customers, the ones that already picked you.

There is a right time to start marketing, as long as you're pre-series A, if you can't make virality (the cheapest form of marketing) work for you in that your customers are willing to go to bat for you then you still need to work harder on the product.

There is a lot to harp on out there when it comes to examples of companies bad at marketing but 37signals isn't one of them, after all even the author is (unwittingly, and apparently against his will) part of their marketing arm.

Before you have a good grip on your product life-cycle marketing can hinder rather than help. Once you're solidly entrenched and you're reaching the limits of your autonomous growth marketing can boost you to the next level. But starting that push too early is like lighting the second stage of the rocket before the first one has detached.

<comment><AUTHOR> Perhaps I didn't express it very well but I was actually making exactly the opposite point. That 37Signals is excellent at marketing but had they not been they might have never discovered the niche for Basecamp.

Marketing doesn't have to be an expensive business. Startups are in a great position to beget high quality PR and to do guerrilla promotion. Many many fail even to do that and in so doing also fail to find their natural markets.

<comment><USER2> Maybe you should expand on that point a bit in the post then? Right now all marketing is identical and if you're aiming at something that is not costly but that will be effective then you could give some examples?

I'm sure that would help a lot of people in that situation.

Basecamp was 37signals first product, what do you mean with 'if they had not been excellent at marketing they might have never discovered the niche for Basecamp'?

<comment><AUTHOR> I literally just added a paragraph in to clarify that. I'm not sure I understand your question though, could you rephrase it?

<comment><USER2> Well, you suggest that basecamp was 'discovered' due to excellence in marketing, whereas as far as I understand it it was built in conjunction with their customers. So they were concentrating on selling rather than on marketing at that phase of their existence.

</comment></comment></comment></comment></comment><comment><AUTHOR> Replying here because I can't go any deeper...

@jacquesm You make a good point. I wanted to show that even a product as tremendously successful as Basecamp can still find local minimas where nobody wants it. However as you say, I'm not sure I actually made that very well so have cut those paragraphs.</comment>


Ask HN: Feedback on my iPhone app to send reminders by phone call - <AUTHOR> http://justremindit.com

<comment><USER2> I like it. It's simple and it's obvious that you've followed all the SOP for a landing page.

If I were you, my very next step would be to make a scalable way to create a similar landing page for a TON of niche reasons why people would need reminder phone calls. You should be able to come up with at least 50, just sitting in an empty room with a notepad. Have you done google keyword tool research to see what people who search for voice reminders are searching for?

As I'm writing this, I'm thinking: "Yes it's an iphone app, but there's really nothing iphone specific about the technology." It's the iphone your angle? What about all the other mobile devices? What about a web-service? What about a number people can call from a dumb phone, and then enter in the reminder number using their keypad, and leave an actual voice message for the future?

<comment><AUTHOR> Glad you liked it.

Great suggestion on creating similar landing pages for niche reminder services. I've looked into Google keyword tool, but haven't thought of using it this way. Will look more into it.

No, iPhone app is not everything. You're right, in fact, the main juice is in Web service. iPhone is just a client based on my API. Starting with an iPhone app was just market position approach. There is no app in the app-store which provides this simple solution, so thought let's start with that, and then expand. Web service solution is coming soon though.

Thanks again for your valuable feedback.</comment></comment>


Why Mabl chose GCP: A meetup with the creators - <AUTHOR> https://www.meetup.com/GCPonline/events/245138889/ <comment><USER2> In addition to what's mentioned in the article, Kinesis (the last time I checked) has a low hard limit on the number of consumers. It doesn't help to split into shards as each message has to be consumed by each type of consumer.</comment>


No-power Wi-Fi connectivity could fuel Internet of Things reality - <AUTHOR> http://www.washington.edu/news/2014/08/04/no-power-wi-fi-connectivity-could-fuel-internet-of-things-reality/ <comment><USER2> i'm totally curious. i don't get how any of these schemes are supposed to work except in small bursts or at short distance. 1\. the amount of power that can be used for transmission must be equal or smaller than that collected. 2\. so if the device transmits, the transmission is weaker than the noise. 3\. so perhaps power is stored and transmission is done in (short?) bursts? 4\. or does it work only at some very short distance thats a (small?) fraction of the range of the powered wifi AP?</comment>


Google China Boss Kai-Fu Lee to Resign - <AUTHOR> http://online.wsj.com/article/SB125202547216085365.html

<comment><USER2> Side note (but interesting): I noticed that people here barely know who Google is (not the techies, but common Internet users). I noticed that several times. One example: Other day I had to talk to the apt manager, and her English is bad (and my Chinese is worse than her's English!). So she uses a translation web site on her office to communicate with me. She goes to a Chinese portal, does a few clicks and so on... To my surprise, I noticed the translation service she uses is actually Google, but it was inside an iframe on this Chinese portal. I pointed to Google's logo right there on the screen, and she actually didn't know what that was!! For her (and I bet for a lot of people) this translation service is actually provided by the Chinese portal, and not Google.

There are other instances that I noticed too (this was not an isolated case), but in summary, I think Google has a loooong way to go here in China.

</comment><comment><USER3> Sounds like someone vested.

Best of luck to him. It was probably frustrating to see the slow going progress in China and a startup is a good cure for that.

</comment><comment><AUTHOR> Given the struggle that Google is having here in China, and all the hullabaloo surrounding his hire with Google in 2005, this is pretty big news, actually.

Google is doing much better here than in 2006, but it's still all uphill for them, and for a company that doesn't work with people much, has required lots of changes in the way they do things.

</comment><comment><USER4> Is there a Chinese alternative to youtube? Or does the government block all video sharing sites?

<comment><USER5> tudou.com, youku.com, etc.

[http://video.baidu.com/v?word=%C1%F5%B5%C2%BB%AA&ct=3019...](http://video.baidu.com/v?word=%C1%F5%B5%C2%BB%AA&ct=301989888&s=5&id=32&rn=20&pn=0&db=0)</comment></comment>


The Process Myth - <AUTHOR> http://www.randsinrepose.com/archives/2013/01/01/the_process_myth.html

<comment><USER2> One of the problems with process, the best intentioned process, is that you always create perverse incentives.

For instance take the transfer process that was being extolled. The incentive now is for managers to evaluate their best employees poorly, and mediocre ones highly so they will keep their best and lose their worst. Many people who have worked in large companies have seen this first hand.

Secondly there is a very real problem of fit between the person and the job. If a person is not doing well, and the problem is fit, then the transfer restrictions will leave no place for that person to go but out of the company. As a concrete example I offer SRE at Google. They need an unusual mix of "able to program, but sysadmin mentality". So Google tends to hire one skill set and hope that they get the other. But when they don't they may get a perfectly good software developer in a role where they won't do well. This is a loss for everyone.

The result is that even well-intentioned and supposedly good processes result in routine bad decisions. If this bothers you, then you probably do not want to work in a large company.

<comment><USER3> I think _always_ is overstating things a little, but you are right that you have to be very aware of perverse incentives and, the more process you bring in, the higher the likelihood that your process will interact in strange, unexpected ways to create those perverse incentives.

<comment><USER2> If you think that always is overstating things a little, can you give me an actual example of an actual process at an actual company that creates no possibility of perverse incentives?

<comment><USER3> "All commits should have a message and commit messages should be explanatory."

This is an actual process in my group at the company I work for.

Process doesn't _have_ to be heavy and invasive.

And what's the alternative? Zero process? Everybody has to "wing it" all the time? I can't see any possibility for a perverse environment there!

<comment><USER2> Who defines what "explanatory" means? And what is the resolution if there is a disagreement? I, personally, am happy with a commit message like, _Refactoring needed before #12345 can happen._ I've said what I was doing, and why, and presumably in your ticket system there is a ticket 12345 that has more detailed explanation. Other programmers will disagree. "Explanatory" means different things to different people, and complex arguments can erupt. (Conversely if your commit essay lacks a concise first line to show up in blame, is that explanatory? Should you always have a ticket #?)

Furthermore there is a type of person who enjoys asserting power through language lawyering. That kind of person will see that policy as a golden opportunity to acquire influence, even though the cost may be unnecessary conflict to little point. If such a person manages to assert control of a process element like that, you can easily get a type of teamicide that drives away good developers who don't want to deal with the BS of figuring out whether their essay was good enough to avoid an email lecture.

As for the alternative, I thought I was clear on that. Large groups cannot work without process, small groups can mostly get by on common sense. The imperfections of processes do not change their necessity in many cases. But if you, personally, do not enjoy dealing with process, then you should find opportunities to work in more congenial small groups.

</comment></comment></comment></comment></comment><comment><USER3> The biggest mistake I see in the process train is not "trying to fix something" but, rather, not keeping track of "what don't we want to break". Whenever I start thinking about process, I build two lists of requirements: what do I want to fix and what do I want to not impact. Without both, it's easy for process to grow like a gray goo[1], gobbling up all the useful culture in the company and leaving a company devoid of life.

(I expand on this idea on my blog[2], if you are interested.)

1.<http://en.wikipedia.org/wiki/Gray_goo>

2\. [http://softwaremaven.innerbrane.com/2010/03/preventing- proce...](http://softwaremaven.innerbrane.com/2010/03/preventing-process-goo- or-how-to-keep.html?m=1)

</comment><comment><USER4> Process is a great tool - and if used properly -can keep teams more efficient and maybe even propagate some culture or history.

And then Rands touches on something important: every time there's a new policy addition in the office engineers groan. Why?

* Because a manager is going to try to "fix" something (and will probably make things worse). ("Yes, we know the bug tracker sucks, but (sarcasm) yes blame the _developers_ when the requirements change half eay through implementing the ticket")

* "If you listened to us in the first place... We wouldn't be overworked and making these mistakes you're compensating for"

* The "green lieutenant" problem. (see any war movie for this)

See enough of those and yeah you'll roll an eyewhensome manager bursts into the door with a great idea... Especially when asking "why?" too mny times certainly will get you branded as a trouble maker.

</comment><comment><USER5> I find that many _policies_ (I'm not sure if they might overlap with processes) are actually the hidden tales of past disaster.

<comment><USER6> In the Navy (submarines) we would always say that "such-and-such procedure is written in blood"... and often it was. Either blood or millions of dollars worth of damage and time wasted.

</comment></comment><comment><USER7> This is syphilitic nonsense. His defense of bad internal mobility policies spoiled the whole thing. It seems like he's trying to defend moronic decisions made in large companies as if there "must be" a decent underlying reason for them. Sometimes, there's not. The Just World Hypothesis is a neat way to trick yourself into believing some insane shit that has no basis in reality.

If you're not an execrable fascist, you realize that performance review history part of the transfer packet is a Bad Fucking Idea. This Enron-style "innovation" was intended to intimidate people into working harder. What it actually did was give managers incentives to give inaccurately bad reviews: keep the fuckers captive with negative ratings. Bonus points if people don't know what their exact ratings are and therefore can think they're receiving acceptable ratings (cf. Google's secret calibration scores).

I'm sorry, but the absolute _first_ thing you need to assess when it comes to process is: _how will this shit be abused?_ If the system entrusts a single individual (in the internal mobility case, an employee's manager) to be ethically decent, with serious consequences to others if he's not, it will probably fail.

The real purpose of these bad HR practices (transfer blocks, global stack- ranking, political-success-I-mean-"performance" review history as part of the transfer packet) is to create a false objectivity that leaves badly-treated employees _falsely_ believing they have no legal or publicity recourse.

The vast majority of terminations don't go to court, but companies want to avoid bad publicity as well. The real purpose of a severance is to leave the employee feeling good about the company, despite the separation. The purpose of a PIP is to make the employee feel _bad_ about himself. This is because people are most likely to seek recourse when they perceive a sort of moral superiority. HR's job is to frame events so that people don't have this sense of righteous indignation. A severance brings the company up; "we can still be friends". A PIP brings the employee down; "you have no recourse, because you're shit and I'm champagne".

People who look at bad HR practices and ascertain noble or neutral intent are missing the bulk of the picture. Most powerful people in most companies are just bad human beings whom a less emasculated society would do something about. It really is that simple.

</comment><comment><USER8> Very nice article. My primary question: when I need to document the process, how do I best encode the culture and values into the document?

Should I aim to explain the values that we're upholding (code quality, documentation quality, test quality, etc.), in every step?

<comment><USER9> My takeaway from the article was exactly that: if you document anything, document the WHY, not the HOW. That way, when the HOW changes with time, the WHY will guide its new form.

Agreed on the quality of the article. As always, Rands manages to put the right perspective on the topic. I'm forwarding to quite a few process-averse folks I work with.</comment></comment>


Ask HN: What kind of give aways work best for pre-launch buzz? - <AUTHOR>

On a launch-rock type pre-launch page what types of giveaways work best for encouraging people to share with their friends?  I'm building a social site and was offering free dinner anywhere and it didn't move conversions at all. <comment><USER2> Trendsetter badge.

I would care more about Facebook and Twitter if all my friends could easily tell that I was there long before any of them. The point is, I think early adopters take pride in being the first one in their social group to try something new, and they might invite their friends just so everyone would know they were first.

<comment><AUTHOR> good thought, thanks.

<comment><USER3> what's the site? would love to see the implementation and hear about the results.:)

<comment><USER4> hi, it's <http://snapplans.com>. Let me know what you think.

<comment><USER3> Let me be an a-hole, because I want to be helpful not pander:

1) Your page assumes too much (it assumes I know about the product). It does not speak to me directly. EVERYBODY and their donkey makes plans, but who, what, how why will use you? For example, if this was for _travel_ plans, I'd say "Taking the next trip, let us be your assistant (the value prop is not a place to write - a paper and pen can do that - it's the benefits of having an assistant)."

2) That image makes it look difficult/techy product to use. You're saying I will be using the tools NASA scientists use, that makes it not easy for me to do.

3) Your round logo makes you look old, not you age wise, but it makes your company look like something from the 80s. Like a soap bar logo. Look at the top 10 companies your customers like or use, and take hints from their logos. Honestly, I don't know why companies need a logo, just use a short form of your company name in its colors (hint: look at the top left corner of this page).

4) I said I wouldn't pander but I can't help but say that your blog is awesome!

5) Inviting people to the launch party? That's the benefit? But you're not desirable enough (yet) for me to give up my email address for the opportunity to hang out with you.

6) For enticing people to sign up, I'd say do this: Give a solid value prop in your landing page so anyone who reads it wants it immediately! Then offer your service free for a limited time or something. This will do 2 things, first it will force you to sell your product/service in a sentence, second it will keep out people looking to get something free off you instead it will entice get people who are actually excited about using your service to try and get in - they will be your word-of-mouth army.

7) Add a descending counter (15 invites left) etc. to create a sense of urgency.

May you have great success!

<comment><USER4> Thanks for the comments. We are in the process of completely changing the page and definitely need to articulate the value prop better. We don't have a blog up yet, so I'm not sure what you're referring to - maybe the about us/more detail page we put up?

</comment></comment></comment></comment></comment></comment><comment><USER5> A few people here mentioned that their online giveaways didn't convert well. You may think, "who wouldn't try out my cool new app for a chance to win an ipad right?" But consider how this may read to your potential new users, "So they want me to enter my information into an unknown service, without any concrete return? and wait, is this one of those... try out any one of these services for a free ipad scams?"

remember that your potential new users have no idea who you are, and people are still generally suspicious of new things on the internet, and rightfully so.

</comment><comment><USER6> We gave away ipads and got about 150 people for each ipad (i.e. very expensive). One of our customers gave away ebooks and got about 200 users for each ebook, but everyone who entered got one.

Small items that are guaranteed might be a better bet. We are still testing this out. :)

<comment><USER4> Good data, thanks. What kind of small items are you using if you don't mind me asking?

<comment><USER6> well we dont have anything up right now, but one of our beta customers that we are working on is giving away 250 dog toothbrushes. But they sell dog products.

We are at a conference right now and instead of an ipad we are trying out 40 $10 amazon gift cards.

</comment></comment></comment><comment><USER7> The thing with something like a free dinner is that most people's reaction is "I'm unlikely to win" (they're correct), so they're usually not that bothered.

Look for something that all users can get, such as thetrumanshow's suggestion of a "trendsetter badge", or something that a lot of people can get, such as "one out of every ten people to sign up will get a voucher to..."

</comment><comment><USER8> One method that seems to be gaining in popularity is to order the people you let into the site by how many people they invited signed up. So someone who shares your site with their friends gets in before someone who didn't.

Of course, this only works for a site that can let people in at a trickle.

</comment><comment><USER9> We're in the middle of running an iPad giveaway and it's hitting all the targets we set.

Prior to the iPad, we've tested various types of giveaways to incent various actions and found that the best responses came from either big prizes or small, guaranteed prizes. YMMV.

</comment><comment><USER10> Personally, I'm always hesitant to promote a product I've never used, especially if I know my promotion is helping me win something. I vote for more, smaller, promos rather than large one. Something like a free sticker that anyone can get seems more accessible.

</comment><comment><USER11> I had the same problem with an iPad giveaway. Didn't move the needle.

</comment><comment><USER12> I'm more likely to share if I get early access..so have a signup followed by a "Share with 5 friends to get access first".</comment>


Dimensionless physical constant - <AUTHOR> https://en.wikipedia.org/wiki/Dimensionless_physical_constant

<comment><AUTHOR> From the article: "The list of dimensionless physical constants increases in length whenever experiments measure new relationships between physical phenomena. The list of fundamental dimensionless constants, however, decreases when advances in physics show how some previously known constant can be computed in terms of others. A long-sought goal of theoretical physics is to find first principles from which all of the fundamental dimensionless constants can be calculated and compared to the measured values. A successful "Theory of Everything" would allow such a calculation, but so far, this goal has remained elusive."</comment>


Ask HN: What are some challenges in batch processing? - <AUTHOR> I just saw a comment along the lines of "It can take a day to start a job on a supercomputer cluster" So what are some challenges when it comes to batch processing systems. <comment><USER2> That you are not the only one who wants to use them.</comment>


80% of software is useless, the other 20% is open source - <AUTHOR> https://ecc-comp.blogspot.com/2020/08/80-of-software-is-useless-other-20-is.html <comment><USER2> I agree with this to some extent.. but I think a text editor is a little different than gitlab. Even within the realm of text editors or IDEs, there are still successful paid options (not to mention that the author is conflating 'open source' with 'free').

With something like gitlab, people may pay for some 'enterprise' features, but they are also paying for support. Open Core and totally open source projects can be monetized by offering support.

Other projects are successful just by limiting who can use the open source software for free via different licenses.</comment>


Government wants to regulate your computers. - <AUTHOR> http://www.msnbc.msn.com/id/46272433/ns/technology_and_science-security/#.Ty8ro0xSQqQ

<comment><USER2> Horribly inaccurate, link-bait-y headline.

        FTA>  A developing Senate plan that would bolster the government's ability to regulate the computer security of *companies that run critical industries* is drawing strong opposition from businesses that say it goes too far and security experts who believe it should have even more teeth.</comment>


Facebook Turns 10: The Mark Zuckerberg Interview - <AUTHOR> http://www.businessweek.com/articles/2014-01-30/facebook-turns-10-the-mark-zuckerberg-interview#p3

<comment><USER2> Nostalgia. Just realized I have graduated from college for 10 years now. fb was the hottest thing my senior year. good old days of writing stuff on ppl's wall. The "relationship status" thing was so cool specially when selecting "It's complicated". The best part was feeling part of a special group because we all had to use .edu email to register. I remember I graduated and immediately asked my friend who was still in college for his .edu email because I obviously didn't want to give up my account. How far have we come since then.

<comment><USER3> awesome comment, if I could upvote twice I would.

<comment><USER4> my favorite part was the bit about "relationship status"

</comment></comment></comment><comment><USER5> > With almost half the world's Internet-connected population using the > service, the company is facing the immutable law of large numbers and simply > can't keep adding users at its previously torrid rate.

Pretty sure this journalist does not have a correct understanding of what the law of large numbers is. Very infuriating, even though I tend to find Businessweek's articles to be usually quite informative.

</comment><comment><USER6> Facebook messenger is indeed clever. I recognized Facebook as addictive, and blocked it. But people still communicate with me on there, so I installed the messenger app.

So I'm still in the ecosystem. And when I message someone, I draw them in. FB messenger keeps me from sending messages by email, text, whatever other method.

<comment><USER7> I frequently prefer FB Messenger because it is both desktop (web) and mobile, and it handles media. There are other cross-platform messaging services like Google Hangouts (GChat/GTalk), but I still can't attach a photo. Or there are ones like WhatsApp that focus on mobile, and are missing desktop/web. Apple iMessage is good, but it's only usable on iOS devices, which is not always what I'm using. And other cross-platform messaging products don't really have much adoption.

<comment><USER8> You can attach photos in Hangouts. I do so on iOS and desktop all the time.

<comment><USER9> Android (obviously) has it too.

</comment></comment></comment></comment><comment><USER10> I'm thinking that, by this time, Facebook already knows who you are, even if you log in anonymously. By that I mean, even if you don't log in at all.

</comment><comment> k-mcgrady Never realised Facebook was turning 10. It made me realise how many years 'Facebook is dead articles' have been around with no indication it's even dying, kind of put them in perspective.

<comment><USER11> No indication? The demographic group of teenagers aren't using Facebook nearly as much anymore.

<comment><USER12> and yet, those revenue graphs just keep going up...

<comment><USER11> They still have a ton of users, doing a ton of impressions, and they have a ton of money to keep investing in the ecosystem.

</comment></comment></comment></comment><comment><USER13> Link to single-page version of this article - [http://www.businessweek.com/printer/articles/181135-facebook...](http://www.businessweek.com/printer/articles/181135-facebook- turns-10-the-mark-zuckerberg-interview)

</comment><comment><USER14> >The company is worth around $135 billion and will probably become the fastest in history to reach $150 billion

Their market cap crossed 150B yesterday.

<comment><USER15> I can die happy now. What an accomplishment of the human race.

</comment></comment><comment><USER16> For those that were around during its initial release, it would be great if you could share your thoughts on why/how FB became so popular. Exclusivity? Seeding/inviting the site to social/popular people (like in The Social Network)? Simple UI? No ads? Another reason? Or just a little bit of everything?

Very interested!

<comment><USER17> Facebook used to just be a profile system. You put up information about yourself and hoped other people would look at it. People could write on your wall (timeline now) and you could write on theirs.

People at your university and your friends could see your profile. Nobody else could.

I remember spending hours looking at other peoples profiles. They're a computer science major? _I 'm_ a computer science major. What kind of music do they like? WOW this is interesting.

They also had this really fascinating "How you're connected" feature which would give you a list of friends that connected you to that person. You could pick almost any random person at the school (I went to a school with almost 40,000 students) and you would almost always be connected to them through your friends.

MySpace, while offering many similar features, was annoying to use. Oh great, white text on a yellow background and emo music blasting on page load. It got to a point where I wouldn't ever click my friend's MySpace pages because I just knew it was going to be terrible.

The exclusivity of it to college students was cool too. My friends at schools that didn't have facebook yet would be jealous of all the cool connections and groups we made on facebook that they couldn't do. Then, when it rolled out to their campus, they would do the same.

</comment></comment><comment><USER18> The link points to the third page of the article for some reason. Here it is on one page-- [http://www.businessweek.com/printer/articles/181135-facebook...](http://www.businessweek.com/printer/articles/181135-facebook- turns-10-the-mark-zuckerberg-interview)

<comment><AUTHOR> Ahh sorry for that! I was in the middle of reading and realized that it is worthy of sharing with HN readers:)

</comment></comment><comment><USER19> Woah, didn't realize Facebook and Gmail (April 2004) were released around the same time.

<comment><USER20> I got both at the same time, in fall 2005. I guess I'm a late adopter, but I remember having to be invited to Gmail. Facebook I just heard about from another friend in college around the same time.</comment></comment>


Ask HN: Why aren't people as patient as Google Search? - <AUTHOR>

Ok, I admit, I ask Google Search the same question many times per day.  Sometimes for years on end.
Now, if I ask Stack Overflow the exact same question multiple times per day, I'm not sure I'll make it out there alive.
Why is it acceptable to ask Google Search the exact same question but to people directly?  How does that affect the future advancement of mankind?  How did this phenomena affect the advancement of mankind before Google Search existed? <comment><USER2> You have mixed two ways to "ask a question." A search query against Google is one way to ask a question. Stack Overflow supports the same method, through the search box in the upper right hand corner.

In both cases you are free to ask the same question many times per day, though I suspect in both cases if you automate it and ask it once every second then you might get throttled or shut off. This is possible because the machine costs to answer this sort of question is low.

Stack Overflow also has a way to post a new question, which may have supporting documentation, etc. Google does not have a way to ask that sort of question, in part no doubt because it requires human understanding to answer that type of question.

It's not useful to treat both ways of asking a question as being identical.

Stack Overflow depends on a lot of volunteer labor. These are people who would rather not answer the same question over and over again. It's possible to pay people to do tedious work, but that would likely be too expensive for their business model.

When I was a kid, before Google Search, there were automated systems like time and temperature; a free number to call which would report the time. There was no limit to how often someone could call it. NASA also had a free number to see when the next launch would be, also answered by machine. And of course even further back still, church clocks are a machine resource so people can tell the time. It's acceptable for someone to look at a timepiece every few minutes, but not to ask people for the time at that same frequency.

It comes down to that we treat machines as mindless, unfeeling automata. It's also acceptable to drive a car without doing any maintenance until it breaks, but do the same with a horse and it's animal cruelty.</comment>