I started on front end work early in my career (mid nineties), moved to full stack and now write C full time for embedded (STM32) and Linux (RPI & Nvidia). I've essentially been digging deeper and can't seem to put the shovel down.
I don't think I would have appreciated it at different times in my career, but for me, right now, I'm loving every minute of it.
The biggest issue I've faced (beyond the obvious issues of getting anything to work at all), is how to organize the concepts.
The "Data-Oriented Design" folks have had a huge impact on that. Specifically, talks from Andrew Kelley, Mike Acton and the book by R. Fabian.
The second thing is registers. Just toss the HAL mess, pick up the Reference Manual and start poking registers. It's so much more enjoyable (and reliable) for firmware work.
I don't know about job opportunities as I'm running my own hardware business, but if you're feeling pulled in this direction, I highly recommend taking a closer look.
When I look at the two codes side-by-side with normal (full) brightness, the HDR one looks quite a bit brighter. If I dim my screen brightness substantially, the HDR one also gets a lot dimmer. Not sure if this solves that problem, though it could be an issue with my particular screen?
I like that the article is making me think about my beliefs in the long tail and how they may be in tension with my beliefs in the pareto principle.
The core long tail claim, as I remember it, was that the _area_ under the long tail was larger than the _area_ under the head.
Sometimes much larger.
I vaguely recall a claim that many businesses chopped off the market tail because it was often too expensive to serve those tiny segments (inventory, retail space, distribution, etc.), but that new technologies were reducing or eliminating some of these costs and making it possible to serve emerging, smaller markets profitably.
I wonder if some portion of businesses that see pareto distributions in their sales are just lopping off long tail revenues? I thought that was the central claim.
I also wonder if those pareto variants (i.e., 95/5 splits) were businesses that had potentially over optimized on their largest volume offerings?
Amazon was the quintessential long tail example, and I'd be surprised if anyone could claim that their their SKU count has decreased since 2006.
YouTube comes to mind as another great example of a business capitalizing on this phenomenon.
Consolidating markets (like ??) may be counter examples.
Now I'm curious about how to choose when to push in which direction.
Every year or so, someone shows off a feature of Altium that makes me want to take a closer look, but it's hard for me to let of those text file formats.
For folks who are considering Kicad, but not sure if it will be useful at a professional level...
We professionally design, engineer and manufacture accessible technology for disabled veterans and we are also developing robotic systems for industrial automation.
We have a half-dozen active projects running on Kicad and have been using it for almost 4 years now.
As with anything, there have been occasional frustrations with updates but overall, the tool consistently gets better over time.
The main decision to select Kicad was based on the plain text representation of project state which enables (1) improved workflows with Git, (2) scriptable bulk edits (3) simpler, sharable extensions / plugins and (4) easier continuous integration for build artifacts.
Building user experiences is inherently some of the most difficult software engineering there is.
It's not difficult because the existing tools are poorly made (though most of them are), it's difficult because the core problem is extremely complex (in the Rich Hickey [1] sense of the word, e.g., braided, intertwined, complected, etc.).
In order to build a user experience, we start with some information that can often (though certainly not always) appear both simple and easy (i.e., unbraided and comprehensible). But then we must create a projection of that information onto a 2D (or 3D) plane and manage it's changing state over time.
This is where everything falls apart. We're usually trying to manage a very wide, very deep, loosely defined tree of state and we're trying to reflect an arbitrary number of user interactions and mutations instantly, and over time.
Exactly zero of our tools (programming languages, UI toolkits, Operating Systems, etc.) have strong support for managing change-over-time in a way that makes this type of problem fast, stable or enjoyable to present, use, verify or mutate.
I love that the OP showed the triangle of Performance, Adaptability and Velocity. I've been framing a similar concept with teams since 2011 which I refer to as, "Fast, Stable and Delightful."
It's my thesis that we need to balance these three requirements in both our activities and in the output that we produce. This balance is incredibly difficult to achieve and harder still to maintain.
Different organizations tend to focus internal power in one of these 3 nodes (e.g., Google on Stable, Facebook on Moving Fast, and Apple on Delight). Note that the desire to move "Fast," or even to be "Stable" rarely achieves the desired result.
The only organization I've seen manage these values effectively is Apple and I believe this is because people there have understood for decades that speed and stability are prerequisites for delight, but that neither speed, nor stability (alone or together) are sufficient to make something that gives humans the sense that someone, somewhere actually cares about how they feel.
I love how the OP is exploring this problem space and how they are digging into the existing solutions and trying to define the problem with some rigor. This is fertile ground for exploring new ideas and new approaches. Please do not discourage this activity!
I've thankfully not had a bad experience with Mouser, they're generally just fine for us. I do spend a bit more than OP though, so maybe we're in a different service bracket.
I used to prefer Mouser because I thought their site was slightly easier on the eyes, and I felt they were basically interchangeable with Digikey.
A few years ago, I needed about 60 of a very specific, shouldered washer that only Digikey had. It was Friday afternoon and I needed it in Boston ASAP.
I called their support for the first time, with low expectations.
Within a couple hours, they were prepared to put a man from their warehouse on a plane to personally fly these parts to the nearest airport. It wound up being too expensive for the project, but their facility leadership burned multiple hours trying to help solve this problem for me, and I was a very small customer at the time.
After that experience, Digikey gets the lion's share of my orders, which have grown considerably over the years, and they continue to have incredible support, every single time.
They are our first place supplier and we only use alternatives if there is a stock issue, or the price difference is massive.
I've had other vendors try to tell me that Digikey charges too much. But when I get those same vendors to price our BOMs, Digikey is less expensive, has more stock and is far more efficient (e.g., I don't have to call and wait days to place an order and I don't have to order a lifetime supply of everything).
I heard the CEO on a podcast (Adafruit or Pick Place Podcast?) maybe last year sometime, and he
came off as a genuine, nice human being.
Unless they somehow flip 180 degrees, Digikey has earned my business.
Also came here to read about AT modem commands. Still have no idea (and admittedly little interest) what this other nonsense is... Did it have to use the existing name? Did the authors not have access to a search engine?
My statistics bullshit detector flashed on this line, "Average incomes have grown much faster than in western Europe or Japan. Also adjusted for purchasing power, they exceed $50,000 in Mississippi, America’s poorest state—higher than in France."
I was imagining a handful of billionaires "averaged" with a state full of people living in desparate poverty.
The census bureau [1] says that the median income in MS for 2022 (single earner family) starts at $47,446 and goes up from there.
I just think it's the incredible to realize that with all this technology available to us, human brains are still where (most or at least much?) knowledge and lore are stored and retrieved from.
"Travelers" are paper packets that move through a manufacturing process with whatever material is being improved. Lots of machine shops have these printed out packets of specs, communications and notes that accompany a given order as it makes it's way through the process.
I'm pretty sure the "daisies" comment was related to how many shops escalate a given order by adding bright stickers or other obvious, visual indicators to the traveler, and shops can sometime become so overwhelmed that everything is escalated and all the bright travelers start looking like a field of flowers.
The first fully functional Unit Test framework for ActionScript. It was great fun and helped get my career off the ground.
[0] https://asunit.org