Tell HN: Launch HN Test - <AUTHOR> This is dang testing something. Please carry on.
Edit: bah! you guys upvoted it and ruined my test. I think I can cancel that out.
Edit 2: I've changed the title from "Launch HN: Test" so that this thread doesn't appear on https://news.ycombinator.com/show, where it didn't belong. <comment><USER2> Ok, since this is getting attention, I'll explain.

Launch HN posts for YC startups are one of three formal things that HN does for YC ([https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...](https://hn.algolia.com/?dateRange=all&page=0&prefix=false&query=by%3Adang%20launch&sort=byDate&type=comment)). The others are job ads for YC startups, and orange usernames for YC alumni—but only when displayed to _other_ YC alumni, which always generates "why is my username not orange" emails. But I digress.

Launch HN posts are like job ads in that they get an initial front-page placement, usually somewhere between #8 and #10. (I think job ads start a little higher). Then they fall down the page. Unlike job ads, though, launch posts can be upvoted and commented on. Once they've gotten their initial placement they function like regular stories. Occasionally the community finds one particularly interesting and it gets upvoted higher. This recent one spent quite a while at #1: [https://news.ycombinator.com/item?id=22616857](https://news.ycombinator.com/item?id=22616857) ([http://hnrankings.info/22616857/](http://hnrankings.info/22616857/)).

We started doing the Launch HNs three years ago. I was worried that the community would hate them because we were taking additional front page space for YC. (Our intention was to make it so that a launch post and a job ad wouldn't appear at the same time, but I never ended up writing that code, so sometimes they do.) But that hasn't ever come up. I think it's because launch threads are intrinsically more interesting than job ads (see [https://news.ycombinator.com/item?id=22767319](https://news.ycombinator.com/item?id=22767319) downthread for more on that).

All this time, the initial front-page placement of launch posts, unlike job ads, has been done manually. That is, founders have had to email us and we've manually jigged the post onto the front page. The problem with that is that you have to be awake to do it. I don't _want_ to be awake to do it, especially because startup founders tend to be businessy, bustling types who are all bright-and-early, while my schedule drifts ever deeper into the darkness as the few moorings I had remaining to the rest of society dissolve in this time of social distancing and self-isolation, which were basically my bread and butter to begin with ([https://www.youtube.com/watch?v=yUlBWNDW72E](https://www.youtube.com/watch?v=yUlBWNDW72E)).

Until now, I've told founders to post at Pacific 10am and email us, because that's roughly when I get going in the morning. Tomorrow, though, there are two. One is a fintech startup in Latin America who want to post at 9am. And the other is Peter Roberts, who's going to do another immigration AMA ([https://news.ycombinator.com/submitted?id=proberts](https://news.ycombinator.com/submitted?id=proberts)). Peter is on the east coast, and wants to get going at 8am Pacific, which is late for him and (ungodly) early for me.

So tonight I got frustrated enough to write some code to deal with it. Frustration reaching a tipping point and boiling over is my gateway into the code these days. My goal is for startups to be able to post their launches, and occasionally for pre-scheduled submissions like Peter's (which are rare), to end up on the front page independently of whenever I went to sleep the night before.

This code turned out to be a lot more complicated than I anticipated. The patch ended up adding a hundred lines of Arc. A hundred lines of Arc! Do you have any idea how many lines of Arc that is? I just looked through the history and the last commit that added that many lines of code was over two years ago when we got Arc to compile to JS. Obviously this change needs to be thoroughly tested, so after testing it on my laptop I deployed it to production and decided to do a couple of sanity checks live. One was to post a test Launch HN using my old account gruseom, which is the founder account for Skysheet, the spreadsheet startup that Scott and I had 10 years ago (and which I still think about every day, but I should avoid digressing again). The code I wrote has some logic in it for cofounder accounts. One thing it's supposed to do is email all the cofounders when a Launch HN post has made it to HN's front page, so they will be ready to engage with commenters. Anyhow, this test post was the OP. The good news: it got placed on the front page in the way that I intended. The bad news: none of the emails were received. God fucking shit fucking goddamnit I knew those emails wouldn't work...I mean, _dang_.

(Edit: actually that's not what happened. [https://news.ycombinator.com/item?id=22772667](https://news.ycombinator.com/item?id=22772667))

My intention was for this thread to remain obscure, then get placed briefly on the front page by the new code, at which point I'd get the emails and immediately delete it. I didn't think it was very likely to get noticed in the middle of the night here, especially when posted by what ought by now to be an obscure account, but oh well.

I think that covers everything. Hopefully you all will see those two auto- placed posts on the front page tomorrow morning because I do not intend to be awake 5 hours from now. (Edit: it worked!)

<comment><USER3> One thing I always wanted to ask if why do job ads not allow comments? I'm guessing its to prevent negative comments/trolling (we get plenty of 'this will never work' on Launch/Show posts), but at the same time I feel like comments on job ads could be a good way for the founders and existing employees (tell us why you as a meager developer are excited to work there!) to interact with the HN community.

<comment> _-___________-_ Job ads in the "who is hiring" threads generally only attract comments of one of a few types:

"I applied to this place and they never got back to me"

"Thanks, I applied"

"Please add salary/remoteness/interview process to your job ad"

"You have a typo in your text/email address/website URL"

<comment><USER4> The latter two comments seem pretty useful feedback though

<comment><USER5> number 1 is pretty useful feedback for me, if they don't respond to people who apply I don't intend to take time to make a good cover letter and adapt my CV to highlight how I would be a good fit for the job.

<comment><USER6> As a hiring manager I can assure you that is not always practical. If someone makes it to an interview, even if it's just a first stage telephone interview, then I'll readily give feedback. If some sends a CV and then asks for feedback then I will also happily provide feedback if time permits). But recruitment is a heavily time consuming process already and some positions can receive dozens or more CVs so I don't have the time to reply to every single candidate and explain to them "Thank you for applying but unfortunately we've had better CVs through." Likewise I've never expected that when applying for other jobs either.

<comment><USER5> ok, but I would think like this:

looking for a job is a heavily time consuming process, and going to a new job is a risky process. I'm too well-situated to take that time or risk on any thing that seems off. I would have to be desperate to change that calculation.

If a company does not reply I assume there are potential reasons:

1\. company is disorganized, just as a company would penalize me for seeming disorganized I will certainly do the same with a potential employer. The point of a company is in some ways to be more organized than individual humans; it is, after all, an organization. If it can't or won't be organized I won't have anything to do with them.

2\. Company is rude. Treating someone badly when you have no power over them is a warning sign never to let the company have power over you.

3\. Company does not have good tools setup to automate responses to people whose applications it has decided not to go further with - which is a subset of company is disorganized.

So I guess there is a mismatch between our goals and needs in the requirement process.

<comment><USER7> #3, especially: if your company has sane mail tools, it can autorespond to every single application with a variant on this:

Thanks for applying to $COMPANY.

We will get back to you by $(TODAY + 7) if we want to start a conversation.

Sincerely,

A. Robot

<comment><USER8> I generally give companies a week or two to reply. If they don't ever reply, I never apply there again. Or I'll apply and ghost them years later. Several times.

<comment><USER9> This thread is a great generic example of why job posts don't enable comments.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10>
      Is this a Launch?
      No, this is a Test.
      Did it work?
      It should.
      Dang!
      What?
      The one thing that can ruin the test - it happened. Upvotes.
      Quite gruseom.

Sorry - time hangs heavy some days.

</comment><comment><USER11> I'll use this as an opportunity to ask something.

Are there any stats how many active users does HN have, on how many servers it runs, on which database etc.?

Because I have recently wanted to look at my older saved/upvoted posts/comments on reddit and found out that you can look only at last 1000 posts and it does various other things to save resources. HN doesn't seem to do things like that and still feels much snappier than reddit (yes reddit has much more users, but still impressive imho).

<comment><USER2> Reddit is 100x bigger. It's not just that we aren't in their league...our league is not in their league. So I feel embarrassed at the comparison.

It's hard to count active users because you have to define them in order to count them, and we make a point of not tracking people that much. We can count accounts and unique IPs, and that's about it. But it's basically about 5M readers a month, give or take, as far as we can tell. It grows linearly, with large swings. If you step back 10 feet from the graphs and squint, it's basically a straight line for the last 10 years. We like it that way; we wouldn't want to go full Haskell and avoid success at all costs, but we don't want hockey-stick growth either. HN is not a startup!

It runs on one server. Actually the app server (written in Arc) runs on one core. But we have some caching in front of that for logged-out users.

<comment><USER12> > we wouldn't want to go full Haskell and avoid success at all costs

Can you elaborate on that statement? To me, it implies that going with Haskell avoids success, but I might be missing something. If that really is the implication, can you explain?

<comment><USER2> Oh! That's the Haskell motto: [https://www.google.com/search?q=haskell+%22avoid+success+at+...](https://www.google.com/search?q=haskell+%22avoid+success+at+all+costs%22&oq=haskell+%22avoid+success+at+all+costs). I'd never troll so hard as to make something like that up, only just enough to quote it. I love it as a perfectly-cut gem of self-deprecating humor.

It has had different interpretations over the years. Simon Peyton Jones described its origins here: [https://books.google.com/books?id=2kMIqdfyT8kC&pg=PA283&lpg=...](https://books.google.com/books?id=2kMIqdfyT8kC&pg=PA283&lpg=PA283&dq=haskell+%22avoid+success+at+all+costs%22&source=bl&ots=MmaswaOHvD&sig=ACfU3U2qMftjytmLpDQfX1ysHhujXiyxDw&hl=en&sa=X&ved=2ahUKEwjswbDk9czoAhWwHjQIHQJIAFEQ6AEwCnoECAsQMA#v=onepage&q=haskell%20%22avoid%20success%20at%20all%20costs%22&f=false). But that interview was already several years after the fact. See also [https://web.archive.org/web/20150419060144/http://www.comput...](https://web.archive.org/web/20150419060144/http://www.computerworld.com.au/article/print/261007/a-z_programming_languages_haskell/):

 _When you become too well known, or too widely used and too successful [...] suddenly you can't change anything anymore._

 _The fact that Haskell has up to now been used for just university types has been ideal [...] Now, however, they 're starting to complain if their libraries don't work, which means that we're beginning to get caught in the trap of being too successful._

 _What I'm really trying to say is that the fact Haskell hasn't become a real mainstream programming language, used by millions of developers, has allowed us to become much more nimble, and from a research point of view, that's great. We have lots of users so we get lots of experience from them. What you want is to have a lot of users but not too many from a research point of view – hence the avoid success at all costs._

Does anyone have the original slide where he used this line? It would be interesting to see what contextual clues were there at the time.

Later it turned out to be a syntactic pun: [https://twitter.com/simonmar/status/246335257677271040](https://twitter.com/simonmar/status/246335257677271040). The official interpretation seems to be "Don't make success your top priority, because success may compromise things you care about more", whereas the hilarious version would be "Whatever you do, make sure you don't succeed."

Haskell connoisseurs can add info. That is literally all I know about it, or more, since I just Googled half of it. I do recall reading those interviews at the time, no doubt via HN.

<comment><USER12> TIL about most of this. Thanks for the detailed explanation.

</comment></comment></comment></comment></comment><comment><USER13> Hi dang

This was a good test but it failed some key characteristics to make it an excellent test message.

You didn't put foo or bar anywhere in the test message.

There was no Cthulhu phrases.

Plus there was no pi or the numerical answer to the universe and everything.

I trust you will take this onboard for the next test.

<comment><USER14> Also, how does he know that number-containing strings will work if the title isn't "Test123"??

<comment> _-___________-_ "0123Test" is a better number-containing string for testing, to catch out things that try to interpret the string as a number first and then as a string if that fails. For example, JS's insane parseInt function will give you 123 for "0123Test".

<comment><USER15>
       > parseInt("0123Test")
       123
       > 0123
       83

parseInt is actually the adult in the room

<comment><USER16> In a way. The convention is that 0123 is "123" in octal.

<comment><USER15> Yes, I know that's why I even tried it in console as I was a bit surprised that parseInt doesn't do octal.

Why does js even support octal? I never found octal particularly useful. Speak hexadecimal or die

<comment><USER17> Because C does.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> Since apparently someone else posted their launch here, I guess I will too lol. This thread is really interesting :).

I'm launching www.devol.io -> a social community for coders. The user base is quite small but I hope we can build it and grow it into something cool!

</comment><comment><USER19> Were the emails normally being sent manually through some provider, but now going from a mail program on the server?

If so, you might consider using SendGrid or something like that with their API. [https://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/inde...](https://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/index.html)

If not using a service, would be interested to hear what configuration (DKIM or whatever) was necessary to add to your existing mail setup to get it to work.

Although I am just totally speculating on what you were talking about.

<comment><USER2> I realized sheepishly this morning why the emails didn't go through: because the placement code never actually executed. Or rather, it did, but it turned into a no-op because the post was already ranking higher, due to user upvotes, than the rank (#10) where the code would have placed it. I forgot that I'd added that check.

So my complaint turned out to be nonsense, partly because it was 3am or whatever, and partly because "wtf? swear, profanity, curse...oh wait" is my normal debugging process. Just not usually in public.

</comment></comment><comment><USER20> [https://i.imgur.com/ofCsS2O.png](https://i.imgur.com/ofCsS2O.png)

<comment><USER2> I tested it plenty in a dev version, but you never know.

<comment><USER20> I figured. Just taking advantage of this somewhat unique opportunity for a little harmless trolling. :)

</comment></comment></comment><comment><USER21> Unsure why this has not been clarified yet:

HN now has its own [https://www.reddit.com/r/pics/comments/92dd8/test_post_pleas...](https://www.reddit.com/r/pics/comments/92dd8/test_post_please_ignore/) !

Yay. Really. :D

</comment><comment><USER22> Is dang an acronym or does it represent the word we say when disappointed with a certain outcome?

<comment><USER2> I picked it because (1) it's my first name plus surname initial; (2) it was my email address at my first job; and (3) it's what you say when you make a mistake—so yup, you guessed it.

[https://news.ycombinator.com/item?id=7494093](https://news.ycombinator.com/item?id=7494093)

[https://news.ycombinator.com/item?id=18513120](https://news.ycombinator.com/item?id=18513120)

<comment><USER23> Whoa! I love the second link! Is there an orchestrated horizontally-scaled secure decentralized web service I could use to bookmark all the dang cartoons?!

<comment><USER24> The best one I remembered from being taped to my mom's fridge, but I just couldn't dig up, was of a big dejected bird standing in front of the open refrigerator, saying:

"Dang! Somebody ate the middle out of the daddy longlegs."

</comment></comment></comment></comment><comment><USER25> Very cool, how is this product different than [https://www.androidpolice.com/2020/02/20/samsung-galaxy- find...](https://www.androidpolice.com/2020/02/20/samsung-galaxy-find-my- mobile-1-notification/)

</comment><comment><USER26> I'd been waiting for this!

</comment><comment><USER27> Never let a good crisis go to waste: I'm launching [https://20-things.com/](https://20-things.com/) :) Could use a good load test ;)

<comment><USER2> HN always likes new communities. But don't do this:

 _New account registrations are currently either closed or very limited_

If you do that, the psychology goes like this: "I wonder what this is?" (click) "Ooh, a new social community! I like those!" (reads further) "What do you mean, new accounts are closed or very limited? What if _I_ want to join? Why are you gatekeeping me? Damn you!"... except with words stronger than 'damn'.

Once you're ready to let anyone sign up, email firstname.lastname@example.com and we'll help you out.

<comment><USER27> Thank you, the registrations are now open but each signup incurs a cost (for the SMS) and the budget is currently limited hence the notice. I'll get in touch asap.

<comment> _-___________-_ Sending even tens of thousands of SMS is very cheap, just how limited is that budget? :)

<comment><USER27> A few hundred people with US numbers should be able to sign up, but sending SMS overseas is much more expensive. For example, sending to Switzerland: $0.069 per SMS.

<comment><USER28> That's insane, but in line with what other (local) sms gateways charge here.

But do you really need my phone number?

<comment><USER27> I have experience with building a very large community where registration was based on e-mail alone. Racism & general hate don't even begin to describe the things that came along with anonymity and disposable e-mail...

<comment> _-___________-_ There are plenty of services for anonymous, disposable phone numbers.

<comment><USER27> True, but far fewer than disposable e-mail.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER29> Ok, before the party is over, checkout another test launch [0]. We really hope to grow a truly helpful community and will appreciate any feedback about the messaging on our website too! [1]

[0] [https://www.patreon.com/boosthelp](https://www.patreon.com/boosthelp) [1] [https://boost.help](https://boost.help)

<comment><USER2> I don't begrudge people trying to take advantage of this thread, which was an ill-defined mess to begin with, but you've done a couple things here which I should comment on.

First, please don't delete and repost the same comment. It gives the impression of trying to pump it up in the rankings, which would not be a nice community behavior.

Second, something I tell people all the time by email: on HN it's an antipattern to have your username be that of your company or project. It creates a feeling of using the site for promotion rather than participating as a person. The community reacts better when your username represents you as a human. You don't have to use your real name, just something to communicate that you're there as a person, not a brand. If you'd like to change your username, we can do that for you via firstname.lastname@example.com.

<comment><USER29> Thanks for the kind note. The comment was removed and re-posted here as this thread seemed more appropriate for such comment (i.e. in a mood similar to this[0] comment).

EDIT: And thanks for taking time to repeat yourself. Just few hours ago I've been thinking that most of us (unfortunately) will have to actually make some well-known mistakes to learn from them, even if we've been warned about such misdeeds beforehand repeatedly ;-)

[0] [https://news.ycombinator.com/item?id=22767218](https://news.ycombinator.com/item?id=22767218)

</comment></comment></comment><comment><USER30> Good times

</comment><comment><USER5> maybe the test should have been flagged. Did we fail by upvoting?

</comment><comment><USER22> Is there a way to delete my profile and all its content?

<comment><USER22> Permanent Record

<comment><USER22> Replies are locked after one fortnight? I'm keeping this one alive because it is directly above the "Space Engineers" comment.

<comment><USER22> I have this dilemma, where I am reluctant to pursue creating this "virtual" experience on SE. Years ago I spent a few months familiarizing myself with the engine and the programmable block limitations. It took me dozens of hours just to create the simplest of scripts. Learning curve, I know, but eventually I just did not think that I was adding that much value to society by spending hours of my own time and money trying to make a video game more engaging.

I still think about it often, the possibilities of the game engine, and perhaps it is because now it is spring time in my hemisphere and I feel guilty grinding away on a computer with some artificial goal, while the sun is beaming down all around me at a higher angle in the sky - constantly improving conditions for planting and growing lifeforms.

Either space engineers is such a long term endeavor and I am being impatient, or I am wavering in ability focus and commit.

Now this update every two weeks will be permanent and carry more weight, forcing me to dedicate more consideration to its position amidst my comment history "story".

<comment><USER22> Haven't touched the game in weeks. But today at my factory I finally had a conversation I've been waiting to have for years ("Lagrangian point 1 will be where we build the space port")

</comment></comment></comment></comment></comment><comment><USER31> It works ;)</comment>


Secret backdoor found in networking gear perfect for government espionage - <AUTHOR> https://www.theregister.co.uk/2019/05/02/cisco_vulnerabilities/ <comment><USER2> > .. allow an unauthenticated, remote attacker to connect to the affected > system with the privileges of the root user.

> The vulnerability is due to the presence of a default SSH key pair that is > present in all devices.

That's quite a bug -- I expected to see obscure exploit deep in the networking code which masterfully bypasses all code hardening, but found a default credentials instead. This is the kind of mistake that a random IoT company would do, I would not expect this from Cisco.

</comment><comment> java-man I don't understand how this could happen in 2019. There were multiple people involved who coded, reviewed, tested the code, signed off on the release.

The other possible explanation is that it's intentional.</comment>


Chunks of China's Powerful Rocket Fall Back to Earth, Narrowly Missing NYC - <AUTHOR> https://www.popularmechanics.com/space/a32451633/china-long-march-5b-rocket-debris/ <comment><USER2> Hyperbole, click bait, etc. One sixth of the Earth's circumference doesn't in any way equate to "narrowly missing". It was one whole North Atlantic ocean away.

</comment><comment><USER3> China is on a roll this year.</comment>


How the Mac no longer matters to Apple - <AUTHOR> http://www.wingsofreason.com/2012/07/26/apple-revenue-breakdown-july-quarters-2012-edition/

<comment><USER2> I find the title a bit sensationalist.

Apple already knows this is the post PC era, it declared and helped usher it in. Macs will still be needed now and for the foreseeable future.

Before passing away, Steve Jobs remarked that tablets will be the cars the majority of drivers need and PCs/Macs will be the trucks for doing the rest of the heavy work.</comment>


Skype Plans for PostgreSQL to Scale to 1 Billion Users - <AUTHOR> http://highscalability.com/skype-plans-postgresql-scale-1-billion-users

<comment><USER2> Good article. I had seen the original from the Skype blog, but it was kind of empty. This was a good recap. Plus, it liked to SkyTools, which for some reason I had never heard of.</comment>


I am James Bamford, one of the journalists investigating the NSA. AMA. - <AUTHOR> http://www.reddit.com/r/IAmA/comments/1g9gz0/i_am_james_bamford_one_of_the_journalists/

<comment><USER2> _The Puzzle Palace_ and Bamford's other books are among the best about the NSA.

His Wired article on Connecting the dots on PRISM, Phone Surveillance, and the NSA's Massive Data Center has his most recent thoughts -- [http://www.wired.com/threatlevel/2013/06/nsa-prism- verizon-s...](http://www.wired.com/threatlevel/2013/06/nsa-prism-verizon- surveillance/)

<comment><USER3> I just ordered _The Puzzle Palace_ , _Body of Secrets_ , and _The Shadow Factory_ by Bamford. The first two arrived at my office earlier this week and are waiting for me when I get home from this road trip. I can't wait to dig into them this weekend.

I also ordered copies of _The CIA and American Democracy: Third Edition_ by Professor Rhodri Jeffreys-Jones and _Spycraft: The Secret History of the CIA 's Spytechs, from Communism to Al-Qaeda_ by Robert Wallace. I think this pile of stuff is going to keep me busy for the next couple of weeks at least.</comment></comment>


Rstat.us - <AUTHOR> http://rstat.us/

<comment><USER2> Distributed twittering, yay! Can even homestead this… and the statuses are syndicated to Twitter to tide over the transition. Switched.</comment>


I completed Ultimate Go, took good notes and commented directly on source code - <AUTHOR> https://github.com/hoanhan101/ultimate-go <comment><USER2> Learn Go with Tests is the best programming language course I've ever gone through.

[https://github.com/quii/learn-go-with-tests](https://github.com/quii/learn- go-with-tests)

That's all. Just sharing that the methodology worked so well. I felt like I could legitimately jump right into a Go developer team.

<comment><USER3> I can't upvote this enough.

I am going through this course- and it is fabulous. Covers tests, and even though the topic names might seem easy or trivial(I mean there is only so many ways you can write loops or define arrays), they include a lot of "extras" that make it fun- for example one of the topics might include details about how to write doctests and docs, another one might introduce table driven tests and provide advice on when to use them. Overall it is great.

I'd be very interested in seeing this approach applied to other language courses.

<comment><USER4> The Rust Programming Language book includes tests and how to break down code into packages and other good habits: [https://doc.rust- lang.org/book/](https://doc.rust-lang.org/book/)

Coming from a background in scripting languages, Rust is still a lot more difficult to learn than Go, but I found that book very helpful.

<comment><USER5> If you like TDD, checkout rustlings [https://github.com/rust- lang/rustlings/](https://github.com/rust-lang/rustlings/). I'd recommend [https://exercism.io/](https://exercism.io/), but there's such a shortage of mentors for the Rust track that you can get blocked very easily waiting for feedback. One of my solutions went un-mentored for over a month - and it was only after I asked someone directly to mentor my solution that it passed. If that weren't a problem, I would highly recommend exercism.io

</comment></comment></comment></comment><comment><USER6> Not Bill, but I work for Ardan. I'm happy you enjoyed the class! Bill works tirelessly on this stuff and I'm sure he'll be happy to see you got something out of it.

As an aside, there's nothing like attending a training in person and I highly recommend it. NOT because I work for Ardan, but because the quality is top notch. And Bill is really entertaining to watch teach X-D

<comment><USER7> Do you also facilitate trainings in Europe? (Amsterdam, The Netherlands)

<comment><USER8> These guys teach all over the world. We just hosted a course in the states.

Their schedule is public and shows them on most continents: [https://github.com/ardanlabs/gotraining#current- schedule](https://github.com/ardanlabs/gotraining#current-schedule)

</comment></comment></comment><comment><USER9> For anyone confused about what Ultimate Go is (I was, I first thought it was a book that taught you Go the game, then after reading some comments thought it was a book that taught Go the Language, with exercises) it is a (paid) video course that teaches you golang, available from OReilly.

<comment><USER10> It's also available as an in-person workshop [1], and I believe corporate trainings are a significant part of the Ardan Labs business model. They also do shorter versions of their workshops at Go conferences.

They're huge contributors to the Go community via their conference workshops, and I can't thank them enough for the knowledge that they've gathered, refined, and shared all these years. (I help organise GopherCon Singapore.)

[1] [https://github.com/ardanlabs/gotraining](https://github.com/ardanlabs/gotraining)

</comment></comment><comment><USER11> That's cool! Already thinking how to combine it with my Roadmap [https://github.com/dzyanis/roadmap](https://github.com/dzyanis/roadmap)

<comment><USER12> This is the first time I've been introduced the concept of a Developer Roadmap, and I love it! Thank you so much for sharing and linking your sources as well! I am definitely going to do this.

<comment><USER11> You are welcome! Unfortunately, right now it's just in pre-alpha but I will try to finish asap

</comment></comment></comment><comment><USER13> Great intro into how to write nice Go code! One comment regarding interface pollution: While I agree that in many cases it's not needed to introduce an interface, sometimes interfaces help you hide the implementor type: I've now already had it multiple times that I switched from a 'struct implementor' to a 'func type implementor' without breaking compatabilities. Also, by exposing a struct, you also immediately expose that you can create a zero value of that type, which doesn't happen for an interface.

<comment><AUTHOR> Thanks for the suggestion. Feel free to open a PR if you like!

</comment></comment><comment><USER14> I just reviewed some of your notes in comments, especially the CPU ones in the array source. I think they'd be a great introduction on general computer science to someone who may not have done much beyond ultra high level languages (JavaScript, python, Ruby, etc). Good work!

<comment><AUTHOR> Thanks for taking your time to review it.

</comment></comment><comment><USER15> We learn by coding

That's why I wrote a book which teaches Go web dev example

[https://github.com/thewhitetulip/web-dev-golang-anti- textboo...](https://github.com/thewhitetulip/web-dev-golang-anti-textbook)

<comment><USER16> Nice book, I forked it a while back to make PRs on formatting and typos. I prefer these type of books, I wish more writes did this before publishing so it can be polished by the community before it hits the printers.

<comment><USER15> It isn't about printing. It is about the approach.

Books for newbies are written by those with 15 30 yr experience. They write using their advanced understanding which is very difficult for newcomers to understand

</comment></comment></comment><comment><USER17> I watched Ultimate Go on Safari Books a while ago and recently got back to it to revise my knowledge.

It will fill all the gaps and answer all the questions one can have, especially after the Tour of Go or reading a book which only scratches the surface.

I can't express enough how amazing that course and how useful what Hoanh did.

Once you finish, I'd also suggest to take a look to the Ardan Lab's github account since there are tons of material for Go.

Bill's presentation also made me giggle a lot -which is a rare thing for tutorials- since he says things like

      If I see an interface and it doesn't smell right,
      and I'll be asking the developer, why are you
      using an interface here? Now if the developer
      gives me any one of these two answers, we're
      gonna go take a walk.

as if this is a movie and he's going to take the developer to the woods to execute because the developer done wrong Bill :)

</comment><comment><USER18> Thanks for making this public! The notes are well written and easy enough to follow. Cheers!

</comment><comment><USER19> The design guidelines ([https://github.com/ardanlabs/gotraining/blob/master/topics/g...](https://github.com/ardanlabs/gotraining/blob/master/topics/go/README.md#design- guidelines)) are especially good. And it's not go-specific, it can be applied to any software crafting tool.

<comment><USER20> [deleted]

<comment><USER21> I read that differently in light of the section heading "These Days Are Gone".

<comment><USER20> No this is not a section heading. This is a statement referring to what's before it.

We cannot "throw more developpers at the problem".

First because they are expensive. But also because that makes management exponentially expensive while necessarily helping with delivery (lump of work fallacy).

Or you are correct and this is appallingly bad drafting and formatting.

</comment></comment></comment></comment><comment><USER22> I attended the ultimate go course last year. I loved the in-depth nature of the curriculum... oh and yes, Bill is simply the best :)

</comment><comment><AUTHOR> If you're looking for more study guides like this, subscribe to my newsletter here → [https://www.getrevue.co/profile/hoanhan101](https://www.getrevue.co/profile/hoanhan101)

</comment><comment><USER23> Nicely packaged notes, i will clone this to my archive, thanks for sharing ;-)

</comment><comment><USER24> Thank you! such great effort

</comment><comment><USER25> Very well put-together, this is certainly an excellent learning experience.

</comment><comment><USER26> Thanks for posting. Really helpful for those of us who are just getting started with Golang

</comment><comment><USER27> Looks good. I will read it and report back

</comment><comment><USER28> Thanks so much for putting this together!

</comment><comment><USER29> Great work. I will start adding stories to this repo using [https://storytime.dev](https://storytime.dev)</comment>


Introducing Handle - Boston Dynamics [video] - <AUTHOR> https://www.youtube.com/watch?v=-7xvqQeoA8c <comment><AUTHOR> Amazing how advanced these robots are becoming. They keep moving faster and faster, too.</comment>


At Chipotle, How Many Calories Do People Really Eat? - <AUTHOR> http://www.nytimes.com/interactive/2015/02/17/upshot/what-do-people-actually-order-at-chipotle.html?abt=0002&abg=0&_r=0 <comment><USER2> A few points to balance this out:

1\. Many people don't finish what they order in one meal. I can generally get two meals out of a Chipotle burrito. Many do, of course, but that can't be sussed out of the data they used. In addition, the chips sides are sized to share, and I'd wager that most people who order those do share with someone else.

2\. It's a mistaken assumption that one meal ought to be only 1/3 of your daily calorie intake. Most of the meals came in around 1000 calories, but I also bet that for most people, this is their largest meal of the day.

3\. The recommended maximum sodium intake of 2.4g is probably too low based on many recent studies. Sodium intake is only a significant risk for a very small handful of the population, and in fact low sodium intake is as risky if not more risky, and there's good evidence that 2.4g/day is on the low end of long- term positive health outcomes.

Given the freshness and quality of the ingredients at Chipotle, and the simplicity and openness with which the food is prepared, focusing on calorie and sodium counts is an incomplete way to assess the healthiness of the food. I guarantee that a meal with fewer calories from McDonalds or in a microwaveable box is going to be overall far less healthy.

<comment><USER3> > I'd wager that most people who order those do share with someone else.

I live in a college town and this is definitely not the case here. Most people buy them for themselves. Items are also typically eaten for one meal, but it's college students so that's to be expected.

> It's a mistaken assumption that one meal ought to be only 1/3 of your daily > calorie intake

I think what they're getting at is what you're also making a point about; that it doesn't necessarily have to be eaten in one setting. The point of lower calories is is gives you more options with what you can eat without gaining weight (assuming you're not on a weight-gain program for power lifting). What's deceiving is that, while Chipotle offers the full ranges of calories for their food, they don't mention that if you go through with all the things they offer then you usually end up in the 1000+ range. I wouldn't doubt if there are many people downing 1000+ calories thinking that they're closer to 600.

> focusing on calorie and sodium counts is an incomplete way to assess the > healthiness of the food

This is correct, but to a point. An excess of calories, unless offset by regular exercise, leads to weight gain, which is collectively unhealthy for our society. There's obviously much more to it (an obese person who can run a mile is considered healthier than a skinny person who can't for example), but that's failing to see the bigger picture. The point is, people in developed countries are shoving more calories into themselves than they need, and places like Chipotle aren't a haven of good health - they're also part of the problem.

<comment><USER4> > an obese person who can run a mile is considered healthier than a skinny > person who can't for example

Do you have a link or data to support that idea? Genuinely curious, as that doesn't sound right to me.

<comment><USER5> I don't want to look up a source offhand, especially since it would require some reading between the lines, but, 56% of NFL players are obese (97% are overweight), according to BMI guidelines. Going on the same "that doesn't sound right" criteria, saying they're less healthy than a skinny, sedentary person just because they have more muscle (and possibly more fat, but after all, BMI doesn't distinguish) doesn't sound right to me.

<comment><USER4> > 56% of NFL players are obese... Going on the same "that doesn't sound right" > criteria, saying they're less healthy than a skinny, sedentary person just > because they have more muscle (and possibly more fat, but after all, BMI > doesn't distinguish) doesn't sound right to me.

It doesn't sound right to you because it isn't correct. NFL players, as a general rule, are not obese. Obesity is an excess of fat, by both the colloquial and medical definitions. BMI is an _indication_ of obesity, which is not the same as a definition of same.

[http://www.merriam-webster.com/dictionary/obesity](http://www.merriam- webster.com/dictionary/obesity)

: a condition characterized by the excessive accumulation and storage of fat in the body

Medical Definition of OBESITY

: a condition that is characterized by excessive accumulation and storage of fat in the body and that in an adult is typically indicated by a body mass index of 30 or greater

<comment><USER5> [http://www.medicinenet.com/script/main/art.asp?articlekey=16...](http://www.medicinenet.com/script/main/art.asp?articlekey=160844)

"STANDARD DEFINITIONS OF OBESITY, which are based on height and weight, may not apply to former National Football League players and other groups with greater muscle mass, according to a new study"

Emphasis mine.

From your own quotation, "typically indicated by a body mass index of 30 or greater"

Body mass index. BMI. BMI being height and weight. A la [http://www.nhlbi.nih.gov/health/educational/lose_wt/BMI/bmic...](http://www.nhlbi.nih.gov/health/educational/lose_wt/BMI/bmicalc.htm)

Ergo, a standard definition of obesity is calculated by height and weight, deemed 'BMI', which does not take muscle mass into account. Which is what my post states. BMI would state they're obese, and that says little about their actual health.

<comment><USER4> That's not correct.

Obesity IS an excess of fat

Obesity IS INDICATED BY a high BMI

What that means is that when you see a high BMI there's a really good chance you're seeing obesity. But since obesity is defined as excess fat, the unusual cases where BMI doesn't correlate are exceptions to a rule. It should not surprise that professional athletes have bodies that are unusual and exceptional.

<comment><USER5> Have you ignored the context?

"an obese person who can run a mile is considered healthier than a skinny person who can't for example Do you have a link or data to support that idea? Genuinely curious, as that doesn't sound right to me."

to which I replied

"56% of NFL players are obese (97% are overweight), according to BMI guidelines."

What exactly have you said that disagrees with that? I -agree- that ~real~ obesity, as is generally referred to, is based on fat percentage; I never said otherwise. What I said, very explicitly, was that an NFL who is considered obese ACCORDING TO BMI GUIDELINES (which are used very frequently by layman and health official alike when discussing nutrition and exercise) is actually pretty healthy; the original post questioned whether someone could be obese, able to run a mile, and still be healthier than someone who is skinny but not physically fit enough to run a mile. I addressed that with the qualifier of 'according to BMI' included.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> Click around with this nice tool: [http://www.chipotlefan.com/index.php?id=nutrition_calculator](http://www.chipotlefan.com/index.php?id=nutrition_calculator)

Skip the tortilla, sour cream and chips and you've just saved 980 calories. Without those it's _hard_ to create a meal that has a calorie issue. Aside from the sodium, Chipotle is darn healthy.

<comment><USER7> The thing that lets people create 1200 calorie monstrosities is what makes Chipotle my favorite fast food chain. No matter whether I'm trying to add or cut weight I always know that I can tailor a Chipotle meal exactly to my caloric & macronutrient needs. Both from the fact that the food is easy to customize as well as the fat that they have good calorie and macronutrient breakdowns of each ingredients.

Subway, for example, makes it tough to find info on individual ingredients. Some things need to be backed out by comparing, say, a roast beef sub vs a veggie sub to determine the stats on the roast beef individually so that you know what you're getting if you do double roast beef.

<comment><USER8> You can find individual items as listed on pages 2 & 3 of this pdf:

[https://www.subway.com/Nutrition/Files/NutritionValues.pdf](https://www.subway.com/Nutrition/Files/NutritionValues.pdf)

Edit: Actually, on the same Chipotlefan link, there is a similar link for Subway. [http://www.nutritionix.com/subway/nutrition- calculator](http://www.nutritionix.com/subway/nutrition-calculator)

</comment></comment></comment><comment><USER9> > The distributions of two other metrics of a meal's health — salt and > saturated fat

Did I accidentally fall into a time machine and end up in the 1980s?

</comment><comment><USER10> I lost interest in Chipotle pretty quickly and had begun labelling it Chipsaltle when family or friends wanted to eat there. So the sodium data was interesting to me and validated what I felt after eating there (parched a few hours later)

I'm not for or against fast food. I just think Chipotle has wonderful marketing and has really tapped into what people _want_ to believe or have. I want all the conveniences of fast food without feeling like it's unhealthy or responsible for big agriculture. I don't think it's going to end well.....

</comment><comment><USER11> As a Mexican living in Mexico, I really like chipotle, I eat one every time I'm in the US, they are the greatest mix of American and Mexican food, still I don't understand why there aren't authentic "Taquerias" (taco shops) in the US, I haven't met a foreigner that doesn't love tacos from our taquerias that you can find in every corner in Mexico City. The closest I ever tried was at a Taco Truck in LA, but that was just one food truck.

<comment><USER12> > still I don't understand why there aren't authentic "Taquerias" (taco shops) > in the US,

In most of California and the parts of the Southwest I've been to, taquerias are very common.

> The closest I ever tried was at a Taco Truck in LA, but that was just one > food truck.

If you were in L.A. and you couldn't find taquerias, you weren't looking very hard (or you had a bad guide.)

<comment><USER11> You are maybe right, when I was in LA I wasn't actively searching for taquerias, although I ate at couple of them , like I said the most authentic tacos were the ones from a taco truck.

</comment></comment></comment><comment><USER13> My wife and I regularly split a burrito bowl, getting extra rice and beans.Chipotle ends up being one of the few "heathy" places we can eat out for ~$5/person.

</comment><comment><USER14> No mention of one of the most unhealthy components of the meal, carbohydrates? I think the average burrito clocks in at around 120 carbs

<comment><USER15> Carbohydrates are most certainly not 'unhealthy'. Care to cite any sources?

<comment><USER16> Carbohydrates are the most likely to cause an insulin response which causes weight gain. I'm not saying they are "unhealthy" but I think we, in the US, eat unhealthy amounts particularly refined sugars.

<comment><USER15> Protein can also be fairly insulinogenic.

<comment><USER17> Protein can be more insulinogenic than carbohydrates. Whey produces a huge insulin spike relative to a fibrous fruit.

</comment></comment></comment></comment></comment><comment><USER18> My question has always been how accurate these calorie counts are. I always get a burrito bowl with no sour cream, which allegedly comes out to 655 calories. But I'm not entirely sure how accurate that is - I usually have to tell the person "a little cheese," because when I don't, they often put a mountain of cheese atop the bowl (probably an extra 100 calories or so).

<comment><USER19> This is the most important point here.

For my meals out, I prefer to eat at restaurants which publish nutrition information, but I'm under no illusions that these values are anything more than rough guidance. The core of the problem is in employee training. I find that even restaurants which make an effort to publish nutrition info don't bother to adequately train employees to serve the expected amounts of food.

Your cheese example is a good one. Based solely on anecdotal evidence, I'd wager most people who order cheese at Chipotle end up being served 1.5-3x the intended serving size due to generous and unmeasured portions. I love cheese as much as the next guy, but an extra few hundred unexpected calories adds up very quickly. This also renders any analysis of nutritional value misleading if not useless.

</comment></comment><comment><USER20> Important rejoinder: [http://www.vox.com/2015/2/17/8051367/obesity- snacks](http://www.vox.com/2015/2/17/8051367/obesity-snacks)

The underlying issue with overeating isn't large meals, it's snacks. So sure, Chipotle's meals are big, but that's not the root of the problem.

</comment><comment><USER21> That huge tortilla has so many empty calories in it. Just like the Subway health fad. Jared lost weight eating 6" veggie subs without cheese or mayo. People load up that huge foot long bun with cheese and sauce, an oven roasted chicken breast sub is 960 calories with mayo and cheese. Add in a soft drink and a bag of chips and you're triple what Jared would eat.

<comment><USER22> Describing calories as "empty" is not really a useful way to think about nutrition. Carbs are not "empty," they are your primary energy source.

In fact, as you point out, Jared lost weight primarily by removing _fats_ from his diet, not carbs.

<comment><USER23> He removed calories from his diet.

</comment></comment></comment><comment><USER24> so much for Chipotle being healthier than Mickey D's.

<comment><USER25> "Healthy" is a lot more involved than calorie count.

</comment></comment><comment><USER26> Why did they have to tear all of these innocent burritos open? Savages...hopefully they at least let someone eat the remains...

</comment><comment><USER27> Calories are a very broad way to measure what we need in terms of food. Eating 200-2500 at 50-60% carbs tends to make me fat-ter than eating 3000 at 20%.

I cook most of the food I eat, but I take calories into account very broadly, more narrowly when I diet.

Just to say, 1000 kcal might be half day worth of your energy needs on paper, in reality it's much more complex than that. In fact, if you are eating decent food and keeping fat% at ~30-40, I guarantee you that you will have troubles eating more than 2500 kcal per day. If you drink lots of soda and crap like than, then yes, you can manage even 3000. But eating a lot of calories is not such an easy task as many people think.

Edit: Wow, this generated quite a lot of debate. Just to clarify, I have never said that you lose wait eating as much as you want, I said I think we should consider the number of calories more broadly. Use ranges and look into the weekly intakes too. Check what you eat. Kill all the refined sugars. Kill all the complex foods. Start cooking. That will help you more than counting kcals to the gram. It's about how you shift your way of thinking about food. Lots of food out there is almost poison if eaten regularly, lots of this food is even labelled as "healthy", again, it cannot be only about kcals, it's _also_ about kcals.

<comment><USER15> Unless you have just successfully dismantled the second law of thermodynamics, this is impossible.

<comment><USER28> The comment you replied to only mentions calories input. kfk didn't say that they were burning the same amount of calories in each scenario.

<comment><USER29> There are very few activities that let you meaningfully adjust your metabolism, the effective ones are thermogenic in nature. The only one of these that's at all fun is swimming. I spent all of last year trying to exercise to lose weight, the only thing that worked was lowering my intake.

People say weightlifting works, but it only helps when you're already relatively skinny. I know, I tried. You can be strong and fat. People say running works. It has a small effect but it's nothing to write home about. My sister runs marathons and still struggles with her weight. The problem is that exercise is maybe 10% of the picture, whereas intake is the other 90%. It's easy to fool yourself into thinking you're making progress on your weight goals by exercising, then throwing it all away on extra snacks. People get caught up in chasing mushy health goals and forget about the hard empirical facts.</comment></comment></comment></comment>