Crash Data Suggest Driver Error in Toyota Accidents - <AUTHOR> http://online.wsj.com/article/SB10001424052748703834604575364871534435744.html?mod=WSJ_hpp_LEFTTopStories

<comment><USER2> I'd love to see some statistics on the number of these incidents that have occurred with Toyotas versus other makes as a proportion of the total fleet.

These incidents happen all the time, and it almost always turns out that the driver was standing on the accelerator instead of the brake. (Naturally they adamantly deny it - if they'd thought they were pressing the accelerator they would have stopped, after all. Everyone underestimates how much your brain can play tricks on you in this situation.) Of course that does not eliminate design flaws as a cause - for example in the Audi case the pedals were too close together.

Ever since this all blew up I've suspected that it's quite possible the floor mat recall may have simply brought a lot of cases out of the woodwork that are actually not inconsistent with the normal "background" level of such accidents.

<comment><USER3> Not sure if you saw the graph hidden in the side: "Complaints rose after Toyota recalled 3.8 million vehicles in November..." -- it makes the same case as you.

Let's have an experiment: another manufacturer can institute a fake recall and see what happens.

> Naturally they adamantly deny it

And, thanks to the nature of human memory, after the first few times they aren't even intentionally lying. (A memory is part recall, part imagination. Replay something enough times, it can become more of the latter than the former.)

<comment><USER4> Faking a recall is a bad idea. Consider the possibility that Toyota drivers were primed by the media hype to believe that the acceleration problems were real and out of their control. Thus, when they found themselves mistakenly pressing on the accelerator, they were less likely to reevaluate the situation. If they had, they would have realized what was happening and pressed the brakes. The accidents, regardless of cause, were real and dangerous. Inducing more accidents to prove a point is bad policy.

</comment></comment></comment><comment><USER5> Not too surprised either.

But one thing I never understood is how a stuck pedal (one that's actually stuck) can lead to a car accelerating out of control. How could it possibly prevent you from taking the car out of gear, rolling to a stop and turning the thing off? Does it actually affect the ability to shift? Or are drivers just panicking and being dumb? Or do people who own a fancy automatic Lexus actually not know what the "N" on their shifter means?? I sincerely hope it's not the latter.

<comment><USER6> The article says the data recorders indicated the brakes were not applied at all but the accelerator pedal was floored. In other words, people thinking they're standing on the brakes when really they're standing on the gas pedal.

A person comfortable with technology will react to a surprising result by immediately changing what he's doing on the controls to search for cause and effect; for those who have difficulty with technology it is because they can't think scientifically and react by trying to do more of what wasn't working.

<comment><USER7> I long to live in a society where "difficulty with technology...because they can't think scientifically" is seen as a disability!

</comment></comment></comment><comment><USER8> Why am I not surprised?

This can happen to anyone. I accidentally shifted into reverse instead of drive and backed into the corner of my parent's garage. And when I saw I was backing up (slowly) I slammed on the gas. I managed to hit the brake fast enough to avoid damaging my SUV but not the garage.

</comment><comment><USER9> I wonder if the same sensors that provide the log data also control the engine. In that case, it would be impossible to distinguish a sensor glitch from user error by purely relying on in-system logging.

This sort of thing happens all the time when debugging production servers. The same system usually provides the control signal and the diagnostic data. So what initially looks sane, if you keep investigate it, can lead you to a real bug.

I've been pretty skeptical about the whole Toyota stuck accelerator brouhaha myself but this development does not necessarily rule out a design flaw.

<comment><USER10> Really? I mean, we can agree that if there is a glitch that makes the ECU think the throttle is WFO, the log will say WFO.

The important thing is that the log also says the brakes were completely inactive.

Also, consider that the brakes will operate no matter what the ECU thinks, and in at least one case the brake pads themselves were examined, and experts concluded they had not recently been applied at high speeds under full force. The findings support eachother.

<comment><USER11> I recall at least a few reports, I think one was on a recorded 911 call and another observed by a state trooper following, that brakes were applied and after the car was ultimately stopped there was evidence (burned brake pads, brake rotors discolored by heat, etc.) that the brakes were in fact used.

It may be that there were a few genuine throttle malfunctions which, once reported, brought all the "accidentally stepped on the gas pedal" accidents out of the woodwork.

<comment><USER12> If you are referring to the Sikes case near San Diego, that was likely a hoax perpetuated by a bankrupt insurance scammer, an expert driver who supposedly didn't want to put it in neutral and was observed speeding up and slowing down.

The car rental agencies stacking double floor mats is a real issue though, regardless of car model. I had a Saturn where a secondary mat slid under the pedal and got trapped. I never understood the purpose of floor mats anyway. I just take them out.

</comment></comment></comment></comment><comment><USER13> There was a piece on this in the Washington Examiner 4 months ago, here: <http://bit.ly/dmG12o>. It basically noted that almost all of the fatal accidents involved elderly drivers, who, presumably, would be more likely to get confused about which pedal they were pushing:

"In the 24 cases where driver age was reported or readily inferred, the drivers included those of the ages 60, 61, 63, 66, 68, 71, 72, 72, 77, 79, 83, 85, 89—and I'm leaving out the son whose age wasn't identified, but whose 94-year-old father died as a passenger."

"These "electronic defects" apparently discriminate against the elderly, just as the sudden acceleration of Audis and GM autos did before them. (If computers are going to discriminate against anyone, they should be picking on the young, who are more likely to take up arms against the rise of the machines and future Terminators)."

</comment><comment><USER14> I think the fact that over half of the quotes in this articles is from lawyers tells the real story here. Lawyers see a recall, a rich multinational, and some dumb people who will swear that they didn't hit the accelerator instead of the brake.

The NHTSA is a thorough organisation - this isn't some sham front for Toyota.

I just wish someone would publish statistics on make/model for unintended acceleration accidents. I bet the Toyota case is not statistically significantly higher than all other makes and models. But give people something other than their own stupidity to blame and they will grasp it with 5 hands.

</comment><comment><USER15> My initial thought when hearing about all of this was exactly that: they hit the accelerator instead of the brakes. It took me a while to realise why they weren't standing on the clutch: most cars in the US have automatic gearboxes.

I'm guessing this sort of thing basically doesn't happen when you have a clutch, which, if you're used to driving cars with a manual transmission, you'll instinctively jump onto when braking. If you hit the gas instead of the brakes, you won't stop very fast, but at least you won't accelerate.

</comment><comment><USER16> "An attorney who represents four drivers who sued Toyota in state courts over sudden acceleration said the NHTSA finding doesn't mean much for his litigation."

Gotta love how a scientific study by an impartial 3rd party never gets in the way of the legal balance of probabilities and a jury of average Americans.

<comment><USER17> So you were expecting the attorney to say "oh we are screwed now."

</comment></comment><comment><USER10> > Ms. Marseille said in an interview Tuesday that she was entering a parking > space near a library when she heard the engine roar. "I looked down and my > foot was still on the brake, so I did not have my foot on the gas pedal," > she said.

Ms. Marseille, if you are so sure that is what happened, I invite you to sit in my friend's '09 Camry, and from a stop, stand on the brakes and then simultaneously floor the engine. Let's see if you go anywhere.

There is a reason cars can brake many times faster than they accelerate. The only way to start moving in the above situation involves really big engines, manual transmissions, and careful 2-foot, 3-pedal technique.

> "It makes me very angry when someone tells me, 'She probably hit the gas > pedal instead,' because I think it's a sexist comment, an ageist comment," > she said.

If someone has proof, it is neither sexist nor ageist. (I'm calling the surveillance video evidence that the brake lights did not go on proof. Brake lights basically can't malfunction, short of blown fuses or bulbs, yet they turned on after the impact)

<comment><USER18> Also, she mentions people saying "She probably hit the gas pedal instead", not "She probably hit the gas pedal instead because she is in a certain age range and female". People shouldn't confuse a statement about a person with a statement about a group, data supported or not.

</comment></comment><comment><USER19> _The NHTSA spokeswoman said the agency wouldn't comment on its Toyota probe until a broader study is completed in conjunction with NASA, which is expected to take months._

NASA? really?

They then went on to mention 'the National Academy of Sciences', so I'll assume it's a misprint.

<comment><USER20> Yes NASA, really.

[http://money.cnn.com/2010/03/30/autos/NHTSA_NASA_Toyota/inde...](http://money.cnn.com/2010/03/30/autos/NHTSA_NASA_Toyota/index.htm)

 _The National Highway Traffic Safety Administration, which has been criticized for lacking sufficient technological expertise, has recruited nine experts from NASA to help the agency understand how issues such as electromagnetic interference may have contributed to Toyota's acceleration issues.

Separately, the National Academy of Sciences will conduct a study of unintended acceleration and electronic vehicle controls across the entire automotive industry. _

</comment></comment><comment><USER21> cameras are cheap. take a low resolution photo every 5 seconds when the gas is fully depressed, store the most recent 20 and we'll know for sure whats going on.</comment>


Ask HN: How to prepare for a technical interview? - <AUTHOR> I have a phone interview lined up with Google in 3 weeks which will hopefully lead to an onsite. I also have been reached by Facebook to set up times for a phone interview in the next couple of weeks.
I couldn't pass either interview on short notice so I've scheduled my Google interview about 5 weeks in advance and have been brushing up on Algorithms & Data Structures by following MIT's Introduction to Algorithms (Fall 2011)[1] course on Open CourseWare to prepare. It's been really helpful but lately I've been wondering if this is enough to properly prepare myself.
In doing research regarding other common interview preparation tools I've come across multiple books (Cracking the Coding Interview, Elements of Programming Interviews Exposed, etc.) and online resources (LeetCode, InterviewBit), even sites where you can set up mock interviews. It's great that so many options exist but it's given me a bit of decision paralysis when it comes to picking the best 'curriculum' to study to pass these interviews.
For those of you who've had technical interviews recently, can you share your preparation strategy? What did you use to study? What went well, what would you change?
As a side note, judging by HN Search it seems like this community has a negative outlook on modern technical interviews, especially the types used by more 'SV centric' companies which lean towards academic knowledge, and I understand that, but I'm unhappy at my current job and am open to interviewing for a new position, it just so happened that I was contacted by these two companies and I'd like to put my best foot forward.
[1] - https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/ <comment><USER2> 1\. Skim an algorithms text book.

2\. Do some exercises. Doesn't matter from where, it's just about mindset and reminding yourself of all the algorithms you've never used at previous jobs and will never use once you're hired.

I recommend that during actual interview you pre-write tests, write code, and then "run" tests: this shows you're careful, helps you find problems and helps you take control of the interview. See [https://codewithoutrules.com/2016/04/04/interview- puzzles/](https://codewithoutrules.com/2016/04/04/interview-puzzles/) for details on how to do this.

</comment><comment><USER3> * Prepare. It's crummy that highly skilled practitioners have to do this in order to jump the sometimes silly hurdles put in place by technical interviews but it's a fact. No point bristling against it. I've always scheduled interviews in fairly intense blocks, interviewing at 4-8 companies over the course of a month. In the month prior to the interview month I spend about 100 hours preparing.

* The best practice for technical interviews is technical interviews. They are easy enough to set up, all growing companies are hungry for new talent and their pipeline is setup to create technical interviews, not filter people prior to technical interviews. Additionally, even if you're very good the failure rate is still relatively high. I'm a very confident interviewer for correctly matches roles and still get turned down about 1/4 of the time.

* Be prepared to talk, plan or converse about scalable architectures and approaches. For my last round of interviews I read a large portion of The Architecture of Open Source Applications[1] as prep work.

* Brush up on algorithms. There are so many places to do this that I honestly don't think any advice I can give you here will be more helpful than other resources on the web.

* Last but really first: Have a history of working at the same or just below the level as the job that you're applying for. Having both a depth and breadth of experience matters. If for some reason you don't have access to this type of experience you should seek it out via relocation, open source or remote work.

1\. [http://aosabook.org/en/index.html](http://aosabook.org/en/index.html)

</comment><comment><USER4> You're on the right track. I went through the algorithms book and did some leetcode and hackerrank problems, and did well on onsite interviews with four large software companies this month. Leet is nice because they categorize their problems, so you can make sure you're getting a good variety, and can identify any gaps you may have. Even if you're a genius and have a ton of experience, it's still important to work through some leet-style problems, just to get back into the mind-set of how to quickly solve these types of things, which don't come up often in day-to-day work situations.

Don't get terribly bogged down memorizing the details of e.g. red-black tree implementation, nobody asks much about that. It's more about knowing what algorithm to use for what job, and big-O complexity. Also make sure you know how to use a trie (prefix tree): it's not in the algo book but seems to be a popular interview topic.

In general, most interviews are similar to the kind of thing you find on leetcode, generally at the easy to medium level. Write some code that does X. Then it usually progresses to "what if you had a gazillion elements" or "what if you had to do it in 64 bits of memory", etc.

In addition there are usually some high level design like "how would you design a google search competitor?" which can go any direction from distribution to redundancy to security (all high-ish level; you don't have to know the details of these topics, just how to draw boxes and arrows). And there may or may not be some situational "tell me about a time when" style questions, so have some good examples prepared.

Practice your handwriting on a whiteboard. Practice going through your solutions and describing them coherently. (Hint: draw some diagrams and slow down, like every word you say costs a dollar). Don't give up: if you are totally stumped, something along the lines of "Okay here's what I'm thinking ... but here's why I think it won't work ... am I on the right path or would you suggest a different approach?". Ask questions to make sure you're using your time wisely: does the interviewer want to see the "best possible" solution, or does the interviewer just want to see the first thing that pops into your head; does the interviewer want to see code or are we just talking about it?

</comment><comment><USER5> [Shameless plug] We're one more option for preparation: [http://interviewkickstart.com](http://interviewkickstart.com). We're a bootcamp, which continually tries to answer this very same question - where to start and how far to go, when it comes to preparing for technical interviews?

We usually remain booked very far out though. But if we can help you any time in the future, please feel free to reach out!

</comment><comment><USER6> Google and Facebook are known for always using the same set of questions during phone screens. Just google for past experience and you'll be able to compile a good collection of questions you'll be asked.</comment>


Facebook's Fatal Error - The Daily Beast - <AUTHOR> http://www.thedailybeast.com/blogs-and-stories/2009-06-10/the-facebook-land-grab/full/ <comment><USER2> This is an expression of it, certainly... Facebook, to users, had a very clear idea of what it was but Facebook the company doesn't know who it is and keeps trying to force changes.</comment>


Ask HN: 200k student debt, degrees not very useful. What to do? - <AUTHOR> Situation:
About to graduate top 10 law school.
Top 10 undergrad, BA in random dumb social sciences junk I regret studying (high GPA).
roughly 200k student loans by the time I graduate.
Performed mediocrely in law school (put in serious effort, but, it's tough, at least for me. Lots of other excellent students here. Did well in some classes, but not most.)
As a result, didn't get one of the big law firm jobs I was expecting to justify the investment
Best current law job prospects pay 50k and stay pretty flat (public interest). I've applied to just about every legal position, clerkship, fellowship etc. out there. I've got a gig right for right after I graduate but that's pretty short-term, and I want to think about the future here.
Not that into law. Its not as interesting as i thought. Also the opportunities suck -- its status/prestige-obsessed if you want to make good money doing something besides personal injury and hoping to get lucky, and I failed in that competition, top 10 JD aside. Oh well.
I am around 30.
Wishing i'd studied a serious subject. i was scared about getting a low GPA, but having useful knowledge would have been way better.
I think i have the aptitude to learn stuff and do well in some career, but not sure what to do.
More school seems pointless and financially infeasible besides, plus i am burned out on academia. plus i'll be working full time to support myself -- can't take out any more student loans, especially for a second bachelor's.
Interested possibly in programming, comp sci, electrical engineering, but don't know enough about those fields to know whether i like them or just the idea of knowing a "hard subject". Also while I know you can self-teach programming and have friends who've done so, not sure how you'd go about self-teaching say engineering.
I don't really want to find something "safe" and ride it out till I retire. I want to figure out a way I can make a real contribution and do something interesting while making good money. Maybe that sounds weird for someone who went to law school, but I had something of a perspective shift mid-law school. So advice along the lines of "most work sucks, just learn to deal with it" isn't really helping me solve my problem.
What should I do HN?
Also as far as legal career options, before anyone asks:
1) Yes I've applied to government law jobs. Those are really hard to get, some even way harder than private sector firm jobs, which i failed to swing.
2) i have nothing against public interest law. i may even do it for a while to pay the bills. but having some experience in it already through law school stuff, it just wasn't something I could see myself doing indefinitely and enjoying very much. Plus the pay is really quite terrible.
3) working in-house at big companies is a route that's pretty much closed unless you're lateraling over from BIGLAW (a route now closed to me due to the way legal hiring works) or have some kinda nepotistic connection (which I don't have).
4) I'm not too much of an outlier in my situation. Lots of people in my class that I talk to privately are looking for work. The school tries to put a smiley face on the situation, but privately they'll tell you in your second year that if you miss the boat getting a job at on campus interview with a big firm, your short term private sector prospects are in the $20/hr range, which wouldn't be bad if you were coming straight out of college, but, with law school debt, it's pretty awful. It's bad out there, even near the top of the law school pyramid. <comment><USER2> 1\. What about entering a military JAG program? I believe they'll pay back a large part of your loans at some point. I honestly don't know much about this option, just throwing it out there.

2\. If you're interested in startups there's very serious demand for people that _really_ know how to do startup marketing. Things like this: [http://www.slideshare.net/dmc500hats/startup-metrics-for- pir...](http://www.slideshare.net/dmc500hats/startup-metrics-for-pirates-long- version)

There are 100 great programmers for every great marketer. If it's something that resonates with you you could certainly build a lucrative career out of it, either highly paid consulting for startups or to your own benefit as a founder.

3\. If those too-many-years in school have made you good at writing you might try your hand at blogging. Arrington was a somewhat middling lawyer if I have my history right, but he had the perfect personality to cover startups effectively.

You can make real money if you have the right set of networking and writing skills.

<comment><AUTHOR> 2 and 3 are interesting, thanks.

As to 1 (JAG) I've looked into it extensively. Every branch except Army is insanely competitive and Army is just super-competitive. I might have a decent shot at Army though, but decided that it wasn't for me.

</comment></comment><comment><USER3> Don't worry about self-teaching engineering right now. You're planning too far ahead like you did with all the years spent in college pursuing law only to find out you don't like it (something you could have learned in a significantly shorter amount of time had you just interviewed, volunteered, and intern for a couple weeks/months prior to studying for it).

Point being, same thing here. Find something interesting but relatively simple you may want to code out. Ask your friends for some help, if needed, but work through it. Read books and websites where applicable and get a feel for whether you even like it or not. If not, you'll save yourself a lot of time rather than worry about all the other junk and move onto the next thing. Same thing with hardware. If it all works out, you can figure it out step by step once you're pass the basics.

<comment><AUTHOR> yeah this is a good point, thanks.

</comment></comment><comment><USER4> Here's the truth, you never end up doing what you studied. Not these days anyway.

The working world is changing and although you are disilluioned with Law, everything you learnt is valuable, but you don't have to be what you studied to be. If there's a message in the start-up world - that's it.

Reading between the lines:

You have a huge debt that you want to clear asap

Startups can make loads of cash

You hate law - but feel obligated to it because of your qualification

You want to be around startups (hence HN membership)

Sounds like a perfect candidate for a VC.

<comment><AUTHOR> So how do I do this?

</comment></comment><comment><USER5> _More school seems pointless and financially infeasible besides, plus i am burned out on academia. plus i'll be working full time to support myself -- can't take out any more student loans, especially for a second bachelor's._

Just to throw an idea out there... maybe you could attend a community college part-time and get a degree in something unrelated to law. Since CC's are much less expensive, you could probably swing it without taking out any more loans or anything. And you could take night classes while working at whatever job you have.

Yeah, yeah, I know, but here me out... first, there is _nothing_ wrong with attending a community college. Forget any elitist dogma bullshit you may have been taught growing up, this is about making the best of things, and doing what you have to do. Next, consider this... you _have_ a degree from a prestigious law school... that looks good on your resume _no matter what_. Even if you don't pursue a law job, you'll get more interviews and find more doors open to you just because you went to $TOPTENLAW.

So... go get a 2 year degree in business administration, or marketing, or computer programming or something that interests you, and you will undoubtedly be able to transition into some other field. Yeah, you might not start out making big bucks from day 1... sorry, but life isn't always fair. But, cynicism aside, the world we live in (at least in the US) is actually moderately meritocratic. If you're good at something, you can work your way to a nice living. Just accept that nothing is going to be handed to you, and that you'll (probably) have to work your ass off. But if you really want to achieve, you can.

Another possibility is to learn to code (as you said, you can teach yourself) and eventually jump into a tech startup.

<comment><USER6> I think this is actually a good idea. Your "Degree" is always your highest degree. So lets say you went to Harvard, you are always going to be a Harvard grad, the community college degree is not going to affect that. But if you take say a CS path at the community college you would be a Harvard grad with an IT focus. I think there is some merit to this. What I don't believe that you need to do though is now go to MIT to get a CS degree, it's just too much debt for what you can realistically command in salary.

You will have to forgive me but I don't know much about the Law profession from an employment perspective. Is their not a way to join a top law firm at an entry level. Below where the good GPA candidates enter and work your way up. It is a foreign concept to me because in the development industry you ascend the ladder by proving yourself. If you are good people will notice in my industry.

As well, what about organizations like the EFF or the ACLU do they have programs where if you join them they help with the debt. I would like to think that they do, but again I don't know much about law employment.

<comment><AUTHOR> Thanks for your comments. I'll comment on joining the legal profession at the entry level and on public interest law.

How legal hiring works at big law schools is this: you go through your first year and get your grades. At the beginning of your second year, you interview with big firms. You hopefully get an offer to work at one summer of your second year. You do well that summer and hopefully get an offer.

This is the primary hiring pipeline for all big firms. A much smaller pipeline is lateraling over from another big firm after you've worked there a few years, but still, you need get through this pipeline at some firm.

If you miss this window, you're basically finished in terms of prospects at a big firm. A couple of people manage to pick up a job their third year but its pretty hard (I tried but failed).

It's a really weird system I know. But yeah, there's no way for me to go to a big firm and say "I'll work for free if you give me a shot."

I _could_ do that with much smaller firms but then instead of 160k market salary + high-level, interesting legal work being the end game its more like 40k and much less interesting work.

As to public interest orgs like EFF, if I work at some place like that, then between the federal government program and my school's program I can get some assistance and, after 10 years, get my debt forgiven. I'm looking into this seriously and this is my "backup" plan. 10 years is a long haul for something I'm not too excited about (see post) and at a very low salary, though.

<comment><USER6> _10 years is a long haul for something I'm not too excited about (see post) and at a very low salary, though_

Right which is why, if I where in your shoes I would start down that course and build up experience. Look for problems in the legal profession and think of solutions of how to fix them. Maybe learn some code or find someone that does code that is interested in the legal market. Then build something to fix a problem in that market. You contacts in the industry by the time the 10 years is up will be the key that a developer that is just interested in Law will not have. Look at the 10 years as a plan to utilize your education and by then experience to solve problems in the form of productized solutions. If you hit before the 10 years is up, all the better, you walk from the job and pay the debt with the proceeds from hitting it off. I would imagine that there are not a lot of lawyers turned solution providers, I may be wrong but it seems like after investing that much education most would be looking to directly work in the field.

<comment><AUTHOR> This is a good way of approaching the situation. Thanks.

</comment></comment></comment></comment></comment><comment><USER7> It isn't exactly the most popular option for a lot of reasons, but one possibility is going on an income based repayment plan for as much of the debt as you can. The debt sticks around for 25 years but it allows you not to worry about not having enough money. Also, what are your interest rates? If they are in the 3-4% range, you may be able to do better taking your extra money and saving with it rather than paying off the loan.

<comment><AUTHOR> Yeah I'm going to be on IBR no matter what, it's the only way I won't go into default.

My loans are all mixed but a good chunk of them are at the GradPLUS rate which is 8.5%.

</comment></comment><comment><USER8> The best I can do is advise you a little on dealing with that $200k in student loans. The rest of this comment applies to just federal loans. For private education loans, you'll need to contact your lenders for details.

With that amount of loans, I'm assuming you maxed out your federal loans (which happens around $120k -- maybe a little north of that because of capitalized interest) and the remainder is in private loans. I don't know a whole lot about private loans, but, as far as federal loans, if you're making $50k with $120k in loans, you're certainly going to qualify for reduced payments, which will at least ease the monthly burden on you. You'll need to talk to your loan servicer, but, since the payments on income-based plans are based on a strict percentage of income (IIRC, 15% of your gross income is the max), based on the info you've provided, I don't see any problem whatsoever with you qualifying.

With your debt and income numbers, if you take a reduced payment schedule, you might end up with a payment less than the interest on the loan, which means you essentially never make progress toward paying it off. However, if you have this type of financial hardship for the next 25 years, your federal loans will be forgiven.

Now, if you work in a public interest-type job, there's the possibility you can qualify to have these federal loans forgiven in 10 years instead of 25 on the income-based plans. You'll need to contact your loan servicer for details on that.

Finally, because interest rates are essentially as low as they can get on federal student loans, you're going to be well-served by obtaining a federal student loan consolidation. Contact either your loan servicer or the William D. Ford Direct Loan program (<http://www.loanconsolidation.ed.gov/>) for details on consolidation.

This information came from three years experience at a company that consolidated federal student loans. I can also recommend the site finaid.org if you have any questions I haven't answered. I haven't read every word of every page there, but what I have read seems spot on. Specifically, you might find the following page to be of interest to you: <http://www.finaid.org/loans/publicservice.phtml> .

I hope this helped a little. Believe me, I understand the psychological and financial burden these types of loans can put on someone.

<comment><AUTHOR> Thanks for your comments.

Overwhelmingly majority of my loans are either federal, or a type of loan (GradPLUS) which you can consolidate with federal and get debt forgiveness on.

So yeah I've factored IBR into my plans, and might do public interest for the debt forgiveness (and because I don't have a lot else going on at the moment anyways).

Even 10 years is a long haul though!

</comment></comment><comment><USER9> If it's of any consolation, I'm in medical school, hating every second of it, and will likely be in your position very soon. I regret not getting into engineering almost every day of my life. Not much help, I know, but know there are others who can empathize. Good luck.

<comment><USER10> What is the worst thing you hate about medical school?

<comment><USER9> That I'm wasting my 20's on a profession that offers no room to innovate, whose training is no more difficult than learning how to drive a tractor, where the work is not stimulating and involves seeing the same patients with the same diseases day-in and day-out, and that will soon be uprooted by technology.

The career is hardly meaningful, despite what others romanticizing the profession might have you believe.

<comment><USER10> wow really? I thought being a doctor is as stimulating as it gets... trying to find out causes for diseases, evaluating worst case scenarios, etc.

Have you thought about partnering with someone with an IT background to pursue something with mobile health, EHR, or something that's in the crossroads between the 2? There's a lot of innovation there.

</comment></comment></comment></comment><comment><USER11> Listening to NPR while browsing HN, this story came up just as I clicked on your link:

[http://www.npr.org/2012/01/16/145179563/do-law-schools- cook-...](http://www.npr.org/2012/01/16/145179563/do-law-schools-cook-their- employment-numbers)

</comment><comment><USER12> Patent law is becoming a serious issue in I.T.

Don't worry about low paying jobs initially, as long as it is in the right area.

The debt is already going to kill you, so don't sweat it anymore. It is irrelevant to the discussion. Just don't take on further debt.

<comment><AUTHOR> I have lots of friends going into patent law.

But most of them have PhDs in the hard sciences and if you look at job listings they tend to want that.

Oh and don't worry about more debt, I don't think that's _possible_ at this point :)

<comment><USER12> While PhD may sound like a qualifying area, I don't think you should necessarily give up.

The reason is a PhD in, say, Chemical Engineering, doesn't really help with electronic patents do they?

Read up on Groklaw the issues at hand and see if you can mount any interesting arguments / twists. If you have enough knack, then at the very least you'll sound like a qualified candidate.

Otherwise, try for a side entry via some kind of pro-bono work for the EFF.

</comment></comment></comment><comment><USER13> I found your story very interesting. Some might question how you made it so far without a plan, but I get it.

So, what would you do if you had no debt, and no obligations? What do you do on weekends? Any hidden career desires?

<comment><AUTHOR> Oh I had a plan it just hit the skids when I didn't get any offers from law firms...I think it was a bad plan from the get-go though.

I'm not sure what I would do.

I have an idea or two for an app but I need to develop the coding skills.

I game to relax. Steam for the win!

</comment></comment><comment><USER14> I don't know much about law school, so bare with me if this sounds far- fetched.

Have you considered trying to offer legal consulting as a service, especially for start-ups?

I mean it cant hurt as a side job to pay the bills.</comment>


NYT thinks Amazon should choose Denver for their new HQ - <AUTHOR> https://www.nytimes.com/interactive/2017/09/09/upshot/where-should-amazon-new-headquarters-be.html?mcubz=1 <comment><USER2> Cleveland would be a cheaper and more reasonable centrality.

<comment><USER3> it's a city that way less desirable to live for young people, and for the vast majority of the population.</comment></comment>


A spreadsheet in fewer than 35 lines of Tcl/Tk, no library used - <AUTHOR> http://wiki.tcl.tk/41294 <comment><USER2> Obligatory K reference: 2 line spreadsheet implementation.

        S..t:".[`D;(;);{. y};S[]];S[.;`f]:9$D[]"
        S:D:.+(`a`b`c`d;4 6#,"")

This is for K v2 which had Web+JS style built in native GUI. Later versions (K3 =~ Kona, k4/q and the upcoming k5) have dropped the GUI, so unless you have a K2 interpreter lying around, you can't test it. But rest assured it did work on a standalone 200KB interpreter that runs on a bare Win32 or Linux/Solaris + X install.

More info in [http://nsl.com/papers/spreadsheet.htm](http://nsl.com/papers/spreadsheet.htm) \- look for S- near the bottom.

</comment><comment><USER3> A friend of mine wrote a mouse-driven spreadsheet in a single line of BBC BASIC. Tokenised, it was less than 254 characters. No load or save capability, but full formulas and cell references, and demand-driven recalculation.

I should find, reformat, annotate, and re-implement it. If only I had the time. One day.

<comment><USER4> I wanted to write a short computer program but didn't have te time?

<comment><USER5> The length of the program isn't necessarily correlated with the amount of time it takes to write it, or more importantly, understand it ;)

<comment><USER6> I believe that's the joke:

"I wanted to write a short computer program but didn't have the time (so I wrote a long program instead)".

<comment><USER7> It is not a joke. Optimization takes time.

<comment><USER4> As the foremost domain expert on the subject (the subject being what I meant by my own comment), I can say with 100% certainty that it was in fact a joke, or rather a poor attempt to paraphrase Mark Twain's: "I didn't have time to write a short letter, so I wrote a long one instead."

Of course you are right, optimization does take time, whether you are optimizing a computer program or a letter.

<comment><USER8> Not Twain, Pascal: [http://quoteinvestigator.com/2012/04/28/shorter- letter/](http://quoteinvestigator.com/2012/04/28/shorter-letter/).

But yes—just as applicable to computer programming as letter writing.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> [https://news.ycombinator.com/item?id=6725387](https://news.ycombinator.com/item?id=6725387) has some commentary on the <30 line JS spreadsheet. It includes some interesting discussion on functional "spreadsheet" implementation with Haskell.

</comment><comment><USER10> But if compilation is compression, what if I zip the aformentioned Basic and Kv2 versions? Do I win?

[http://www.pvk.ca/Blog/2014/03/30/refactoring-with- lz77-comp...](http://www.pvk.ca/Blog/2014/03/30/refactoring-with- lz77-compilation-is-compression/)

(This is a joke, lest someone take me seriosuly.)</comment>


Choose Your Cofounders Carefully to Prevent Disaster - <AUTHOR> https://medium.com/@jproco/choose-your-cofounders-carefully-to-prevent-disaster-2ca466a009c0 <comment><USER2> a long winded way of saying that you have to have vesting. It solves so many problems.</comment>


Rust: The New LLVM - <AUTHOR> https://willcrichton.net/notes/rust-the-new-llvm/ <comment><USER2> So the Rust compiler can be the basis of a compiler provided the language is exactly like Rust and if complex changes for the benefit of reusing compiler internals are implemented. Not exactly a value proposition.

> A lot of ideas we take for granted in our programming languages like loops, > closures, and enums (sum types), have to be re-implemented every time a new > language compiles to LLVM

If you don't want to implement the low-level building blocks of your programming language, why don't you just generate Rust code instead of attempting to write a compiler?

</comment><comment><USER3> This is a cunning plan. If someone writes a language that targets Rust instead of LLVM there will a language that compiles slower than Rust.</comment>


IP Geolocation Through Reverse DNS - <AUTHOR> https://arxiv.org/abs/1811.04288 <comment><USER2> > To aid reproducibility, we open source our entire approach.

Probably because it's a draft but I was not able to find any source code (looked up the authors github repos and websites)

Also the end of the conclusion is pretty interesting:

> Our future work will focus on combining reverse DNS hostname information > with WHOIS databases and network delay to form a geolocation database across > the entire IP space

</comment><comment><USER3> Paper seems to miss to me the obvious approach of not only reverse lookups on the target IP but the last few hops in the trace route to the IP

<comment><USER4> That's a neat suggestion to extend this approach. However a key consideration mentioned in the paper was speed and scale. Their approach requires 1 reverse DNS lookup, not running a traceroute to the IP to determine its location

</comment></comment><comment><USER5> > IP Geolocation databases are widely used in online services to map end user > IP addresses to their geographical locations. However, they use proprietary > geolocation methods and in some cases they have poor accuracy. We propose a > systematic approach to use publicly accessible reverse DNS hostnames for > geolocating IP addresses. Our method is designed to be combined with other > geolocation data sources. We cast the task as a machine learning problem > where for a given hostname, we generate and rank a list of potential > location candidates. We evaluate our approach against three state of the art > academic baselines and two state of the art commercial IP geolocation > databases. We show that our work significantly outperforms the academic > baselines, and is complementary and competitive with commercial databases. > To aid reproducibility, we open source our entire approach.

(abstract from the linked article)

<comment><USER6> > To aid reproducibility, we open source our entire approach.

Only the approach as how to do it is open sourced or is there an implementation associated with it.

</comment></comment><comment><USER7> We use rdns hostname data as one of the data sources for our geolocation database at [https://ipinfo.io](https://ipinfo.io), but some of the ML stuff here is definitely interesting, and we'll be looking integrating some of the more novel techniques covered here!

</comment><comment><USER8> Trying to say "we can do IP geolocation through rDNS" is a really bad idea. I control several /16 chunks of IP space that through their ARIN WHOIS entry and rDNS could be located anywhere from northwest montana, to the NW corner of WA state, to Eugene OR, to Boise ID, or anywhere in between.

Maxmind and other geolocation services are also famously bad.

[https://www.google.com/search?client=ubuntu&channel=fs&q=max...](https://www.google.com/search?client=ubuntu&channel=fs&q=maxmind+kansas+farm&ie=utf-8&oe=utf-8)

</comment><comment><USER9> Ideally, a geolocation system should also work in an adversarial setting, when somebody is trying to spoof their geolocation. We recently learned that some VPN providers do that, to appear to have proxies in more countries: [https://research.owlfolio.org/pubs/2018-catch-proxies- lie.pd...](https://research.owlfolio.org/pubs/2018-catch-proxies-lie.pdf)

Obviously, people can lie in their reverse DNS record but active measurements from distributed vantage points (e.g., by using the RIPE Atlas network) could expose that.

<comment><USER10> Note that you can use [https://ipmap.ripe.net](https://ipmap.ripe.net) to lookup any IP address and RIPE Atlas measurements will be scheduled in the background to figure out the the location. So no need to schedule measurements manually (requiring credits).

We're also working on a reverse DNS geolocating backend BTW. We will look into this paper.

</comment></comment><comment><USER11> > To aid reproducibility, we open source our entire approach.

Where the code? :/

</comment><comment><USER12> Reverse DNS typically puts me thousands of miles away. Full stop.

</comment><comment><USER13> I was hoping for a Proof Of Concept or a Demo...

</comment><comment><USER6> Is there any implementation yet on how this could be done?</comment>


Ask HN: How did you get your first remote job? - <AUTHOR> How you came to know about the opening? How experienced were you? How was the interview? What were the challenges? <comment><USER2> I was out of work at the time. I was calling everyone I knew to talk. <side note: you cannot ask for a job, just let them know you are looking. If they have a job they will tell you. If you ask they will often clam up.>

I called someone whom had worked for me 7 years before, and he needed help. He now worked 9 hours away, but was happy to have me work remotely.

</comment><comment><USER3> 1990 being the world expert in some field, being contacted from the US to build some stuff for them. No interview as I remember, never saw the guy, but he was very nice and competent. No other challenges than the 6 hrs time difference to the east coast. The west coast work was harder, this was 9 hrs difference. But still no problem as we had 2 hrs overlap.</comment>


I disagree with Linus Torvalds about C++ (2009) - <AUTHOR> https://www.johndcook.com/blog/2009/09/15/linus-torvalds-cpp/ <comment><USER3> I've been trying to recruit good Modern C++ devs for almost a year and it's _very very_ difficult. Even people with significant experience in their resumes usually fail to answer most basic questions like what is RAII or const correctness? In what cases would you rather pass around naked pointers instead of smart pointers? And so on. I shudder at the thought of these people writing C++ code and putting it in production. In C++ there are only few ways to do things right and _lots_ of way to do it wrong. There is a gotcha virtually in every turn of the language, often not caught by compilers even with all warnings enabled. To top this off, static analysis and linters remains extremely poor for C++.

I understand Linus's argument that in large collaborative C++ projects driven by volunteers, you can easily end up with messed up code base littered with stupid mistakes. C is slightly easier to understand and deal with - relatively. Also note even fewer people actually knows what C++ features you can use it on bare metal or kernel code.

On a fun side story, Windows NT team initially had huge debates on using C++. Dave Cutler was firmly against using C++ to build OS if I remember correctly but the graphics group decided to be hip and modern and do everything in C++. After long delays and frustration graphics group had to revert to C.

<comment><USER4> I feel that I'm more skilled in C++ because I developed a large project in C first. Whether or not C is the language one ultimately chooses, it makes one aware of the tradeoffs and benefits of various coding styles.

<comment><USER3> Main advantage of C is that it forces you to understand what goes on under the hood. To many C++ programmers who didn't do much work in C, if you ask how the variable var1 bellow gets allocated, they will be scratching their heads. As a former C programmer, this is the first thing I try to understand - who is allocating what and who will be freeing it up and how. I don't like anything to be black box or performing magic for me. But many quick short and sweet courses on C++ completely skip this. There is in fact a book someone showed me which said that you don't need to worry about memory allocations in modern C++, just use smart pointers and everything will be taken care for them! Poor souls!!

      void f() {
        Vector<int> var1;
      }

<comment><USER5> Any C++ programmer worth their salt should know that a vector is implemented using begin and end pointers. I believe its do with the person than the language. The same person can miss nuances of C as well.

<comment><USER6> Ahem... I think that the tipical implementation is a triplet of base pointer, allocated size, initialized size.

<comment><USER4> I expected it would be, and that's how I've implemented my vector variants, but I checked the source code for libc++ and libstdc++. Both use two pointers.

<comment><USER6> Interesting. I do remember inspecting _M_begin and end in the debugger.

I can't be bothered to check the implementation now, but the allocated size must be stored somewhere. My first thought of inferring the capacity as the smallest power of two greater than the used size doesn't work as the vector size can shrink without affecting capacity.

<comment><USER4> The used size is end - begin; the capacity is stored in addition. That's why sizeof(std::vector<T>) is 24 on x86-64.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> let's keep in mind that even though Torvalds said this from the kernel point- of-view, he agreed in porting his userspace app Subsurface from C with GTK to C++ with Qt.

[https://liveblue.wordpress.com/2013/11/28/subsurface- switche...](https://liveblue.wordpress.com/2013/11/28/subsurface-switches-to- qt/)

Besides, there's really not much point in comparing, 1991 non-standardized "vector<bool> sounds like an awesome idea but first we have to find a compiler which implements inheritance properly" C++ with 2018 "you can compile template metaprogramming and constexpr stuff on commodore 64 and windows 10 and it works fine" ([https://www.youtube.com/watch?v=zBkNBP00wJE](https://www.youtube.com/watch?v=zBkNBP00wJE))

<comment><USER8> exactly - it's that "system level" kernel point of view that's important - <USER2> write a lot of embedded/real time/kernel code and essentially the thing you have to avoid is "new" which is sort of the heart of the language ....

Why new? because you don't have a heap in the kernel, or practically on a system with 20k or ram, new is also bad in real time code because underneath it is malloc and (like printf/stdio) all the mutexes that protect code that is messing with the heap structure .... and that way lies priority inversions and heisenbugs and other dark beasties ...

(for a lot of real time code new is great at the beginning of time, but not on the fly while the world is running)

<comment><USER9> You can overload operator new to not use the heap. You can use allocators.

<comment><USER10> Overloading new (for the purpose, of e.g. adding a thread-local allocator) adds implicit global state that isn't always easy to manage.

<comment><USER6> Sure, but no more than the standard allocator. Explicit allocator objects are a superior solution most of the time anyway.

</comment></comment></comment></comment></comment><comment><USER11> > For example, once you've allocated and de-allocated C structs a few times, > you realize it would be good to have functions to do this allocation and de- > allocation. You basically end up re-inventing C++ constructors and > destructors.

Conflation of resource allocation on the one hand and construction (a.k.a. initialization) on the other.

Good C programmers do not re-invent C++ constructors and destructors, because they don't think what C++ constructors do is a good idea to do.

While C++ allows to separate allocation and initialization ("placement new") that goes against the grain of the language and its ecosystem. You're still left with constructors new-ing nested things themselves, and you're still left with exceptions from constructors while a simple return value would be better.

> A typical C or C++ programmer simply will not write anything more efficient > or more robust than the methods in these libraries if they decide to roll > their own.

A typical C programmer will write something _different_ in the first place. Something that doesn't take ages to compile. Something that doesn't do allocations behind their back. Something that doesn't spew out nigh unreadable error messages if they got a simple thing wrong. Something that doesn't encourage clever code that isn't doing anything useful. Something that doesn't require loads of boilerplate and duplication (thinking of const for example) for the simplest task.

<comment><USER12> > Conflation of resource allocation on the one hand and initialization (a.k.a. > initialization) on the other.

a.k.a. RAII (Resource Allocation Is Initialization). Which is very often what you want anyway.

<comment><USER13> As others have said, it depends on your context. If you need to be able to maintain tight control over resource usage, for example, RAII creates challenges. It can also be a bit of a chore to think about if you're doing interop with other languages.

I've come to think of C++ as the tiktaalik of programming languages: It can live in two environments, and was an important evolutionary step in transitioning from one to the other. But, ultimately, it embodied so many design compromises that it was never going to be ideally suited to either of them.

</comment></comment></comment><comment><USER14> I can understand where Linus is coming from. C++ does indeed have STL and Boost into which much thought has gone. But they do not feel like an integral part of the language or a natural extension of it. The verbose, sometimes awkwardly complex syntax that results is also a problem. It may work for those who can stand this. But for others it is not so pleasant.

When using C++ I feel like too much of my time is spent having to understand how the abstractions work under the covers. I feel that this is somewhat pointless. Shouldn't a high level language free you from worrying about the details?

<comment><USER15> c++ is only a "high-level language" in comparison to c or asm. it should basically never be your first choice for a crud app in 2018. the point of the standard library is not to give you a bunch of abstract containers that "just work", but rather to give you many highly-optimized implementations of specific data structures to choose from.

<comment><USER14> > the point of the standard library is not to give you a > bunch of abstract > containers that "just work", but rather > to give you many highly-optimized > implementations of > specific data structures to choose from.

Are you talking about C++ or high level languages in general?

Either way you can come at this from multiple directions. For instance I like the way Josh Bloch designed the collection classes of Java, where you have some key types (given as interfaces) and multiple implementations as well as adapters. The focus is on the semantics and not really the implementation. For the most part you try to write code so it can take advantage of as many implementations of the same type as possible.

Rather than focus on implementation detail I think a standard library has two jobs: the first is to serve as an example of idiomatic language use. The second is to make the language useful - meaning that it should be possible to do practical things with only the standard library. Today such a practical thing might be to perform an HTTP request without having to go on an easter egg hunt.

I think one reason Go is becoming so popular is that it isn't obsessed with "purity". Remember Scheme? Remember how useless it was out of the box? It couldn't actually _do_ anything.

<comment><USER15> > Are you talking about C++ or high level languages in general?

c++ specifically. if I don't care about the difference between, for example, a list, a vector, and a deque, I am probably going to choose a higher level language to work in. that said, you can write container agnostic code with templates and range-based for and/or iterators if you really want.

I agree with your other points. in particular, it's annoying to have to reach for libcurl every time I want to do simple http stuff, and I have fond memories of scheme from cs 101, as beautiful and unpractical as it is.

<comment><USER14> > that said, you can write container agnostic code with templates and range- > based for and/or iterators if you really want.

You can, but people don't often do.

</comment></comment></comment></comment></comment><comment><USER16> It worth noting that C++ changed a lot since 2009 and many scary things were deprecated. So far biggest problem is amount of legacy-written code at this point. Though in my opinion languages like Rust fit better than C++ or even C for writing kernels and runtimes.

</comment><comment><USER17> Ancient flamewar topics are insanely boring

<comment><USER18> Agreed, unless the purpose is to extract lessons learned. I can think of several where that has not happened yet.

<comment><USER19> One thing I always do when they happen is read through the comments anyway, sometimes people bring up some rather insightful things about a language, editor or whatever. Having heard from an emacs user why he prefers it over vim made me really appreciate emacs. I'll use either vim or emacs though, just don't care personally as long as I can: open a file, edit a file, and save a file. I also use full blown "bloated" IDEs.

Of course I ignore a lot of comments, but try to go for the ones that seems intelligible.

<comment><USER20> What was it that he said about emacs?

<comment><USER19> It was some blogpost I can't seem to find, but they explained all the different things they can do from within emacs, which were lots of things vim doesn't seem to be capable of doing, things such as SSH'ing to a remote system to open files remotely, fully being capable of handling mail through emacs, being able to use emacs as a web browser as well which is interesting, and other things which were fascinating enough to me. There's also the built-in git functionality, which some people use emacs exclusively to manage their usage of git.

The emacs editor really is an Operating System to it's own extent. I really fell in love with the idea of being able to just work all day with nothing but emacs, I have not gotten to that point yet though. Being able to not leave my editor for anything sounds pretty useful if done right.

</comment></comment></comment></comment></comment><comment> Const-me > a lot of substandard programmers use it

That's no longer the case. Substandard programmers have moved towards safer GC languages.

> STL and Boost and other total and utter crap

For many parts, yes indeed, but both are optional. Boost is not even a standard library.

> typical C or C++ programmer simply will not write anything more efficient or > more robust than the methods in these libraries if they decide to roll their > own.

Some parts of the STL are just horrible. Look at <iostream> header. Even with my experience, I will struggle trying to roll my own IO that's less efficient or less robust, I don't think it's humanly possible.

Other parts work OK but just too slow. For example, I avoid using standard collections except strings and vectors: [https://github.com/Const- me/CollectionMicrobench](https://github.com/Const-me/CollectionMicrobench)

> to limit yourself to all the things that are basically available in C.

C++ has a problem, it doesn't have an ABI. When you're writing complex enough systems with it, you either invent one on top of it (see how MS did it in Windows with COM, IUnknown + HRESULT, used in DirectX, Media Foundation, .NET, UWP, and many other libraries & frameworks), or indeed limit yourself to things available in C, plus just a couple extra like unique_ptr, string and vector.

However, on the lower level, in the implementation of these components, C++ helps a lot. If you'll look at how MS implemented C runtime library routines like printf(), you'll find they have used a lot of C++ inside, even templates to avoid code duplication caused by char/wchar_t versions.

</comment><comment><USER21> If your argument for STL/Boost is "A typical C or C++ programmer simply will not write anything more efficient or more robust than the methods in these libraries if they decide to roll their own", it's a sign you might be missing the point :P

</comment><comment><USER22> Linus may be fine with C, but I do find that using C for larger projects is cumbersome for its lack of quality-of-life features. Making ADTs with C is a pain, because you can't define a type and keep creating object instances of it. Lack of namespaces makes naming things convoluted. Exception handling is non-existent. The type system is a joke, C functions happily take arguments of wrong type at compile time and then segfault at run time. Lack of array bounds checking places greater demands on the programmer. Too much abuse of the bare bones pre-processor macros. Multidimensional arrays are very complex to use.

</comment><comment><USER23> C++ fell victim of the incremental approach to building a language. There never was a big picture. Ten years after the language had been conceived it was realized that it was STL that gave C++ its life the true meaning. C++ is the result of a very logical evolution (of C), which makes it, contrary to the popular thinking, very difficult to argue against its features on purely logical grounds. And the evolutionary road it travels is all paved with good intentions. But we all know where such road leads, and I would prefer an intelligent design in the first place.

</comment><comment><USER24> Wenn speaking with some people experienced in C++ I often got feedback along the line of: " For a good C++ programmer C++ is as good as any other language, no maybe even better ... it's just that good C++ programmers are so rare that they are irrelevant for any company."

Or with other words: While there are many reasonable good C++ programmers there are view which are really good due to the complexity of C++.

</comment><comment><USER25> Trovalds is not comparing top C programmers to average C++ programmers. What he meant was -- a lot of people mess up with kernel code and some of them choose to contribute back. Most of these guys must be => average programmer. So if these guys used C++ to give back to the kernel then it would be chaos.

<comment><USER23> Wasn't BeOS written in C++? I've heard people were impressed by the quality of its code.

<comment><USER26> The userspace was, the kernel was not. Haiku's kernel is almost entirely C++, though, and people are usually very impressed by our code quality :)

</comment></comment></comment><comment><USER27> I am not a great developer by any means but how can anyone claim that syntax- wise C++ is a good language?

</comment><comment><USER28> While I'm nowhere near as talented a programmer as both Torvalds and Cook I disagree, perhaps with both.

We have tons of crap anywhere due to bad code monkeys, kernel included, and these days with actual computing power keep using low level languages is a nonsense.

I'm not a fun of Go nor Rust and I can't say how hard can be write a modern kernel in a functional language like a Lisp or Haskell (thou in the past we have had LispM) however IMO we need to use high-level language to develop the same thing with less complexity and much more readability. Sooner or later any complex project will became so complex that even in FOSS world nobody can really know it enough to master it's evolution.

<comment><USER18> The problem is that such a high level language hides the complexity, making it much harder to reason about subtle side effects.

<comment><USER28> Ancient Alto workstations or LispM are build around high level languages and they were FAR superior to any contemporary competitor... So technically IMO that's not a real arguments. Maybe a cost arguments but that's a really complex point to evaluate.

</comment></comment></comment><comment><USER29> >> Well, I'm nowhere near as talented a programmer as Linus Torvalds, but I totally disagree with him.

I think that says it all. On top of that, Linus is in charge of the project he works on and is allowed to run it as he sees fit. Given all that, I decided to stop reading. OK, that and I already have my own impression of C++ but this intro doesn't make me want to reconsider.

<comment><USER30> > On top of that, Linus is in charge of the project he works on and is allowed > to run it as he sees fit.

The argument is not about whether Linus should be forced at gunpoint to adopt C++; it's about whether adopting C++ would be a good idea.

Deciding if something is good or bad is separate from deciding if it should be done or not. Nobody will stop you from e.g. putting pants on your head if that's what you really want, but we can have a discussion weighing the pros and cons of doing so, after which you can make a more informed decision if you choose (or not!) to listen to the feedback.</comment></comment>


Creators need an immediate connection to what they create - <AUTHOR> http://yakshaving.net/if-you-are-a-maker-creative-hacker-designer-you-must-watch-this/ <comment><AUTHOR> Why hasn't this idea become more mainstream? It seems to me like many, many people would benefit from more visual editors like the ones that Bret gave demos of.</comment>


Deep Learning (DBN) from the ground up - <AUTHOR> https://www.linkedin.com/pulse/deep-learning-dbn-from-ground-up-konstantinos-monahopoulos?trk=mp-author-card <comment><AUTHOR> This is a multiple file project that is part of my dissertation M.Sc Thesis. This repository contains all the background theory of Deep Belief Networks and Machine Learning theory using Artificial Neural Networks to utilize the examples.</comment>


MongoDB 3.2 – A First Forward Look - <AUTHOR> https://www.compose.io/articles/mongodb-3-2-a-first-forward-look/ <comment> nevi-me Very excited about the release. Schemas are something that ODBC connectors are doing already, although they are essentially normalising the collections into tables, sometimes looks ugly, but I suppose the aim's mostly to plug that into BI tools like Qlik, Tableau and friends.

I'm excited about the improvements that are being made in the Aggregation Framework, $lookup sounds interesting too, and hopefully it lands in 3.1.6 so we can start trying it out. For me the key takeaway from interacting with the MongoDB team on what's on the pipeline, it's been that I should invest more on the Agg Framework for some of my more complex workloads.

WiredTiger will be the default from what I heard, I've seen that the TokuTek people have slowed down with TokuMX and are building their own pluggable store into MongoDB.

<comment><USER2> According to a recent mailing list discussion [1], a new release of TokuMX is due by this fall. They are indeed building a pluggable storage engine, but the (very young) pluggable storage API limits the performance and feature improvements TokuMX SE is able to make.

[1] [https://groups.google.com/forum/#!topic/tokumx- user/3uZzqURu...](https://groups.google.com/forum/#!topic/tokumx- user/3uZzqURuGwY)

<comment> nevi-me Yea, and I suppose it adds some complexity as new features have to be usable by storage engines. I can't remember what the JIRA ticket was about, but I've seen that there are some edge cases that have to be considered for the pluggable store API.

</comment></comment></comment><comment><USER3> Support of "read committed" is another big improvement coming in 3.2: [https://jira.mongodb.org/browse/SERVER-18022](https://jira.mongodb.org/browse/SERVER-18022)

<comment> nevi-me I wonder if this was sparked by the Jepsen thing on read commits. I hadn't come across the ticket, looks interesting.

</comment></comment><comment><USER4> Schemas in my schema-less database? Why not just use MS SQL / Oracle / MySQL?

<comment> nevi-me I think it's schemas in the sense that you start enforcing some rules at the database level for your JSON/BSON/JSONB data, instead of relying on ORMs.

Defining schemas at an ORM-level means that you always have to replicate that schema (as far as you need to write back to the DB) on every project that uses the data in the database.

The JSON storage route has been flexible, and I would assume that most people who use Mongo have some form of schema, even if it's very flexible. For example, a lot of my schema definitions look like:

      {
        field1: String,
        field2 : {}
      }

where field2: {} means I can pretty much dump anything in there.

I presume (without yet testing) that by 'schema' I'd still be able to do the above, except that I'll enforce field1 to be a String and still remain 'schema-less'/loose on field2</comment></comment>


Ask HN: How do you manage bookmarks and knowledge flow? - <AUTHOR> I use a combination of Evernote, markdown files, and a paper-and-pencil "bullet journal" of sorts to manage my personal "knowledge flow". I'd like to improve my system, and am interested in learning how others in the HN community do this. Thanks in advance for your responses! :) <comment><USER2> That's my current setup: OneNote for all general notes (I've tried Markdown + VuePress for some time, but I've switched back). Two public repositories for config files [1] and best practices [2]. Pocket for articles to read on the road. StaticMarks [3], my own tool, to manage all my bookmarks. Todoist for my Todos. I'm still trying to figure how to handle other ressources, like videos to watch, courses to take etc. For now, they are spread across all of those tools.

[1] [https://github.com/darekkay/config- files/](https://github.com/darekkay/config-files/)

[2] [https://github.com/darekkay/best- practices/](https://github.com/darekkay/best-practices/)

[3] [https://darekkay.com/static-marks/](https://darekkay.com/static-marks/)

<comment><AUTHOR> Thanks, @darekkay!

</comment></comment><comment><USER3> After trying similar product combinations I finally settled with Workflowy -- its simplicity is its power. It literally changed my life by bringing clarity of vision.

</comment><comment><USER4> shameless i know, but i made this for my bookmarks: [https://pinplz.com/](https://pinplz.com/)

</comment><comment><USER5> I've seen a post about a guy who did the same (can't find it but would be thankful is someone know what I mean): his main idea was to use the least amount of energy to organize notes and knowledge and just use the search function etc.

<comment><USER6> Perhaps you meant this article [https://dnote.io/blog/how-i-built-personal- knowledge-base-fo...](https://dnote.io/blog/how-i-built-personal-knowledge- base-for-myself/)

My main argument in that article was that we almost never look back at our notes. Therefore we should focus less on organizing our knowledge neatly. Instead we can automate the retrieval through weekly email digest and search.

To achieve this, I built an open source system [0] and that's pretty much my setup nowadays.

\- [0] [https://github.com/dnote/cli](https://github.com/dnote/cli)

<comment><USER5> Wow great article. I am so thankful I found it again.

</comment></comment></comment><comment><USER7> Devonthink

For bookmarks, web archiving, RSS reader.

Everything that I need to collect and organize

</comment><comment><USER8> Pinboard for bookmarks, Nominal for notes, tasks, and habits

</comment><comment><USER9> Check Mailist app :)</comment>


CircleCI's change to pricing for Docker Layer Caching is a disaster - <AUTHOR> https://circleci.com/blog/plans-for-optimal-performance-why-circleci-is-changing-our-pricing-model/ <comment><AUTHOR> CircleCI recently announced a change to their pricing model for Docker Layer Caching, which, for teams that heavily use Docker and CI/CD, is pretty important.

In my current project, our DLC costs have gone from tens of dollars per month to thousands of dollars per month.

Worse, the configuration language doesn't easily allow for the targeting of branches where DLC should be enabled.

I would guess that as customers start getting their October bills, they are going to be quite choked.

<comment><USER2> With the introduction of GitHub Actions not to mention the existence of GitLab CICD, is there any reason whatsoever to use any of these third-party CICD services?

Edit: why the downvote?

<comment><USER3> AFAIK GitHub Actions is just a wrapper on top of Azure Devops. Its pricing might be just as steep as CircleCI. Plus I doubt it supports multi-cloud architectures.

Not sure about GitLab, what's their pricing model?

<comment><USER4> Assuming its about the SaaS offer: you get an amount of free minutes according to the plan you are in, you can by extra minutes. You also can host the runner yourself, and even do that with the autoscalling (it's the same we use to run the included runners). So you can opt for convenience (paying by minute) or can run your own infrastructure to optimize on cost, if you wish.

The runners are very low maintenance, and theres even a kunernetes helm chart available.</comment></comment></comment></comment>


From automatic differentiation to message passing [video] - <AUTHOR> https://www.youtube.com/watch?v=NkJNcEed2NU <comment><USER2> This is a perspective I've been taking recently as I've been investigating next-gen DL frameworks like Julia's Zygote and Swift for Twnsorflow. So it's very nice to see this articulated so well here by someone who has been thinking deeply about it for so long.

I'll add some things that relate to this perspective: there is a follow up paper to the DL via Hessian-free optimization paper by James Martens that develops a variant of AD which calculates a special curvature quantity which is useful for efficient second order optimization. This emphasizes that AD is just one of a family of program transformations, most of which are probably waiting to be discovered. For example, would it be useful to have an AD-like pass that calculated trusted regions for gradient updates? And: why do we not do more iteration during DL in which we interleave forward and backward for a single layer only? (rhetorical question, there are many reasons but asking this question forces you to think deeply about a lot of things)

Also, if you generalize VAEs to be arbitrary differentiable programs you immediately run into versions of message passing. For example, vector quantized VAEs are a precisely a soft version of the EM step in k-means. So how would we develop more advanced variational programs in which this process is better managed? There may be very different forms for the inference and generation phases that are not related by a program transformation, or ARE related but only in a high-level way best captured by functional programming primitives.

Any other people nerding out about this stuff please say hi!

<comment><USER3> >there is a follow up paper to the DL via Hessian-free optimization paper by James Martens that develops a variant of AD which calculates a special curvature quantity which is useful for efficient second order optimization

Deep Learning via Hessian-free Optimization: [http://www.cs.toronto.edu/~jmartens/docs/Deep_HessianFree.pd...](http://www.cs.toronto.edu/~jmartens/docs/Deep_HessianFree.pdf)

Optimizing Neural Networks with Kronecker-factored Approximate Curvature: [http://arxiv.org/abs/1503.05671](http://arxiv.org/abs/1503.05671)

James Martens' list of publications with links to sample code for the above two papers, slides/condensed conference versions, etc: [http://www.cs.toronto.edu/~jmartens/research.html](http://www.cs.toronto.edu/~jmartens/research.html)

Pretty neat stuff

<comment><USER2> Haha thanks for finding links! Was on a bus on my phone, so didn't have the patience...

</comment></comment></comment><comment><USER4> > Automatic differentiation is an elegant technique for converting a > computable function expressed as a program into a derivative-computing > program with similar time complexity. It does not execute the original > program as a black-box, nor does it expand the program into a mathematical > formula, both of which would be counter-productive. By generalizing this > technique, you can produce efficient algorithms for constraint satisfaction, > optimization, and Bayesian inference on models specified as programs. This > approach can be broadly described as compiling into a message-passing > program.

[https://www.microsoft.com/en-us/research/video/from- automati...](https://www.microsoft.com/en-us/research/video/from-automatic- differentiation-to-message-passing/)

<comment><USER5> > nor does it expand the program into a mathematical formula.

Meh, this is not _entirely_ accurate. Sure it doesn't expand the program into analytic functions whose derivatives are easy to compute; but it still handles the program symbolically. So, in a way, it still transforms the program into a known set of mathematical primitives of which it can then construct a program that computes the derivative in compile time.

<comment><USER4> It seems that way to me too, but without more details about implementation I'm not sure.

</comment></comment></comment><comment><USER6> At the end of the presentation the presented mentions that this is structurally identical to loopy belief propagation... Isn't that a big issue, since they inherit many of its tractability issues with regards to training and inference? Modern DL models are far too interconnected for inference to be tractable in general, so the best we can hope for is that we can make simplifying assumptions that make loopy belief propagation feasible.

As a side note, when modern compilers optimize abstract syntax trees, I'm pretty sure they do operations that are similar to the message-passing algorithm described. And they work great, albeit for specialized purposes.

</comment><comment><USER4> It seems to me that the message-passing aspect is kind of an implementation detail.

In any case, compare and contrast with "Compiling to categories" [http://conal.net/papers/compiling-to- categories/](http://conal.net/papers/compiling-to-categories/)

</comment><comment><USER7> Another approach to AD is: [https://github.com/keithalewis/epsilon](https://github.com/keithalewis/epsilon).</comment>


Hacker101: A free class for web security - <AUTHOR> https://github.com/Hacker0x01/hacker101 <comment><USER2> (Creator here) I recommend consuming this via the site, [https://hacker101.com/](https://hacker101.com/)

Right now the Github repo is really just the pages for the site, but I plan on extending that to include slides, code, scripts (for narration), and more. Heading into paternity leave, so most of those changes won't be happening until the next content drop in March.

I hope everyone enjoys the class, though. The original version, Breaker101, launched right here on HN nearly 5 years ago, and I'm so happy to finally be able to open it up freely for everyone.

<comment><USER3> You might want to add something to the site's FAQ on background/prerequisites -- what does someone need to know to take the course.

</comment></comment><comment><USER4> Thank you much! I was looking for something like this for learning about security.

</comment><comment><USER5> The repository seems to only include the website markdown content and not the vulnerable code examples. I recently started sharing PentesterLab[1] with new developers at work to help uplift their security knowledge.

[1] [https://pentesterlab.com/](https://pentesterlab.com/)</comment>


CBP Can't Detain Domestic Flight Passengers for Refusing Suspicionless ID Checks - <AUTHOR> https://www.aclu.org/blog/national-security/cbp-cant-detain-domestic-flight-passengers-refusing-suspicionless-id-checks <comment><USER2> You can't un-detain people who have been detained illegally.

</comment><comment><USER3> If CBP can't, why can TSA?

<comment><USER4> Jurisdiction.</comment></comment>


Futures for C++11 at Facebook - <AUTHOR> https://code.facebook.com/posts/1661982097368498/futures-for-c-11-at-facebook/ <comment><USER2> This looks like a mix of JavaScript, Scala and Rust.

</comment><comment><USER3> and the next step forward should be something like this [https://isocpp.org/blog/2015/04/n4402](https://isocpp.org/blog/2015/04/n4402)

</comment><comment><USER4> I'm wondering when (if?) Facebook is planning to move its codebase to Rust?</comment>


HN visits tripled in August 2015 - <AUTHOR> http://www.similarweb.com/website/news.ycombinator.com <comment><AUTHOR> Just curious why... Any ideas?</comment>


Eu Guidelines on Ethics in Artificial Intelligence: Context and Implementation [pdf] - <AUTHOR> http://www.europarl.europa.eu/RegData/etudes/BRIE/2019/640163/EPRS_BRI(2019)640163_EN.pdf <comment><USER2> This is a step in the right direction but it is so generic that it basically corroborates everything that is being done today. Is basically says to big tech co: keep up with the good work.

What we need is laws like this: opt-in is mandatory and very well explained. Stop the "would you help to make XYZ better" and contractors listening private conversations, pictures videos calls and who knows what everywhere.

What we need is: people must have a way bypass all AI automated BS and talk to humans at any given time. Stop the click here, open there, press one, press two, press 99, please hold BS.

I shouldn't be commenting on privacy news because I beleave that by the time we get any real effective regulation for ordinary peoples (not CSS/JS pop-ups everywhere) all peoples PII will be out there in the wild and we will have lost control and ownership of names, SSNs, pictures, voice.

To kentye question is less yownto regulate surveillance economy and more how to live in a world where SIM swapping is everywhere.</comment>


'Serial' Season 2 Lets Bowe Bergdahl Tell His Side of Afghan Story - <AUTHOR> http://www.nytimes.com/2015/12/11/business/media/serial-season-2-bowe-bergdahl-recalls-his-afghan-odyssey.html <comment><USER2> I was a platoon leader in the same era and same type of unit with similar experiences as Bergdahl's unit -- although I have no specific knowledge about his story beyond what I've read in the news.

My perspective: he's lying like crazy to get an AWOL charge (intended to return) rather than a desertion charge. The first might be a dishonorable discharge, the latter prison time.

There are several reasons his story doesn't add up -- the most glaring one is the assertion that this wacky plan was the only way he knew to get the attention of a general officer. All soldiers know about writing their congressman, and Bergdahl in particular seems to be pretty wordly and would have heard about this avenue. Writing your congressman would result in a huge shitstorm for the higher levels. It is a formal step that is taken seriously, believe me, I've had to write formal responses to congressional liason offices.

Second, his emails to his parents (which are already public) hint at much more than loyalty for his fellow soldiers in the face of poor leadership. He had concerns about US policy, culture -- I'm not sure how talking to a general officer and blowing the whistle would have made him feel better.

I'll add, as others had, it's possible that his chain of command failed in some regard -- and it's very likely that he was exposed to at least one really bad leader during his time, especially at the NCO level. I also can see how someone like him was an outcast in his unit. He was into ballet, he hung out with the Afghans more than he did his own unit -- etc. Infantry platoons aren't really models of tolerance and inclusion in some regards. It's a rough life in general.

But -- and this is the important point -- there's an oath involved with military service, and it matters even in the case of bad experiences. This is really, really important when you go to sleep in the middle of a hostile desert and you trust that the person guarding you is doing his duty. I think those without military experience might be thinking that all of the veterans who react to this are just proud of the esprit de corps and have some sort of ethical blindspot -- like Nathan Jessup in "A Few Good Men." In truth, the idea of a soldier abandoning his unit like this is unforgivable because it's a matter of betraying a fundamental idea, which is that even if you personally hate the guts of one of your fellow soldiers, you risk your life for him because that's the only way you might all survive the deployment.

I spent a lot of time deployed just hoping that I wouldn't mess up something important and get someone killed. The notion that there is any justification for deliberately abandoning your unit is tough to swallow. I'm going to see what his grievances were from his perspective and then make up my mind -- if he exposes a massacre of civilians, for instance, I might change my mind. I've read his emails to his parents and other articles, though, and it seems in general he thought the other soldiers were assholes, people called him bad names, and he thought that poor judgment was rewarded.

<comment><USER3> My formerly active duty Marine Corps, pessimistic self considered that to be a very possible reality. I thought about what I would do if I were him and I immediately went to the 'well shit, how do I make this[1] into a story that paints myself in a better light'.

[1] - this being going UA/deserting

</comment></comment><comment><USER4> Just listened to the first episode. It's very good and Bergdahl's narrative is fascinating. According to him, he had deep grievances with his battalion leadership, and decided to leave his combat outpost, run 20 miles back to FOB Sharana, thereby creating a Dust 1 (missing servicemember in theater), get everyone's attention that way, then use the debrief as an opportunity to blow the whistle on his chain of command.

I'm really looking forward to hearing the rest of the series, especially the exploration of the command culture at his unit.

<comment><USER5> he seems to admit very early on that what he'd done was partly fuelled by a desire to seem like a "super-solider", like Jason Borne. You can tell quickly he's being exceedingly candid and though he maintains that he did what he did on principle, there was misguided thought along the way.

If this is just the surface of it all, then this is going to be a fun ride.

<comment><USER6> "If this is just the surface of it all, then this is going to be a fun ride."

Six soldiers were reportedly killed searching for Bergdahl, and five Taliban members were exchanged for him in-trade. None of that is what I'd describe as "fun".

<comment><USER7> He's referring, of course, to the reporting of it in the Serial podcast. Not much of what was described in the first series of Serial was "fun" either. Nevertheless, the podcast was compelling and quite entertaining.

</comment></comment></comment></comment><comment><USER8> I was surprised that the journalists didn't drill into "terrible situation in his unit" claims. They just let it slide completely - and this is the key to the whole story. Why the situation was so bad? Also, I found his story full of WTFs - he's afraid to go back to his base after his escape, but then he decides to go and capture some bad guys (armed only with knife), but then he just surrenders to a bunch of taliban who somehow manage to locate him walking in the middle of the desert at night. I was really disappointed in this episode, they just left lots of BS unchallenged.

<comment><USER9> I mean, but that's what the rest of the season is for right? This episode was merely a setup in order to describe the event/scenario, and we can only presume that the next episodes will dive more into detail to dissect the situation. The event already happened, we know what happened start to finish. It is precisely the details of 'why' that this season is after.

And correct me if I'm wrong, but I am pretty sure it was daylight the next morning when they spotted him in the desert.

<comment><USER8> I hope you are right - but to me it sounds like the "why" question is the key to the whole story, so they need to investigate it first. And they mentioned that in the next episode they will talk about the search efforts. As for the time of day he was captured - I might be wrong, but wasn't he walking it the dark looking for flashlights and listening to radio chatter just before that?

<comment><USER10> You're indeed wrong. Per the reported story, he got lost in the hills (didn't check his compass for two hours, which Koenig points out is a ... fairly rookie mistake), eventually made it out, but was in open desert by sunrise.

</comment></comment></comment></comment><comment><USER11> Kid wants to be a hero, understandable, sometimes kids join the military having been groomed on cartoons and cereal then realize the military culture isn't like GI JOE.

State of mind for him was to expose corruption, again, laudable. From his narrative he attributes previous deaths in his unit to said corruption. Life is at stake.

So kid decides to trigger the most extensive exception in the active theater, attracting the immediate attention of his unit, area command, the air force, the navy, and the marines.

Now the reveal is the narrative is kid quixote but the conclusion--after exploring the why--is going to hinge on the critical question: was it worth it?

He survived. He has the stage he sought after. What was the message he needs to deliver?

Spoiler: Probably not, Berghdal is still active duty in Texas.

<comment><USER2> No, I think he was attributing potential future deaths to poor leadership -- at the time of his capture, only one soldier in his larger unit (battalion level) had died -- 1LT Brian Bradshaw. This wasn't in his platoon or company.

</comment></comment><comment><USER12> Nah, that guy is a shitbag. You know, I had shit leadership during all of my tours, but you didn't see me walking off the FOB like a dick. It's the US Army... You are _going_ to have shit leadership.

<comment><USER13> For someone with some experience with 'shit leadership', your input would be interesting as the story unfolds.</comment></comment>


Thursday at Noon is the best time to post and be noticed  - <AUTHOR> http://3.rdrail.net/blog/thurday-at-noon-is-the-best-time-post-and-be-noticed-pst

<comment><USER2> I found that piece to be not well thought out when it first appeared. For starters, it makes the argument that because Thursday is the best day to post, and noon the best time, therefore Thursday at noon is the best time to post. Which does not follow. Plus it talks about time zones a bit, but doesn't seem to clue into the fact that using a different timezone for your data would actually change your per-day results.

</comment><comment><USER3> Wumi, clearly you didn't heed the advice of this article you posted. Tisk tisk.

<comment><USER4> I'll be a pedant and note that the dataset is 10,000 posts to Delicious, Digg, Reddit and Mixx. The results may be less relevant on this forum.

</comment></comment><comment><USER5> And of course, he didn't do the real analysis: is there any variation in the chance for a post to be noticed depending on time of day/day of the week. He just says more toprated posts were made on Thursday at noon: I wouldn't be surprised if that was simply due to more posts being made on Thursday at noon. How does the percentage of posts that make it to top rating vary by day/time? Midnight on Saturday may actually be you best time for scoring a top rating, if you really care about such.</comment>


How to win the prisoners dilemma - <AUTHOR> http://youtu.be/S0qjK3TWZE8 <comment><AUTHOR> There is a really fascinating discussion about this on Bruce Schneier's blog ([http://www.schneier.com/blog/archives/2012/04/amazing_round_...](http://www.schneier.com/blog/archives/2012/04/amazing_round_o.html)).

Btw, if you're interested in security and encryption, Bruce's blog is a must read</comment>


Ask HN: "Specialist" of HN, could you share your story? - <AUTHOR> After spending a couple of years working for a small local company as a "jack of all trades", I'm now looking into opening a consultancy practice.
The way a see it, "successful consultant" => "specialist".
So this goes to all those "specialist" out there: How did you became one? And how do you market yourself? <comment><USER2> Write blogs / books for marketing.

Becoming one? Out of necessity and interest. Otherwise you'll burn out and not like the future path you're on.</comment>


Boeing Refuses to Cooperate with New Inquiry into Deadly Crash from 2009 - <AUTHOR> https://www.nytimes.com/2020/02/06/business/boeing-737-inquiry.html <comment><USER2> Look at the comments in the NYT article. Scroll down to

—-Mike—- I'm a pilot. Can someone tell me what Dutch legislators know about air crash investigations? Because this crash was investigated by professionals and a probable cause found. What you at the NYT cited in your "investigation" is perfectly normal. Essentially you found one guy who felt that his findings didn't carry as much weight has he thought they should have, and his former professor and mentor who agreed.

This is going beyond the point of obsession at this point, guys, it really is. There are always disagreements within investigations, and sometimes investigators or entire groups of investigators within an investigation will disagree so vehemently with the findings that they file a dissent. That didn't happen here. Which tells me a lot.

Furthermore, I'm quite familiar with this accident, and the crew was rightfully blamed. They disregarded a SACROSANCT policy among airline crews by not initiating a go-around when they hadn't achieved a stabilized approach by 1,000 feet. And they knew the radar altimeter was malfunctioning. What's even worse is that this was a training flight! So they were teaching the new first officer to ignore standard safety practices! What does that tell you?!

I am so tired of the Times' quite deliberate, and very diligent, efforts to misinform the public. I really am! This accident was investigated and blame apportioned appropriately. Ditch legislators have no business sticking their noses in here. Let. It. Be!

<comment><USER3> There's a distinct difference between the coverage of the New York Times and the Seattle Times. Both a very critical of Boeing, but the NYT seems to have a weekly quota of Boeing articles whereas the Seattle Times only publishes when something new has shown up.

I have also noticed quite a few articles from the NYT that only recap what has happened so far and don't actually have anything new in them. Boeing and the MAX seems to be a hot story right now, so I guess I don't blame them, but its tiring to see a new article and think "oh, good, some new info" and then waste time reading it to find out its just more of the same stuff as last week.

</comment></comment><comment><USER4> Well...

First thing you should do after discovering a bug in software is think about where else the methodology that created the big in the first place may have also been used. This seems a completely valid case to reexamine.

The NTSB going on the defensive would not be something I would have expected. Even a cursory retreating of well traveled paths can generally be enlightening as people come and go from an agency.

</comment><comment><USER5> Note that the title only says "Boeing" but the first line of the article says

> _Boeing and American safety officials refused to cooperate_ [...]

<comment><USER3> Also note they are asking for the CEO of Boeing to come to the Netherlands to be questioned by them.

"Members of the Dutch parliament wanted to question the Boeing chief executive, David Calhoun, about the company's possible influence over the original Dutch investigation of the accident, which killed nine people on a Turkish Airlines flight. The National Transportation Safety Board also refused lawmakers' request to participate."

</comment></comment><comment><USER6> Today in things that are completely unsurprising.

</comment><comment><USER7> And why are they still allowed to fly there after this?

<comment><USER3> Well, the King of the Netherlands does fly 737s.</comment></comment>


Surviving The Current Developer Drought - <AUTHOR> http://www.mmdtech.com/articles/surviving-the-current-developer-drought/

<comment> james-skemp Here's where I stopped:

"Another route is to consider sponsoring a bright foreign developer. Transferring a student visa or an existing work visa isn't as difficult as starting from scratch, but certainty is a cumbersome and expensive process. On the flip side you will end up paying a lower salary and receiving a higher level of commitment (switching jobs is more difficult when you require sponsorship)."

No. No. No.

If they realize you've put them into a corner they'll either slack off and you'll be back where you were before, or stuck with someone who doesn't work.</comment>