HNHacker News
TopNewBestAskShowJobs

learc83

13,583 karma · joined April 23, 2011

I'm a programmer and founder with experience ranging from web development to embedded systems and network programming.

Currently working as a principal engineer for a unicorn supply chain startup.

learc83@gmail.com

https://github.com/learc83/

submissionscomments
learc83··on SWE interviews should be paid
I think the OP was talking about interviewing at 40 companies per year, not interviewing 40 candidates at their company.

Also hey man! Are you still doing work for Fusion?

learc83··on SWE interviews should be paid
We do take home projects instead of whiteboard challenges. Grading the take home takes me longer than doing a whiteboard interview.
learc83··on SWE interviews should be paid
> For me, I spent about a year studying(leetcode and system design), mock interviewing (30+), and interviewing. Spent about 3 months without an actual job and interviewing+studying. (Something like 25 interviews in a week at times - 3-4 onsites per week when not doing tech screens)

Ok so there is something terribly wrong with our industry.

learc83··on SWE interviews should be paid
The only other industry I can think of that has interviews anywhere as close to as ridiculous as ours is the performing arts.

Why is that other industries don’t need 6+ rounds of interviews for experienced candidates?

learc83··on SWE interviews should be paid
You interview at 40+ places every year? If that’s true there is something very wrong with our industry.

How do you have time for that?

One minor note they only have to file a 1099 if you made more than $600 (of course you’re still supposed to report it).

learc83··on The prices hospitals negotiate with private insurers for patient services
>But for a person capable enough to become a surgeon, there very well may be decent odds of success via a different route

There's a few issues here. First, surgery can have bad work life balance depending on the subspecialty. Some spend a lot of time on call, some basically work 9-5 or less.

Second, unlike basically every other very high paying profession, surgery requires working with your hands, and physical and mental stamina to endure hours of operating. Just getting through med school requires above average intelligence and hard work, but you don't need to be a super genius. The abilities that make someone a good surgeon don't necessarily translate to any other profession that is that highly paid.

Third, surgery is a very direct path to what most people would consider serious wealth for someone who is smart enough/hardworking enough to get into med school, but didn't necessarily get into one of the top tier schools that some of the other very high paying careers recruit from.

All that aside, surgery isn't the only specialty that is very highly paid.

> that allows them to work a Mon to Fri 8 to 5 job

Many very highly paid subspecialties work Mon to Fri 9-5 and some even less.

>maybe even work from home

Radiologists routinely work from home, and there are remote opportunities for other doctors as well.

>and live in a popular city as opposed to living in a less popular area (many doctor's get paid more for living in less popular areas, for obvious reasons).

That is only true for certain specialties and subspecialties. My wife's sub speciality requires her to live in cities with a population of at least 500k or so. Many of the very highly paid subspecialties are similar.

Even for family medicine the difference is only 5-10%.

learc83··on The prices hospitals negotiate with private insurers for patient services
2018. Those concerns are mainly dependent on subspecialty. If you’re in family medicine or internal medicine, it is harder to run your own practice these days. You still have much more autonomy than nearly every other employee in other professions.

But I wouldn’t recommend my kids go into family medicine. If you’re say a pediatric emergency medicine doctor, or a maternal fetal medicine doctor, there just aren’t enough of you to be just a cog.

Increasing the number of mid level practitioners has been happening for a while, but it hasn’t had much impact on salaries [1]. My wife isn’t concerned.

1. https://www.hindawi.com/journals/nrp/2012/671974/

learc83··on The prices hospitals negotiate with private insurers for patient services
Doctor’s salary only accounts for a small fraction of healthcare spending, so it certainly isn’t the cause.

However my wife is a doctor who is fellowship trained, so she didn’t start making real money until she was 32. But she made a good bit above the median salary for many years before that. She also doesn’t feel like she sacrificed her 20s. She had plenty of fun, although she says med school was much harder than her engineering degree.

And now she makes much more than I do as a principal engineer, and she works less than 30 hours a week.

She doesn’t have to worry about interview prep or job hopping. She has absolute job security in any economy. She gets paid for continuing education. She is highly respected (people are much more impressed that I married a doctor than that I’m a principal engineer lol).

There is a legal framework protecting her autonomy and decision making at work. Not even the CEO of the hospital can overrule her.

In short, she is almost completely above the rat race, and is a true professional in ways that we (software engineers ) are not.

I would 100% recommend our children become doctors.

learc83··on Data-Mining Wikipedia for Fun and Profit
Having been on the other side of this, I’d rather we encourage people to make use of formats/interfaces designed for machines and use the right tool for the job instead of scraping everything.

It’s incredibly easy for careless scrapers to disrupt a site and cost real money without having a clue what they’re doing.

I want people to think twice and consider what they are doing before they scrape a site.

learc83··on Data-Mining Wikipedia for Fun and Profit
I don’t think the op was talking specifically to the content author, but to all the people who read the article and get the idea to scrape Wikipedia.
learc83··on Data-Mining Wikipedia for Fun and Profit
1. You'd be surprised what kind of traffic scrapers can generate. I've seen scraping companies employing botnets to get around rate limiting that could easily cost enough in extra server fees to cause an "undue burden".

At a previous company we had the exact problem that we published all of our content as machine readable xml, but we had scrapers costing us money by insisting on using our search interface to access our content.

2. No one is going to jail for scraping a few thousand or even a few million pages, but just because low speed web crawlers are allowed to index the site, doesn't mean scraping for every possible use is permitted.

learc83··on Data-Mining Wikipedia for Fun and Profit
>IANAL but since the pages are published under Creative Commons Attribution-ShareAlike, if someone wishes to collect the text on the basis of the HTML version then there's not much you can do about it.

They said please don't, not don't do it or they'll sue you.

But content license and site terms of use are different things.

From their terms of use you aren’t allowed to

> [Disrupt] the services by placing an undue burden on a Project website or the networks or servers connected with a Project website;

Wikipedia is also well within their rights to implement scraping countermeasures.

learc83··on Richard Bartle releases his classic “Designing Virtual Worlds” book for free
The best one I’ve read is Advanced Game Design: A Systems Approach by Michael Sellers. It’s a good bit more rigorous than other books on game design.
learc83··on Object-Oriented Entity-Component-System Design
>Statistically the median age in the games industry is 25 and always has been.

Where are you getting this information from? The only hard data I can find is from self selected survey responses, but this survey from IGDA shows only 10% of employed game developers are under 25 [1]. My guess is that (as you've acknowledged is possible) there's some serious selection bias going on. You said you have an interest in burn out rate, so I'm guessing you're more likely to follow/notice game devs who discuss this topic. This group is more likely to be suffering from burn out I'd wager.

Another poster already mentioned that engine devs (the one's writing most of the C++) tend to be older than the industry average.

1. https://s3-us-east-2.amazonaws.com/igda-website/wp-content/u...

learc83··on Object-Oriented Entity-Component-System Design
>If your optimization goal is "use the least memory possible," then sure, manual memory allocation is the way to go. I was addressing a different optimization goal: the "high performance" case, meaning approximately "high throughput, low latency operation."

Ignoring the amount of memory used, GC tuning a managed language doesn't give you the flexibility to control memory layout needed for maximum cache locality.

>If your use case allows you to not care as much about larger memory consumption -- 2x to 3x does seem like a reasonable first approximation of "larger" -- then GC is indeed a viable option for building "high performance" systems.

Not ignoring amount of memory used. In the context of this thread--video games specifically "high performance" video games--2x to 3x is almost never going to be acceptable.

learc83··on Mailable Live Animals
My stepdad does maintenance for the Post Office. He has some stories.

Someone shipped a small alligator once. It peed in the cardboard box it was in and it got wet enough for it to escape inside a sorting machine. Imagine his surprise when he opened up the machine to see what was causing the errors.

learc83··on Object-Oriented Entity-Component-System Design
>The "rule" that C/C++ is always "more performant" is just wrong.

Who said it's a rule? What C/C++ gets you is the ability to manually allocate memory without jumping through hoops.

> Performance optimizing C# and garbage collection is a different art than performance optimizing manually allocated memory code, but it is an art/science that exists. I've even seen some very high performance games written entirely in C# and not "high performance C#" but the real thing with honest garbage collection.

Performance optimizing C# with garbage collection for high performance soft realtime systems (I've done it) relies on tricks like object pooling to avoid triggering GC along with avoiding many of the more advanced language features. Even then you don't get the same level of control. I'm also almost completely certain that the high performance C# games you're talking about aren't using C# for the engine, but feel free to provide examples so I can take a look.

If your game (or parts of your game) doesn't need the performance that comes with a higher degree of memory layout control, then by all means use whatever tools you want to.

I've written game logic in C#, F#, Ruby, Haxe, Python, Lua, Java, JavaScript and Elixir.

>The implication in the discussion above is that a possible huge sweet spot for a lot of game development would actually be a language a lot more like Haskell, if not just Haskell.

There almost certainly is for game logic. Many modern game engines provide higher level scripting languages.

However, if what you are working on is in that sweet spot, you likely didn't need an ECS to begin with and a classic component architecture would have probably been a lot easier to deal with.

>But there are High Frequency Trading companies out there using Haskell in production.

HFT is not game dev. "Performance" in HFT doesn't mean the same thing as performance in games.

I haven't used Haskell specifically, but I've toyed with using Elixir for gamedev. It's reliance on linked lists makes it extremely difficult to iterate quickly enough. There are work arounds of course, but the work arounds remove most of what is nice about Elixir in the first place.

>Performance is a good reason to do things, but I think the videogames industry tends to especially lean on "performance" as a crutch to avoid learning new things. I think as an industry there's a lot of reason to avoid engaging more experts and expertise in programming languages and their performance optimization methodologies when it is far easier to train "passionate" teens extremely over-simplified (and generally wrong) maxims like "C++ will always be more performant than C#" than to keep up with the actual state of the art. I think the games industry is happiest, for a number of reasons, not exploring better options outside of local maxima and "performance" is an easily available excuse.

The average engine coder writing high performance code in C++ isn't a "passionate teen". They are experienced software engineers who want to stick as close to the metal as they feasibly can.

The games industry (outside of AAA games) also has an extremely low barrier to entry, and it's something that nearly every programmer has thought about doing at some point--if Haskell turns out to be a fantastic language for making games, it will almost certainly happen sooner or later.

learc83··on Object-Oriented Entity-Component-System Design
>"for performance reasons"

The quotes imply that this is a bad reason, but in soft realtime systems you often want complete control of memory allocation.

Even in the case of something like Unity--in order to give developers the performance they want--they've designed subset of C# they call high performance C# where memory is manually allocated.

In most cases if you're using an ECS, it's because you care so much about performance that you want to organize most of your data around cache locality. If you don't care about performance, something like the classic Unity Game Object component architecture is a lot easier to work with.

learc83··on Swiping left on magnetic stripes
>Needless to say I think the bar staff got a lot of tips that night!

You generally tip based on percentage or the number of drinks, so it shouldn't matter too much unless you're doing it by percentage and rounding up the nearest dollar.

learc83··on Object-Oriented Entity-Component-System Design
ECS in this case isn't referring to the general method of using entities that have much of their logic defined in components. As you'd have in classic unity with RequireComponent.

ECS is a specific software architecture where (among other things) there is no entity level property because an entity is just an identifier--all properties are stored in logicless, data only components. Unity DOTS has an implementation of this.

learc83··on Ask HN: Is it worth learning Elixir, from a jobs perspective?
I didn't have a problem switching over with no professional experience and only a few small hobby projects under my belt. It took me a few weeks before a I ramped up enough to be able to start being productive.

This is coming from a Ruby, C#, F#, C, and JavaScript background.

My company is hiring btw if you're looking for an Elixir job. https://grnh.se/b87ce54f2us

learc83··on Aspartame and cancer – new evidence for causation
100g of strawberries is 33 calories. 1 cliff bar is 240.
learc83··on What if we could transpile COBOL into Elixir
Not OP, but we've got some open Elixir positions.

https://grnh.se/b87ce54f2us

learc83··on What if we could transpile COBOL into Elixir
My current company hasn't really had a harder time finding Elixir devs than my last company had finding Rails devs.
learc83··on Scientist says cleaning indoor air could make us healthier and smarter
There are also many more legitimate studies (and decades of experience) showing that submarine crews working at an order of magnitude or more of CO2 concentrations experience no cognitive effects.

It’s very likely the study you linked is flawed or there is a confounder.

learc83··on The historical accuracy of medieval city-builder video games
>subsequent medieval times relatively light as a percentage of one's wages?

You owed the lord a percentage of what you produced as rent. You owed the church a tithe. You also potentially owed service to the lord and the church. Taxes were also paid on certain goods purchased. Taxes that in many cases nobles were exempt from. Kings and feudal lords could also enact special taxes to pay for specific projects.

If you were a merchant of some kind and you wanted to float your barge down a river, you had to pay nearly every town you passed through.

>it's nothing compared to what we experience today in the developed world.

Your overall tax burden could still be tremendous even if it's not paid to 1 central taxing authority.

learc83··on Leap seconds: Causing bugs even when they don’t happen
In 100,000 years when 12pm is in the middle of the night, no one is going to care. It will have been that way for all of living memory, and the fact that noon used to be midday will be nothing more than a historical curiosity. The drift is far too slow for anyone to notice.
learc83··on The rise of never-ending job interviews
>They do if the employee sues claiming age discrimination, for example. At least, they have to defend the accusation to show it’s not discrimination.

They don't have to show anything. The employee has to prove that it's age discrimination.

>When someone has been at the company for 25 years like in the parent’s example, and they get fired abruptly without notice for liking the wrong football team, it’s likely the stated reason is untrue and inviting a challenge.

Without a pattern of discrimination this isn't a problem. If there is pattern of discrimination then it is. However, if that's the case it doesn't matter how much documentation they have.

>It certainly helps show that the company isn’t discriminating arbitrarily, and gave the employee notice and a chance to improve the situation.

You can't discriminate arbitrarily. Discrimination in this context means firing someone because they are part of a protected class.

>gave the employee notice and a chance to improve the situation.

Whether you gave someone the chance to correct the situation or not isn't relevant.

>BTW actual legal action isn’t necessary for firing to be getting harder. The fear of legal action is all you need, and that is in fact going up.

The number of charges filed with the EEOC has gone down over the last 20 years https://www.eeoc.gov/statistics/charge-statistics-charges-fi...

https://www.natlawreview.com/article/eeoc-roundup-part-i-10-...

"At the same time, FY2020 saw the lowest number of charges received from workers in more than two decades. The agency received 67,448 charges—continuing the steady downward trend since 2017 in the numbers of discrimination charges filed with the EEOC."

learc83··on The rise of never-ending job interviews
> result in legal action compelling the company to prove the employee was failing

The company doesn’t have to prove that the employee was failing. It’s perfectly legal for a company to fire an employee because they the employee likes the wrong football team.

The employee or people pursuing legal action on behalf of multiple employees has to prove that the company fires the employee(s) because they were a member of a protected class.

Assuming there are no incriminating emails stating that that was the reason, the only realistic way to do that is to show a pattern.

If an employee decides to sue, whether you had them on a documented performance improvement plan for 6 months or 6 days isn’t going to be the deciding factor.

learc83··on 1 out of every 153 American workers is an Amazon employee
Still a bit early to celebrate. You really can’t trust aggregate review scores these days—even if you scan them with a 3rd party tool.
← PreviousPage 6 of 34Next →