Humans put the tool in the pipe and analyse the data. This isn't newfangled shiny tech, it's old stuff designed and maintained from a decade ago.
There's no fancy AI, no magical automated robots. Just humans using EM tools to scan pipes.
1,879 karma · joined August 17, 2017
Humans put the tool in the pipe and analyse the data. This isn't newfangled shiny tech, it's old stuff designed and maintained from a decade ago.
There's no fancy AI, no magical automated robots. Just humans using EM tools to scan pipes.
I built and deployed embedded systems robotics that protect water and oil pipeline infrastructure that costs billions of dollars if there is a failure.
That is not a hobby, that’s a career.
The tools I built just helped fix the fresh water access for my entire city of 2 million people. Explain to me what’s more important than people having access to water.
It’s how I deeply understand what a RAM lookup vs having it already in a register means for optimization.
These are things you need to know if you want to work on high performance applications or in limited embedded systems.
So, yes, many of us need to and it’s important we keep teaching it to future students.
Things I need to do, ideas I want to ponder on, people I need to remember or get respond to.
Writing is learning. Writing is understanding.
I have so many conversations with people who are always telling me I’m “retro” or “old school” for doing this.
I don’t even bother explaining the psychology behind it anymore. I’ve got no time for the ignorance.
Burn out isn’t caused by putting in too many hours at work. It’s a symptom of forcing yourself to do work you don’t align with.
Forcing yourself to care about KPI’s and goals you don’t give a hoot about will usually result in collapse.
What diminished the day-to-day difficulty for you? Is it because the ecosystem became more mature, or did you "crack the code" for how to interface with everything you needed from your phone? Is your use-case for a phone wildly different from that of a typical user?
It's really cool to hear that someone is successfully daily driving it and making this ecosystem work for them!
Your statement about "We can't be buying France's nuclear energy all the time" really stood out to me.
Are Swiss folks maybe acting a bit NIMBY by not allowing nuclear in their own country, but are fine with buying French nuclear power? It seems a tad hypocritical to be against nuclear, while simultaneously using it as long as it's "not in my country".
In my opinion, as long as the majority of their profits come from people continuing to buy the self-host devices, it is fairly unlikely they'll ever stop offering those devices. Why change a working business model?
Yes, subscription models are enticing for that recurring revenue... number must go up, right? /s
If a majority of your sales are not in subscription products though, I think it would be foolish for a business to blow off its own leg trying to chase that particular dragon.
Then again... businesses have made dumber calls in the past out of nowhere...
I've only been using Ubiquiti as a pro-sumer, but it has held up well for my use case of Plex and little game servers.
I use a Synology NAS for my storage though, which is a slightly beefier mobile AMD chipset.
I'd be very interested to know what I should and shouldn't expect from my ARM based network stack though!
I just followed Docker’s docs [0] to get Docker Desktop installed on Ubuntu.
Maybe I’m missing some specific point you’re making about some lower level detail, but they support and have instructions for Docker Desktop on Linux in their own docs.
“This CD is made for the Turbografx game system. Please place it into the CD drive on your Turbografx to play.”
My brother and I thought this was really cool when we were kids. We thought the CD player must “know” that it’s a game.
Hearing full hi-fi stereo anime rock and roll instead of chip tunes blew my mind back in the day.
The SNES can only render 256 simultaneous colours. The TG-16 could do twice that at 512. Its video processor was also full 16-bit.
I’m not sure where you’re getting that the video was the weakness of the TG-16. At the time, that was the Turbografx’s whole claim to fame in that it was superior graphically to the SNES.
Source: Old enough to remember the commercials and bought both consoles to compare like nerds did back then
There are already have a couple in Calgary and they're hooked directly to the grid. The cost of electricity for the city shot up at the same time. Also, there have been a few brownouts caused by them not being ready to handle late night draws from those data centres.
That's at least what I'm seeing. Though, admittedly, it's from older project articles. Maybe something has changed in recent months?
https://www.cbc.ca/news/canada/calgary/ai-data-centre-albert...
The bigger concern though, is the power requirements. Which are set to double or triple the energy use of the entire Province (analogous to a State in the US).
https://ucalgary.ca/sustainability/mobilizing-alberta/climat...
> too many SKUs and models - it takes a paragraph to figure out how 2 Dell laptops from the same release year differ.
And yet, I just watched a YouTube video where a "PC guy" was like, "adding the Neo just completely confuses the Apple product line. Are we heading towards having too many Apple options that confuse the buyer here?"
I get it, other than price, the Neo and Air are a bit confusing product wise. Have they looked at how Asus, Lenovo, and Dell are doing their products though? It's absolutely wild the disparity between PC and Apple for laptops.
I run both PC's and Mac devices in our house, we use what fills the job. Recommending PC laptops for family members feels like a total crapshoot though. Every time, I do all I can to find the right device for their needs and there are just so many trade-offs. Maybe I get all the right specs, ensure it doesn't thermal throttle, keyboard/trackpad are A-OK... but the webcam is trash. Ooof... now Mom is complaining about how no one can see her properly at bridge club call.
I brought up how the Neo might do to the PC industry what the Air did to Ultrabooks back in the day. The amount of hate I got on YouTube/Verge with copy-paste, "hahaha, wut, with 8 GB of RAM? lmao, lol, you Apple bot?!" was expected, but also disappointing. There is clearly a market segment happy to continue to put up with the mess that Dell/Lenovo are selling (anything but a Mac).
Wild how tribal we are to our corporate computer overlords.
The era where something like Framework with its fully customizable, repairable, modular laptops becomes the standard can't come soon enough.
For the time being, I'll let Apple/PC continue to duke it out. Hope some competition helps in the long run. :shrug:
Almost everything in tech has been subsidized in one way or another via tax avoidance schemes or outright lobbying and manipulation of the market.
Why would this be any different?
Yes, and this is the way it works JS currently.
The reason I'm commenting is because it appeared folks were advocating to stop doing this (despite the fact it seems to work just fine).
(I'm being facetious, if the hardware was open, someone would have already written a custom boot loader for this :P)
I was trying to keep an open mind, it's easy to be wrong with all that's going on in the industry right now.
Thanks for clarifying some of the details back to what I was originally thinking.
Makes a lot of sense, cool that the garbage collector can run independently of the call stack and function scheduler.
Also, I wasn't talking about building network layers, I was explicitly referring to things that use a network layer... That is, an application receiving streams of enumerable network data.
I also agree with what you're saying, we don't want UInt8, we want bits and bytes.
I'm really confused as to why the parent comment was edited so heavily. Oh well, that's social media for you.
Are there any concerns that the extra array overhead will make the application even more vulnerable to out of memory errors while it holds off on GC to process the big stream (or multiple streams)?
I am mostly curious, maybe this is not a problem for JS engines, but I have sometimes seen GC get paused on high throughput systems in GoLang, C#, and Java, which causes a lot of headaches.
I agree with this.
I have had to handle raw byte streams at lower levels for a lot of use-cases (usually optimization, or when developing libs for special purposes).
It is quite helpful to have the choice of how I handle the raw chunks of data that get queued up and out of the network layer to my application.
Maybe this is because I do everything from C++ to Javascript, but I feel like the abstractions of cleanly getting a stream of byte arrays is already so many steps away from actual network packet retrieval, serializing, and parsing that I am a bit baffled folks want to abstract this concern away even more than we already do.
I get it, we all have our focuses (and they're ever growing in Software these days), but maybe it's okay to still see some of the bits and bytes in our systems?
Link for those curious or confused as to what I'm talking about: https://www.youtube.com/watch?v=1F-rAW3vXOU
Forcing AI to fight in an arena for our entertainment, what could go wrong? (this was tongue in cheek, I am fully aware LLM's currently don't have conscious thoughts or emotions)
I am fairly sure that nVidia intentionally wants to keep addressable memory as a feature only for CUDA (among many other features).
Having CUDA be far superior to other shader code methods is good for vendor lock-in to their hardware, their software, their drivers, etc.
It is really sad seeing that the addressing is possible, but they won't open it up to everyone.
I've brought it up several times when talking with folks who work down in the chip level for optimizing these operations and all I can say is, there are a lot of unforeseen complications to what we're suggesting.
It's not that we can't have a GPU that does these things, it's apparently more of a combination of previous and current architectural decisions that don't want that. For instance, an nVidia GPU is focused on providing the hardware optimizations necessary to do either LLM compute or graphics acceleration, both essentially proprietary technologies.
The proprietariness isn't why it's obtuse though, you can make a chip go super-duper fast for specific tasks, or more general for all kinds of tasks. Somewhere, folks are making a tradeoff of backwards compatibility and supporting new hardware accelerated tasks.
Neither of these are "general purpose compute and data flow" focuses. As such, you get the GPU that only sorta is configurable for what you want to do. Which in my opinion explains your "GPU programming seems to be both super low level, but also high level" comment.
That's been my experience. I still think what you're suggesting is a great idea and would make GPU's a more open compute platform for a wider variety of tasks, while also simplifying things a lot.
This mindset is a healthy and good one. It is built on training yourself, learning, and practicing a discipline of problem solving without giving up.
Persistence is something we build, not something we have. It must be maintained. Persistence is how most good in the world has been created.
Genius is worthless without the will to see things through.