I certainly wouldn’t go anywhere near Twitter these days, but the question is how much of that is to do with engineering failures and how much is to do with the overall change of culture and moderation practices that Musk has introduced.
Very much this. If you have 3000 engineers (and all the associated non-engineering roles that inevitably come with that) then you have guaranteed that no problem will ever be easy to solve. Possibly you might be able to solve some extremely difficult problems that you couldn’t solve with fewer engineers.
The iPhone 18 Pro main camera is f/1.48, which is half a stop wider than the f/1.78 main camera on the 17 Pro. An f/1.48 fixed aperture would probably not be ideal (less depth of field, more revealing of lens aberrations) so there is a real light gathering advantage to the variable aperture.
>Also a phone already starts with very deep depth of field
Fairly deep. You can easily see background blur on a modern iPhone camera if you focus on something close. The very fact that the cameras all have variable focus shows that depth of field isn't as deep as all that. The extra depth of field from a narrower aperture could certainly be useful in some cases, such as landscapes. Here's a question for your favorite LLM:
"If I am shooting an iPhone 17 Pro main camera, what aperture would I theoretically need to get perfect focus from 1.5 meters to infinity, assuming a CoC suitable for a 12MP shot?"
Answer: about f3.2 if you manage to focus at the optimum hyperfocal distance.
>which when stopped down physically reduces the amount of light from the scene that reaches the sensor
As you say, this is only the case if you can't increase the exposure time to compensate. In daylight you will often have plenty of latitude to do so, even without image stabilization. Typical daylight shutter speeds at f/1.78 can be around 1/1000 at base ISO, so there is plenty of room to increase exposure time by 2-3 stops in those conditions.
I think you're quite confused about what Animal Farm is. It's a short work of fiction. It's not something that you'd "cite" in support of a particular point, and it wasn't written with the intention of making the reader "a better citizen of the world". Of course it has obvious satirical and allegorical elements, but there's no He-Man-style PSA at the end of it.
That's a non sequitur. But you see, this is the exactly kind of thing that a high school literature class could usefully dig into.
We know that Orwell was thinking of the Russian Revolution when he wrote the book. Many events in the story have obvious historical parallels to it.
On the other hand, Orwell was also a political journalist who wrote political essays. If his primary aim in writing the book was to make a specific critique of communism, why did he decide to express that critique as a work of fiction with talking animals? He would certainly have been aware that such a work is inherently open to wider interpretation.
Do you really think that a class of reasonably intelligent high school students couldn't find any moral in the story that's not inherently tied to communism? There are clearly all sorts of analogies that can be drawn between the story and historical or current events. And there are all sorts of conclusions you can draw. Maybe the animals should never have had a revolution in the first place; maybe they should have, but they went about it the wrong way, etc. etc.
One of the main reasons to encourage kids to read fiction is to expose them to stories outside their current experience. We don't get kids to read Treasure Island because they can inherently relate to a story about 18th century pirates.
While it's true that the finer political nuances of Animal Farm are likely to be lost on most children, it's a perfectly comprehensible story in its own right, and it needn't be read narrowly as an allegory about Communism per se.
Sounds like a problem of unrealistic expectations. I read Animal Farm when I was a kid and enjoyed it. No-one told me that it was going to profoundly change my life, and it didn't. Neither did my chemistry class, or my math textbooks, or most of the other stuff I learned in school. There's value in reading significant works of literature, both inherently and because it increases your ability to engage with long and complex texts. Obviously, reading Vanity Fair is not going to confer some kind of profound knowledge, or enable you to do anything in particular that you couldn't do before.
I think one thing that you do get out of engaging with assigned texts is the ability to decenter your own judgment just a little bit. Instead of reasoning "this novel is boring me to tears, therefore it sucks", you start to think "what is it about me that makes me unable to appreciate this classic novel?" That doesn't mean you have to like the novel, in the final analysis, but it's a useful thought process to go through.
>The war is at a complete standstill and it will last for another horrible decade if no concessions are made.
There is a slight hope that the current Russian regime will collapse before then and be replaced by one that doesn't want to continue the war. (Though, that said, it could equally well be replaced by a regime that's even more ultranationalist than the current one.)
While Europe certainly does lack the political will to make a substantial intervention, it's not just a question of political will. There is the small matter of not starting the third world war to consider.
US motives are currently inscrutable, but the US is sending military hardware to Ukraine, whereas China is sending dual-use hardware to Russia. You can see an itemised list of US contributions at the following link. It's not nothing.
Overall I agree with you, but I'd be wary of taking these numbers at face value. For instance, $20b of America's $65b aid contribution comes from a loan that's repaid by selling off sanctioned Russian assets. Many of the weapon systems sent over are decades old, but valued at the price the US paid for it in the 1980s/1990s.
Side-by-side with, for example, itemized Israeli aid, it's pretty clear which conflict the US is putting on the back-burner.
By that semantic argument, we needn't worry about the far right gaining power because any party that wins an election cannot possibly be far right. Genius!
It wasn't a semantic argument; it was a question, or two questions.
It's possible, in fact likely, that the Budesamt für Verfassungsschutz has a clear idea of what rechtsextrem (I'm guessing that's the term they use) means but I certainly don't!
Yes, that is the argument I'm making. If a party wins an election they aren't far-right; they are just right. 'Far/extreme/fringe right' would be the ideology that is too far right to have much acceptance. Maybe you could call it the new right, if it's much different from the right you're used to, but it's looking like AfD is no longer far right.
A man from the past might consider the current mainstream democratic party "far/extreme left" but that doesn't make much sense to say in present day.
>A man from the past might consider the current mainstream democratic party "far/extreme left"
Surely not. "Far left" would mean public ownership of the means of production and the abolition of the capitalist economic system. The Democratic party has never supported anything like that. It's centre-right party for the most part.
More generally, you're presupposing that the only way to measure the extremity of an idea is by the number of people who hold it in a particular country at a particular moment in time. We can also bring to bear a global historical perspective and analysis of the content of the ideas themselves. Far right parties want to bring about the end of the very liberal democratic order in which ordinary left/right political debate can sensibly take place.
As tomhow points out, you are likely going to need more than just a multimeter. However, the hard part isn't whipping up a board that's 90% of the way there; it's the last 10%. I'm currently on revision ~11 of a hobby project which is far less complex than anything tomhow is talking about (4 layer PCB, 8-bit microcontroller, one analogue sensor circuit). Even the first revision of the board 'worked' for the most part, so I'm clearly not totally incompetent. It's just that the kind of polish that takes you a day or two of iteration if you're designing a web frontend can take months (or years, if you're working in your spare time) when you're constrained by manufacturing lead time and the need to test a physical object. There's a huge gap between "Yay! LED flashes!" and a marketable niche consumer product. Even just successfully putting the bloody thing in a box can require a lot of trial and error.
The firmware is not to be underestimated either. In my case that's about 6000 lines of C. That doesn't sound like much, but writing, testing and updating C code targeting an 8-bit microcontroller is a whole different ball game to writing generic application code. The time investment per line is vastly higher. (In fairness, choosing an EFM8 instead of an 32-bit ARM part was probably a mistake on my part.)
I recently layed out and ordered a single-sided two-layer board with only a minimum config STM32 + crystal, two USB ports with ESD protection, and two LEDs (one is always-on). I went for commodity SMD parts and it still costs 20 USD per unit to produce and ship from China. Even that PCB doesn't work right now.
[Sorry, dear reader. This post turned into a rubber duck session at your expense.]
The main peripheral and reason for the PCB is a USB MIDI device with a bit of custom sysex. Modifying an Adafruit was out of the question; the MIDI peripheral powers itself and the microcontroller/host, and the other USB peripheral. (Basically always, the host shall provide power. This USB connector, however, was designed for a proprietary, discontinued, expensive accessory.) I chose STM32 over 8051 or AVR or RP2040 because it's the cheapest dual-USB chip stocked by LCSC with good vendor tool support. I'm writing my own code because there's no ST middleware for MIDI.
The second LED should blink until both devices are plugged in and then remain steady, on. In testing, the LED visibly changes its timing after the second USB attach but doesn't stay on (rather, it blinks at a shorter and shorter period until simply shutting off, at which point the MIDI communication stops; the timing of the shutoff is not consistent) and the USB input events only register 40% of the time until the MIDI shutdown.
The LED is misconfigured intentionally; it's open drain and GPIO while I try to fix the MIDI nonsense. Later, I'll change it to push-pull on TIM2 to support PWM brightness (e.g. to monitor audio levels when not in text entry mode). Changing GPIO to PWM is its own minor pain because the USER CODE lines in the ST USB code are separate from the USB_Init/USB_RegisterClass/USB_Start sequence, so I have to reinsert my MIDI class every time I change something in CubeMX even if I don't change the USB configuration. (The USER CODE sections persist so that you can change the chip configuration and keep your code.)
Open-drain could explain weird LED behavior but not the communication shutoff. The MCU and LDO don't get noticeably warm, so I doubt it's an overcurrent situation.
I suspect D+/D- could be at the wrong level. As most STM32s, the microcontroller runs at 3.3 rather than 5 volts. (I would've loved an atmega32u4 for its 8-bit simplicity and native 5V operation but then the PCB will be double the cost and size as I'd need a pair of MCUs talking to each other with each one having a single USB port or else an off-chip USB host IC etc.) Sure, I can use a cheap multimeter to test the USB data lines, but this tells me the average level and not if the waveform is being clipped on the positive side (which is usually only a problem under 3 volts). Even if it's an electrical issue, an oscilloscope will reveal the cause but still won't provide a solution. It'll be up to me to cobble together more circuitry.
More probable is at least one code mistake, like a stack overflow or buffer overrun or peripheral misconfiguration/failure. I'm registering any expected USB class on both ports: HID and CDC and MIDI. The whole idea of the board is converting arbitrary USB input (PC keyboard, MIDI controller, joystick, etc.) into specific MIDI messages at standard USB data rates e.g. 12 Mbit/s at both ports with a fairly large buffer. The main MIDI device (supplying the power) will drop the connection after a few seconds of inactivity. I'm using an ST-Link V3 MINIE to step through, which is the cheapest I'd go on a debugger. Luckily I added SWO to my debug port and can still get useful debug info without stopping the processor. I also have to snip the power line of an OTG USB cable if I want the second USB peripheral to be a PC, which is a nifty hack you usually don't learn in the one month PCB design crash course.
I have zero visibility into what the commercial USB MIDI device expects (bus speed, signal characteristics) from the discontinued accessory and only knew its connection handshake from a random, otherwise-inactive Github user's single commit.
In any case, the USB algorithms I wrote work when the host is a PC and the code is ported to Python.
I could reroute pins to ADC and roll my own built-in oscilloscope (it's QFP and not BGA chosen specifically that I can solder in a hotfix, because I've done board design before and know it NEVER, EVER, NOT ONCE EVER goes right on the first attempt) but I'd rather spend time with my kids than a choose-your-own-adventure debug hackathon in my disorganized home office, although I did fall into the IDE trap. Every few years, IDEs and toolchains and build systems change, and this project was no different. Rather than STM32CubeIDE, I took a few hours to teach myself to use the STM32Cube Core and marus25 Cortex-Debug extensions in VS Code, as that seems to be the current trend at ST, and I do favor a vendor-agnostic, Eclipse-free workflow.
If this were my first project and I had to buy all of the tools for debugging, it would probably cost 200 euros or more even if I only buy cheap knockoffs. The other commenter suggesting a $10 logic analyzer?? I mean... I do own one of those, but it's barely tee-ball compared to the major leagues of Lauterbach or Rohde & Schwarz or even Saleae.
In any case, I fear I'll need a new revision with its two-week turnaround or at least a manual rewire of this design. It's frustrating... such a simple design, and I've already sunk over 100 euros and at least 10 hours into it and have a bug with odd symptoms. And, as a PCB design tradition, I'll be humbled and humiliated when I discover it's something like a missing switch case or a wrong clock setting or otherwise relatively basic mistake.
I'm not the first to state: There's a reason it's not called easyware.
PCB debugging is honestly one of the most intense experiences I've had in my life (and I don't even have a boss looking over my shoulder). It requires intense physical and mental concentration. You're dealing with a hypothesis space that includes both software and hardware faults, and you're also having to make delicate manipulations of a physical object.
reply