skysight-inc/HackerNews huggingface dataset:
The problem is that this has become the primary and sole measure by which we're judging candidates. This leads to a pathological condition at many large tech companies where the outputs of an engineer do not matter for their career.

Until you hit the Senior/Staff level, no one really gives a crap if you were editing yaml files, toiling on a legacy app, or building the highest scale app on the planet. It just matters that you can pass the standard tech interview.

Now that people understand this, they are starting to optimize their careers at a company to simply do the minimum until they move externally for higher pay. You can bounce between reasonable tech companies doing literally nothing for higher and higher pay by simply switching once per year.

I suspect that we'll see a steady increase in attention paid for deliverables and a dialing down of the leetcode arms race over the next 5 years. The signal to noise ratio of this interview type is falling.
Well, in this case because we also eliminate several additions. For each even Fibonacci number you have to perform multiple additions in the naive approach (generate all, filter):

F(0) = 0
F(1) = 1
F(2) = 1 + 0
F(3) = 1 + 1 = 2 (2 additions to get here)
F(4) = 2 + 1 = 3
F(5) = 3 + 2 = 5
F(6) = 5 + 3 = 8 (3 more additions to get here, and 3 for each subsequent one)

With the faster version you have one multiplication and one addition (2 operations) versus 3 additions. The 3 additions naive version also has a branch that has been eliminated by just generating the even elements.

EF(0) = 0
EF(1) = 2
EF(2) = 4 * 2 + 0 = 8 (1 mul, 1 add)
EF(3) = 4 * 8 + 2 = 34 (1 mul, 1 add)

This is why I was getting about a 30% improvement in performance, it's performing one less op (the branch itself isn't too expensive in comparison so with large numbers it's a minor cost).
6 years at 600k is a stretch. 400k is very doable though. I think you're looking at closer to 10+ years to hit the higher end of 600k (at big tech)
Yeah, that's why I was hoping the article would go into detail. But sadly it doesn't give any type of analysis for the potential underlying causes.
Note that this also necessarily requires that critical variables and configuration options are stored in version control, rather than database. Bootstrapping staging databases with values necessary to run the application is a constant challenge.

Otherwise, your production environment would have massively different feature flags and other config than staging.
What happens when you're let go due to downsizing or just straight up fired?
I replaced my washing machine and dryer a year or two ago. I was pretty skeptical that a new set would make any difference, so I held off until it broke.

The new machines are better. I'm not an expert, but I think the biggest differences are: sensors to stop adding water when it isn't necessary, a really powerful spinner in the washer that dries the clothes better, powerful spinner in the dryer. Btw, my washing machine is top load, fwiw.

Oh, and to answer a different question: why didn't we have this stuff years ago? I think, no one cared enough to do it.
related:

https://surma.dev/things/webgpu/ (https://news.ycombinator.com/item?id=30600525)

https://mattdesl.svbtle.com/drawing-lines-is-hard (https://news.ycombinator.com/item?id=13671016)

https://blog.mapbox.com/drawing-antialiased-lines-with-openg...

i'd like to try implementing this paper [1] in WebGPU, but think it's over my head currently, having mainly worked with Canvas2D.

[1] https://jcgt.org/published/0002/02/08/paper.pdf
Do you have a replicate of the production environment codified somehow, like into a VM? It's rarely perfect, but I usually try and develop locally on the same stack I deploy to which can help with the environment differences.

It's also why I think it's smart to rebuild the environment on deploy if it makes sense for your pipeline, so that you wipe any minor differences that have been accruing over time. Working on a long running product, you quickly find yourself with disparities building up, and they're not codified, so they're essentially unknown to the team until they cause an issue.
What few people put to words is that prepping for tech interviews can be the single most significant financial decision of a person's life. Working at BigCo. vs Normal Tech vs Traditional Company can have 1.5x to 2x impact on compensation in a single year - let alone an entire career.

When you consider the work you do to earn money/whatever else you value at a job the step increase by passing tech interviews at a big company is almost always worth way more time and/or money than many people put towards it. I think students in particular need to realize the importance of these kinds of interviews relative to their schoolwork if they're forced to make the tradeoff.

I am a small participant in the Interview Prep industry since I purchased Cracking the Coding Interview - but it's no surprise people are willing to pay for interview prep (assuming it's both quality material and the individual needs that particular kind of help) when the ROI is so high
My work around for this is to load a live usb, unflagged the EFI partion used for MS (remove boot/esp flags). Proceed to install, and reflag the MS EFI partition afterwards. Works a treat, and keeps my installs separate.

Another option, is to run windows or linux as a guest VM. You can setup a near native quest VM with device passthrough, such that you only ever have to boot your host OS but can drop down into a fully fledged guest when needed.

I'm doing both as methods as a way to slowly offload from windows to linux
This is good practice, except that blue/green is not exactly what you want. You want a smart load balancer that can shuffle an exact amount of traffic to a new service with your new deploy version. It must then evaluate the new service for errors and metrics, and then do an increase in shuffling traffic, etc, until you reach 100% shuffled traffic, at which time the old services can be decommissioned.

If at any time the monitoring of logs or metrics becomes unusual, it must shuffle all traffic away from the new service, alert devs, and halt all deploys (because someone needs to identify the bad code and unmerge it, thus requiring rework for all the subsequent work about to be merged). This is called "pulling the andon cord".

It is sad that there's all these comments saying this doesn't work. This has been the best practice established by Etsy, Martin Fowler, and others in the DevOps community for... 10 years? I guess until you see it for yourself it seems unbelievable. It requires a radical shift in design, development and operation, but it works great.
The preferred method of launching an app on GNOME is hitting the super key, typing the first few letters of its name, and hitting enter to launch it.

Regarding minimizing apps, etc, GNOME classic is available for a MATE-style experience, but its on GTK4 instead of GTK2.
..And laptops *definitely* don't look like production.
It lets you decide how a link you share is presented on a variety of supporting platforms, with a few bits of metadata. You can control whether/how it presents your page's title, a preview image, summary/description, and who it's attributed to. All of which are desirable for content authors, not just those platforms.
My community college created my Gmail account for me and they needed a lot more information than just a phone number to enroll up.

What I'm trying to say here is that we can get email or other identities other than the ones we make on our own. Perhaps we should be doing this identity-tying more often? Many people get email addresses from their employer and aren't expected to move those addresses around when they change jobs.
It appears it’s built into Mullvad and possibly others
Not only is this a web page with its own loading screen, it's a web page with a loading screen that shows every time you open the page or click a link on the website.

My browser has a loading bar and your web page is not a video game pulling in hundreds of megs of assets in the background. What could possibly justify this kind of behaviour for a UI toolkit?
> but for API calls and databases, just have the test write to the prod environment, but include rollback/cleanup in the test

I disagree with that. Automated testing should be done on a test database.

Holding a lock for too long could effectively block the entire production. This could happen while debugging through a test (e.g. by hitting a breakpoint or by just stepping line-by-line). Or by simply having a bug in the test causing a "transaction leak" - depending on the tech stack, this could keep the transaction and the associated locks alive until all tests have finished running, not just the one which had the bug.

Or you could commit instead of rollback by mistake.

Or you could simply put unexpected strain on the database, affecting the performance of real users.
"But controlling one army through another army creates webs of puppet strings. It’s dangerous, because losing one piece can lose you control of that color and any colors that piece controlled."

"Be prepared to notice you’re in check without knowing when it happened"

This game looks cool, I'd definitely want to try it. However, the potential for long disorienting chains of command and confusion about who owns what through which pieces on which squares tells me that this should be a digital implementation. Maybe after plenty of experience with that, advanced players could successfully transition to a physical board. I think the card game Illuminati does a much more manageable job at creating factional oriented game pieces of which control can be gained and even change hands.
> To be clear it was a one-time lifetime payment!

That's on them and their business model, not on the customers.

In software a business needs a source of income, otherwise you have what unraid has currently: a burst of income at the beginning, and less and less resources to handle the support calls that come in later.

Edited to add: It's also why Plex sucks lately. Lifetime members paid up front for maybe $100. When Plex burnt through that money and wasn't getting a return with new subscriptions, they started looking for ways to make Plex more profitable rather than making better software for their users.
I got a 4x raise moving to big tech. My salary then increased by another 50% in the 4 years since. So you’re completely right.
https://www.cisa.gov/uscert/ncas/alerts/aa20-245a
Correct me if I’m wrong but doesn’t File Chooser in Nautilus mean the legendary no image preview meme would finally be fixed?
Improving NGINX Performance with Kernel TLS and SSL_sendfile
I think it's a difference in relationship with your users. For software I'm currently working on, we require verification that the changes we made were correct before they make it out to production, so there's a requirement for a staging environment they can access. That's a software > business relationship, where there's a known good outcome. This was also true in the ecommerce agency environments I worked in, the business owners want the opportunity to verify and correct things before they go out to production.

If it were a product > user relationship, where you're the product owner and you are trying to improve your product without an explicit request from your users, I can see how no staging environment makes sense. You have no responsibility of proof of correctness to your users, what you put out is what they get, and breakages can be handled as fixes after the fact.
I think it's just overloaded right now; I used it successfully with Firefox before.
Not too often (although Dreamworld, Balto, and Zenefits come to mind) given the scale. What is more troubling to me than outright scams is just brand dilution and noise. The classes have been rising and show no signs of stopping. With 300 companies per class now, I get the impression it’s a numbers game (we just need one big win to make up for all the duds) than anything really mission-driven.
2006 was not an early stage of the Internet.
If it happed on a work day I wonder if peoples pandemic logic would kick in and you would start hearing, "It's not worth closing down the whole economy just because of the risk of a few people dying in a train crash"
Yep, sadly I have to agree with this. I really dislike that this is the case, but it does have really high ROI to prepare for big interviews. I spent three days full time preparing for a Google interview and it's easily the highest return I've gotten on half a week's work in my career. But I hated doing it.
Huh! Well, the other factors I can think of are body chemistry, and what you use to wash your clothes. I've got Levi's that are over a decade old, but the sweat from my wrists will erode the edge off a Macbook Pro in a couple of years. You win some, you lose some
Perhaps to the degree that it presents expensive in person classes as a much superior alternative to using a test prep book for motivated people.
I agree with this, since I have seen this in action. They cheat a lot, and argue with you when they lose. However:

>But stealing, robbing, lying—if you eliminate that from your program, you’ll be 99% better as a person.

Biblical references apart, this is the key point. The choice they made is a much better choice for most of them, and for the society around them. Playing chess helps many of them to focus on something that is not destructive and enjoyable. It gives them constant excitement and fast-paced action without getting into trouble in other ways.
I worked briefly for a Toronto company named Trigon that had a government contract in 1984 to produce interconnected office software (word processor, spreadsheet, calendar) for the Icon. The product was called "Emerald". I don't think the Icon hardware existed yet, we developed on Unix. As far as I know, the company went broke before the product was delivered.
>> but that’s speculation, not a good guess.

Well, as long as you're clearly stating _this_ part of your otherwise validated and highly likely pre-post-mortem is speculation...
Where I studied in USA there where plenty of mature people in my class.

This one gentleman had the benefit of hindsight; he had tinkered with early computers, and had seen its evolution.

(This was with regards to Bachelor's and Master's degree, though I don't see why they wouldn't accept mature people to PhD programs).
For people who can't see this due to hug-of-death problems, it appears to be an art project in Japan where all current site visitors control real mouse pointers made of light, projected into a physical space, with streaming video. That is, you move your mouse pointer around over the video, and instead of rendering it on your screen, it gets rendered physically, with light, in a specific room in Japan. You and all other visitors (and presumably also people in Japan who are in that room) can see your own mouse pointer and everyone else's.

If you click, a persistent copy of your mouse pointer is left behind at the specific location you clicked on, for a little while.

There are various objects in the room and so you can play around with illuminating them by moving your mouse pointer over them, or drawing text or images with light.

It was pretty awesome before it got overloaded!

(You should probably visit it with a device with a mouse rather than a touchscreen.)
ChartMogul | Remote (EU) | Full-time | Multiple roles | jobs.chartmogul.com

ChartMogul is the leading subscription analytics platform, helping SaaS and subscription companies build successful businesses with real-time, reliable metrics and insights. We're a global company, 64 Moguls spread across 22 different countries, and looking for others to join our amazing team!

Tech stack: Ruby, JS, Postgres and SQL, AWS

Our open roles:

- Director of Engineering

- Engineering Lead (Pipeline team)

- Sr Ruby Engineer (Pipeline team)

Feel free to apply through our career page or email me at soo@chartmogul.com
I prefer code in this style too:

if something:
return something
if something else:
return something else
return default

It's not applicable everywhere, but where it is, it seems tidier to me than the alternative:

if something:
return something
elif something else:
return something else
else:
return default

Edit: The article basically says the same thing. I just had a hard time parsing all that C at first.
For many, many cases, it is literally impossible, if not incredibly unrealistic. Doing away with it eliminates all of the problems associated with it and allows you to gain more confidence in your deploys. It simplifies while adding reliability and velocity. This is why abandoning staging is the best strategy.
China's Grand Strategy and Boundary Settlements
> when debugging, many programmers prefer to make small changes to their code (tweaks) and run it again to see if the bug is fixed rather than spending the energy to create a good mental model of the problem

This problem can be solved by increasing compile time.
Yes, that's what it is.
I have no skill so it doesn't make sense for me to try to move from a traditional company to a tech company. Just wanted to share this so other sare aware that one can realize/accept one's limits and that not everyone has to (or even can) go to big tech.
I guess by being consistent ourselves and by being clear about what the left is and isn't/does and doesn't support. And not letting liberals steal that valour.

Bernie Sanders is a good, consistent example of a left wing advocate - by clearly opposing the Iraq war and clearly opposing the Russian invasion, people can conclude that he has a principled opposition to imperialism, in all its forms, no matter who is doing it.

Also being ready with points to counter red baiting; the USSR wasn't left wing - Stalin and Lenin killed more peasants and socialists than anyone etc.

The consistent advocacy that comes from thought-out, principled positions isn't emphasised enough. The left needs to make that more of an election issue. Just some thoughts.
It’s crazy how Capital One Shopping fits into that sentence so nicely. The first time I got a Capital One popunder I googled for minutes in shock that it was actually Capital One and not a scam using their brand without permission.
Right now they are recapturing territory on a great majority of fronts.

They lost ton of Southern territory that's clearly being indicated as a work of traitors now, so your characterization of their tactics are not the most charitable.
I've worked at a number of places where we had multiple products with replicated staging/production environments. One approach is to have your environments codified, prod gets built from the same pipeline staging does, and to automate database refreshes from prod > staging so they don't fall behind. It isn't rocket science, but of course it doesn't come at zero cost. Some production environments are pretty hard to replicate too, like anything with third party integrations that don't offer a staging environment of their own.

If you're a small shop I can understand it, but bigger companies with infrastructure teams, there's no excuse really, the technologies are all there.
> Until you hit the Senior/Staff level, no one really gives a crap if you were editing yaml files, toiling on a legacy app, or building the highest scale app on the planet. It just matters that you can pass the standard tech interview.

But big tech all have quarterly OKRs, performance plans and terminations for low performers, and managers/leads are interested to have strong contributors in team to deliver results, and let low performers to go..
There were a lot of women on IRC back in the day and it wasn't just hobbyists. Almost every web forum had an associated IRC channel and forum users would congregate there. Depending on what the forum was about, you'd often see more women than men.
Great Resignation Isn’t Slowing and May Persist, Randstad Says
This appears to be just a naming convention issue. All the potential problems of staging environments can occur, for the same underlying reasons, in the approach advocated here, but they don't happen in staging merely because there isn't anything called that.

Personally, I think the approach advocated here is feasible, and even necessary if you are operating at global scale, but I am skeptical of tendentious stories about how it makes a number of problems just disappear.
Inheritance hell would be more lasagna code.

Golang does a good job of addressing this one particular problem.
Good thing I'm not a mouse
This machine is 100% still compromised...

You have an actor who has system level permissions that allowed creating and registering launchd scripts. A browser extension cannot do that by itself. You've stopped the obvious parts of this malware, and that's absolutely all.

This machine needs to be wiped. If you don't have backups - move critical files and media to a new machine, ideally running a different OS, or to a cloud service.

Then do a completely fresh install of the OS.
Right, I'm saying I think the statically-typed ElementTree approach is superior to the dynamically-typed approach used by the W3C DOM.
The argument is a broken window fallacy. It asserts that bitcoin energy use (the broken window) is good because it leads to increased spending on energy production and/or increased heat generation.
1. Technical interview prep companies give structured learning and practice to people that aren't good with structure.

2. Algorithm technical interviews provide a structure for companies to compare skill levels of different candidates against each other

3. Neither is the best scenario for either party but in a chaotic world without structure, each one is trying the best they can towards filling a job role by meeting with someone in a span of 45 minutes.

Personally as a founder of an interview prep company for data scientist (https://www.interviewquery.com/), I find that we try to just teach candidates concepts through bite-sized problems and repetition. Some people might hate it, but we're essentially playing the game that the companies are holding up. So you might as well learn to get good at it.
"Out of Stock" looks so much better than "Coming Soon". Like having a long queue of people outside of the nightclub to make it look popular.
Serious question: are you going to catch "corrupt data"-style migrations in staging in general?

There are of course "locks up the DB"-style migrations where you can then go in and fix it, so staging helps with that. But "oh this data is now wrong"-style errors seem to not really bubble up when you are just working off of test data.

Not to dismiss staging testing that much, but it feels like a tricky class of error where the answer is "be careful and don't delete data if you can avoid it"...
Fake news, of course being defined by the views of the state.
There's no point in playing Dominions unless you join one of the online communities of hardcore Dominions players, because as a singleplayer game it's terrible and (unlike Diplomacy) you can't learn the rules in five minutes (or five years), so any casual group will bounce off of its abstruse interface within a handful of turns. Once you get in with some of the hardcore players you will indeed find that it's Diplomacy raised to the tenth power, but you have no hope of ever winning any game unless you're a serious no-lifer.
Isn't this an argument for greater consolidation and vertical integration, and by proxy fewer companies and competition?

Maybe if they don't, they'll be completed out of existence?
Chief Impact Officer at SpaceX would be an entirely different role I feel. :)
I like to refactor once I have passing tests and before committing.

Once you know it works take a minute to clean up and make the changes fit your preferred style, extract repeated code into shared methods, comment the tricky bits, etc.