Using Voice to Code Faster than Keyboard - <AUTHOR> http://ergoemacs.org/emacs/using_voice_to_code.html <comment><USER3> A few months ago I had an RSI problem so bad - able to type only a minute at a time, even sitting with hands on keyboard hurt - that I started down this route. This video was, literally, a life-altering motivator for me, and I was quite obsessed with it.

Ironically, after seeing a physical therapist - which, _let me tell you_ , you should do at the first sign of pain, because while they can't help some people I personally am batting 1.000 with PTs for RSI over my many-year career - <USER2> recovery is now so complete that I've totally fallen off the voice-computing path... for now. But I intend to keep going, not just because it is hilarious but because, well, RSI happens and it really pays to vary the routine sooner rather than later. There is nothing like trying to do a ton of emergency scripting on Python and emacs at the lowest possible point of your productivity.

The most important hint I have so far is: do _not_ waste time with Mac OS. You need a PC running the Windows version of Dragon. The Mac version is pretty good for occasional email but lousy for emacs because it doesn't have the Python hook into the event loop that a saint hacked into the PC version years ago before leaving Dragon.

The speechcomputing.com forums are your friend.

Yeah, they say there is an open-source recognition engine that works okay, and time spent improving free recognition engines is time that _really_ improves the world for all kinds of injured people, but here's the problem: when you need a speech system you really _need_ it, and there are a lot of moving parts. Dragon, and Windows, and a super PC to run it on are super cheap compared to your time, especially when your time is in six-minute increments punctuated by pain.

<comment><USER4> As someone with a disability (quadriplegic), who types/codes with one finger, I find it appalling that Nuance, Apple and Google haven't opened up their speech recognition systems through a rudimentary API that would allow innovation that would _directly_ help the lives of me and many other disabled people whether it's RSI or worse.

<comment><USER3> It was a shock to me to discover that the livelihood and happiness of so many people depends on a dubiously-reliable unofficial API that was hacked into Dragon years ago and that has been lovingly preserved ever since, just below the radar. It feels like being critically dependent on Windows 95.

</comment></comment></comment><comment><USER5> I guess it depends on the type of software you're working on, but input speed has never been close to being the bottleneck with coding for me...

Most of the time I'm trying to figure out what to do or how to implement an algorithm. Rarely do I get those mad-scientist frenzies where I'm typing away frantically trying to get all the words down as they come into my mind in a flash of inspiration.

<comment><USER6> It's one thing to not be able to write code as fast as you can type. It's another to use a speech to text input method that's designed for long-form prose and try to use it to code. Can you imagine the frustration of trying to enter longCamelCaseVariableNames without a special macro to do so? I don't know the usual commands in Dragon, but I imagine it would be something like: "long delete space uppercase camel delete space uppercase case delete space upper case variable delete space uppercase names", possibly with a few false starts and undos in there as it interprets some of your words as commands rather than code.

To experience something like it, try using your phone keyboard, with word prediction on, to write code. It will be slow, and frustrating, and have a lot of false starts.

There's a big difference between "not the fastest way to enter text" and "so slow it's unusable", and the impression I get is that without extensive macros like this, most speech to text systems are so slow as to be unusable for writing code.

<comment><USER7> That's kinda the point of this article. He's got a bunch of macros and idiosyncratic commands.

At 11:30 in the video:

"Camel this is a test" -> thisIsATest "Studly this is a test" -> ThisIsATest "Jive this is a test" -> "this-is-a-test" "Dot word this is a test" -> "this.is.a.test" "Score this is a test" -> "this_is_a_test" "Mara" -> selects all text on screen "Chik" -> delete

He says he'll release his code in a few months.

<comment><USER6> Yes, that was my point. I watched the video, and picked the camel case example from it.

I was replying to someone who said that input speed is not the main bottleneck in coding, hence implying that it's not all that useful to do things to improve input speed. While I concede that input speed is not the primary bottleneck, my point is that without macros like this to speed it up, voice input would be way too slow to do anything useful.

</comment></comment></comment></comment><comment><USER8> Tangentially related, but I'll throw it in here, since so many developers aren't taking ergonomics seriously. RSI can happen to you if you are not careful, and it can wreck your career (almost happened to me). Several years ago, I started having aches in my arms. Over half a year it got gradually worse, until it was so bad, I thought I had to give up coding altogether. Fortunately, I managed to get it under control, mostly with the aid of a break program, and an ergonomic keyboard and mouse. I'm now completely over it, but I still need to be careful not to get it back. A lot more details in this post: [http://henrikwarne.com/2012/02/18/how-i-beat- rsi/](http://henrikwarne.com/2012/02/18/how-i-beat-rsi/)

<comment><USER9> Personal anecdote: I correlated my RSI directly to drinking coffee (tea is okay). I notice when I'm caffeinated that my posture is very different and I hold postures (e.g. holding down the shift key) for much longer. If RSI starts to blight you, try substituting your morning coffee for tea or water. For me, a break program just increased the stress levels of 'wanting to get something done', which I think is the root cause of RSI (stress).

<comment><USER10> > _try substituting your morning coffee for tea or water._

Syntax [edit:] tip:

"try substituting tea or water for your morning coffee"

or

"try _replacing_ your morning coffee _with_ tea or water"

EDIT: For the downvoters: Fairly or unfairly, in the non-tech world people judge you by your choice and arrangement of words. (Compilers do much the same thing, of course.)

</pedantry>

<comment><USER3> Nice people also judge those who try to shame people (not all of whom are native speakers of English) into silence on health-related forum threads by picking on irrelevancies.

<comment><USER11> Yes, let's ignore non-native English speakers' mistakes. That way, they will never learn, and we can continue to subjugate them, along with those for whom English is a first language, but cannot speak it correctly, probably because they were never taught that "should have" is not spelt "should of" and that their "they're"s aren't quite there.

<comment><USER3> "Spelt", in my dialect, is incorrectly spelled, and is a noun referring to a variety of wheat.

Now, was the "correction" I just offered you effective and useful, or was it merely irrelevant, provincial, chauvinistic, uninvited, uninviting, and just plain rude?

(A note to downthread grammar trolls: I just used an Oxford comma, boldly, without apology. Have fun.)

</comment></comment></comment></comment></comment></comment><comment><USER12> My counter-argument to voice-driven coding has been primarily around the input bandwidth and the fact that you _must_ work from home with that kind of setup.

I guess the presenter conducted the "faster than the keyboard" test under very controlled circumstances (e.g. only working on his own code, so one doesn't have to deal with non-english-word variables/functions).

I don't mean to be a hater, because that was an _amazing_ demo, but I don't believe it's the holy grail the title implies it is.

<comment><USER13> _> you must work from home with that kind of setup._

Or, you have a private office with a door that closes.

<comment><USER14> A high-quality headset, maybe even with some noise-canceling features should work okay, too. It wouldn't be that much different from a call center, and those don't usually get their own offices, either.

Sure, not the ideal, distraction-free environment, but neither is a cubicle farm.

<comment><USER15> Voice recognition isn't good enough for that yet: hyper-cardioid mics can only do so much.

<comment><USER14> Really, Dragon can't cope with someone sitting ten feet away and speaking at the same time? So I guess no listening to radio, either. Is it just the specifics of speech or is it _that_ noise sensitive.

Maybe someone should do some kind of voice rec "groupware" then, where the relatively louder results of the other person are used to filter out false positives on my end...

</comment></comment></comment></comment></comment><comment> fsck--off "Emacs pinkie" is a non-issue if you use a keyboard with thumb clusters, e.g a Maltron or a Kinesis model. Investing in a good keyboard is just as crucial as investing in a good chair, especially if you make a living by coding. The time that you spend compensating for a bad input device by hacking your own workarounds can be more costly then spending money on a proper solution.

Once you are an adequate touch typist typing speed is only beneficial if you use a language that requires you to type a lot of boilerplate. Even then, you can use an IDE for auto-completion. I can type at very high speeds — as fast as others can input text by using their voice — but I can't remember the last time I needed to type for more than a minute at a time. If you use a language that requires you to spend more time thinking about code than it does to actually type it, typing speed really doesn't matter. Code is like speech in that it is judged by the eloquence, not the speed, of its delivery.

<comment><USER16> It's similarly much less an issue when you map your keys correctly. Control goes to the left of "A", meta below "/". Much less pinky travel. Sun got this right way back in the 80's with the Type 3 keyboard (vi users prefer its placement of ESC too).

<comment><USER17> FWIW, you can get an unused Unix layout (Control left of A, Esc left of 1, Backspace directly above Return) Sun Type 6 USB keyboard for around $40.

[http://ep.yimg.com/ca/I/memx_2267_226185665](http://ep.yimg.com/ca/I/memx_2267_226185665)

If you're using X11, you can go nuts with xmodmap and get it functioning at least as well as it did on Solaris.

I think getting a genuine Sun keyboard beats just remapping keys on a 101/104-key PC keyboard. There are 12 additional keys at the left and top-left of the keyboard just begging to be remapped for your own nefarious purposes. You also get meta keys that are separate from the Alt key, as well as Compose and AltGr keys for your åçcéñtêd character needs.

Plus when you look down and see the Sun logo, you can reminisce about the old days and have a good cry at your desk.

</comment></comment></comment><comment><USER18> I was trying to work something like this out to try about a month ago but had to put it aside for later. Running my speech recognition inside a virtual machine was a dealbreaker, but not all that uncommon for people doing this sort of thing. I really, really wanted to get Julius[1] running in OS X but after a couple tries I couldn't get it to build (problem on my end– this is a good reminder to get it sorted out). If you're looking for an alternative to CMU Sphinx that's still FOSS, you really should check Julius out. There are plenty of docs on getting it running with languages other than Japanese. If you're curious about how well it can work, check out this[2] demo (requires Chrome).

[1] [http://julius.sourceforge.jp/en_index.php](http://julius.sourceforge.jp/en_index.php) [2] [http://www.workinprogress.ca/KIKU/dictation.php](http://www.workinprogress.ca/KIKU/dictation.php)

<comment><USER19> That does work well. I'm happy to pay for Dragon, but I find the Windows version so superior to the OSX software I refuse to run it on OSX...

<comment><USER20> The OS X "version" is a nightmare. It's guaranteed to break with every major OS release. Nuance takes months to release working versions. When it does work, it's hostile to any other apps that use the accessibility hooks, such as Text Expander, Alfred, etc., which would be _awesome_ with speech input.

The history of the Mac version (acquisition of a company that licensed the Dragon engine) means that it and the Windows versions are very likely permanently divergent. Given the relative market sizes, the Windows version has the best development, the best recognition, and the least schizophrenic product support.

I am glad that dictation (apparently powered by Nuance's engine anyway) is to be included in Mavericks, including a disconnected (i.e., non-Siri) mode. Maintaining an application with a skeleton crew and relying on system services that change at a fundamental level every couple years is not a path to customer satisfaction.

<comment><USER19> > I am glad that dictation (apparently powered by Nuance's engine anyway) is > to be included in Mavericks

I'd missed that, very interesting. I need a disconnected mode as being able to only dictate short passages, and especially using an online system that doesn't learn from corrections, is a pain.

</comment></comment></comment></comment><comment><USER21> ~99% of my time coding is spent working through the stuff in my head

Now if they could optimize that...

</comment><comment><USER22> Where is it backed up that it's faster than the keyboard?

For the couple of minutes I watched of him demoing it... I type _waaaay_ faster than that. In fact, I can't possibly _imagine_ how I could speak faster than I can code on the keyboard.

(Regular English sentences are another story, but code is full of important punctuation, exact cursor positioning, single characters, etc...)

I mean, this is awesome for people with trouble typing (which was my own case a few months back), but I don't think it needs to be over-sold by being "better"...

<comment><USER23> I think this is a silly point of contention. If I recall correctly, it's established that for English-language prose, speech recognition is easily faster (300+ wpm) than typing (150-200 wpm if you're good; 20-50 wpm typical, IIRC).

All he needs to establish is that he can do things like type aVariableNameLikeThis in six words (16% overhead) instead of fifteen[0] (200% overhead) and the rest of the claim follows.

[0] If you tried to type it using the out-of-box dictation in, say, Android or Dragon, you'd probably start with something like "lowercase a backspace uppercase variable backspace uppercase name..."

</comment></comment><comment><USER24> Whenever I see posts about voice controlling your computer, I spontaneously think "thank the heavens I don't have to share an office with you." I realize some people work alone, at home or in a sound proof office, but every work environment I've worked in has had a shared acoustic space.

These voice control schemes almost always end up as a cool gimmick, and rarely as a productivity boosting solution.

<comment><USER25> Because you're thinking about it wrong. Together with HUD, it will be a godsend for anybody who needs to have hands free and yet work with a computer. And if the microphone is close enough your mouth, you won't have to talk loudly to it.

For example, I could go to tend garden and yet think about some problem, take notes, even code. Or check email, browse internet. I can work on hardware thing and have schematics or specifications appear in front of my eyes. I can have a walk and take notes. I can eat while working.

Eventually, no office will be required. You can just stroll in the park and get the work done.

<comment><USER24> None of those usecases seem like something I would find useful, and talking with my mouth full doesn't seem convenient, I'm guessing your recognition ratio would go way down.

<comment><USER26> Stroll through the park coding on your Google Glass doesn't seem useful? Well, maybe not useful, but it would certainly be cool :)

</comment></comment></comment></comment><comment><USER27> While I've never been able to adapt to using voice to code, what I have done successfully is use Dragon to document my code. I set up some macros that could move forwards and backwards between methods in Eclipse, added a "start doc" macro...Eclipse does a lot of very smart completion so basic features in Dragon handled it without difficulty.

Dictating your javadoc is pretty damn convenient.

<comment><USER28> I have a relatively small working memory, and I've been coding since I was a little kid. Coding is like thinking out loud for me.

My default way to work is to bang some stuff into an editor and then constantly revise and reshape it. I'll draw diagrams on paper or white-board as necessary. I also tend to cut and paste "code notes" into a separate window so I don't have to keep that in my head.

</comment></comment><comment><USER29> This reminded me of the guy who tried some Perl scripting using Windows Vista voice recognition.

[http://www.youtube.com/watch?v=MzJ0CytAsec](http://www.youtube.com/watch?v=MzJ0CytAsec)

<comment><USER30> First thing that came to mind.

Hilarious!

</comment></comment><comment><USER25> I like it a lot. I wish there would be solution to tie this with say Google Glass, and be able to go on a walk or sit in the woods and code or make notes with it, hands free. Or while doing cooking or laundry, etc.

It's unfortunate he couldn't get the OSS speech recognition to work, though.

<comment><USER31> Yea, Google Glass would be ideal for DoucheScript Brogramming. Everyone could listen to you reindent your code while you held up the line at Starbucks.

<comment><USER28> Was just thinking of a way to be able to code on the subway. While it could annoy some, I'm often annoyed by stupid conversations on the subway. Can't close ears.

</comment></comment></comment><comment><USER32> Reminds me of VimSpeak.

[https://github.com/AshleyF/VimSpeak](https://github.com/AshleyF/VimSpeak) [http://www.youtube.com/watch?v=TEBMlXRjhZY](http://www.youtube.com/watch?v=TEBMlXRjhZY)

<comment><USER33> Thanks for sharing!

Just watched it and I find it awesome, not just for the voice recognition but as well as a nice spoken out video of VIM usage. I learned some of nice things that I will use now more regularly in VIM.

</comment></comment><comment><USER34> What I think is interesting is that a lot can be done to make typing easier and more human when you can type like you speak (and think).

For example: we say/think

      for each item in list

but in a lot of languages you need to type something like

      foreach(item in list) {

A step further: we say/think

      let a be the substring of b from 1 to the end

we need to type

      a = b.substring(1)

Ofcourse the last example is much shorter and even more readable (to the machine for sure) but maybe code could be a little more human.

<comment><USER35> I disagree. You could argue that a musician probably thinks "I have to play a D# for one and a half beats" as well. Or they can draw a dotted quarter on the sheet. We have symbolic languages for a reason - they are, once learnt, superior. If anything code needs to move _further_ away from spoken language, more in the direction of APL and its descendants.

A skilled musician likely doesn't engage the speech centres of their brain, they see a note on the sheet and translate it to motion. You should be able to take in the symbol for "apply a function to each item in a vector" at a glance without any clumsy English getting in the way. APL had it right, but coding has been crippled by catering to the lowest common denominator.

<comment><USER34> _" they see a note on the sheet and translate it to motion"_

Indeed. I think notes are more 'human' than most programming languages. If the music goes up, the notes go up. If the notes are short they look short (and more dense).

But I agree that typing "let a be the subtring of b from 1 to the end" is no fun. So I'm glad we have symbolic languages. But I think they could be made more 'human'.

</comment></comment></comment><comment><USER36> That was a fun talk to watch. Someone should try something similar using some kind of brainwave detecting glass gear to make it possible to code by simply thinking. That'd be awesome.

<comment><USER37> At that point why not cut out the coding altogether? Just visualize the output and there it is.

<comment><USER38> Just materialize whatever you want, in perfect working order, by thinking of it.

<comment><USER39> With 2030-grade brainwave gear and 3D printing, why not?

</comment></comment></comment></comment><comment><USER40> Question (halfway on topic) --

Who makes the best speech recognition software in the world? Regardless of whether it is available to consumers ... who is the best at it?

In particular, how do Apple (Siri) and Google (Google Now) compare to Nuance's stuff? Is Nuance so far ahead of everyone else that they're the clear leader? Or is their codebase "legacy" and vulnerable to better, more accurate software which can be built now due to better algorithms and approaches?

<comment><USER41> I don't know who makes the best. But I know the history behind dragon is very sad.

[http://en.wikipedia.org/wiki/Dragon_NaturallySpeaking#Histor...](http://en.wikipedia.org/wiki/Dragon_NaturallySpeaking#History)

<comment><USER40> Wow! That would lead one to speculate that perhaps they haven't had the best of engineering teams focused on improving the product over the years! Which means there might be a huge opportunity here.

</comment></comment></comment><comment><USER23> A word of warning -- I started dictating all of my email and Facebook replies on my Android using Google's voice keyboard on my Nexus One a few years ago in response to RSI pain in my hands from overusing my cell phone. Within a month, I started losing my voice.

RSI comes in multiple forms; using your voice exclusively is not going to fix the problem. The trick is to switch things up, which involves having alternatives in the first place.

<comment><USER20> Those vocal exercises singers do seem silly until you run into a problem such as this. They've been working on getting more mileage out of their larynxes for hundreds of years and have some pragmatic practices that can help.

Lots of water, avoiding nastiness in the air, learning the bare minimum volume of air you can push through your throat and still get results, and taking breaks when your body (either by feel or sound) tells you that it's tired.

In this specific case, adding leverage with short macros such as "laip" and "slap" is essential. There's no way you could work a full day spelling everything that wasn't in the recognizer's dictionary.

</comment></comment><comment><USER42> In the video he mentions that he wish he had known about the previous talk. Looked it up - [http://pyvideo.org/video/1706/plover-thought-to-text- at-240-...](http://pyvideo.org/video/1706/plover-thought-to-text-at-240-wpm). Pretty interesting. They are applying court reporter techniques to coding, cutting down on the keystrokes immensely.

</comment><comment><USER43> Anyone else find speaking commands out loud to distract from thought?

"slap... slap... jog... dot... word... chk... slap... snore"

<comment><USER44> Most programmers have mnemonics for text motions and symbols so as long as they're mnemonics you're familiar with I'm sure there's no problem.

</comment></comment><comment><USER38> This is amazing!

If you could speak a bit softer with this, maybe throw in some noise- cancelling headphones, I could totally see this being useful even in an office situation.

I could see a potential pseudo-language developing out of this to abstract a lot of the individual characters, functions and common invocations used while coding.

</comment><comment><USER45> Okay, here's the million dollar question that isn't on the FAQ and no one in the audience asked.

How the hell did he code it without using his hands? With help?

To his amanuensis: Slap. York. Tork. Jorb. Chomp.

Or maybe he felt his hands going, and he spent the last few months of his pre- RSI existence coding this up.

<comment><USER46> Once I got the basics working with the DragonFly and Natlink libraries I mentioned, I bootstrapped the rest mostly by voice.

</comment></comment><comment><USER47> Here's an open source Python script i wrote a few years ago that allows you to type with your voice. It's based off of CMU Sphinx. The accuracy is almost certainly not as good as Dragon, and it doesn't have a macro facility, so you cannot code as fast as typing. I haven't improved it much over the past few years because my hands got better and i don't need it anymore.

[https://sourceforge.net/projects/voicekey/](https://sourceforge.net/projects/voicekey/) (tarball, includes language model) [https://github.com/bshanks/voicekey](https://github.com/bshanks/voicekey) (repo, does not include language model)

</comment><comment><USER46> Hi, I'm the guy in the video. You might also be interested in a presentation I gave last Sept at Strangeloop with a much longer demo of coding in Clojure and Elisp: [http://www.infoq.com/presentations/Programming- Voice](http://www.infoq.com/presentations/Programming-Voice)

There's also this lightning talk [http://www.youtube.com/watch?v=qXvbQQV1ydo](http://www.youtube.com/watch?v=qXvbQQV1ydo) from PolyglotConf (warning: crappy audio from a shaky cell phone cam).

I promised to release my duct tape code later this year. I'm a bit behind schedule with that but it should be out in a month or two.

<comment><USER48> Strangeloop was a great demo.

What's the next big leap for speech to text programming? A language designed specifically to be speakable, ie, all keywords and no symbols?

I mean, I'd like speech recognition to get more natural error correction, drawing more from the way we use inflection to give feedback about which syllables to correct. (I love how Google on mobile now gives visual indication of which syllables it heard clearly, and which it didn't. I just wish it would understand when I shout "No, X not Y" to replace just that one misheard word.)

It'd be interesting to hear about where voice is heading from someone who uses the technology far more.

</comment></comment><comment><USER49> There's a lot of potential for multimodal gamified programming using tablets. A combination of gesturing, shaking the tablet, face expression, hand drawing, myo sensing, as well speech, in addition to machine learning in the compiler and for regular expression building. Within the next year a whole raft of apps along these lines will be coming online in the app stores. Big opportunity for Indie developers on the app store, you can easily charge $20+ if they're good and disrupt the emacs/vi/eclipse monopoly/monotony.

</comment><comment><USER50> This is a cool project, as I think a voice interface would be the ultimate in computing, something like in "2001, A Space Odyssey," or "Star Trek."

I remember first playing with voice recognition and voice command on a PPC Mac back in 1994.

That the technology hasn't progressed along the same lines as cell phones and processors is testament to how difficult voice recognition actually is when dealing with a wide variation of dialect within any given language.

I would love to be able to use my voice as my main input to my computers and other devices.

</comment><comment><USER51> It's awesome that it works, but that looks totally tiring.

</comment><comment><USER52> We need a new programming language optimized for voice: [https://github.com/pannous/natural-english- script](https://github.com/pannous/natural-english-script)

</comment><comment><USER53> Interesting talk. Naturally it made me think about steps I should take to prevent any kind of RSI. Should I be seriously concerned if I type for about 4-5 hours on average per day? How can I prevent it?

<comment><USER54> Anecdotal: I was getting soreness in my finger joints, and about that time went to a presentation talking about repetitive motion causing arthritis for a lot of typists. It was pretty grisly. Padding in finger joints wears down, and little chips of bone start breaking off, causing pain from bone chips and realignment of fingers to fit the new bone faces. Padding restores with rest, so it helps a lot to catch it early.

I bought a couple nice mechanical keyboards with Cherry switches (red and brown). I type very lightly on them, seldom bottoming out the keys. Finger troubles went away.

</comment></comment><comment><USER55> Any good machine intelligence integrated with IDE? I'd love some AI autocompleting things.

<comment><USER31> "Uuuuhh..." should trigger the autocomplete menu.

</comment></comment><comment><USER56> This would be amazing, especially if it one day supported Linux natively.

</comment><comment><USER57> this is great , even that seems complicated and hard to get used to ... it's a fantastic option when nothing else works.

</comment><comment><USER58> Amazing, but the cubical farm is noisy enough as it is.

<comment><USER59> Welcome to the call center. How may I annoy you?

</comment></comment><comment><USER60> I wonder if we should also be voice coding in a language drastically different then for example, C++? Maybe a language more syntactically friendly for voice?

<comment><USER52> Fully agree This why we started working on a new language called "english script" : [https://github.com/pannous/natural-english- script/tree/maste...](https://github.com/pannous/natural-english- script/tree/master/lib/english-script)

<comment><USER61> hmm, wouldnt it be better to link to some examples instead of the implementation?</comment></comment></comment>


Economics Nobelist Paul Krugman: Cities for Everyone - <AUTHOR> http://www.nytimes.com/2016/04/04/opinion/cities-for-everyone.html <comment><AUTHOR> Krugman doesn't state so explicitly, but the reasons for the high cost of living in Manhattan is because of "rent seeking" a Microeconomics market inefficiency created by using politics to limit density to create artificial scarcity in housing and thus increase the price of housing for new entrants and artificially inflate the cost of housing for existing property owners.

Another reason for the high cost of housing is the overuse of historic landmark status laws.

For more about how to fix the high cost of housing, see Harvard Economist's column: [http://www.nydailynews.com/opinion/build-big-bill- article-1....](http://www.nydailynews.com/opinion/build-big-bill- article-1.1913739)

For more about the explicit Microeconomics, see Tim Harford's fun to read book, "The Undercover Economist" [http://www.amazon.com/Undercover-Economist- Revised-Updated-E...](http://www.amazon.com/Undercover-Economist-Revised- Updated-Exposing/dp/0199926514/)

</comment><comment><USER2> I think, in the long run, relying on coastal cities to absorb everyone is not going to be a sustainable option. Right now, something like 40% of the US population lives in a coastal county, and that percentage is increasing. Meanwhile, environmental and infrastructure pressures on those areas are also going to be increasing. Transit systems are breaking down, water systems are overloaded, highways are overloaded. Everyone says, build more housing, but they don't want to pay for the the resources that housing will require. That is not going to work.</comment>


Ask HN: Favourite products built with repairability and durability in mind? - <AUTHOR> As an antidote to many modern products that have built-in obsolescence, what are some of your favorite products and technologies that are built with longevity, repair-ability and durability in mind?<p>Examples include:<p>- Desktop computers (components are largely interchangeable, a good desktop will last decades)
 - Bicycles (parts are easy to find online and mechanically they are simple enough to maintain yourself) <comment><USER2> Hmm... mechanical keyboards? You can replace individual keys. Cars, too. I wish I knew more.

I think some laptops are made more repairable than others. I got a sick Panasonic toughbook next to me. Seems very durable, and although I haven't opened it, it doesn't seem to difficult to reach the various components judging by the various unscrewable compartment doors.</comment>


What the F***? - Why We Curse - <AUTHOR> http://www.tnr.com/politics/story.html?id=246c0071-a9cd-46e2-a665-c6e61a45377e <comment><USER2> "Very, you would never hear the dialogue How brilliant was it? Fucking."

He obviously doesn't know my friends. Some would also say "Fuckingly."

<comment><USER3> Yeah, mine too. I guess we're on the cutting edge of swearing.

</comment></comment><comment><USER4> I realized after reading this (and 'Lies We Tell Kids') that we may not want children to use profanity for the same reason that we don't want them to use drugs or have sex: they're more likely to exercise bad judgment in how and when to use it.

The downside consequences are much more limited, of course, but whereas George Carlin will make us laugh while dropping 'fuck,' children are more likely to use the word in ways that make us cringe.

</comment><comment><USER5> _Don't use words too big for the subject. Don't say "infinitely" when you mean "very"; otherwise you'll have no word left when you want to talk about something really infinite._

\- C.S. Lewis

We don't want to keep kids from swearing really, we want to keep them from swearing _at the wrong moment_ and making themselves (and us) look foolish. Since this is impossible, we'd really just prefer if they didn't even know those words until they've developed the judgment required to use them correctly.

</comment><comment><USER6> First of all, I hope we all understand that "free speech" in its purest sense doesn't really exist. The proof is in "Falsely shouting fire in a theatre." ([http://en.wikipedia.org/wiki/Shouting_fire_in_a_crowded_thea...](http://en.wikipedia.org/wiki/Shouting_fire_in_a_crowded_theater))

Point being: Some people do believe that there is a minimum amount of decency required on the nation's airwaves to preserve ethical standards particularly of children whose values are highly malleable. It is justified as not being a violation of free speech with the same idea as that of the schenck ruling, that there indeed are limits to what a person can say without punishment.

Personally I feel people have a right to their belief in something like this, while others feel it infringes on our rights. But again, no matter what society we live in our rights are always limited by boundaries anyway...and boundaries serve a good purpose in shaping the morality of a nation. Morality...is often useful. I'll leave it at that?

<comment><USER4> Shouting fire in a crowded theater is wrong because you don't own the theater, so you are violating the property rights of the theater owner. If you did own the theater and shouted fire anyway, you'd be defrauding your patrons out of a show they paid to see, and you'd be liable if anyone got trampled.

Nowhere is 'free speech' involved here. Free speech is the idea that the government will not use force to prevent or punish you for speaking on your own property or on the property of someone who is willing to have you.

If you break into an auditorium and give a speech with a stolen microphone, your ultimate arrest has nothing to do with the 'limits of free speech.' Likewise, if you use a pen or your mouth in the commission of a legitimate crime (such as fraud, assault, or murder), then free speech is not the issue.

<comment><USER6> Heres a question for you then: Who owns the airwaves?

<comment><USER4> That's a fascinating question, actually. There are a couple of well-regarded approaches to including radio spectrum in a principled political framework.

The most historically congruent approach is to apply the principles of homesteading and private property rights, and allow courts to develop a common law framework for resolving disputes. Courts were beginning to do this successfully in the 1920s until the FCC was foisted upon us, with the effect of nationalizing the radio spectrum.

In practice today, this approach would mean privatizing the entire spectrum and allowing market forces to work, just as they do with all other forms of private property.

You can read Declan McCullagh's informed analysis of the modern harms the FCC causes and his detailed rationale for a property-based market approach here:

<http://www.news.com/2010-1028-5226979.html> ('Why the FCC should die')

To better understand the importance of homesteading and property rights from a 'first-principles' analysis, I would recommend Murray Rothbard's _The Ethics of Liberty_, which you can freely read or download here:

<http://mises.org/rothbard/Ethics/Ethics.asp>

In Rothbard's _For a New Liberty_, he addresses specifically the origins of the FCC and how the market approach was thwarted and replaced with bureaucracy:

<http://blog.mises.org/archives/002532.asp>

<http://www.mises.org/rothbard/newliberty.asp>

<http://mises.org/rothbard/foranewlb.pdf>

An alternative approach is to treat the radio spectrum as a non-scarce good (like air), which perhaps is not that far from the truth in light of modern radio technology. Under this view, radio spectrum need not and should not receive recognition as property, nor should it be 'managed', regulated, or conserved by government.

</comment></comment></comment></comment><comment><USER7> If I could get one cent for every time I heard that....

oooo, sounds like a startup idea!</comment>


Show HN: Blogs ranked by social quality - <AUTHOR> http://demo.canopi.me/

<comment><AUTHOR> The demo uses Fashion blogs as sort of a litmus test for the overall market and to test viability of the product. I don't know a ton about fashion, but there are certainly a lot of fashion bloggers.

The basic score you see next to each post is a breakdown of Pageviews + Tweets + Likes + Pins + Google+'s + internal likes (called Points). Some quick basic math creates a score based solely on that data. All posts can only live on the leaderboard for a finite amount of time (rolling 7 days as of now). I think it's a neat spin on quality, decided organically.</comment>


You Bet [pdf] - <AUTHOR> https://www.oaktreecapital.com/docs/default-source/memos/you-bet.pdf <comment><USER2> Well written piece on expected value. Something he doesn't get into is the shape of the skill factor

There's quotes out there about how poker is 9x% luck, & that last stretch of skill is a game of chess. What they're talking about is skill cap. By this we mean that poker is such a hard game that not even the best players are playing it perfectly. See a recent AI Pluribus for some articles on how AI's pushing this game

Essentially it's about having a 3d graph with the three labels:

X: Player1's skill Y: Player2's skill Z: Player1's chance to beat Player2

Issue: skill may vary with different strategies, so that you end up in rock- paper-scissors scenarios

Then there's a function over how much effort is required for a player to increase their skill. This is how we get games described as "easy to learn, hard to master" they're games with high skill caps but which a player should be able to quickly have more than single digit odds against an experienced player

An interesting thing with this 3d graph is that you can make transforms on it while treating the game itself as a blackbox. For example, in StarCraft players will often play Bo3 in tournaments. Plenty of commentators will go on about how this let's people bring a variety of strategies etc etc, but all it really does is avoid letting a single map's balance be decisive & exaggerates the advantage of skill. If you have a 70% winrate against someone, in a Bo3 you have an 80% winrate against them

This ends up creating interesting decision making scenarios when one can choose strategies which shift the role of luck in a game. It may make sense to play a strategy where even with perfect execution you only have a 40% winrate if the skillcap for that strategy is low enough & your opponent is better. This sort of thing makes it that there can be a bit of a divide where players are stuck at a 40% winrate against players who are better than them until they've become skilled enough to rationally play the higher skillcap strategy

</comment><comment><USER3> If you like his memos I recommend the "bubble.com" memo from 2000:

[https://www.oaktreecapital.com/docs/default- source/memos/200...](https://www.oaktreecapital.com/docs/default- source/memos/2000-01-02-bubble.pdf)

Timely written, at the very peak of the mania (though Marks correctly admits that such precise timing is accidental, knowing well the difference between luck and skill :) ). You can find all Howard Marks memos on Oaktree's website.

</comment><comment><USER4> The PDF has been corrupted since going up a few hours ago. Here's an archived copy:

[https://web.archive.org/web/20200116002831/https://www.oaktr...](https://web.archive.org/web/20200116002831/https://www.oaktreecapital.com/docs/default- source/memos/you-bet.pdf)

</comment><comment><USER5> If you enjoy this you might enjoy Thinking in Bets by Annie Duke.

It's got a lot of the classic "here's how humans are irrational" stuff that's in other similar books of it's genre, but I found it full of very practical tips as well.

</comment><comment><USER6> One of his main points is that value is based on fundamentals and good companies can be bad investments if there is not additional value to be uncovered. This is sound advice but I think the definition of sound fundamentals is changing. The lens through which we value companies probably always needs to evolve as the global market evolves and I think this makes identifying "good bets" more challenging.

</comment><comment><USER7> There is one other factor. Reputation. Imagine being at a poker table where the dealer preferentially deals aces to one player. That's exactly what happens in venture capital, and it's the only asset class where the asset chooses the investor and it's why top funds tend to stay as top funds.

</comment><comment><USER8> > In other words, we tend to respect people who think like we do. Did you ever > hear someone say, "I think Bob's a genius, and he thinks my views are all > wrong"? That's something few people would ever say. No, we tend to think > highly of people whose opinions mirror ours.

This doesn't seem like a very good explanation, because we can and in many cases do _change_ our views in the face of arguments from people we respect as geniuses. It doesn't have to be a coincidence or evidence of bias if the people you respect the most in some area of work also share your views about that area, because if you respected someone else _more_ then you would change your views to _those_ views.

</comment><comment><USER9> This is quite interesting, here's the man himself on Bloomberg talking about this memo few days ago:

[https://www.youtube.com/watch?v=b3rXpMYp4rE](https://www.youtube.com/watch?v=b3rXpMYp4rE)</comment>


Barents Sea seems to have crossed a climate tipping point - <AUTHOR> https://arstechnica.com/science/2018/06/barents-sea-seems-to-have-crossed-a-climate-tipping-point/ <comment><USER2> _" Many of the threats we know are associated with climate change are slow moving. Gradually rising seas, a steady uptick in extreme weather events, and more all mean that change will come gradually to much of the globe."_

Wicked Problems [1] are going to kick our arses over the next century, and I don't see how we're going to get through it without large-scale death and horror. There just isn't the political or social will to address the problems - and if we ever do get our act together then I can't see how it'll be anything other than too late. Mose things on HN seem utterly trivial when I'm reminded of this.

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

<comment><USER3> Personally, I would worry more about a meteor wiping out humanity than climate change.

There isn't political or social will because those on the extreme ends of both sides are controlling it making it impossible to meet somewhere in the middle. Which is what politics have to do to move anywhere.

Many of us understand very well that the climate is changing and that humans might have something to do with it, we just don't know to what extent.

But even posing such an idea will get you put into the "climate denier" category in a heartbeat and stop all rational discussion.

There are other ways to think about this. Here is one.

Humans have historically been living at the mercy of nature, nature is rather unforgiving and quite harsh.

Over the time we have adjusted to climate change and we always will have to as the climate will always be changing.

I would personally rather be in our current situation and have a fighting chance to improve than being left with the chances I had as a person 200 years ago for even basic natural causes.

The wicked problem isn't that there isn't political will but that we can't both secure the continued prosperity of humanity and at the same time not have an impact on the environment we live.

The way out of our problems is not to stop up but to continue improving technology and energy utilization. A great start would be to get back to nuclear but I am under no illusion that there are many rationally minded people left in the environmental organizations anymore.

<comment><USER4> > Many of us understand very well that the climate is changing and that humans > might have something to do with it, we just don't know to what extent.

Could you elaborate? I was under the impression that even conservative estimates by reputable climatologists showed some pretty drastic changes.

<comment><USER5> They do, and they've consistently underestimated things so far. The guy's just a denier.

<comment><USER6> That's not true. The climate models typically show larger rises in temperature than have actually happened.

I found this within 5 seconds of Googling: [https://judithcurry.com/2015/12/17/climate-models-versus- cli...](https://judithcurry.com/2015/12/17/climate-models-versus-climate- reality/)

I'm not sure how good the source is, but it is consistent with what I've seen elsewhere.

<comment><USER7> Complex systems have less linearity than expected, but more hysteresis. The flat(ter) early naughties have already been well explained, mostly taking 98 as reference is where the effect comes from, we caught up since then, and ain't slowing down.

<comment><USER3> Yet everything is getting better, not worse because we've become better at dealing with issues. The number of people who died from drought has gone down not up according to some studies. Number of people out of extreme poverty is going up is going up not down.

[https://reason.org/wp- content/uploads/files/deaths_from_extr...](https://reason.org/wp- content/uploads/files/deaths_from_extreme_weather_1900_2010.pdf)

[https://ourworldindata.org/famines](https://ourworldindata.org/famines)

And the world is has gotten greener:

[https://www.nasa.gov/feature/goddard/2016/carbon-dioxide- fer...](https://www.nasa.gov/feature/goddard/2016/carbon-dioxide- fertilization-greening-earth)

And so we are back to the beginning. We don't really know as much as some like to claim. So what is the goal of humanity? How do we measure human flourishing? How do we ensure we still get people to become more resourceful?

We can't have our cake and eat it.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> The whole world is probably past the tipping point. People who talk about halting or reversing climate change at this point are pollyannas or liars. The only thing we can realistically do is try to mitigate the most severe consequences.

[https://www.vox.com/2016/10/4/13118594/2-degrees-no-more- fos...](https://www.vox.com/2016/10/4/13118594/2-degrees-no-more-fossil-fuels)

<comment><USER9> And yet, I can get fresh ocean fish in the middle of a Minneapolis winter. What a glorious time to be alive! /s

<comment> saiya-jin jokes aside, this is mindset of most people - things are good, look my backyard is not burning yet, I can buy so much stuff.

I wonder what is the most appropriate course of action - people need to suffer a bit to realize how bad things are and going to be. Comfortable 1st world lives need a bit of a shake up to really change things.</comment></comment></comment>


Marc Andreessen Wants $250 Million For VC Fund - <AUTHOR> http://www.pehub.com/37595/andreesen-horowitz-want-250-million/

<comment><USER2> It would be better to link to the actual blog post: [http://www.pehub.com/37595/andreesen-horowitz- want-250-milli...](http://www.pehub.com/37595/andreesen-horowitz- want-250-million/)

Not a blog-post-about-the-blog-post.

</comment><comment><USER3> I wish he'd start blogging again...</comment>


How to Feed the World by 2050 - <AUTHOR> http://www.theatlantic.com/life/print/2011/03/how-to-feed-the-world-by-2050-biotech-isnt-the-answer/72768/

<comment><USER2> Putting your head in the sand and saying "eat less meat" is not going to fix the problem. As billions of people come out of poverty, they're going to rightly demand their share of meat.

As has been pointed out, it's easy to feed 9 billion people on grain alone. But feeding 9 billion people meat and a healthy variety of vegetables is a much more difficult challenge.

But luckily, there are ways to fix this problem and still let people eat their meat:

1) cows eat grass. Currently, modern cows eat grain. Historically, cows ate grass. Grass-fed cows are healthier, happier and much more nutritious. Grain fed cows also waste most of the grain they're fed: a cow fed corn needs 12 calories of grain to produce a single calorie of meat. But a chicken needs far fewer pounds of grain since birds evolved to eat grains & insects. Cows eat grass. A grass-fed cow doesn't "steal" any food from humans.

So why do we feed them grain instead of grass? Because it's cheaper. Huge numbers of dollars have been invested in increasing our production of wheat, corn and rice, to great success: yields today on non-virgin farmland are 4-10 times as large as they were 150 years ago. A comparable effort to raise the production of crops such as alfalfa will provide huge benefits. It's insane that it's more efficient to to plant a crop of barley, harvest the seeds to feed to cows and throw away the rest of the plant than it is to plant something else and feed the whole plant to the cow.

The other part of the solution is to eat a wider variety of meats and less beef. Bacon is the only form of pork that Americans eat, yet it's tastier than beef, IMO. Luckily, most Asians already know that.

2) fix our fishing: Current fishing practices are hugely wasteful. We've got a huge number of boats chasing a small number of fish, reducing stocks well below the most efficient breeding population size. Properly managed oceans could produce far more meat calories for humans than it currently does. We'd have to reduce our fishing now, but do we want a few calories now or a large number of calories later? Through the tragedy of the commons, we're saying a "few calories now".

<comment><USER3> >Bacon is the only form of pork that Americans eat

I can't agree with you there. Think of all the ham, barbeque, and ribs, and pork chops.

Maybe you are talking about fast food (lots of beef, not much pork)?

</comment></comment><comment><USER4> Interesting piece pointing out some possibly non-obvious considerations about future food supply. However, it fails miserably at answering "How" the suggested change in diet for first-world eaters will come about. Sure, most who care to look realize that feeding grain to animals is an inefficient way to produce edible calories, but in order for there to be a mass shift away from meat consumption in first-world countries, that inefficiency has to be accurately reflected (if not exaggerated) in the relative prices of meat and grains. Should there be a meat tax? It seems that the alternative is years of fluctuation in food prices (as we flail about seeking the new equilibrium) that mostly have a negative effect for the world's poor.

<comment><USER5> > Should there be a meat tax?

There is a "meat tax" which is exactly equal to/accounts for the inefficiency that you're worried about. That inefficiency is in the price of meat because suppliers pass the cost of grain through to their customers.

People don't always buy the most efficient. Get over it.

</comment></comment><comment><USER6> I recently discovered Quinoa, which is quite delicious and very nutritious (it has a balanced set of essential amino acids). It's also pretty cheap. I'm not sure how hardy the plant is though. Googling shows that it's on the short list of foods often mentioned as being able to play a significant role in world hunger.

<comment><USER7> It's great for breakfast too - treat it a bit like porridge. Cook it on the stove with some milk, almonds, sugar, raisins, muesli etc.

<comment><USER8> I just had cold quinoa and vegetable salad for breakfast. :)

</comment></comment></comment><comment><USER9> Feeding the world isn't the problem. There is enough food.

The problem is distribution. Politics finds food distribution - or creative hinderance thereof - a powerful tool in controlling populations.

<comment><USER10> And I would add the issue of food waste, if you go through the whole chain, a lot of food produced is wasted because of inefficiencies in each steps of the transformation and distribution chain

</comment></comment><comment><USER11> Sadly the idea that eating less of things like meat and other 'expensive' to produce foods will help feed the world is a bit short sighted. Not to mention that the majority of first world diets which are more heavily carb based is slowly killing us. There are many diseases that are caused by our diets and continuing to eat the way the government and many health officials recommend is detrimental to our health. Meat is an important facet of our diet, and it is a lot more healthy than the last 40 years of medical rhetoric has led us to believe.

I think locally we can do better by focusing on local produce and other food products. Maybe to the point of having vertical farms inside cities which could feed the local populace and cut down on pollution from shipping the food around as well as give higher quality fresher food to the local community. As another poster mentioned, we shouldn't try and force our mechanized techniques to third world countries, they just don't work.

</comment><comment><USER12> Really interesting piece, but the end falls short. I would have loved to see concrete solutions and possible implementations. It felt like the article was building up to that.

<comment><USER13> One of the key factors has to be the unlocking of previously 'unfarmable' into a self sustaining fertile alternative. Big agro-business contends that this is not possible and that we need to use oil based fertilisers and pesticides, machine intensive techniques and pumped water irrigation. It turns out that this does not seem to be the case at all.

This 'Greening the Desert' projects shows a promising way forward using long term (5-8 years) permaculture techniques to render arid, salty and previously unproductive land into productive land able to capture and sustain the majority of the water it needs with minimal irrigation.

[http://permaculture.org.au/2007/03/01/greening-the-desert- no...](http://permaculture.org.au/2007/03/01/greening-the-desert-now-on- youtube/)

I recommend watching the videos, truly inspiring stuff. The original greening the desert project transformed an arid, salt ridden area in Jordan into a fruit producing farm within a few years. The locals laughed initially at their efforts but then started queuing up to learn how it was done.

The other thing we need to do (in the West) is appreciate the value and privilege of eating meat and stop expecting to base a large part of our diets on it. A given amount of land can feed 7x the number of people when used to grow plant crops eaten directly as opposed to feeding it to livestock.

</comment></comment><comment><USER14> It doesn't mention energy, but that's just a bag of hurt on any public forum.</comment>


Svpa – a simple fast stable and powerfull avatar service - <AUTHOR> http://svpa.awesomes.cn/ <comment><USER2> More "powerful" than gravatar?

Why everything has to be "powerful", especially stuff that calls itself "simple"? Why you didn't call it "scalable" as well?

<comment><USER3> It's the marketing buzzword flavor for this period. Remember when everything was robust? Or resilient?

I don't know what people think they're doing as they write this stuff. If technical documentation was written like, just imagine how long and flaky their docs would be.

<comment><USER2> Oh, yes, also "robust".</comment></comment></comment>


Show HN: Ever needed to decode some obfuscated URL? Worry no more – Decode Pad - <AUTHOR> https://github.com/victorbreder/decode-pad <comment><USER2> I think you must emphasize more on the fact that it's multi platform, when I saw the demo on windows, I was very close to... well, close the post.

<comment><AUTHOR> Thank you for your kind suggestion! Will do!</comment></comment>


A detailed data-centric exposé on how the market is rigged (2014) - <AUTHOR> http://www.nanex.net/aqck2/4661.html <comment><USER2> (not so) Detailed Analysis of a Trade: lots of detail is lost here, you can see the problems start right at the beginning with this quote: "The 2nd column is the timestamp of the event - this is from CQS/CTA, the consolidated quote and trade SIP (Securities Information Processor)". Looks like they are determined to show only timestamps from the consolidated tape, which has been pretty much useless as a source of information for about 10 years or more. They omit the firm's receive timestamp for each message and also details of the trade execution reports received from Goldman Sigma X, which they are claiming as the source of information leakage that causes this order to be faded. Regarding Phantom Liquidity, they ask the pertinent question directly in the article: "what kind of liquidity"? but they get the wrong answer. The liquidity where you can dump a 20,000 share order directly on a market with tight spreads and not get faded does not exist now and never existed in the past; spreads were wider back in the day where you could have a hope of doing this. If you want to move large size with low slippage, you need to ship it to someone with good algorithms or spend the money to develop those algorithms yourself (along with the required technical infrastructure such as direct feeds, etc); those are really the only options available.

</comment><comment><USER3> I don't understand why stock markets function this way. Why don't they work like a Diplomacy game, in turns?

Everyone puts their instructions in, then the turn 'executes' and an algorithm (known to all parties) resolves the actions. Run one turn every second. If you want to buy all 20k shares on offer and nobody else is making the same bid, you get them. Seems reasonably straightforward - what am I missing?

<comment><USER4> These type systems has been offered for a number of years, it is a good question why they are not more prevalent in the US. [http://goo.gl/xXd8So](http://goo.gl/xXd8So)

<comment><USER5> See my question above for an answer on why they are not more prevalent.

If you break ties based on FIFO, you've just created a clunky FIFO match, which is used everywhere.

If you break ties randomly, you've just created a clunky pro-rata match, which is used everywhere.

</comment></comment></comment><comment><USER6> This is a fairly typical Nanex piece: start with loaded language before you've made your case, be "data-centric" yet leave out important details, intentionally exclude obvious details. By now this is all explained publicly many times over and Nanex are definitely aware of it.

In the follow-up they admit that by not being stupid you get the fill you want. Hence not rigged or stolen, just that naive execution is a poor choice: same as in unfragmented markets, same as before HFT.

A good reference is [http://www.amazon.com/Flash-Boys-Insiders-Perspective- High-F...](http://www.amazon.com/Flash-Boys-Insiders-Perspective-High- Frequency-ebook/dp/B00P0QI2M2).

<comment><USER7> Why can you cancel orders in a few milliseconds? It looks very much like a great opportunity to rig the marker.

<comment><USER8> Because you may no longer wish to sell at that price. Similar to the way that if you have a house on the market and someone makes an offer you don't have to accept it.

<comment><USER9> It's not reasonable to assume that a human changed their mind that quickly. The idea of putting out an offer with the intention of changing your mind and letting a computer handle that process cements the point that its not a change of mind here, more likely an intentional misrepresentation of buying pressure - otherwise what's the point?

This is not what changing someone's mind looks like.

<comment><USER8> The point is to sell your shares at the highest price possible. Computers help you do that by reacting quickly to market information.

If someone sends a buy order to the exchange that quote is listed on for the same amount of shares, it will fill the entire order. What is happening here is that there are multiple exchanges and when the algo sees an order come in on one exchange it cancels orders on other exchanges quickly disseminating price information as liquidity evaporates at the current price.

The point of price is to disseminate information about the supply and demand of a good. When demand goes up price increases. The buyer is buying because he thinks the price will be higher in the future.

Both are motivated by profit, at a certain point the buyer will no longer be interested in buying at that price. The buyer obviously has a piece of information the algo doesn't and is equally trying to capitalize on the algos lack of knowledge of that information.

In the case in point the order was ~60% filled. The price the order was submitted at reflects the 'current' demand, not the demand after the order is submitted. It's pretty good to get a 60% fill when you are buying 83% of the currently available stock.

</comment></comment></comment></comment></comment><comment><USER8> Imagine you live in a city and there are currently 1000 houses on the market, you take out an ad in the news paper telling everyone that there are only 1000 and you want to buy 900 of them.

Someone wakes up at 6 AM reads the paper and phones every real estate agent in town telling them they will pay the asking price and a little bit more, most agents sell to him and he makes a nice tidy profit off of you who now have to buy from him.

Is he front running you or are you just dumb? Especially given that you could take news paper ads out all week long and then let the guy who bought 800 of the houses take the loss on them. Or you could execute a bunch of small 50 trade orders and buy all the houses you want at the asking price.

<comment><USER10> So the solution to this problem is to break up large trades then? Isn't this decreasing liquidity and if so, how big of a problem is that? Seems like trading a large amount of anything has always been challenging.

<comment><USER8> The market is already illiquid at this demand / timescale which is why the order is being partially filled, if you spread it out over 5 minutes there'd be no problem finding that much liquidity.

</comment></comment></comment><comment><USER11> If this is legit, what amazes me is the time! Network hops can account for approx 100microseconds, which means that these HFT trades would not only have to be in the same datacenter, but within no more than 2-3 hops of the exchange device. Then on top of that, it's making its trade decision within 500 microseconds.

I need to sit down to calculate this, but that is guaranteed to mean that they are reading from RAM and not disk. Could the entire stock market fit in a single hashmap in memory?

That's just some awesome hardware and super efficient software.

Edit:typos

<comment><USER12> >Could the entire stock market fit in a single hashmap in memory?

I don't see why not. You also don't have to put the entire market onto one machine - you can shard the market across multiple servers, with one server handling each symbol.

<comment><USER11> > shard the market across multiple servers

Sure, but now you've added a router, consistent hash or the like, to the picture, which is either another hop or a custom physical rack instead of a traditional ToR. It's not impossible at all, it's just impressive that they do all of this in 1ms!

<comment><USER12> >Sure, but now you've added a router, consistent hash or the like, to the picture

not necessarily. If the HFT companies are using some sort of secret internal API (very possible as they like to shave milliseconds off their execution time), it's possible that they are talking directly to relevant server, bypassing any loadbalancers or routers.

<comment><USER13> On a regulated exchages you cannot bypass official gateway. Though you do not need to. The only thing you want is to be faster than other traders.

</comment></comment></comment></comment></comment><comment><USER14> I think where Eric Hunsader (and Michael Lewis) go wrong is that they have a big flaw in their mental model of the market. They make the assumption that if say 500 shares are offered at exchange A, and 500 shares at exchange B, then they are entitled to sum those two numbers together and assume that there are 1000 shares on offer. This is wrong. This is the basic mistake that they just can't wrap their heads around. I will try to explain as simply as I can from the point of view of a market maker.

Imagine you are a market maker trying to make the spread and provide liquidity back in the old days. There is only a single stock exchange. Your firm obviously has a limit on how much risk it can take. How much capital/money it has available. So let's say you are allowed to post 1000 shares on the offer and 1000 shares on the bid. You are not allowed to hold a position of more than 1000 shares long or short. Life is simple.

Then things get complicated. A competing exchange is now set up and begins to thrive. Yay for competition! Yay for the free market! But you still have the same limits on your capital and risk. What do you do? Do you now post 500 shares on the first exchange and 500 shares on the second? You could do that. Then you are guaranteed that you will never be long or short greater than 1000 shares. You'll never break your limit. But what happens when there are 10 different stock exchanges? Do you post only 100 shares at each one? Should the available liquidity in the market be fragmented into 10 pieces? Of course not.

So what you do is post your bids and your offers for your full amount on each exchange. And then if you get filled on one exchange, you cancel your orders on the other ones. This isn't crazy, this isn't radical, this isn't some nefarious plot. It happens every day in all sorts of markets. I might put my house for sale on three different real estate websites. When it sells on one, I cancel the listing on the other two. No big deal. Or if I am a fisherman in India, I might send my sons to three different markets to sell my catch. When one finds a buyer, he phones the other two and tells them. ([http://qje.oxfordjournals.org/content/122/3/879.abstract](http://qje.oxfordjournals.org/content/122/3/879.abstract)). This is simple stuff.

In more technical terms, the offers and bids are all _bona fide ab initio_. They are all bona fide when initiated. When posted, you do actually want to sell or buy at that price. When you get filled at one exchange, circumstances (your inventory) have now changed, and you are entitled to cancel.

Note in my explanation, the market maker isn't front-running, or even back- running, they are just responding to their own personal changes in inventory level (position) that means they can no longer offer those shares at the other exchanges. Electronic market makers may well have sophisticated models that predicts the short term price move causing them to pull orders at other exchanges, but we need not even consider those models to explain this behaviour. Changes in inventory is ample explanation.

Of course, by posting their full available inventory on each exchange, market makers expose themselves to a new risk. Someone might come along at the exact same instant and fill them on every exchange! Then they will be over their limit and massively exposed. Luckily, they have very fast systems and low latency lines to help protect them from this. If they didn't, they would be forced to offer 1/n times their current liquidity, where n is the the number of exchanges. That would suck for all liquidity consumers.

Which brings me to the most amusing part of this whole story, is that when the 'hero' of Flash Boys Brad Katsuyama figured out he could precisely fire off orders so that they hit all exchanges at the same instant in time with his 'thor' program, the SEC came knocking. Because behaviour like that, ambushing market makers on multiple exchanges, could in fact force market makers to offer much less liquidity. I don't have a problem with it, but it amuses me that the supposed hero was the one probably endangering market structure.

<comment><USER15> You are obfuscating and you know it.

>"ambushing market makers on multiple exchanges, could in fact force market makers to offer much less liquidity"

The article (as well as your first paragraphs) demonstrate that this "liquidity" isn't real in the first place, and gets withdrawn if anyone tries to trade on it. So if the HFT are not offering it, nothing of value was lost! (Indeed it is better from a macroeconomic and social standpoint, since the wasted brainpower of HFT quants goes to some other economically useful endeavour.)

> So what you do is post your bids and your offers for your full amount on > each exchange

No, financial markets order books don't work like this. High-latency markets where your counterparty is a spiv who goes back on their word work like that (OTC securities, real estate or indeed dealing with people at Indian fish markets). But in an order book, orders are supposed to be firm and executable. If they aren't, the market is rigged. As it very clearly is.

<comment><USER14> >(as well as your first paragraphs) demonstrate that this "liquidity" isn't real in the first place, and gets withdrawn if anyone tries to trade on it.

Where? I have explained that it is real. The confusion stems from thinking you can sum up the orders at each exchange. It would be like seeing the same house on three different real estate websites and then thinking you can buy three houses. They are the same house. Listed three times. The liquidity listed at the 13 different US equity exchanges is listed by the same market makers, so you can't sum it. Do you understand?

>But in an order book, orders are supposed to be firm and executable. If they aren't, the market is rigged. As it very clearly is.

How aren't they executable? No one can see your order coming. If you send a single order to NASDAQ or any other exchange it will execute. They are all executable and firm at the exchange level. Nanex seems to think you should be able to execute everything visible at all exchanges at once. You can't.

<comment><USER16> > It would be like seeing the same house on three different real estate > websites and then thinking you can buy three houses.

No it's not, since with the houses it would be easy to verify that there's no 3 houses available. The trader in the Nanex article had no way to know how many of the 24800 shares were actually available. He's trading at an information disadvantage.

To your analogy, it would be similar to a real estate agent flooding the market with multiple listings of each house, but with different pictures and different addresses, giving the impression of a buyers market to a buyer (phantom liquidity).

<comment><USER14> >No it's not, since with the houses it would be easy to verify that there's no 3 houses available. The trader in the Nanex article had no way to know how many of the 24800 shares were actually available. He's trading at an information disadvantage.

You are correct, public markets are anonymous by design, so there is no way to _tell_ that the same liquidity is being offered in more than one place. That doesn't change the reality that it is. As I explained, it must be, or the transition from 1 exchange to 13 exchanges would have seen offered liquidity by market makers cut to 1/13th.

So like I said, anyone with a working mental model of the market knows this. You can't just aggregate displayed liquidity at each venue and think that number is valid. It doesn't matter what your 'screen' is telling you if the screen is doing something that makes no sense. No one ever pretended that you can magically execute on different exchanges as if they were one exchange. No one ever made that guarantee. The only people who think that are wingnuts like Eric.

And since we are talking about an issue that only effects people sending very large orders to multiple exchanges, the likes of Katsuyama have no excuses for their ignorance. They are paid to be on top of these details. You can't have a 'trader' in the modern age who doesn't know what a millisecond is, or isn't prepared or capable to dig below one abstraction layer. "dUh, my screen say 24800 shares are there and i pressed buy" is not what you pay an execution trader for. It is his fucking job to know what happens when his order goes down the wire.

>To your analogy, it would be similar to a real estate agent flooding the market with multiple listings of each house, but with different pictures and different addresses, giving the impression of a buyers market to a buyer (phantom liquidity).

They are not "flooding the market" or trying to present "phantom liquidity". They are doing exactly what you do when you put the house on 3 different websites. Trying to increase your chances of finding a customer. They are forced to put bids and offers on 13 different exchanges, because that is US equity market structure. It's no fun. Life would be a lot simpler if there were just one exchange. As I explained, it's like playing russian roulette for them... they are now forced to take the chance that they may get filled simultaneously on multiple exchanges and take on more risk than they are comfortable holding. But they are forced to do that since their customers are now spread across 13 exchanges. Market makers would like nothing better than to have 1 exchange. Arbitrageurs are the ones who love having all this fragmentation.</comment></comment></comment></comment></comment>


CDC says all Americans should wear masks - <AUTHOR> https://www.nytimes.com/2020/04/03/world/coronavirus-news-updates.html <comment><USER2> dupe: [https://news.ycombinator.com/item?id=22775168](https://news.ycombinator.com/item?id=22775168)

</comment><comment><USER3> Wasn't it just two weeks ago they said healthy people don't need to wear a mask as its useless to them? The sudden about face.

I know the reason was the shortage of masks, but it really damages their credibility. I think it would have been better if they said "masks help some, but we need them for health care workers go make your own for yourself".

</comment><comment><USER4> On the other hand we have the Surgeon General pleading with us to stop buying masks because they have no benefit. I'm really tired of people in positions of power giving contradictory advice. If masks have no benefit, then why do medical professionals wear them?

<comment><USER5> Because they don't want to infect others. In normal practice masks are worn when sterile or high risk surfaces are exposed and no risk can/needs to be taken. Which is about all medical professionals use masks for. If they know somebody is infected they use physical shields, because that is the only thing that will prevent exposure. A mask used as a shield isn't used in a professional setting because what it is is guessing. It can't hurt so sure wear it if it makes you feel better, but all you are doing is guessing, not preventing.And if you want to tell others they must wear them you are saying they have a high probability of being infected. Which you don't know, just are afraid of. Don't tell people what to do based on your fear, that rarely goes well.</comment></comment>


Show HN: My Fascination with Finance and CS – Resulting App - <AUTHOR> https://jacobirw.wordpress.com/2013/03/19/my-fascination-with-finance-and-cs-resulting-app/

<comment><USER2> Might want to fix this: <http://jacobirw.in></comment>


"Why I cancelled my ReactiveConf talk" - <AUTHOR> https://medium.com/@peggyrayzis/why-i-cancelled-my-reactiveconf-talk-3a463bf14bd8 <comment><USER2> ok. people can be offended by things that weren't intended to offend them. this does happen from time to time.

buy why would the speaker withdraw instead of contacting the event organizers? if it bothered her, she wouldn't necessarily have to go into any detail as to _why_ she found it offensive. she should just chew them out for this debacle and threaten to withdraw if they don't alter the image.

this whole thing seems like a poor choice by the event organizers, followed by a poor reaction from a speaker, which led to a poor response from the organizers.

you aren't automatically "right" just because the other guy is wrong.

<comment> aaron-lebo She wanted to be taken seriously, that undermined it, she has that right. That the organizers responded the way they did says enough:

 _This is not how adults handle situations._

<comment><USER3> Perspective - if someone photoshopped my face onto pancho villa I could choose to be undermined or be a good sport about it, regardless of how wrong the other party may have been.

I will say this, being outraged may vault her into the limelight and accelerate her name recognition, if not for a moment. Almost sounds like an incentive to choose to be a victim

<comment> aaron-lebo Or maybe she had a legitimate reason to be offended. You don't get to chose that.

<comment><USER3> I think you missed my point where i would be offended and still handle it with grace.

Oh and to shortcircuit the strawman observation, I've been in many professional situations where my latino heritage is used in a malicious and insulting way which offends me but I CHOOSE a constructive non confrontational conflict resolution that includes dialogue

</comment></comment></comment></comment></comment><comment><USER4> _only to see that the conference organizers had photoshopped my face onto a sexualized image of Wonder Woman without my consent, printed it out, and framed it._

Isn't it just an image of Wonder Woman, in full kit? Moreover, this iteration was recently hailed as a bit of a kickass lady, rather than a sex symbol. What makes this "sexualized" rather than a compliment about being like a Wonder Woman?

<comment><USER5> The problem is that all superheroes can be considered sex symbols, they're all examples of the greatest that people can achieve in terms of attitude, physical fitness, etc. One could argue the whole superhero thing is problematic.

(I'm not going to though, I enjoy the movies)

</comment></comment><comment><USER6> Did any other speakers object?

It looks like they did Sarah Drashner as Supergirl [1], and Daniel Woelfel, Sean Grove, and Jared Forsyth as members of some team that I do not recognize from the uniforms [2].

It looks like they also had lots of superhero stuff, such as models and sets that people could take photos with, and in general were going for a them that React developers are superheros right up their with groups like The Avengers. See various photos and tweets here [3].

[1] [https://twitter.com/filipewl/status/923583201100083206](https://twitter.com/filipewl/status/923583201100083206)

[2] [https://twitter.com/ReactiveConf/status/888016901061922820](https://twitter.com/ReactiveConf/status/888016901061922820)

[3] [https://twitter.com/reactiveconf/media](https://twitter.com/reactiveconf/media)

</comment><comment><USER7> So Eastern European.

I was at an Elastic conference in Poland where there were all sorts of ads which would be considered offensive here. Like one depicting a Native American chief in full head dress spouting some vague Indian-ish proverb with a tech slant.

<comment><USER8> I hope you meant it in a good way. There's _very very few good things_ about Eastern Europe. But the "open minded humor" and ability to both take and receive jokes that would offend others is one of the _good_ things. Humor has rarely been "malicious" and discriminative here, like in more developed European countries or the US. EE never actually had things like _slavery_ or serious racial discrimination (the Rroma people are a good example of that actually - they have been so well tolerated that they never actually integrated... not that that is a good thing), and communism actually brought women closer to equality status in the workplace. This made jokes that are "charged" in other places of the world be very OK here.

Yeah, it's kind of the "South Park of Europe" so you need to have a taste for this kind of thing to enjoy it.

And, unfortunately, it's disappearing... people are getting too thin-skinned and liberal-corporatist there too. And nobody can be blaimed for that either, since pulling towards the opposite direction would be pulling towards the East and that's a no no. Better thin-skinned liberal pro-European than getting even a millimeter closer whatever toxic pseudo-authoritarian concoction is brewing around Rusia nowadays...

<comment><USER9> > There's very very few good things about Eastern Europe.

The positive intent behind your comment is clear, but please don't post like this to HN. It crosses into, or closely enough resembles, nationalistic attack.

Commenting like this about the place you yourself are from isn't, unfortunately, much different in terms of toxic internet effects, so on HN, please just don't. I'm sure you can find a more precise and neutral way to say what you want to say.

<comment><USER8> I have no intent whatsoever to avoid "toxic internet effects" or "nationalistic attack". There's room for more love in the world, just as there's room for more hate, the latter is just as useful.

Ironically, your comment shows exactly that you "don't grok", or simply don't enjoy, the kind of sometimes intentionally toxico-aggressive humor I was referring to ;)

Sometime you incite a bit of hate and generate some toxic effects on purpose just 'cause it's... fun. And it's _perfectly OK_ as long as you _sincerely 100% lacks any aim /purpose/agenda_ and _make sure nobody gains anything from it_ (it's OK if _everyone_ loses _equally_ from it :P).

EDIT +: And it helps people chill, relax, and live in peace, kind of like a "hate vaccine"... as long as you're surrounded by people that are not too sensitive to "grok it". I think in general, worldwide, people need some "hate vaccination" to desensitize them a bit and decrease worldwide volatility. We're becoming too edgy and close to the red button if we don't realize there's "good" in any kind of "evil" attitude.

</comment></comment></comment></comment><comment><USER10> Another speaker withdrew because of what he felt to be the organizers' unprofessionalism.

It seems that the organizers were well-intentioned, but lack experience.

[https://medium.com/@jevakallio/why-i-will-not-be-speaking- at...](https://medium.com/@jevakallio/why-i-will-not-be-speaking-at- reactiveconf-6e106b3816a5)

</comment><comment><USER5> Honest apology from the organizer: [https://medium.com/@ReactiveConf/an- honest-apology-for-peggy...](https://medium.com/@ReactiveConf/an-honest- apology-for-peggy-rayzis-from-reactiveconf-lead-organizer-f6efa21a19e6)

</comment><comment><USER3> Rather rash reaction after such a self-admitted sacrifice "HALFWAY ACROSS THE WURLLLLDDDDD" which sidestepped the initial reachout and request for mediation. Almost sounds like a bad ben stiller romcom trope of the whole ordeal can be sorted out via a short dialogue.

Kind of reminds me of the final scene of jane austins Mafia! Where madam president asks if her husband, the godfather, killed everyone.

</comment><comment><USER3> Frankly - I find the thought of $aBugThatThinks to be Offensive!

</comment><comment><USER11> This should be buried, and I would never invite her to speak again because she is _drama_.

This is a trend of hyper sensitivity that requires everyone to walk on eggshells and wear kid gloves because who knows what could trigger the emotional reaction. Really, think about this - what if a company tries to do something fun, like for halloween, and buys clip-on ties for the guys and clip-on hair ties for the girls, but then someone flips out saying "I'm a guy why do i have to be stereotyped into having a tie, this is so sexist! (and the girls can do the reverse - I want a tie!). It's all just nonsense from people who don't have any emotional maturity, really.

Were the conference organizers trying to do the wrong thing? Doesn't sound like it at all. They probably thought "wonder woman is cool, this lady is cool, this image will be cool" and it was actually an act to celebrate her.

Instead she flips out. Great, real mature. Then she posts conversations she had with them and demonizes them. real mature.

And about her point of being sexualized - what if a guy had his face photoshopped onto he-man and that guy complained about being sexualized because now his face is on a shirtless strong dude. These arguments only go one way for people like this.

There is a line, of course, and sexual harassment is real. But this isn't anywhere near the line, its not even in the same field. We need to send a message back to her that she is the one being drama and needs to grow up and be a 'real adult' like she says she is.

<comment> aaron-lebo You should grow up and learn to empathize with people different than you. It's not hard, you just have to imagine why someone with a different background than you might feel different about events than you do. She's much closer to this event, anyway, so I'm sure she's got a better opinion on it than you.

 _And about her point of being sexualized - what if a guy had his face photoshopped onto he-man and that guy complained about being sexualized because now his face is on a shirtless strong dude. These arguments only go one way for people like this._

You really don't see the difference between a male being sexualized among a mostly male audience, and a female who wants to be treated as a professional being sexualized? It's not that hard to figure out.

<comment> nv-vn I think people might agree with you more if you wrote this in a tone that is even slightly condescending. If your approach to responding to people who disagree with you is trying to shame them for their behavior and shut them out then nobody will ever want to hear out your argument or consider it.

<comment> aaron-lebo Not attempting to reason with someone so ideological, just want him to be aware that is viewpoint isn't ok.

 _We need to send a message back to her that she is the one being drama and needs to grow up and be a 'real adult' like she says she is._

Honestly that just sounds threatening, it's not alright.

<comment> nv-vn >His viewpoint isn't okay

And yet you call upon him to act like an adult.

Anyways, I'd love to hear what defines a viewpoint as okay. Is it just the fact that it agrees with your viewpoint? I imagine you are some kind of authority on life who knows what every valid and invalid view is.</comment></comment></comment></comment></comment>


Write Emails Faster with Smart Compose in Gmail - <AUTHOR> https://blog.google/products/gmail/subject-write-emails-faster-smart-compose-gmail/ <comment><USER2> Dup: [https://news.ycombinator.com/item?id=17022695](https://news.ycombinator.com/item?id=17022695)

Does this kill EasyMail (YC W18) ??

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


Ding, Dong, The Music DRM Witch Is Dead - <AUTHOR> http://www.techcrunch.com/2008/01/04/ding-dong-sony-bmg-to-drop-drm/

<comment><USER2> ...and in other news: [http://www.washingtonpost.com/wp- dyn/content/article/2007/12...](http://www.washingtonpost.com/wp- dyn/content/article/2007/12/28/AR2007122800693.html)

Let's all run out in the streets and shout words of praise now. The battle against evil entertainment industry practices has been won at last!

Seriously, I don't even know why we discuss this anymore. The record industry sucks. As usual.

Wake me up again when they get de-listed. I refuse to throw a victory party before that happens.

<comment><USER3> Sure, the music industry sucks, but this particular incident has been debunked:

[http://www.tenreasonswhy.com/weblog/archives/2007/12/unbelie...](http://www.tenreasonswhy.com/weblog/archives/2007/12/unbelievably_st_1.html)

They're going after him for ripping his CDs _and sharing them on Kazaa_ \- not just for ripping them.</comment></comment>


Ask HN: Recruiter retracted offer - <AUTHOR>

I was offered a job as a software engineer at a well-known company. Since I already had 2 other offers, their recruiter called and emailed me an offer contingent upon background and references check, and said the formal offer would follow; he also said I'd receive an email for the background check from the HR that night.
I'm in US on a visa expiring in <45 days unless I get a job, so it was very crucial that I start the job ASAP. When I didn't receive the email that night, I emailed the recruiter after the weekend, asking him to check with on the email, and if there was any way I could start this month, but was told no. I called him that afternoon to check on the email again, and to see if there was any way I could start earlier, and started throwing in ideas like taking an unpaid leave after starting; he said that would be illegal (which I wasn't aware) and we agreed on a date in the next month.
Another day passed and I still hadn't received the email, and my references hadn't even been contacted. I emailed the recruiter and left a voicemail. The recruiter went another day without replying. Since we'd been communicating via Jobvite until then, I emailed him directly next day and asked to talk on the phone. He emailed me back that night, saying he had been busy traveling, but he'd call me the next day. When he failed to call me the next day, I sent him another email that night; he emailed me back the next day that he'll contact me once he gets back in the office after the weekend.
Now the recruiter sent me an email on an official letterhead stating that they've decided not to proceed "due to [my] actions subsequent to receiving [the] offer, including [my] request to become an employee before [I] would actually start working."
Am I in the wrong here? I admit I may have been a bit forward, but I'm not sure what else I was supposed to do, especially given my position. I'm left without a job and I don't know what to do. Any advice would be appreciated. <comment><USER2> Probably what I'd write, for better or worse:

\--snip--

Hi Recruiter,

Sorry if I came across as a pest - I really didn't mean to. Starting early was just an idea, I had no idea there might be legal issues with that. You can imagine that being in a visa situation like I am can make these matters rather urgent and stressful. I'd still really like to take the job, which I'm a great fit for. Hopefully you can empathize with my situation and we can get this thing done.

Let me know if you can still make this happen.

Thanks,

Throwaway

\--snip--

</comment><comment><USER3> If the recruiter was aware of your visa situation then I would argue that they've been unnecessarily harsh. If they weren't aware then I agree with their stance 100%.

If they were aware then I would suggest contacting them directly (preferably over the phone) to explain your eagerness and highlight the fact that you were completely oblivious to the legalities around starting and taking unpaid leave immediately.

To be honest, if I was in the recruiters shoes, your persistance would have concerned me and raised doubts over your motivation for accepting the job. Are you accepting because you just need a job for your visa process or are you accepting because you legitimately want to work here?

<comment><AUTHOR> The fact that I had to decline 2 offers for this made me even more anxious when they were unwilling to negotiate on the start date, especially since the other companies wanted me to start working right away in the same month. Honestly, I chose the company over the others because of its unique development environment and culture; they did offer higher salary than the others, but I would've chosen them even if they paid less.

</comment></comment><comment><USER4> It's a tough situation, but you may have come on a bit strong. By my count, you left 4 emails, once voice-mail, and had one conversation by phone in the span of less than 4 business days.

At this point, I don't think the relationship with that company is salvageable. I would try to move on. I assume you already turned down the other job offers? Depending on how you did it, you couldn't lose anything by emailing them again and letting them know you're still open to any opportunities that may be available.

<comment><AUTHOR> How much is too much when emailing the recruiters? TBH I wouldn't have emailed him if he hadn't assured me that I'd receive the email that night; if he said it would take a week, I would've waited a week before emailing him again. What am I supposed to do when a recruiter isn't being punctual?

<comment><USER4> Personally, I would consider the minimum between contact times to be a full business day, but in reality I'd usually wait 3-5 days. That said, I have never been in your position where I was short on time and options, so I would probably have done something similar if I were you.

</comment></comment></comment><comment><USER5> I am really sorry about your situation but I definitely feel that you probably came off too strong. Also, unfortunately, when a person tells you to your face that something is illegal, they probably also suspect that you know that that something was illegal and were hoping that it would fly past them. I feel like there possibly was a communication issue but the only options you have are relaxing and talking to the recruiter again or trying to take up one of your other offers.

P.S: Advice for the future: Lighten up. If you are on an H-1B and you get fired, you have to find a job immediately in theory and practically within a time span of 15 days or so. While you will find some people sympathetic to your problem, empathy comes from shared experiences and sometimes people are just too involved in their own lives to feel for your problems.

</comment><comment><USER6> Skip this one and mail the other offer that you probably refused, tell the truth and be sorry for your mistake. Also tell them that you really want to work for them.

Telling the truth have always got me into stuff I wouldn't otherwise. That will differentiate you from the others and I truly believe that you will get a job.

Don't run after the recruiter again, he doesn't give a shit and probably hired someone else and probably don't know how it's the feeling of getting kicked out of a country. He's too busy with his own shit to care.

</comment><comment><USER7> hey throwaway,

I was in a similar situation sometime ago. Fortunately or not, I got a job eventually. But I am surprised that you being worried about your visa was seen as such a pesty behavior (actually its not and I am not going to explain why either, people in such a situation would know well).

The problem here is with the system. H1-Bs losing job should be given some extra time to search for a good job otherwise you would end up joining for the sake of joining.

Another thing, even if you have to go back to your origin country, your H1B visa is still usable. You just need to get a job offer. Infact while you are out of US, that time period is also not counted towards your H1B time left.

One last thing, go to a immigration lawyer (generally they charge $100 per hour) and discuss with them, it will give you the most authentic information about how to go around this situation.

Worst case, go back to your origin country and do a startup ;).

</comment><comment><USER8> I think part of your mistake was in declining two other offers. I don't see where you have explained why you did that, knowing you had a visa issue. You created a situation where you were desperate. It did not have to be so. Without knowing all the particulars, I will suggest that you should have emailed them prior to declining the other offers and said "I need a firm start date and formal/official hire letter by X time (say 48 hours). If that is not possible, due to my visa situation, I will have no choice but to accept one of these other offers."

If staying in the U.S. was the most important thing, you should have made sure your choices aligned with that. If getting a particular "dream" job was more critical and you were willing to gamble with being deported if it fell through, that gamble is on you if it does not work out. If there is some other reason you made this unfortunate series of choices, you need to use this as a learning opportunity. (I am guessing you felt some sense of loyalty to them though you did not have a formal offer and then felt they "owed" you loyalty in return for the personal sacrifice you made out of loyalty to them. If so, it was a misplaced and unrealistic sentiment.)

I will suggest you take some of the other advice being offered on how to try to salvage the situation and also pick up a couple of books on negotiating. "Getting to yes" and "The mind and heart of the negotiator" are both good. The first is a quick read, so you might want to start there if you haven't seen it before as it might help you now, with your current situation. The second is meatier and more of a long term investment.

Best of luck.</comment>


GCC and Make: Compiling, Linking and Building C/C++ Applications (2013) - <AUTHOR> https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html <comment><USER2> Change both instances of 'suit' to 'suite'.

>The above command compile the source file into object file and link with other object files (system library) into executable in one step. You may separate compile and link in two steps as follows:

Consider changing the first 'compile' to 'compiles'. Also consider changing 'compile and link' to 'compilation and linking'.

</comment><comment><USER3> Makefile is missing transitive dependencies to included header files. Otherwise nice and terse article with just enough to get you started.</comment>