With LLMs, I can think of a few realistic and valuable applications even if they don’t successfully deliver on the hype and don’t actually shake the world upside down. With blockchain, I just could never see anything in it. Anyone trying to sell me on its promises would use the exact words people use to sell a scam.
Blockchain is a great solution to a almost nonexistent problem. If you need a small, public, slow, append only, hard to tamper with database, then it is perfect. 99.9% of the time you want a database that is read-write, fast and private.
We're currently adding AI support to our platform for email marketing and it's crazy what can be done. Whole campaigns (including links to products or articles) made entirely by GPT-4 and Stable Diffusion. You just need to proofread it afterwards and it's done. Takes 15 minutes tops (including the proofreading).
You could always tell because no one could ever really explain it in simple terms what it does or why it was useful, other than trying to defend NFTs existing and enjoying the volatility of the crypto market (not currency).
Yeah, I feel like Python is partly responsible for most of this meme. It's easy for very simple scripts and it has lots of ML libraries. But all the stuff in between is made more difficult by the whole ecosystem being focused on scripting...
Had to use wsl and manually set environment variables to get accelerate and bitsandbytes to work the other day, why can't pip install just work? Venv is just another layer that conda should be solving, and even that isn't enough to overcome Python's craptastic nature
Nah, it's pushing inference to prod. Any idiot can make an ipynb to train a model, but packaging everything into an app ecosystem is where you actually need a lot of non-ML software engineering know-how.
So true. I’m on an AI product team. None of the engineers know that much about learning/ai — our expertise is in high availability/scalability/distributed systems.
The AI part it when a data scientist hands us a notebook and says: implement this algorithm.
Going to be starting computer science in a few weeks. I feel like AI/ML is something you want an experienced teacher for instead of botching something together
Yea, I agree. I think basically every programmer should at least dabble in subjects that they aren't doing. It has helped me quite a bit with my projects.
It's not as bad as you might think if you have a specific goal in mind. My scope is mainly scripts and automation (python) for data analysis and productivity.
My boss was curious about market basket analysis so I spent an afternoon following along with a tutorial and researching and got the data I needed by EOD. Most of that time was cleaning up the input data and troubleshooting because it was a huge data set.
This kind of vibe is becoming actually scary from a "no one knows how X actually works, but they are building things that might become problematic later" headspace. I am not saying that everyone needs to know everything. But one really really bad issue I see while fixing people's PCs is that a shocking amount of high school and college aged folks are really about media creation and/or in comp sci majors. However they come to me with issues that make me question how they are able to function in knowing so many things that all involve computers, but not the computers themselves.
These next paragraphs are mostly a rant about how the OSes are helping make the issue grow with all users and not just the above. Also more ranting about frustration and concern about no one caring about fundamentals of how the things they make their stuff on function. Feel free to skip and I am marking as a "spoiler" to make things slightly less "wall of text".
spoiler
Some of it is the fault of the OSes all trying to act like smartphone OSes. Which do everything possible to remove the ability to really know where all your actual data is on the device. Just goes on there with a "trust me bro, I know where it is so you don't need to" vibe. I have unironically had someone really really need a couple of specific files. And their answer to me when I asked if they knew where they might be saved was "on the computer." Which was mildly funny to see them react when my face led to them saying "which I guess is beyond not helpful." I eventually convinced him to freaking try signing into OneDrive like I had told him to do while I checked his local drive files. Which turns out it was not on the PC but in fact OneDrive. That was a much more straight forward moment. Microsoft tricking people into creating Microsoft Accounts and further tricking them into letting OneDrive replace "Documents", "Desktop", and "Pictures" local folders at setup is a nightmare when trying to help older folks (though even younger folks don't even notice that they are actually making a Microsoft Account either). Which means if I just pull a drive out of a not booting computer those folders don't exist in the User's folder. And if the OneDrive folder is there, the data is mostly just stubs of actual files. Which means they are useless, and can be bad if the person only had a free account and it got too full and there is now data that may be lost due to those folders not "really" being present.
They know how to use these (to me) really complicated programs and media devices. They know how to automate things in cool ways. Create content or apps that I will just never wrap my mind around. So I am not over here calling them stupid and just "dunking" on them. But they don't care or just refuse to learn the basic hardware or even basic level troubleshooting (a lot is just a quick Google search away). They know how to create things, but not ask how the stuff that they use to create things works. So what will happen when the folks that know how things work are gone and all people know is how to make things that presuppose that the other things are functioning? All because the only things that get attention are whatever is new and teaching less and less the foundations. Pair that with things being so messed up that "fake it till you make it" is a real and honest mantra and means only fools will give actual credentials on their resumes.
It is all about getting a title of a job, without knowing a damn thing about what is needed to do the job. It also means so many problems that were solved before are needing to be re-solved as if it was brand new. Or things that were already being done are "innovated" by people with good BS-ing skills in obtuse ways that sound great but just add lots of busy work. To which the next "innovator" just puts things back to before and are seen as "so masterful." History and knowing how things work currently matter in making real advancements. If a coder just learns to always use functions or blobs of other projects without knowing what is in them. Then they could base basically everything on things that if are abandoned or purged will make their things no longer work.
Given how quickly "professionals" from so so many industries are just simply relying on these early AI/MLs without question. They don't verify if the information they got was factually true and can be cited from real sources. Instead of seeing that the results were made from the AI/MLs doing shit they have been taught to do. Which is to try and create things based on the "vibe" of actual data. The image generators are all about the attempts to take random prompts and compare to actual versions of things and make something kind of similar. But the text based ones are treated so differently and taken at a scary level of face value and trusted. And it is getting worse with so many "trusted" media outlets beginning to use these systems to make articles.
I fully understand why people would wanna skip all this stuff, but just learn html and css instead of programming at that point lol. I'd know, that's what I did...
Here’s a nickel kid. Get yourself a better computer.
If you want to be a sysadmin learn Linux/Unix. Basic bash scripting might be useful down the line to help understand a bit of what’s going on under the hood.
IMHO networking would probably be a better secondary place to focus for a sysadmin track rather than OOP concepts, algorithms etc.
Thank you for the response. I'll be sure to up my PC hardware game soon since I have plans to leap into a career shift. What kinds of specs would look good in your opinion?
There isn't a singular "right way", but you need to know the basics of computer science like OOP, algorithms, and data structures if you want to be a decent programmer. Everyone has their own advice, but here's mine for whatever it's worth.
If you want to be a sysadmin, you should learn command line languages like batch, sed, and bash (or a superset language like batsh). Start simple and don't overwhelm yourself, these languages can behave strangely and directly impact your OS.
When you have a basic grasp on those languages (don't need to get too complex, just know what you're doing on the CLI), I'd recommend learning Python so you can better learn OOP and study networking while following along with the flask and socket libraries. The particular language doesn't matter as much as the actual techniques you'll learn, so don't get hung up if you know or want to learn a different language.
Finally, make sure you understand the hardware, software, and firmware side of things. I'd avoid compTIA certs out of principle, but they're the most recognizable IT certification a person can get. You need to have some understanding of operating systems, and need to understand how to troubleshoot beyond power cycling
There is a website called roadmap.sh which has both Skill and Role based roadmaps to learn how to program. There is no actual “SysAdmin” role path since our job can technically have several routes by itself.
I personally use Debian at my org, and found Python and Bash enough to automate small things that need to be done in a regular basis.
But if for example, you were a Windows SysAdmin you’d have to learn to use PowerShell ~ or VBS (idk if those scripts are still a thing)~ .
I'm a Windows Sysadmin. A lot of places, just knowing your way around Active Directory and Windows Server is good enough to get your foot in the door. O365 management is pretty easy and check out some Azure courses on YouTube.
PowerShell has been helpful although I'm far from being fluent, "Learn PowerShell in a month of Lunches" was recommended to me and I agree it's a good starting spot.
Build a Linux machine and just play around getting familiar with the CLI and basic commands, I build a lot of applications that we host on Linux AWS machines.
As others have said, networking knowledge is almost a must so at the very least look into a networking+ cert or just run through the course. Cert-wise, networking+ and security+ would get you pretty well rounded (for what it's worth I have zero certs, just have done some reading and never officially got certified, the ability to prove your skills in most scenarios will be "good enough")
Most importantly, fake it til you make it. You will make mistakes and you will bring down servers. A good employer isn't worried about the mistakes you make, but how you recover. I'm self taught with everything and started as a tier 1 tech support role for an internet company 10 years ago. If I can do it, anyone can.
Note: my advice might be useless. I am not a sysadmin nor do I want to be. I am however a CS student and am mostly just hugely obsessed with linux.
I learned a lot of sysadmin stuff by just getting heavily into linux and setting up my system from scratch (I started with debian, later moved to arch, then Gentoo, and now am on NixOS).
The common thread between all of these distros, is that they aren't really downstream of anything, which means you need to setup everything for yourself.
Another thing I make heavy use of is the CLI. Using a window manager, rather than a normal full blown desktop environment promotes this a lot. These days I use hyprland.
Another good exercise is just setting up a server. Setting up a media server, as well as my mastodon server taught me a lot.
Yeah, and they don't just lie. They lie extremely convincingly. They're very confident. If you ask them to write code, they can make up non existent libraries.
In theory, it may even be possible to use this as an attack vector. You could ask an AI repeatedly to generate code and whenever it hallucinates, claim that package for yourself with a malicious package. Then you just wait for some future victim to do the same.
Well, it has pretty much always been like this. Everytime a new hype is going around a lot of people jump the bandwagon and try to use shortcuts to get a piece of the supposedly prosperous job market pie. It was like this (still is) with "data science", before that it was like this with python, before that it was web design, and so on.
With it, you have a whole industry of content creators churning out ebooks and Youtube channels, Bootcamps which promise "become a xyz in 2/30/90 days", dubious certificates on online learning platforms and a surge of freelancers on freelance websites.
Even at universities there are a lot of people who aren't interested in actually learning anymore. While I do understand, it is quite sad and frankly concerning to watch.
Self taught and haven't dipped my toes too deeply into those algorithms. That said, I def bought a textbook on data science and machine learning. I've been throwing myself at it periodically and still haven't figured out how to make ChatGPT, or really any useful neural net lol