Interview with Kyle Simpson, author of You Don't Know JS book series - <AUTHOR> https://medium.com/@amsterdamjs/kyle-simpson-ive-forgotten-more-javascript-than-most-people-ever-learn-3bddc6c13e93 <comment><USER2> _For example, completely contrary to most common belief, the == operator is actually more powerful and more useful in our programs than ===, and in fact, usage of == should be preferred and === should only be a last option. But to understand why I make that claim, you have to actually learn types, and the way they're converted: coercion. I really wish developers wouldn't just keep parroting back "JS types are evil" like they've heard for years. They're great..._

This line of poor reasoning is responsible for so much lost productivity and buggy code. Even in the best case where a team is comprised of people who understand these intricacies well it still forces people to spend more time thinking about simple equality checks than necessary. The greater verbosity of === and type conversion is less mental effort.

In the real world very few people understand == and there's a good chance that even if you do whoever maintains the program you wrote won't. It's just not worth it.

This is very similar to the argument that you should use the minimum number of semicolons necessary in JS. You just need to memorize the exact syntax. It's an aesthetic argument only. It does nothing for the metrics that matter, like defect rate, maintainability, comprehension, etc.

<comment><USER2> To add to this, a problem with becoming an expert on anything is that you can start to love your understanding of the complexity of the thing and lose the objectivity necessary to evaluate the thing.

This can lead to endorsing advanced features instead of simple easily composable ones. The advanced features will be poorly adopted in the field due to not everyone being an expert.

This is probably the best single thing about golang. The language has many flaws, but this is not one of them.

<comment><USER3> I wholeheartedly disagree about your characterization of Go. There are indeed some advanced and misguided features, to wit: goroutines and channels. On the one hand, these primitives make writing _some types_ of programs easy, but it enforces one specific model to a fault.

</comment></comment></comment><comment><USER4> > usage of == should be preferred and === should only be a last option. But to > understand why I make that claim, you have to actually learn types, and the > way they're converted: coercion.

This might be the most irresponsible thing I've heard a JS expert say in a while. If you are competent enough to say, write a _book_ on JS then maybe you can keep the cognitive wherewithal to track your states getting coerced left and right into totally different types etc. If you are a mere mortal like me, you want to pin everything you can down behind strong data contracts and know that they are going to stay what you set them at. When I write code, I want to communicate _intent_. When I assert that this var should definitely be of type `bool|string|object|array` etc. I give the person reading my code one less thing to have to keep in their head.

<comment><USER5> Thanks for formulating this. It seems to me that there are two very diffent kind of programmer mindsets that are heavily in conflict with each other.

Some programmers want to write sophisticated (and sometimes very concise) code that requires deep understanding of the programming and sometimes reads like a "programming puzzle game" / Interview trick question.

Then there are the pragmatic types, which prefer simple code with a reductionalist approach. The code is easy to read but it is often not very generic and tends to get longer / repeated.

I can also see why Kyle Simpson doesn't like TypeScript, because it fits more the latter mindset. I've also seen competent and productive programmers of both types.

Has anyone experiences how those different approaches go together in a single team? To me it seems very difficult to come to a compromise or agreement here.

<comment><USER4> I have. Worked with a person who is one of the most talented developers I've ever worked with. His code was very much to the former "puzzle" approach you mention (versus my pragmatic approach). He used all the JS features and his code was very clever. Sadly, no one else on the team could make heads or tails of it and he ended up being a bottleneck since he was the only one who could work on stuff he wrote. We ended up ripping it all out and rewriting it. The pragmatic approach that I championed ended up being what the team based their style guide on and the developer I mentioned came around to that point of view after seeing its benefits. It is simply easier to collaborate when you work on a cross functional team of varying competencies to make your intent clear even at the expense of conciseness.

</comment></comment></comment><comment><USER6> Kyle's free and open source You Don't Know series [https://github.com/getify/You-Dont-Know-JS](https://github.com/getify/You- Dont-Know-JS) are amazing resources for Javascript developers.

<comment><USER7> Looks like some autocorrect happened to your link: [https://github.com/getify/You-Dont-Know-JS](https://github.com/getify/You- Dont-Know-JS)

<comment><USER6> Thanks for pointing that out, fixed.

</comment></comment></comment><comment><USER8> It should be noted that while he did utter that quote, the interview being posted choose to use it as the title, likely to get the reaction it has (i.e. being shared, not for the content of the interview but more from the controversial nature of that quote.)

Also, having been following Simpson for some time, I believe him when he tried to clarify later that this wasn't from a place of ego. Rather, it's because he's written and talked so much about JavaScript that he's bound to have also forgotten a lot also.

Still, it was a poor choice of words to try to express that, and made worse by the article using that as it's headline.

<comment><USER9> I've worked in big organizations with lots of JavaScript programmers, I've also read his JavaScript focused books and watched many of his tutorials, I believe him.

</comment></comment><comment><USER10> I mean, I think most people haven't learned any JavaScript, so sure.

</comment><comment><USER11> So, the medium article headline (I have forgottem more javascript than most people ever learn) is actually a reference to neuromancer:

"The Japanese had forgotten more neurosurgery than the Chinese had ever known"

In the book Case was trying to explain that the japanese had been studying neurosurgery for so long that they had forgotten many things which had become obsolete, an amount of knowledge which turned out to be more than the chinese had ever known.

Having read YDKJS and seen some of Mr. Simpson's talks, I do believe that he is qualified to make such a claim about himself.

<comment><USER12> Not that I don't appreciate a good William Gibson reference, but is there a specific aspect that makes this a reference to Neuromancer?

The idiom is common and predates Neuromancer:

 _> "I Forgot More Than You'll Ever Know" is a number one country music single for The Davis Sisters in 1953._

[https://en.wikipedia.org/wiki/I_Forgot_More_Than_You%27ll_Ev...](https://en.wikipedia.org/wiki/I_Forgot_More_Than_You%27ll_Ever_Know)

<comment><USER11> I guess there really isn't anything about it that makes it a reference to Neuromancer. It's just my own personal death-of-the-author interpretation; I've only seen the idiom in Neuromancer. But apparently, as you said, it is common and predates Neuromancer.

I really appreciate the country love-song context; it is both interesting and amusing.

</comment></comment></comment><comment><USER13> I'm So Good That I Don't Have To Brag

[https://www.youtube.com/watch?v=KXR2nvLiETU](https://www.youtube.com/watch?v=KXR2nvLiETU)

</comment><comment><USER14> Concerning an average of all humans, this phrase applies to anyone who ever forgot the slightest bit of JS (which is probably nearly everyone who ever learned any).

</comment><comment><USER15> If something is so good that most people that use it daily don't get it, maybe it's not so good?

</comment><comment><USER16> I really, really dislike that phrase.

</comment><comment><USER17> His twitter account is fantastic, and reminds me every day what a fucked up mess Javascript is. And moreover, how amazing it is that any of this stuff that we rely on day to day works at all.</comment>


The Complicated Financial Lives of Freelancers - <AUTHOR> https://www.npr.org/2018/10/02/653627067/going-it-solo-the-complicated-financial-lives-of-freelancers <comment><USER2> Something I wish I'd known when I started freelancing about 8 years ago: Being good at your craft (like programming) is assumed. _In order to do well at freelancing, you also have to have some business sense._

There are all sorts of great resources about how to business online, but it didn't even cross my mind at the beginning that that would be important. Once I started learning how to business freelancing became waaay easier.

Things like how to invoice, how to negotiate, how to talk to a client, how to schedule your time, how to budget, how to market yourself, how to network, etc etc etc are not at all related to programming, but can make the difference between a happy freelancing existence and a miserable career.

I've been fortunate to have a pretty lovely freelance web development career. My key has been finding clients that are smaller companies and not full time, with a long ongoing project.

Smaller companies allow you to build a relationship with the owner of the business, and to position yourself as not just a pair of hands to write code, but a trusted advisor who takes the business's actual needs into account when writing code (which is how you compete with global talent).

Not full time means you can have multiple clients at once to give you a nice advantage over a full time job: if one source of income dries up, your income doesn't go to zero.

Most of my clients have been multi-year projects. I'll slowly build their webapp for around 10 hours a week at most. I've worked about 20 hours a week for the last 8 years, lived in lower cost of living areas, and spent the rest of my time on doing whatever I feel like.

Some resources I'd recommend:

* The Personal MBA by Josh Kaufman - a nice overall summary of how to run a business

* The corpus of Kai Davis's material ([https://kaidavis.com/](https://kaidavis.com/)), including his super valuable/highly entertaining podcast Make Money Online ([https://makemoneyonline.exposed/](https://makemoneyonline.exposed/))

* How to Win Friends and Influence People by Dale Carnegie - how to interface with fellow humans (freelancing/business is mostly a human activity)

Happy to help anyone who's interested in freelancing if I can, send me an email.

<comment><USER3> I would avoid Dale Carnegie. It might have been valuable in the past, but right now to me it reads just like a bunch of out of time platituteds. Also, as a freelancer in Germany, I can tell you that those guidelines mostly apply to the American way of doing business--which definitely isn't the worldwide standard of dealing with business owners and managers.

<comment><USER4> > _as a freelancer in Germany, I can tell you that those guidelines mostly > apply to the American way of doing business_

American here. I've found that the friendly "American way" of doing business lets my team seal deals faster than their European competition. I initially got pushback from my UK team. "That isn't how it's done." But human nature is human nature, and taking people's personal aspirations into mind is never a bad strategy.

<comment><USER5> It's always funny to me to see people say "well we just don't do business the way it's done in [the largest economy the world has ever known]."

<comment><USER6> America is only 24% of world's GDP — Most business in the world is not done 'the American way'. Europe is 21%, their ways are just as valid. It just depends on the expectations from the other side.

You won't be able to run a business the American way in Germany, not would you be able to it vice versa.

Nor you should be able to be.

(There is nothing historic about being able to capture 20-25% of the world's GDP either — England (1800s), Turkey (1600-1700) and China (European dark age through Middle Ages) has all achieved the same economic power US enjoys as of today.

<comment><USER7> > You won't be able to run a business the American way in Germany, not would > you be able to it vice versa.

This thread is incredibly vague. I bet there is significant if not majority overlap between the two.

Back to Dale Carnegie, his advice about not telling people "you are wrong" and getting to know them is some of the best and simplest advice I've ever received, and transcends time and space.

<comment><USER6> My personal experience is that Germans take 'doing it by the book' to a whole another extreme. It's paperwork until the end of time. (I have no affiliation with either, but I've worked with both)

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> That this is likely a submarine piece for one of the linked products or quoted entrepreneurs shouldn't discount the value of discussion. There are only going to be more and more people working like this and it's a huge price to pay for the "freedom". I've effectively freelanced for 20 years and it's brutal, crushingly so. Until you're big enough to have someone handling admin/etc, you are doing everything and things inevitably get missed or ignored. For me, it's been invoicing and chasing up invoices - to the tune of hundreds of thousands of dollars over the years missed completely. End result is all of the hassle and pressure but with less reward.

Building specific frameworks/systems to work within is absolutely the solution IMO. So, like Xero but with a focus on an exact industry/locale. One-button follow up of unpaid invoices, automatic setting aside of money for paying taxes, automatic advice on rates. Too often, people try to fit the tools to their way of working when I think they'd be better off fitting their work to the tools.

<comment><USER9> > ...to the tune of hundreds of thousands of dollars over the years missed > completely.

Whoa, whoa, whoa. You're doing something _very_ wrong if you've lost track of $100,000s of payments.

<comment><USER8> Keep in mind that it's over 20 years. Happens in dribs and drabs like this: get really busy, forget to invoice project for a while, realise you're months behind and so put off invoicing because clients won't like receiving them late, later it gets, more awkward and easier to avoid it gets. Or the business is sold or collapses. Or you don't chase up unpaid invoices for so long it's unlikely you can convince them to pay. Every client harasses you to get the work done. Very few harass you about the invoices. You start invoicing and then the calls come in or urgent emails. You plan to do it from home at night but then life/kids happen and you're exhausted. I forgot to invoice one maintenance client for a year and threw away five figures. Would've been handy money that year.

In the early years, aggregating staff time sheets was manual and easy to put off. We ended up building [https://usepunch.com](https://usepunch.com) to handle that which is a massive help.

In web development and with 100+ clients, it can be quite difficult to track things like hosting and domains when they're spread across multiple providers, renewing at different times of the year, etc. We ended up building an internal web-app that interfaces with Xero to help manage this, but this was 18+ years in...

And yeah, I can appreciate I've done something very wrong. I've found that all too easy when spread so thin.

<comment><USER10> That administration mess is exactly why I stopped freelancing.

<comment><USER5> It's not a mess unless you have some weird hangup about billing people and agreed-upon rate for an agreed-upon service. I freelanced full-time for 3-4 years, at one point with dozens of active clients, and never missed a billable hour. It's not difficult if you have a system to track and bill. Yeah it takes time, and it's a grind, and there are times you'd rather just not do it, but to imply that freelancing makes it easy to miss _hundreds of thousands of dollars_ in billables, which is a non-trivial percentage of most folks _lifetime income_ , does not jive with my experience in the slightest.

<comment><USER8> You did 3-4 years with dozens. I am at 20 years and more complexity. For a number of years, I managed staff and interns - just keeping interns busy chews up a lot of time. I had a co-founder to start with, and was then solo running it from then. Once you have staff but not the scale to get help managing that, it gets seriously difficult. When I started, things like Toggl didn't really exist. I used to print out and manually sum hours from staff per client/project and per month. And then create dozens of invoices each month manually in MYOB, an awful and miserable interface. It was a huge timesink. I couldn't outsource it because I was the only one with true knowledge of each relationship - what to bill in what way, which clients were sensitive, etc.

I'm not saying it's impossible to do it OK, I'm saying it's easy to get it wrong and fall behind. I mentioned the idea of an opinionated business framework to a friend (freelancing very occasionally 1-2 years) and they said "Oh YES, absolutely." And that's for someone who'd send 2-3 invoices a month, not 50+.

</comment></comment></comment></comment></comment></comment><comment><USER11> One of the things that I have really come to understand is America is not even close to "land of the free".

There is a very very narrow set of rules that you absolutely have to follow to even be able to live peacefully here. Be born at least middle class, go to good schools, pursue the right degrees, go to corporations, make no mistakes in life and then finally retire in a retirement home paying thousands a month.

Steer from the above path and you'll start seeing things like mistakes in IRS filings or a medical issue or a pre-existing condition or a divorce or a bankruptcy or an unmangeable debt or a gap in career.....you know, normal human problems, you are screwed.

And then there are man-made problems like jail without bail, lawsuits flying around, guns, crime.

Notice there is no place in society for teachers, small-time healthcare professionals, career in arts etc.

<comment><USER12> And don't forget about being downvoted for listing facts!

<comment><USER11> > And don't forget about being downvoted for listing facts!

Yeah,its a very funny phenomenon. For some reason, Americans like to downvote anything true about their society. This is what you would expect out of communist societies.

<comment><USER13> Not true. You'd be about halfway up in any other forum, but this is hacker news--where we're not supposed to talk politics... unless it's the kind of politics they want us to talk about--like net neutrality or antitrust or some other intersection of nerds and money.

<comment><USER11> > but this is hacker news--where we're not supposed to talk politics... unless > it's the kind of politics they want us to talk about

But this isn't politics. This is the societal reality of the home of tech industry. There are many people around the world who are blown away by the stories of Silicon Valley.

When we share stories of SV parties, VCs, lifestyle, homelessness, then why not about life and reality here? At the very least, it is informative to people who are uprooting their families and lives in other countries.

<comment><USER14> > blown away by the stories of Silicon Valley

What kind of stories? Housing prices? Management horrors?

</comment></comment></comment></comment></comment></comment><comment><USER15> Anyone aware of any bank accounts (USA based banks) - that allow for some programmatic moving percentages of money between accounts?

I want to have it when I deposit client checks in one account it takes the money and moves one third to another account and one third to another. (then I'd like to have a personal account do the same, whenever money is transferred from my business A account to this personal account, take one third and move to savings, one third move to wherever..

My google FU did not find this.. I found a couple of banks saying that you could do transfers, and I think one bank had it so you could choose an amount, like $500 every week or something more static and have that auto transfer... but for freelancing gigs it's not usually a static amount every week.

I thought about doing (and may still have to ) an ask HN on this, but this story / thread is likely perfect for this.

I'd like to find an actual bank product that would do this, I don't really trust the security of a phone app to mess with accounts, and don't want to put a bunch of eggs into some cloud basket either, so I'd prefer to stay away from third party cloud sites that use my authentication to touch any accounts.

This kind of thing would help so many in the gig economy plan for the quarterly stuff better, hope someone can point to a bank that does this.

<comment><USER16> +1. I'm absolutely amazed that this isn't a thing. "Put 10% of everything that comes in into this savings account" (for example) wouldn't just be useful for freelancers!

<comment><USER17> It's not a thing because the market is limited, it could be a security nightmare to administer, and because useful rules would be more complicated than "Put 10%..." \- because you would have to allow for overdrawn accounts, closed accounts, moved or renumbered accounts, and so on.

Product features like these invariably turn out to be far more complicated than they look.

<comment><USER7> Nah, you login at the website and add rules for moving money around. Already available. Moving percentages instead of fixed numbers is a small step up from that.

</comment></comment></comment></comment><comment><USER18> > _" No one really explains to you taxes and contracts and how to chase a > client for that bill that they owe you — like, the nitty-gritty,"_

Wait...what?

Before I even broke out into freelance consulting I hired an accountant. When starting your own business, I would think it's base-level knowledge that anything with legal ramifications (and that includes the IRS) should be handled by a professional.

Get an accountant. Get a lawyer (at least for one day to draft up your documents and make sure your business is set up or even use LegalZoom).

And within the first month of breaking out on my own, I must have read like 3 or 4 books on freelancing/consulting, 10+ blog posts, and podcasts.

True - no one is going to act like Clippy and say "Hey looks like you're starting a freelance career. Have you considered an LLC and liability insurance?"

 _But_ \- do people not try and learn about what they're getting involved with anymore? Starting a business, even if it's a 1-person sole proprietor consulting firm, is a _big_ task. And yes, davidscolgan is right that you should consider _all_ business aspects beyond your primary skill. But it seems almost irresponsible to say that starting a business is going to be a huge shock. No one is going to _tell_ you, but even a cursory search online will give you a torrent of information on freelancing, consulting, and starting your own business.

If I hadn't put in the initial legwork into studying the consulting landscape there is absolutely no way I'd: (A) still be consulting or (B) make nearly as much money. But the answers _are_ out there. And yeah - get an accountant, it will drastically simplify your finances.

<comment><USER19> > And within the first month of breaking out on my own, I must have read like > 3 or 4 books on freelancing/consulting, 10+ blog posts, and podcasts.

Any recommendations?

<comment><USER20> Brennon Dunn has a lot of great free blog content and an excellent podcast about all things freelancing / software consulting. Would highly recommend as his content has helped me a lot over the past year, mainly regarding the marketing/selling, billing and dealing with clients sides of things: [https://doubleyourfreelancing.com](https://doubleyourfreelancing.com)

<comment><USER21> Brennan Dunn's stuff is great, and I know freelancers who have been very successful in part thanks to him. I'd recommend starting small if buying products though - he had a $50 book version of Double Your Freelancing that was worth it, but at one time he also had a $2000 online course version which probably isn't the right choice for everyone.

Freshbooks have a fantastic free PDF called Breaking The Time Barrier that is about charging for value, not for your time. It's worth reading even if you don't use Freshbooks (I use Harvest instead). The PDF was actually recommended to me by a client, who I think was giving me a hint that I was charging unsustainably low prices.

[https://www.freshbooks.com/blog/breakingthetimebarrier](https://www.freshbooks.com/blog/breakingthetimebarrier)

</comment></comment></comment></comment><comment><USER22> Well, if this isn't my life to a T. A THIRD of the workforce though? I wouldn't wish what I'm going through on anyone. I had no idea it was so widespread.

<comment><USER23> "soft" mechanisms to remove unemployed people from the labour pool have been used for a long time, to reduce the visible statistics on the rate of unemployment. It leads people to talk about other measures like the rate of under-employment, the number of people seeking work, the number of people in part time work who seek full time work.

But, since many people _choose_ this life to get work:life balance outcomes it shouldn't be assumed all freelance and self-employed are there for nefarious reasons. Just, that quite a few of them are, because there aren't good alternatives.

"I won't give you a job as a bricklayer but I will subcontract to you if you form your own company" for instance...

</comment></comment><comment><USER24> > _Freelancers are competing not just within their town, not just with in > their state, but are completing globally, and there 's just huge global > pressures on the amount that they can earn..._

bingo. for a piece of work that can be well specified, separated out from the main workflow and then farmed out, it's natural, in today's world, for the customer to open the field globally. a little _too_ natural.

so, the US freelancer is left asking the question: how can I compete with wages set at the global standard of living, including currency exchange differences?

there doesn't seem to be a good answer.

<comment><USER25> The answer is to stop offering a commodity and start offering something that's unique and valuable. See Patrick McKenzie's epic post: [https://www.kalzumeus.com/2011/10/28/dont-call-yourself-a- pr...](https://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/)

<comment><USER24> excellent. thank you.

</comment></comment></comment><comment><USER26> I've been freelancing for a few years as a DevOps Engineer. I've gotten very lucky because I've landed gigs that let me become virtually in expert in a few different technologies, while making the most money I've ever made, all with no on-call at all (traditionally the bane of my existence) and with very friendly people and clients. _However, I 'm nervous now as my gig runs out for at least two reasons._

First, I'm self-employed in name only. While managers view me as a very senior resource that is essentially a team lead due to experience and charisma, I still feel like I have no more control than an employee. In other words, I feel like an employee. Which is not how I suspect many of you feel.

Second, finding a new gigs is going through recruiters (here in NYC) and interviews are --again-- exactly like, if even worse than, employee interviews. In other words, not only am I expected to spend hours going through round after round of interviews, but I'm expected to already know all the technology they need, and moreover I'm competing with A) full time employees since many roles will take FTE or contractors; B) other contractors with lower rates.

I live in NYC and would pay someone for advice on the second part above.

We need some sort of not-for-profit place to meet and congregate online as freelancers.

<comment><USER7> > interviews are --again-- exactly like, if even worse... hours going through > round after round

I would decline _extensive_ interviews for contracts less than a year.

Be up front with them that the process does not make sense. It will be obvious in a few hours whether you can do the job, and therefore little risk to them.

(I realize some places will stick to their process, be damned. It is a quality signal, however.)

</comment></comment><comment><USER27> Making a ton of money as a freelancer is easy: just hustle harder for clients.

Let me explain :)

I quit my job and started freelancing full-time when I was 24 because I found a $50 / hour PHP gig on Craigslist and did the stupid math of "40 hours per week x 50 weeks per year x $50 / hr = $100k / year!!"

Ugh, so naive.

Those first few years were _rough_ and I almost quit many times. Everything was so much harder than I knew, from finding clients, to getting the work done, to getting paid, etc.

BUT I stuck with it and gradually figured it out. I started spending time on "business development". I stopped charging hourly. I started investing in my own skills to move into higher margin areas. I focused on a particular client niche instead of doing everything under the sun. I built better sales and marketing channels. I got more disciplined with my time. Etc, etc.

To date I've billed over $2 million to clients for mobile dev, web dev, product management, technical writing, and online marketing (by decreasing order of where I've made the most), and I know this sounds like I'm bragging, but I have zero concern these days about being able to make at least $250k per year from freelance and consulting. I haven't figured out a lot of things in life, but I've figured out this.

I've also spent the last few years writing, speaking, coaching, and otherwise helping other freelancers get started and grow their businesses, first friends and family, now a pretty sizable online audience, so I have a pretty good view of how freelancers succeed and how they fail.

More than anything else, the quality I see that helps freelancers succeed is being willing to spend regular time hustling for clients. You don't have to be a sales and marketing wizard, or be an extrovert, or spend half your time on it. But you need to spend time every day / week / month on it, and never stop, always be thinking about who your customer is, where you find them, and how to close them.

The freelancers I see fail almost invariably have no reliable marketing channel other than referrals (or Upwork, which is the fast-track to commodity rates). And referrals are awesome, some of the best work I get, but they're passive AND they work a lot better if you can seed your ecosystem with other sources of leads.

If you can build a pipeline of qualified client leads, everything else is easy. You can make a lot of mistakes with a client or a potential client if you have another lead coming right behind that one. And that wipes away most of the concerns in this article.

Through solo 401ks, my wife and I have saved more than half a million for retirement. We have a healthy emergency fund. We have insurance. We take plenty of vacation, etc, etc.

No one in this article would have any of the problems they're talking about if they made twice as much. And I can guarantee you that almost none of them spend hardly any time trying to find and close clients. They either wait for clients to come to them, or they use Upwork, which is almost as bad.

The problem here isn't irregular income, it's just not enough income.

OK, enough rambling...I'm happy to help anyone in the HN community with some free 1:1 advice if you want to email me: firstname.lastname@example.com

<comment><USER28> So how old are you now? Has this been a 5 year journey or 25 year journey?

<comment><USER27> I'm 36. I started August 2007.

</comment></comment></comment><comment><USER29> For a book recommendation, Simple Numbers... by Greg Crabtree is definitely the best accounting and finance book for freelancers and small businesses that I've ever read. It's just about perfect, I read it two years too late but it's transforming how I look at finance and accounting for my consultancy.

[https://www.amazon.com/dp/B00FUINEYG/ref=dp-kindle- redirect?...](https://www.amazon.com/dp/B00FUINEYG/ref=dp-kindle- redirect?_encoding=UTF8&btkr=1)

</comment><comment><USER30> "No one really explains to you taxes and contracts and how to chase a client for that bill that they owe you — like, the nitty-gritty,"

Years ago I ran a conference for independent web/tech folks. I put it together because I'd been tired of going to other tech conferences and... just realizing that none of the content would have any impact on my ability to have good contracts, deal with insurance, get paid, deal with taxes, market myself, onboard new projects, etc. Figuring out how to shave off 4ms of a query, or replicate mysql, or float my divs with sass... none of that was relevant, but I still enjoyed the social aspect of conferences - the gathering of folks with similar needs, skill and problems looking to help each other.

Yeah, no one 'tells' you how to do any of these things. Tax stuff, especially starting out, doesn't need to be that complicated (but you don't necessarily know that up front).

"There's no such thing as maternity leave for freelancers"... Hint - it's really just extra overhead an employer budgets in to the price they charge for their services minus the expense of you. Budget for this stuff yourself. It's _hard_ , especially at first, if you haven't done it before, to begin to think about this stuff, and deal with 'irregular income'. But it's possible.

"Two-thirds of them are dipping into their savings every month to make ends meet. We see that freelancers as a result are really lagging behind employees when it comes to saving for retirement,"

It's because they're undercharging, and the buyers are profiting off that arbitrage. I'm not sure there's any simple or easy way to get around this. Years ago I was part of a forum for tech folks where 'rates' were discussed, and a couple people shut down the thread (and the next one, IIRC), because they had this notion that this was "price fixing" and somehow they were playing a part ('safe harbor' sprang to mind, but... they weren't having it). Yet... everyone keeping their prices "secret" doesn't really help most people. I can see prices for auto labor on websites, but most tech folks don't put pricing (hourly or otherwise) out there. And... I get it. I understand why (I don't, but did for a while, and may again).

> Another big barrier to savings is the complexity of taxes for independent > workers.

> Traditional employers contribute toward their workers' payroll taxes, but > that's not the case for the self-employed, who must pay all their own Social > Security and Medicare taxes. And because taxes aren't automatically deducted > from their paychecks, freelancers must figure out what they owe on their > own.

> "Without that, Chang says, it's hard for freelancers to know how much they > can save.

Well... even when taxes are 'automatically deducted' from a paycheck, that doesn't mean it's the _correct_ amount (which is often a moving target).

As others in the thread here mentioned, this is sort of a solved problem, especially for smaller/solo folks, by using a payroll service. It's not free, but generally for under $600 for the year, and factor in another few hundred for a CPA to prep taxes... you can sort most of this out. It's not fun, and ... yeah - hey - you're going to need to charge enough to cover these costs of doing business.

Dealing with all this gives you a whole new appreciation for anyone you may go work for in the future. I was at a client's meeting of around 15 employees, and they were discussing health insurance. Premiums were going up, and the company was covering X% of the premiums, but everyone would have to pay a bit more. The owner said "does anyone know what our actual monthly cost per insurance policy is?" There were a dozen guesses... and I was shocked as to how far off people were guessing - almost all way on the low side. At the time, the employer's cost for each health plan each month was... $580, IIRC - people were guessing $80, $120, $95, $160.

> "I almost can't have fun anymore because there's always something that I > should be doing". Welcome to business. Go take a 'regular' job and have > 'fun' with your 5 paid days off every 365 days. I don't mean to be negative > here on that point, I just feel like many (most?) people have a very naive > view of business, work and money/finances.

</comment><comment><USER31> > "It's just excruciatingly difficult to manage our finances"

And it's US. Compare it to Italy and you'll have a difficulty setting switching from Medium to NIGHTMARE.

</comment><comment><USER32> Freedom, right?

Oh, really?

I am one of the hardest working people I have ever met, people can (hyperbolically) say I work more than a hundred hours per week. But that's easy to say when you're full-time, and you leave early for that errand or come in late to drop the kid off at daycare, and then make a few hours at night. When you are tracking your hours, suddenly making 60 real hours is hard, or even 40 real hours for that matter.

(I'm still in a privileged position, so no real complaints.)

<comment><USER25> So start billing for the value you provide, not by the hour.</comment></comment>


IBM System/360 Model 67 - <AUTHOR> https://en.wikipedia.org/wiki/IBM_System/360_Model_67 <comment><USER2> Anyone who is interested in the IBM systems architecture can use Hercules-390 [1], a IBM mainframe S/370, S/390 and z/Systems emulator that runs under Linux, OS X, Windows and other platforms. It runs lots of descendants of S/390 Model 67 without any modification. Virtual and real hardware are supported (networking, disks, tapes, terminals...).

You can run prebuilt systems like the MVS 3.8 Turnkey System [2], or build MVS 3.8 from the distribution tapes itself and learn much of these systems internals [3]. Also, you can run pretty much anything that runs on mainframes like MTS [4] and z/Linux [5].

I have a custom MVS 3.8 installation that I use for learning and it's basically undistinguishable from a modern z/OS installation, from the operations point of view. I learned to write HLASM, JCL, APL, and a lot of other ancient programming languages.

[1] [http://www.hercules-390.eu](http://www.hercules-390.eu) [2] [http://wotho.ethz.ch/tk4-/](http://wotho.ethz.ch/tk4-/) [3] [http://www.jaymoseley.com/hercules/](http://www.jaymoseley.com/hercules/) [4] [http://archive.michigan-terminal- system.org/mts-d60A](http://archive.michigan-terminal-system.org/mts-d60A) [5] [https://www.linux.com/learn/tutorials/702425-run-your-own- ma...](https://www.linux.com/learn/tutorials/702425-run-your-own-mainframe- linux)

<comment><USER3> Funny enough Hercules was one of the vectors that Anakata (Gottfrid Svartholm/Piratebay) used to break into Logica. He managed to obtain a older copy of z/OS and combined with Hercules he then went to work to develop exploits/backdoors used in the hack.

\- [https://www.youtube.com/watch?v=SjtyifWTqmc](https://www.youtube.com/watch?v=SjtyifWTqmc) \- [http://thehackernews.com/2013/06/Anakata-Gottfrid- Svartholm-...](http://thehackernews.com/2013/06/Anakata-Gottfrid-Svartholm- Piratebay-Hacking-Denmark-Torrent.html) \- [https://www.youtube.com/watch?v=Xfl4spvM5DI](https://www.youtube.com/watch?v=Xfl4spvM5DI)

ps. There's a magical tumblr which masscans the internet every day and posts screenshots of mainframes which are directly connected to the internet (with no firewall/vpn/security) @ [http://mainframesproject.tumblr.com/](http://mainframesproject.tumblr.com/)

</comment></comment><comment><USER4> Oh, the old days. I used a Model 67 at college.

The first paragraph in Wiki refers to a "DAT box". This translated virtual addresses to physical. IIRC it was 8 entries, fully associative.

The reason it was called a "box" is because it was huge, perhaps the size of a refrigerator. Yes, this single CPU function was about the size of a "rack" of today's computers (the dimensions aren't exactly comparable, the DAT box was wider and not as tall as a modern-day rack).

The reason it had 8 entries was because that was the minimum number required by the instruction set. You could have an "execute" instruction which crossed two pages (2 byte alignment, 4 byte instruction). It could target something like a "move character" (MVC) instruction (a memory-to-memory move of up to 256 bytes) that also might be in two pages. The MVC source and target could each be across two pages.

       2 pages execute instruction
       2 pages move character instruction
       2 pages source operand
       2 pages destination operand
       -
       8 entry TLB minimum size needed by the architecture

There were a lot of TLB misses in those days. :-) Of course, we didn't call it a TLB at the time.

Each bit of each of the 8 physical address registers went to a light bulb. When the insides of the DAT box were pulled out of the enclosure (this was possible while it was running) you could watch the lights blink. They did blink a lot, up until you hit a tight loop in FORTRAN. Then they'd freeze for a minute or more! That was one way to watch your program execute.

</comment><comment><USER5> to repeat a comment from long ago:

When I was in college, Assembler was taught in IBM 360 Assembly on an IBM 370 using CMS as the OS. It was quite a bit different from programming a 6502 in HS. I still have the banana book somewhere. These were very interesting machines, but you could really suck up the shared time with a tight loop.

to add: XEDIT was the primary editor and it had some good point with a lot of bad. Also, for the life of me I cannot remember using directories when displaying files on that machine. I spent quite a lot of time helping people get the JCL right for the statistics package they were using.

<comment><USER6> When I was in college, I also programmed on CMS on a 370 in assembler. I even hacked some system utilities by dumping them out in hex, disassembling them by hand and modifying some machine instructions with the patch tool. We also had a port of one of the early Unix C compilers (PCC?) that ran on the IBM mainframe. In our operating systems class, we wrote a simple virtual machine OS for the 370 architecture.

Directories only showed up in CMS many years later. In the early days (when the IBM 370 was still around), the only way of grouping files was by having multiple virtual disks and assigning letters to them: A-disk, B-disk, C-disk, etc.

<comment><USER4> _I even hacked some system utilities by dumping them out in hex_

The operating system had an instruction called "supervisor call", or SVC. When you needed the OS to do something for you (like read from a file) you did an SVC. Much like making a system call into Linux.

The 2nd byte of SVC was an operand. It meant you could have up to 256 different requests to make of the OS. But IBM didn't define all of them.

So our school system programmers used some of the highest SVC numbers (255 on down) to do various custom things. But, these functions could also be dumped in hex and disassembled.

When you did that you found all sorts of magical things you could ask the OS to do for you. E.g. let you write anywhere in memory. From there it was a few instructions before you were "root", or what passed for the equivalent in those days.

Security thru obscurity. It didn't work in the early 1970s. It still doesn't work today.

<comment><USER7> Not sure when that came historically but I remember the diag instruction that was used to talk to the "hypervisor". E.g. diag 8 was used to issue CP commands from your program. That's at a lower level than CMS which ran in the user's space and interacted with the virtual hardware (and would handle something like file i/o)...

<comment><USER6> That's exactly right. CP trapped the "diagnose" instruction in the virtual machine to allow the VM to talk to the hypervisor. The "diagnose" instruction was convenient, since it was an opcode that was never used in normal programs - on a real (non-virtual) machine, it was used by IBM engineers to diagnose hardware problems and did different weird things on each different model of machine.

The normal SVC (supervisor call) instruction was the API for programs to talk to CMS, the operating system that was most commonly run on top of the virtual machines. It was actually possible to run several different operating systems on the virtual machines, including CP (the hypervisor) itself. Systems programmers would do that for testing new versions of CP on a live system.

</comment></comment></comment></comment></comment><comment><USER8> The article talks about how the 360-67 machine supported time sharing, but the 370 series did not, because of a political power struggle within IBM between the time-sharing adherents and the batch-processing adherents. With this much hindsight, it's hard to see why there were batch-processing adherents at all, let alone how they could have won. Does anybody know?

<comment><USER9> Heh, yeah, as someone who still occasionally advocates for converting something back to batch, I know. Bear in mind, I'm typing this from an XOpen- certified UNIX machine, so obviously I wasn't a total rwars ideologue (religious OS wars for those too young to remember the term).

The main issue was job completion predictability - most things we do with computers are fundamentally batch, and almost all the really, really important ones like bank account daily settlement and reconciliation are totally batch. There's simply nothing to be done while you wait for the process to complete nor anything of higher priority that you'd want to preempt that task. So the question is, if the task is business-critical important or if it's critical to major institutions such as the global economy - like, say, the Depository Trust Corporation's nightly cross-trader settlement process which is, in fact, still a mainframe batch - why would you want the process to be anything other than a deterministic length of time for a fixed input? You'd be willing to commit a whole piece of hardware to getting the job done, right? As it turns out, that's the reason. There are an awful lot of things that are more important than economical full-utilization of a machine, and most of those tasks are still carried out on mainframes, and usually they're still done in batch.

There are a bunch of secondary reasons as well, though: a 3270 terminal ran in the thousands of dollars a unit in the 1980s; the network was really, really slow, and sharing the terminal server was worse than slow; if you were lucky(?) enough to have a token ring desktop and CM/2 on your machine so you didn't need a 5250 death-ray CRT next to you, you were unlucky enough to be on token ring and good luck with that; at 9am when the world woke up and logged in, the entire SYSPLEX ground to a halt waiting for all the interactive logins to complete, even though folks would then idle most of the day... on and on and on, and all of those were issues with time-sharing systems that, for most applications, worked just as well if you punched a record card (I know, right? Punch cards...), put it in a stack, and handed it off to the data processing department at 5pm.

If I still had $X billion in transactions to clear a day where X > a number that would get me jail time if I screwed up, I would probably still do it on a zSeries mainframe running CICS and IMS but running almost totally in batch. Because why chance it?

<comment><USER10> Great perspective, not many people today have experienced the shear magnitude of mainframe batch workloads. The other thing about timesharing on the mainframe was system stability. IBM went to great lengths via cics to totally lock down stateful, bidirectional interaction with the mainfrme. Why was this? I've always wondered, why not time sharing?

<comment><USER11> >not many people today have experienced the shear magnitude of mainframe batch workloads

Can you elaborate? For instance, SWIFT does like 15M messages/day (according to Wikipedia). That's...really not that much in absolute terms for even a cheap server today.

<comment><USER12> But theres a ton of bookkeeping and checks to be done for every transaction. Due to regulations and so on. But yes it's not an insane amount of transactions.

</comment></comment></comment></comment></comment><comment><USER13> "I characterized the Russian decision to build a bit-compatible copy of the IBM 360 as the greatest American victory in the Cold War." (Edsger Dijkstra)

Good for historical and learning perspective of anyone into IBM mainframes. However, anyone wanting to see awesome mainframe architecture look up Burroughs Architecture. I'd take many of its features in my PC today.

</comment><comment><USER14> The S/360 model 67 was the first machine to get visualization right. You could run the hypervisor under the hypervisor under the hypervisor... IBM VM can still do that. The x86 crowd never got hypervisor hardware right; the virtual machine isn't the same as the real machine.

<comment><USER15> Running the hypervisor under the hypervisor under the hypervisor - i.e. nested virtualization - is now possible on x86-64: [https://www.kernel.org/doc/Documentation/virtual/kvm/nested-...](https://www.kernel.org/doc/Documentation/virtual/kvm/nested- vmx.txt)

</comment></comment><comment><USER16> There is an Open Source emulator of System/370, System/390 and zSeries/System z ("Hercules"). Anyone knows if there is any emulator of the System/360?

[https://en.wikipedia.org/wiki/Hercules_%28emulator%29](https://en.wikipedia.org/wiki/Hercules_%28emulator%29)

<comment><USER17> Hercules can also emulate S/360s and run OS/360\. IBM has always been a strong believer in backwards compatibility.

[http://www.conmicro.com/hercos360/](http://www.conmicro.com/hercos360/)</comment></comment>


Learnings from building reread.io - <AUTHOR> https://medium.com/jolly-good-notes/learnings-from-building-reread-io-46f57871e124#.p95p10kgd <comment><USER2> A good read overall, it's interesting to see projects that might not have a huge number of users but does have good engagement levels.

As for the marketing, if someone reached out to me over twitter I'd rather not know that it was something they "built over the weekend". That might sound great for the HN crowd but as a consumer I'd like to know services are solid, stable, reliable and will still be here tomorrow.

<comment><AUTHOR> Thanks! Didn't expect that "built over the weekend" might send the wrong vibes. True that it doesn't add value in explaining the idea. Will definitely take note.

</comment></comment><comment><USER3> Could someone please build something like that for my local Firefox bookmarks? Make it a gamelike "Discover my bookmarks" or something ;)

<comment><AUTHOR> It works now if you push all your Firefox bookmarks to Pocket. :)

<comment><USER3> Is there an easy way for that with hundreds of bookmarks?

</comment></comment></comment><comment><USER4> I applaud the OP's effort to build and market this from scratch -- then write about it!

I will say, though, there's a reason marketing is an entire function led by separate people. It's hard, uses different strengths and experience, and requires consistent effort -- not variations on "post it and they will come."

</comment><comment><USER5> Maybe if it supported other services as well it would gain a little more traction? I would love to reread my HN saved links, and as someone else mentioned old bookmarks, or at least find out if I still want to read them again. I guess pocket is a good start, but maybe it could go a bit further?

<comment><AUTHOR> Yep. Some folks suggested Instapaper too. Personally, I am only on Pocket and hence I started with that.

Where do you store your HN saved links though?

<comment><USER5> HN stores them for me, and I thought it had an API, not sure how much the API reveals though...

</comment></comment></comment><comment><USER6> This may only be me but I found the color scheme on your site a horrible eye- strain. There's a reason red text is used for error messages.

<comment><USER7> It's blinding. I get that it's supposed to imply the pocket connection, but if you go to pocket's website they only use that pink/red color in their logo and for accents like on buttons.

</comment></comment><comment><USER8> >>reread.io is a service which sends you an email containing your forgotten Pocket links (with many config options).

And those emails will either be conveniently ignored or will land in spam folders after a while.

If you don't have the time/discipline/motivation to read a article which is in your pant pocket, reminding you about it is hardly going to help your laziness/lack of motivation.

<comment><USER7> On this front -- I hate email. I'm tempted to do a pull request that creates todoist tasks for you each day. If you don't complete them it puts them back into the pool for a future date -- the last thing I need is my todo list guilt tripping me :p.

<comment><AUTHOR> For me, it's the Inbox-Zero-Guilt, but I guess everyone has a different guilt that they are trying to avoid.</comment></comment></comment>


Critical Thinking: A Necessary Skill in the Age of Spin - <AUTHOR> http://www.edutopia.org/blog/critical-thinking-necessary-skill-g-randy-kasten <comment><AUTHOR> To engage in some critical thinking about the article submitted here (which was recommended to me by a private message from a Facebook friend), I should point out that it is by no means clear that critical thinking is a coherent skill that is readily taught.[1] Perhaps the best way to learn critical thinking as a habit is to learn several traditional knowledge domains deeply through grappling with problems as well as through mere exercises.[2] There are some good textbooks on critical thinking for beginning university students, with miscellaneous lessons about various techniques of skeptical thinking.[3]

[1] "Critical Thinking: Why Is It So Hard to Teach?" by Daniel T. Willingham

[http://www.aft.org/sites/default/files/periodicals/Crit_Thin...](http://www.aft.org/sites/default/files/periodicals/Crit_Thinking.pdf)

[2] "Word Problems in Russia and America" by Andrei Toom (which I think I first learned about from another Hacker News participant)

[http://www.de.ufpe.br/~toom/travel/sweden05/WP-SWEDEN- NEW.pd...](http://www.de.ufpe.br/~toom/travel/sweden05/WP-SWEDEN-NEW.pdf)

[3] For example, _How to Think About Weird Things: Critical Thinking for a New Age_ by Theodore Schick and Lewis Vaughn

[http://www.amazon.com/How-Think-About-Weird- Things/dp/007803...](http://www.amazon.com/How-Think-About-Weird- Things/dp/0078038367/)

<comment><USER2> I teach high school math and science, and I often give students assignments that ask them to develop their own questions. I make a point of telling them we won't be answering all of these questions; some of the best questions would take a lifetime to answer. This helps break students out of the mindset that every question asked in school needs to be answered, and the answer needs to be evaluated as right or wrong.

Many students don't know how to craft a good question, but given the space and time to do so many of them can develop the skill. Classroom conversations change significantly when the guiding questions we're focusing on have been thoughtfully crafted by students.

<comment><USER3> Don't they feel sometimes defrauded because their long time worked question is left aside unanswered? Don't they feel that other student are being given full attention meanwhile they are not considered properly?, don't you think that asking and not answering my sound like not a fair game to play?

Education has many problems, and the majority of questions about it are unanswered or the real answer is today unknown.

<comment><USER4> Unanswered != not paid attention to. Some good questions may be equivalent to known unanswered (P = NP) or unanswerable (halting problem) questions.

</comment></comment></comment></comment><comment><USER5> Critical thinking, the existence of a rational faculty, is what separates humanity from animals.

Critical thinking is necessary in order for our race to reach and discover what it means to be human, and this has been true as long as there have been humans.

edit: Schopenhauer has a great essay "On Thinking for Yourself" \-- [https://news.ycombinator.com/item?id=8915729](https://news.ycombinator.com/item?id=8915729)

edit2: A quote from the above:

12-- When you consider how great and how immediate is the problem of existence, this ambiguous, tormented, fleeting, dream-like existence – so great and so immediate that as soon as you are aware of it it overshadows and obscures all other problems and aims; and when you then see how men, with a few rare exceptions, have no clear awareness of this problem, indeed seem not to be conscious of it at all, but concern themselves with anything rather than with this problem and live on taking thought only for the day and for the hardly longer span of their own individual future, either expressly refusing to consider this problem or contenting themselves with some system of popular metaphysics; when, I say, you consider this, you may come to the opinion that man can be called a thinking being only in a very broad sense of that term and no longer feel very much surprise at any thoughtlessness or silliness whatever, but will realize, rather, that while the intellectual horizon of the normal man is wider than that of the animal – whose whole existence is, as it were, one continual present, with no consciousness of past or future – it is not so immeasurably wider as is generally supposed.

</comment><comment><USER3> I think critical thinking is not necessary, depending of your personal circumstances you can be better off with a great net of friends that can help you to find a good job. For example, my wife found a good job because she, besides being wonderful at work, has a really splendid net of friends who can speak wonders of her. I don't think that being critical or having critical thinking skills is going to help you in your career, sometimes is better to be quiet and let the powers be. I remember a story of a very good broker with wonderful ability that didn't follow the herb, he make very good predictions but he lost his clients, financial markets are not for critical thinking, is like a beauty contest (in due context by Samuelson).

<comment><USER3> I must confess that I didn't read the original post, and I am being down voted. Perhaps there is something interesting beyond the title, but I would be grateful people down-voting me could give a hint about what they are thinking about, what their argument is. I know that is easier to move your finger than to make a real or sound argument, also I am awared that you must not ask why the down voting (a question of etiquette it seems). But anyway, some feedback is always welcome.

<comment><USER6> I think you're being downvoted because people don't want to accept that what you are saying regarding critical thinking being anti-adaptive may be true. The followers of the hacker ethos are revolted by prospects that the less- skilled. less-disruptive, and less-smart can succeed by social optimization and conformity. It's a direct threat to the existence they've doubled down on.

<comment><USER7> It may simply have to do with him saying that he feels his wife found her job because of her friends, not because of her skills. She might disagree.

<comment><USER3> Naughty boy, indeed. In my post I say literally that she is wonderful at work and people that know her recognize so. A big net of friends and acquaintances provides plenty of opportunities of finding a good job. Her job don't require critical thinking skills.

<comment><USER7> > Her job don't require critical thinking skills.

So you say. Look I don't mean to say you don't know better but it's hard for me to come up with _any_ profession that does not require critical thinking skills. No matter what 'simple' task I want to do - say one that normally would be someone's day job - I always find that it requires more knowledge, skill and more thinking than I anticipated.

</comment></comment></comment></comment></comment></comment><comment><USER6> A necessary skill, but honestly, a college-level skill that most students/people will opt out of because it doesn't sound sexy and it certainly has no direct-skill applications in the work world. If you put critical thinking as an item on your resume, only a very small crowd would view it as information rather than noise.

I guess the other wrinkle is explaining to people that "critical thinking" encompasses a lot more than destroying opposing arguments and building secure arguments of your own; critical thinking is a necessary but not sufficient skill to engage in formal debate, but that's not what most people use it for anyway. Critical thinking is a modality for interacting with the world, and its dictum is active engagement of ideas rather than passive reception and acceptance. Actively engaging with the world involves abstractly de-greasing the gears of their mental machinery so that they seize up and require hands-on attention more often. Rather than allowing an advertisement to blare its claims unchallenged as is default, critical thinking will consider the motives of the advertisers, their most effective methods, the target audience, the angles of human nature it is attempting to leverage, and the explicit or insinuated claims of the advertisement. The author notes broadly that being a sucker is both the cause and result of passively accepting outside claims/advertisements and physically acting based on the assumption that those claims are true. We can not say, however, that learning critical thinking will undo suckerdom (this was discussed in depth in The Republic), but it may innoculate people against falling for some future timeshare sale.

I have long thought about assembling course materials to teach critical thinking, and dreamt about creating an institute for the teaching of critical thinking. Once again, the trouble is convincing people that critical thinking is essential, even though to some of us it may seem obvious. The problem with getting people to take critical thinking seriously is that critical thinking looks a lot like what you'd learn in a philosophy or English class, which people identify with being useless because they don't translate into jobs as a skill directly. Unfortunately people seem to forget that critical thinking is practiced at a high level as part of science, instead preferring to lump scientific cognition into its own category which is framed as inscrutable to the commoners. If I had to teach people to think critically, I'd probably use a blend of media/propaganda study, formal logic, scientific method, rhetoric, and literary deconstruction-- I imagine that's enough to scare away all but the most determined.

<comment><USER8> IMHO, starting to teach it in college would be waiting more than 15 years too late.

</comment></comment><comment><USER9> I think the trivium is what needs to be learned by most people. Many people, especially Americans, have never even heard of it, unless they went to a classical education school.

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

<comment><USER10> Deviations from the Trivium are fashionable but I find that the more I deviate away from it the worse off I end up being in my education. I used to think that understanding was something that was solely axiomatically derived. Now I view skills like memorization as being essential for thought. In order to become fluent in a domain one must have plenty of data, which requires solid memories to maintain. These facts can be synthesized later, which is what the next two steps of the Trivium are for.

It does need to be updated for modern times, though. The basic principles are still worth enforcing. This is where I was introduced to it: [http://www.gbt.org/text/sayers.html](http://www.gbt.org/text/sayers.html)

</comment></comment><comment><USER11> It's always easier not to think for yourself. We want to assume we are surrounded and led by trustworthy people. Thinking is hard, and sometimes frightening; ignorance is bliss. To boot, cynics/pessimists get a bad name for raining on the parade. Whether it's your government or your boss... same thing.

</comment><comment><USER12> Yes, indeed is critical thinking of importance; but unfortunately it is only as broad as the subjects tastes, culture and emotions allow for; very few use logic, reason, or history; and even if objective critical thinking is of the more reasonable, many go against the grain and follow a path of critical thinking that is paved by emotive language and bias.. .</comment>


Who'll be the next president – Google Search - <AUTHOR> https://www.google.com/search?q=who%27ll+be+the+next+president <comment><USER2> Another unintended consequence of Google doing the things that Google recommends you don't do (in this case, scraping sites).

Can we talk about how terrible a piece of pro-hillary propaganda that was?

Namely this:

> America is ready for the leadership of a Hillary Clinton. A new history will > be made when she becomes the leader of the free world. The world of women > everywhere will change

Sure, this sounds very reminiscent of 8 years ago, but what's even scarier is the opening paragraph:

> She has paid her dues as a political candidate

Do people _really_ think like this? All you have to do is "pay your dues" and you "deserve" it instead of voting on issues, track record & potential to make real change?

This is why we can't have nice things.

<comment><USER3> > Do people really think like this? All you have to do is "pay your dues" and > you "deserve" it instead of voting on issues, track record & potential to > make real change?

Yes. Source: Click around the Facebook comments of any substantially large digital publication. Tonnes of people don't even vote. Of those that do, most vote for the parties they're already loyal to. Of the few that are in the middle, most decide according to whatever is fashionable. It's a vanishingly small few that bother to evaluate issues, track records, etc.

<comment><USER2> I get voting on party - what scares me is voting on someone because they "paid their dues" \- which is especially mind boggling when you look at people's approval ratings of those same candidates in their previous jobs (typically congress - which is hanging out at around 16%).

<comment><USER4> I think the "paid their dues" thing is meant to be necessary but not sufficient. That is, a lot of people would be cautious of voting for someone who had no significant political experience.

<comment><USER5> Except for our current president, when he ran in 2008?

<comment><USER4> He was a state senator for 7 years, and a US senator for 4.

</comment></comment></comment></comment></comment></comment><comment><USER6> Some will need a screenshot of the query at some point:

[http://i.imgur.com/SEq4GW9.png](http://i.imgur.com/SEq4GW9.png)

<comment><USER7> My search result is quite different.

[http://i.imgur.com/uDN14bw.png](http://i.imgur.com/uDN14bw.png)

<comment><USER8> [http://rghost.net/6kDYqvpp9/image.png](http://rghost.net/6kDYqvpp9/image.png) got backlink :)

<comment><USER9> This is now entirely self-referential. Also interesting, I guess :)

[http://i.imgur.com/VMrkvTn.png](http://i.imgur.com/VMrkvTn.png)

Edit:

Changing language to English helps.

[http://i.imgur.com/HnG9v4k.png](http://i.imgur.com/HnG9v4k.png)

<comment><USER10> Sweden: [http://imgur.com/6XMCQOS](http://imgur.com/6XMCQOS)

<comment><USER11> I'm also in Sweden, but I'm getting the "Hillary Clinton is the next President of the United States..." box at the top when using a desktop browser.

(hacker news is the first 'real' link)

</comment></comment></comment></comment></comment></comment><comment><USER12> Two Points. Google answers questions, it sometimes gets those questions wrong, but it's getting better. I'm not that worried about the odd wrong answer because that's a consequence of fledgling deep learning software. Things will get better. Of course, some idiot's going to listen to Google one time, and do something disastrous with the "advice" and then they might have to tone it down a bit, but I for one welcome our question answering overlords.

Of more concern is the possibility that Google is increasingly correct, and the algorithms and heuristics it uses know us better than we know ourself. Nothing's going to fuck with democracy more than the knowledge that free will is a myth and the outcomes for Very Important Things are already decided.

Media in the UK are stopped from reporting on Exit Polls before elections and there's a move to ban all polling because knowing how people will vote is enough to adversely affect elections. I can see this being applied to issues like this, but even that's problematic. I don't know if a machine accurately telling everybody who will win is better or worse than a machine only telling Important People who will win.

<comment><USER13> I'd rather see the media banned from telling people who to vote for than see a ban on all polling. But something like that would be impossible to enforce given all publications / news networks have a political bias.

<comment><USER13> Why was this downvoted? A counter argument would be appreciated please.

<comment><USER13> Thanks for downvoting that comment too.

<rant> This site is getting worse and worse for people abusing the negative karma feature </rant>

</comment></comment></comment></comment><comment><USER14> "Because the other side doesn't have a viable candidate" Glorious two party system, how is that even remotely called democracy by anyone?

<comment><USER15> There's no correlation between having a lot of parties and a sound, well functioning political system.

See: Italy, and a dozen other examples from Europe over the last 70 years

If your culture is rotten, your politics will be rotten, regardless of whether you have 2, 5, 27 parties.

<comment><USER16> >There's no correlation between having a lot of parties and a sound, well functioning political system.

Absolutely true, but it is remarkable that the Danes had 10 parties to choose from at our election for parliament last week and the US is supposed to be able feel represented by only two parties.

Denmark is pretty much as homogeneous a society as it is possible to be in a modern world and yet we have 10 parties, granted many have very similar policies. It's completely unrealistic that a country of 320million people should feel that their views should represented by two large parties, when 5.5million people in a small Scandinavian country need 10 parties (9 of which managed to get seats in parliament)

<comment><USER17> The US does have more than two parties. Most ballots have anywhere from 3 to 6. It's just that nobody votes for them unless they happen to nominate someone from the big two.

<comment><USER16> I do understand that there's more than two parties, I should have made that clear. The US system is more or less a "winner takes all" system, leaving small parties little or no change for representation, even if they do represent a large percentage of the population. It is pretty much the same "problem" the UK has.

If the Americans are happy with the system, then then there's no issue, but if a large population group feels unrepresented then I don't think it's a fair system. There's a valid point to be made in terms of the size and diversity in the US might pose a problem for a parliamentary style of government, in as so fare as a plethora of parties could gridlock legislation.

</comment></comment></comment></comment></comment><comment><USER18> Interestingly enough, the top link for me just below the "in the news" headline is this comment thread.

<comment><USER19> It's reflexive SEO :)

</comment></comment><comment><USER20> They have not nailed the "Knowledge-Based Trust: Estimating the Trustworthiness of Web Sources" yet

paper here(paper by google): [http://arxiv.org/pdf/1502.03519v1.pdf](http://arxiv.org/pdf/1502.03519v1.pdf)

</comment><comment><USER21> Nice example of how much ground "AI" has to cover before it can be considered "intelligent". OTOH, lot of humans struggle with differentiating facts from opinions, so can't be too hard on these systems.

<comment><USER22> I don't think this has ever been presented as the cutting edge of AI.

</comment></comment><comment><USER23> 300 million people and (as is all too possible) another Clinton, another Bush? Someone should do justice to the sickness this demonstrates. Good example for Kim in N. Korea.

<comment><USER24> It is kind of humorous how people can't see past their hate of America. Meanwhile weed is being legalized here, is it legal where you are?

<comment><USER25> While I am pro-legalisation, it's not among the most important issues.

<comment><USER24> The point is the people get their way, albeit slowly. It is popular to believe the US is a fascist country, mainly because it is very powerful regardless of objective reality.

</comment></comment></comment></comment><comment><USER26> I like how the second search result points to this thread. We've gone meta HN!

</comment><comment><USER27> The dangers of having a machine give you the "right answer". This isn't that different from that other "right answer" in Google about dinosaurs:

[http://thenextweb.com/insider/2015/05/26/why-is-google- givin...](http://thenextweb.com/insider/2015/05/26/why-is-google-giving-a- creationist-answer-to-a-question-about-dinosaurs/)

All this teaches us is to take Google's first answer with a huge grain of salt, if not almost immediately discard it in favor of further research, even when there's a "simple" question like "how tall is something" (remember Google got Stephen Colbert's height wrong as well: [http://www.huffingtonpost.com/2014/10/21/google-stephen- colb...](http://www.huffingtonpost.com/2014/10/21/google-stephen-colbert- height-search-results_n_6022386.html)).

</comment><comment><USER28> Interesting, I find answers from DuckDuckGo more relevant: [http://i.imgur.com/Dg96e42.png](http://i.imgur.com/Dg96e42.png) all hits are on the title.

I didn't get the one intended by parent from Google though.

</comment><comment><USER29> Okay, this is weird. I'm almost certain that within the last year or two one of the main Googlers said something like "People just want to be told what to do" It was quite a controversy at the time, and people argued that he was just being flip.

I thought it would make a nice addition to this story, juxtaposing people's desire for easy answers with an example of the type of easy answers Google provides folks. It could have kicked off a discussion about the very, very fine line between "helping people" and "telling them what to do"

Only now I can't find that quote anywhere on the internet. Huh?

<comment><USER30> I think they realized that they can easily influence our political landscape by pushing desired candidates and ideas to the top of the search engine results.

But what he said does have truth to it. Most people are employees (they need to be told what do do). It's just an easier way to live.

*Edit: I forgot. So many people on HN work for Google and I can't criticize the king.

</comment></comment><comment><USER31> Given that google shows different people different results for the same query, to tell people what they want to hear, I wonder if others see the same result I do.

<comment><USER32> I used incognito mode and the top hit was this page, so I guess Y Combinator will be ruling the USA shortly.

<comment><USER33> We're doomed!

</comment></comment></comment><comment><USER22> Are there other known instances of this bug? Funny, but could be pretty impactful with the audience being the whole general public.

<comment><USER34> There was an instance where Google gave creationist's answer about what happened to dinosaurs[0].

[0] [http://thenextweb.com/insider/2015/05/26/why-is-google- givin...](http://thenextweb.com/insider/2015/05/26/why-is-google-giving-a- creationist-answer-to-a-question-about-dinosaurs/)

</comment></comment><comment><USER35> In a couple of years we'll be hearing from digital marketers who worked on Hilary's campaign about how they "hacked Google results" that one time. That's only if she wins, though. If she doesn't we'll never speak of this again.

</comment><comment><USER36> The thing that scares me is that Google is probably right (my political leanings aside).

It's scary because the political machine (the "news" and media) probably gives off a signal that a deep neural network has learned. It might be that simple.

Our entire democracy could be exposed for the sham that it is. It doesn't matter what a candidate has done or says they're going to do, it only matters what media keeps saying about it 24/7.

I've seen this over and over. I'd tell someone about a particular congressmen's voting record and bills he's sponsored and they'll say "wow, that guy sounds too good to be true, I'd vote for him", then tell them it's Ron Paul's voting record and they'd say "That guys is crazy" and then repeat everything they've ever "heard" about him.

That's just one example, but voters only know candidates by the media's labels, not by their actions or platform.

<comment><USER30> It's even worse on the Internet with younger voters. If you look at /politics on Reddit, it's all propaganda that bashes the opposition. Link titles are changed to invoke anger.

I hate to see when this generation grows up and Twitter and Reddit are the sole sources of political information.

The "hands up don't shoot" is a good example. Forensic evidence came out and it was proven that this never happened, yet it didn't fit the political narrative. CNN and most of the mainstream news continued to push it as if it was fact.

</comment></comment><comment><USER37> To me this is a great example of how far we have yet to go in machine learning and AI.

</comment><comment><USER38> ..err..so you guys get identical search results? Are you all on Tails over Tor with en_US? I get: "Who will replace Sepp Blatter? - ESPN FC", "Who will be Zambia's next president? | - sardc" etc.

Is this an American problem?

<comment><USER39> Nope, I'm in aus and I see it.

</comment></comment><comment><USER40> While it's kinda funny, I think it's made pretty clear that text is a summary generated from the first search result that is clearly linked below, only a moron would consider this an endorsement of Hillary by Google.

</comment><comment><USER41> It's funny that the first result is now a link to this post on Hacker News.

</comment><comment><USER42> I think it can confuse a lot of people at first glance because Google generally displays the best answer to the query in that space. Funny to see it in this context.

</comment><comment><USER43> Is it wrong? Google's answer is the most likely next president, no matter my politics or whom I would like to win instead.

</comment><comment><USER44> I love that this thread is #1 and "Who will replace Sepp Blatter" is #7 at the time of this post :D

</comment><comment><USER45> Looks like Google took it down? I'm not seeing Hillary when I search this.

</comment><comment><USER46> I would prefer seeing answer to this question from prediction markets, not analysis of websites aka "experts opinions". It's much easier to understand mechanism that generated such prediction and you know that those people actually bet their own money on result.

</comment><comment><USER47> Which country?

<comment><USER48> Whaddya mean, there's only one country that owns the internet; how could that question even be relevant. /s

<comment><USER49> For now!

</comment></comment></comment><comment><USER50> As always, the candidate with the higher advertising budget wins.</comment>


Ask HN: Would you (or family/friends) pay for this service? - <AUTHOR> Problem statement: Starting a new job can be challenging and anxiety-inducing. You are beholden to the onboarding process of the company and you oftentimes don't have a pre-established network you can turn to for guidance/feedback. Unless you worked at a well-oiled machine before, you don't have the right tools/resources to make the right first impressions.
Solution: (Company name), the first platform & community for employees starting new jobs. The platform has 3 value components: #1 a community for support/ideas, which also will include matching to an accountability partner (grouped by job similarity and start date), #2 best-in-class downloadable resources like 1:1 meeting templates, 30/60/90 day start plans, OKR templates, problem solving templates (hundreds of docs), #3 private coaching sessions from the executive team.
Pricing: $19/month for community + resources; $39/month for all that + 1:1 coaching sessions from team
[Caveat] I recognize HN is an overly-technical audience, so please consider you in your earlier career or family/friends who are at the beginning of their journey. <comment><USER2> > $39/month for all that + 1:1 coaching sessions from team

Whether that's a good deal or not depends a lot on your team's experience and qualifications. For example, if my new job is in product management or marketing but all your team members are developers or have only a few years of work experience, I'd look elsewhere for advice.

Are you willing to share what your team's qualifications are?

> a community for support/ideas, which also will include matching to an > accountability partner (grouped by job similarity and start date).

Forums like this are difficult to get up to critical mass. People won't want to join unless they know that there will be other people there to talk to, which there won't be when the service is new. Are people going to risk paying $19 up front if they don't know that anyone with their interests is going to be there? Is there a money-back guarantee if people don't find anyone there who's relevant to their situation?

<comment><AUTHOR> Great feedback - thanks for the questions.

-Re: your first question, we are aiming to build a team of broadly-skilled experts with depth. Ultimately we will ensure the coaching experts are well-qualified.

-There will definitely be money-back guarantees. Also, we are considering free trial periods

</comment></comment><comment><USER3> There is a portion of on boarding to a new company that is common to most companies.

Then there is the portion that is common to many companies in that field, where you would be doing a particular type of work.

Then there is the portion that is unique to that company.

Each company has a unique combination of the above.

You could cover the first part reasonably well, with sufficient funding, a big enough pool of advisors to pull from, good enough marketing, etc.... But that's not going to be enough to provide adequate coverage of the second portion, and you won't be able to touch the third portion.

To really reach into that second part, you've got to have a strong network effect, so that you can get enough community members who can then provide advice coverage in all the various fields. That gets the pump primed and the flywheel going.

I have no idea what it would take to really dig deep into that third part. You might have to already be the Facebook or the Amazon in this field in order to make it.

Speaking only for myself, no — I would not be willing to pay for this service.

However, I might be willing to join a community network of people who are trying to help other people in this space, but only if there was adequate privacy and security built into that network from the very start.

<comment><AUTHOR> Thanks for the feedback! I agree that there are layers of distinction between normal onboarding vs unique. We would strive to play at the 1st and 2nd layer. I'll keep this guidance in mind.

</comment></comment><comment><USER4> I wouldn't buy it because I get this support elsewhere. I can see this being useful to new grads. There might also be an opportunity to partner with universities or alumni programs rather than relying solely on B2C.

<comment><AUTHOR> Thanks for the feedback. The alumni partnership piece is a great idea as they may be willing to front the cost.</comment></comment>


Ask HN: If you wanted to short unicorns, how would you do it? - <AUTHOR> <comment><USER2> Not easy. The great investor John Maynard Keynes said "markets can remain irrational longer than you can stay solvent"</comment>


How CDNs Generate Certificates - <AUTHOR> https://fly.io/blog/how-cdns-generate-certificates/ <comment><USER2> It would be interesting to see stats from the CAs about which of the Blessed Methods is most popular. (This article is about Let's Encrypt using tls- alpn-01 which is an implementation of 18.104.22.168.10 "TLS Using a Random Number"). Doubtless Fly aren't the only people doing tls-alpn-01 in bulk but we don't have a good overview as far as I'm aware.

In principle they can all generate those statistics because they (are supposed to) log enough information to identify what went wrong when, inevitably, something is misissued. Logically that also includes at least which method was used to verify domain authorization or control.

One of the things wrong at Symantec is that it turns out some of the records were notionally kept at CrossCert, a separate Korean company. CrossCert simply did not keep any records (or if it did they were in such disarray that it seemed less likely to attract retribution by refusing to disclose them) and Symantec had seemingly never checked.

Knowing which methods are popular with Subscribers, and whether that varies considerably between CAs would be valuable in trying to figure out how more of the worst Blessed Methods can be deprecated or improved, and who we need to be talking to about that.

For example maybe Let's Encrypt is doing almost all the 18.104.22.168.19 ("Agreed Upon Change to Website - ACME") then there's no point ragging on other CAs for the shortcomings of relying on plaintext HTTP in this method. Or maybe DigiCert are doing a lot of 126.96.36.199.15 ("Phone Contact with Domain Contact") so they are the people to talk through any proposed improvements around stuff like leaving a Voice mail.

</comment><comment><USER3> Part of the last few weeks involved me learning Rust and using it in anger (if hooking nfqueue up to tokio counts as "in anger") so if you'd like to irritate the hell out of 'pcwalton, feel free to ask me Rust questions.

<comment><USER4> Exciting! Are you doing this in your role as Latacora helping out startups with security challenges? (Update: apparently not [https://twitter.com/tqbf/status/1276212163582070785](https://twitter.com/tqbf/status/1276212163582070785))

How is the Fly proxy implemented? Are you using rustls and/or any of the available ACME crates?

I've been wanting to implement tls-alpn-01 support for rustls (although it might be possible to do this just by mutating the ServerConfig over time).

Also interested to hear your general impressions of Rust so far (I think I read some Twitter grumbling...).

<comment><USER3> I'm full-time at Fly. I'll let Jerome answer the fly-proxy question, since it's his code and I wouldn't want to inadvertently take credit.

I think I came across as grumbling about Rust when my real perspective was much more subtle. My take on Rust so far is that it has been, for me, a vindication of a lot of decisions the Go team made, because I've been directly exposed to some of the downsides of the opposite decisions. But, while that sounds like a critique of Rust, it's not! Rust is the way it is for real reasons: zero-cost abstractions and no runtime GC, which are, right now, requirements for some application domains.

For me, right now, writing in Rust feels almost identical to how writing in C++ felt 15 years ago. But I'll keep writing in it, and it'll get faster for me. We're a Rust-on-the-data-plane shop!

<comment><USER5> If you run into issues in Rust that you believe might be signs of a need for language improvements, please feel free to raise them. I'm happy to help.

</comment></comment></comment></comment><comment><USER6> Is anyone else feeling quite sad reading this article? ALPN being used because only 80/443 are realistic these days, middleboxes causing the TLS handshake to have padding so it's not misinterpreted with an ancient protocol (SSLv2).

It feels like the Internet is so fragile.

<comment><USER7> Most of this could have been avoided by using DOH and SRV records for HTTP/HTTPS. I still don't understand why SRV records is not supported for HTTP/HTTPS in browsers.

<comment><USER6> I remember looking into why A/AAAA is still used over SRV, and it would seem performance is one of the big concerns; browsers do not want to make more DNS lookups than necessary.

I think they'd end up with 4 lookups; A, AAAA, SRV (_http2._tls), and SRV (_http._tls).

Though perhaps you are suggesting DoH could mean the resolver also returns SRV records if you request A or AAAA? i.e. proactively point out there's an HTTP server?

<comment><USER8> This debate comes up a lot, and it's hilarious how misguided it was.

I regularly work with load-balancers such as Citrix ADC (NetScaler) or F5 BIG IP. These do DNS-based load-balancing, dynamically returning "A" records to that the browsers so that they can get the "single working IP address" they're expecting. The browsers don't try very hard to fail over to secondary IPs because this is the established standard architecture, but they don't need to because of this common setup.

Sounds like an optimal solution, right? It does at first glance anyway, as long as you ignore the eye-watering price tag on those load balancer boxes.

The subtle but critical issue is that by returning "A" records, the load balancers have to use a short time to live (TTL)! This is because there's a trade-off: You can have fast failover, OR long-lived DNS caching. _With A records you can 't have both!_

Typical response TTL times are 5-30 seconds, 5 minutes tops if you hate your users. This means that many browsers will be forced to repeatedly re-query the DNS servers on _every page load_ for typical end-user workflows. It also means that for all but the biggest, most popular sites, the ISP DNS cache does practically nothing for these records.

Meanwhile with SRV records the TTL times can be much higher, hours even. This is how Active Directory works, for example, all of the Domain Controllers add themselves to various SRV records so that if you query "_ldap._tcp.dc._msdcs.test.com" you get back all the DCs. These records include priorities and weightings, so you can pull tricks like incrementally demote a DC or prioritise the shiny new one.

If you watch the AD connection traffic in WireShark, it's incredible. It very quickly steps through alternate services and then reorders the successful hits in front of the failures so that subsequent queries are lightning fast. It is astonishingly tolerant of partial networking failures, yet still fast to connect despite that!

The key mistake made by the original DNS design working groups was that SRV records should have returned a list of IP addresses instead of a list of host names.

<comment><USER9> Yes, there does seem to be something missing in the semantics of IP lookup. It ought to be a user agent can look up an IP with "keep using until it stops working" sematics. Or "choose one of these 3 IPs, can keep using the one you chose until there is a problem. Or something more similar to how we want client side site availablity logic to work.

</comment></comment></comment></comment></comment><comment><USER10> > We proxy traffic from edge servers to containers through a global WireGuard > mesh.

I am more interested in the mesh. Do you have more details on that? Specifically why this architecture was chosen, what kind of latency does WireGuard add, etc.

<comment><USER11> Ooooh I love Wireguard, we'll have an article about this in the next couple of months.

We picked it because it's really simple to manage, and we wanted to ensure traffic between datacenters was always encrypted. We have a little tool called "flywire" that keeps wireguard peer configs updated from Consul. Once we accept a connection from a user, we pick a target VM, and then connect them over the wireguard mesh.

For our purposes, it basically doesn't add any noticeable latency. I think when we tested we say something on the order of 0.1ms of added latency over wireguard, but I don't quite remember. It's never been the source of latency problems when we do have them, at least!

<comment><USER10> Thank you. Can't wait for a more detailed write up.

P.S: I've built a service using Fly and can't recommend it enough!

</comment></comment></comment><comment><USER12> Question about fly.io: do you support HTTP/2? I have wanted to put gRPC services directly on the edge but most managed services make it completely convoluted to set up (the lone exception being Google Cloud Run).

<comment><USER3> We do! Here's a walkthrough of an H2-based DOH server running on Fly; H2 should just work.

[https://fly.io/docs/app-guides/run-a-private-dns-over- https-...](https://fly.io/docs/app-guides/run-a-private-dns-over-https- service/)

(Beyond that, for whatever it's worth: you can skip our HTTP/H2 termination entirely and speak TCP directly to your VMs).

</comment></comment><comment><USER13> Anyone looking to automate certificate management at any sort of scale should read this: [https://docs.https.dev/acme-ops](https://docs.https.dev/acme-ops)

... and use Caddy to do the heavy lifting. (I'm biased, yes. But the linked doc is multi-authored and applies to every sysadmin or developer who needs to manage certs, regardless of your software choice.)

<comment><USER11> That is a fabulous article.

I also love Caddy. In fact, you can run it on Fly.io (and even opt out of our TLS/cert stack). I would love it if it could just put certs in Vault, though.

</comment></comment><comment><USER14> Can you tell why should I choose fly instead of AWS?

micro-2x shared 512MB $0.000003044 $8 VS t3a.nano 2 Variable 0.5 GiB EBS Only $0.0031 per Hour

I'm missing something? cause seeing the pricing I still feel AWS is cheaper.

<comment><USER11> It's probably better to compare Fly with Lambda or Fargate. It's not really meant to be cheaper than AWS, though, the real value is being able to run app servers all over the world without spending time maintaining servers or wrangling AWS.

<comment><USER14> Makes sense. Comparing the pricing with AWS lambda fly.io is way cheaper. Will give it a try :)

</comment></comment></comment><comment> awinter-py woo, hadn't heard about firecracker

<comment><USER3> Firecracker is f'ing awesome. I have a lot of notes to write up about it. I know this isn't how products actually succeed in the real world, but I'll be honest and say that Kurt had me at Fly with "WireGuard and Firecracker".

(For the unfamiliar reader: Firecracker is a micro-vm system that sits sort of in between a fully virtualized host, like an EC2 instance, and a container like Docker; you get the security isolation of a hypervisor but the speed/simplicity of Docker. It's the engine that powers AWS Lambda and Fargate. The Usenix paper is a pretty great read, and the code [it's all in Rust] is simple and easy to follow.)

[https://www.usenix.org/system/files/nsdi20-paper- agache.pdf](https://www.usenix.org/system/files/nsdi20-paper-agache.pdf)

<comment><USER15> It's fairly similar in concept to: [https://vmware.github.io/vic/](https://vmware.github.io/vic/) for vsphere

Disclaimer: interned with the team

<comment><USER3> Say more, if you can! I'm not at all familiar with that project. Thanks!</comment></comment></comment></comment>


Ask HN: Directory of stable mature software - <AUTHOR>

I am looking for an online directory that is human maintained and contains software development libraries and utilities that are considered stable and are actively used in production environments for at least 10 years. Any programming environment/language will suffice. Thanks! <comment><AUTHOR> At least I found a kind of starting point (although I am not sure what the criteria for a debian stable package are to be put in that list): [https://packages.debian.org/stable/](https://packages.debian.org/stable/)</comment>


Ask HN: How do you find industry research internship? - dnt404-1 I am on my final year of my Master's studies, and I want to intern as an industry researcher in CS-related field. I currently take Web Science where I do network analysis, and also have a degree in Sociology. I also have been working as a web-developer, and currently doing work student job as a web-analytics implementer (nothing fancy).
I tried looking into the few big names (who have international research labs) as I am based in Germany. I applied to Microsoft; Google's intership is closed for this year.
I place where I think I can contribute and learn more would be a company with lots of social data such as FaceBook, Twitter, however, to my suprise, Facebook doesn't seem to have internship projects with social science and computer science background. Maybe a company with a core marketing front?
I wanted to ask how did the HN community find their way into industry research internships or positions? In Europe? In USA?
Where should I start looking it? Are there specific job boards for such kind of positions? Any advice would be super super helpful. <comment><AUTHOR> Try amazon maybe, [https://amazon.jobs/en/teams/phd- internship?base_query=&loc_...](https://amazon.jobs/en/teams/phd- internship?base_query=&loc_query=&job_count=6&result_limit=10&sort=relevant&team_category%5B%5D=phd- internship&cache).</comment>