But many artists are hallucinating when they envisioned some of their pieces. Who's to say Mozart wasn't on a trip when he created The Marriage of Figaro.
HN user
Olreich
If you need to grab a particular struct's version of the data, you can via `opts.BarService.URL` or `opts.FooService.URL`: https://go.dev/play/p/MUSYJhmoC2D
Still worth being careful, but it can be useful when you have a set of common fields that everything of a certain group will have (such as a response object with basic status, debug info, etc. and then additional data based on the particular struct). I don't know why they let you embed multiple layers and multiple objects though. I've never gotten value out of anything but a "here's a single set of common fields struct embedding".
There aren’t grid-scale batteries that can handle hundreds of thousands of cycles at an affordable price. If we crack that problem, solar and wind for everything will immediately be the only technology worth deploying for energy in 99% of areas.
The appeal back then was being able to get all the shows you wanted on a single platform. Netflix had all of Disney, WB, ABC, CBS, NBC, etc. at one point, including strong original content. Going all in on $10/month for all the TV I wanted to watch was a good deal. Paying $15/month times 5 for a worse experience... not so much.
US students are expected to be able to read 104 characters by the end of 6th grade. While Chinese students are expected to be able to read 20k words by that time.
Characters in Chinese can be combined to make more words, and you need around 9k words in English to read a novel and 2k characters in Chinese to read a novel.
Current models are lossy databases at this point. Carmack looks like he might be trying to get logical reasoning to work (learning something abstract in one context and applying it to a similar context). That is something that would advance the field significantly and may be possible with a small team of researchers.
But yes, the equivalent of fnmatch should be a separate module and that could be a dependency of glob.
Interesting, lets look at fnmatch: https://pubs.opengroup.org/onlinepubs/9699919799/functions/f...
Well, fnmatch really does two things, it parses the pattern and then applies that to a string, so really, there should be a "ptnparse" library that handles the pattern matching that fnmatch has a dependency.
Though, thinking it through, the "ptnparse" library is responsible for patterns matching single characters and multiple characters. We should split that up into "singleptn" and "multiptn" libraries that ptnparse can take as dependencies.
Oh, and those flags that fnmatch takes makes fnmatch work in several different ways, let's decompose those into three libraries so that we only have to pull in the matcher we care about: pthmatch, nscmatch, and prdmatch. Then we can compose those libraries based on what we want in fnmatch.
This is perfect, now if we don't care about part of the fnmatch functionality, we don't have to include it!
/s
This decomposition is how we wind up with the notorious leftpad situation. Knowing when to stop decomposing is important. fnmatch is a single function that does less than most syscalls. We can probably bundle that with a few more string functions without actually costing us a ton. Glob matching at a string level probably belongs with all the other string manipulation functions in the average "strings" library.
Importantly, my suggestion that fnmatch belongs in a "strings" library does align with your suggestion that fnmatch shouldn't be locked into a "glob" library that also includes the filesystem traversal components.
You know what’s more fun than having a bad junior write crap code while you point out their mistakes? Writing good code yourself.
None of those listed jobs is actually unskilled labor. Driving a big truck around narrow roads is a skill most don’t have, doing it at speed and running up and down to actually move the heavy packages is a skill most don’t have. Assembling furniture is a skill most don’t have, especially with complex engineered wood products that will break if stressed wrong. Handymen is literally just a collection of skilled labor jobs rolled into one guy that can handle small home improvement projects like carpentry, masonry, plumbing, and electrical. These are specialized jobs that have wrongly been labeled “un-skilled” or “semi-skilled” as if knowledge work is the only skill of value…
Sure, but the argument is still that the smartphones aren’t the root cause. It’s the transactional nature of the thing. Can’t fail students because money would go down, so keep passing them as they get better equipped to ignore you and have reduced requirements to get a passing grade.
The thing that’s changed is how much the transactional nature favors the lazy students, not the smartphones specifically.
The reason the argument is so bad that “it’s the smartphones” is because that implies an easy solution that is external to the academic system, when the root cause is internal to the system.
Const only saves you most of the time if you have a “const” all the way down the type structure. If I have a type Foo with a field that is a pointer to a mutable value, instantiating a Const Foo just means I’m always pointing at the same mutable value, not that I have an unchangeable Foo.
Const support in languages never makes all modifications to data accessed through the variable locked out, just the top level, which makes it much more difficult to ensure that the assumptions about immutability hold without constantly doing deep copies or having to double and triple check that your Const definitions are correct.
Const often leads to a false sense of security.
Google wants Firefox to remain viable (or at least one other browser) so that they can avoid monopoly issues with Chrome. If they pay Firefox to keep Google as default search engine, they keep 80% of the money they’d get by having those users use Chrome, and they keep the other browser alive, but not enough to really keep up with Chrome’s feature set.
That’s the most likely bet they are making, similar to Apple/Android or Safari/Chrome. Spending a minor fraction of your revenue to avoid anti-trust probably makes sense for them.
As the law stands, they are allowed to lie as much as they want when in uniform, in public, and anything you say or do in response can be held against you in court. The proposed Virginia law forbids that in the case of children who are interrogated.
I do think that game companies have a higher percentage of top-tier programmers. This is both due to pedigree and size of the field.
There are some incredible programmers in both big tech and game dev, but big tech has vastly more developers with less pressure to have top-tier talent.
Median developer at both probably represents the same skill because of normal distributions.
Kotlin fixes a lot of the verbosity, but its tooling support is shockingly bad compared to Java in VSCode and IntelliJ for me.
He’s stated that he doesn’t think open source helps produce high quality software and attracts a bunch of people that are less interested in building software and more interested in building policy.
However, he’s stated many times that he will release his language compiler and modules openly when they are ready and that he believes he’ll have to open-source it at some point if he wants broad adoption.
Store configs in the program if you can. Store in INI, TOML, or something similarly simple for humans if you must. Never use anything that requires matching syntax as the default (closing tags and matched brackets being the two main ones).
JSON is already strictly worse than XML though as it doesn’t support comments and multi-line strings in a sane way.
It ran into a pole… I don’t imagine other cars’ safety systems would fail to brake there
How do we guarantee "T3 submitted at T+300ns" reads the rows that are committed by T1 and T2 at T+100ns and T+200ns? I guess the answer is that the minimum transaction time for consistency is 5 minutes? At that point, don't you lose a lot of the scalability and usefulness?
It feels very much like the "read" in the "read-after-write consistency" is usually forgotten, hand-waved away with "eventual consistency", or is actually just a single node handling the coordination somewhere, leading us to not having nearly as scalable a system as we are promised by the database.
It’s literally the mechanics of the vote and how it encourages voting not for your favorite candidate, but the candidate most likely to win that isn’t the worst candidate for you.
It’s all about accounting for the spend. Wall Street often looks at Capital Expenditures as a sign of growth or at least net neutral, but they view Operating Expenses as negative. If you can reduce your operating expenses by 200k, but increase your capital expenditure by 400k, you’ve reduced overall profit in order to increase growth potential because your investing 400k into new stuff that will bring in more revenue.
This strategy cannot work long term unless there is growth happening elsewhere in the company to make up for the excess money burned on contractors and reduced number of employees. But it can definitely work short term if the growth numbers for the quarter are going to look bad, and it has the benefit of giving management someone else to blame when the project work doesn’t get done.
If your company starts replacing employees with contractors, that’s a bad sign.
This article misses the most important reason to not use Serverless: Cost. It's way more expensive to run serverless than it is to run any other format, even something like AWS Fargate is better than Lambda if you keep your Lambda running for 5% of the time.
The second one is even more important though: Time. How many of my systems are guaranteed to stop after 15 minutes or less? Web Servers wouldn't like that, anything stateful doesn't like that. Even compute-heavy tasks where you might like elastic scaling fall down if they take longer than 15 minutes sometimes, and then you've paid for those 15 minutes at a steep premium and have to restart the task.
Serverless only makes sense if I can do it for minor markup compared to owning a server and if I can set time limits that make sense. Neither of these are true in the current landscape.
Tool-chain dependencies are still dependencies. If you need autoconf, cmake, python, perl, and gcc to build, you’ve made yourself a giant pile of garbage to deal with compared to just having a bash script that you spent two days getting into shape to send incantations to gcc.
One group sees the other as a person backpacking with a bespoke gadget for every little thing, wearing a 60lb rucksack while they are wearing a 20lb ultralight pack and have a multi-tool that serves 90% of their needs.
One group sees the other as a person with a reel-mower proclaiming they don’t need a tractor mower, while they can mow much less grass a day.
Both groups are right, and both are wrong. Depending on what you’re doing, it can make sense to use heavyweight tools, lightweight tools, little tooling, or lots of tooling. If you’re hired into a big codebase written over the course of ten years, skipping tools that will help you make sense off it is probably not the right choice. If you’re building a system from scratch, then those same tools might inoculate you to the dangers of having a poorly organized codebase. If you need to debug a server remotely, bring productive in vim and basic command line tools could be invaluable. But if your debugging stuff, you could have saved yourself hours by turning on a debug port and stepping through the code in a debugger.
The arguments everyone is having look to be about whether it’s worth it to learn how to use tools. The answer is yes, but everyone has their identity caught up in their pet workflows.
What’s another dignified option when it reaches terminal?
Yeah they will. Surgeons aren’t in it for the money, they’re in it for the glory.
Most doctors, nurses, EMTs, etc. would work for free if they could magically have them and their families taken care of, as evidenced by how much they go well above and beyond the requirements of their job, working heroic hours, buying stuff out of pocket when the system fails them, etc.
Not all health care professionals, but 90% of the ones I’ve met.
But the planning change to add a new wing to the building? That can’t be made smaller. What about if a new regulation is put in effect requiring every fire door to have a corresponding fire window next to it? That’s either 3000 little changes that need reviewing or one big change. One big change is often the correct choice. Knowing when it’s appropriate and when it’s not is the job of the engineer, the team, and the lead.
We could make it not opinion with ease. Make the test:
“Can the fetus survive without the host body?”
That’s a medical question that will slowly move toward not aborting ever. And it solves the medical issues as well. “This fetus is killing the host” always allows for removal, because we can either keep them alive, or it can’t survive.
Then the folks who want more babies to reach term can focus on improving medical technology instead of getting involved with the mess that is people’s love lives.
Do you want your children to have a better life than you? They won’t unless we start putting in the work to fix climate change.
As a species we took on some climate debt to improve our standard of living, and we’ve been talking bigger loans every year. Those loans are coming due in the form of larger and more frequent weather-based disasters as well as health problems for millions. If we start paying off the loan more aggressively now, we can help prevent harsher payment plans for the next 50 years.
You don’t pay off a house all at once, but you’ll thank your future self for paying it off earlier rather than later.
I can’t find any statistical reporting to back there being millions more undocumented immigrants coming into the country in the last 4 years. Data-backed reporting indicates that we’ve had ~11 million undocumented workers since the 2005 with little change until 2020. https://www.pewresearch.org/short-reads/2024/07/22/what-we-k...
Any chance you know where to find some more?