Details
-
Skillsjs, CSS, HTML, shell, lua
Joined devRant on 7/17/2016
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
Lua is one of the stupidest languages to ever exist.
Oh, the language is easy to learn? The syntax is friendly? There's only like negative 10 functions you ever need to know? Everything is a table?
EVERYTHING IS A TABLE?! WTF CARES? WHAT ABOUT NIL?!
The arrogance this language has is extraordinary, literally. No lang, except Lua, imposes such an opinionated dichotomy. Everything is a fucking table, or, it's nil. -- That's so fucking stupid.
And look, I get it, this lang (oh sorry, scripting language (?)) CAN be good and fun and whatever... the moment you start to do IO is the literal end of days.
Everything is nil. Except, if it's defined... then it's not nil. -- OK. That sounds sensible/reasonable enough. -- What if it's not defined? You get nil. What if it's not the right data? You get nil. Do I get errors/exceptions or whatever? No, absolutely not, you get nil... unless the application you're using with Lua with has a lib that handles that.
There are so many more issues I have with this lang, but honestly... Am I fucking missing something? Is this lang like actually super dooper awesome and I'm missing something? -- I can't not look at this language as just dumb and arrogant. -- It's literally a language where you have to manage and remember ALL conceivable state at ALL times.11 -
That moment when... something finally works.
But you don't trust it.
So you pass it bad inputs to see if it's failing as it should.7 -
Do coding outside of work. I got into the industry because I enjoy writing code, but your job won't always be fun. That's why they give you money. Make sure that spark of joy doesn't die.
Or, when it does die, at least you'll have something to rant about.3 -
Most of the times I really hate typos, coz they seem like carelessness, lack of preciseness. But this delightful method name just made my day:
ReceiveBackendMassage -
Searched stackoverflow and found the exact issue I was having. The question is from 2014.
The accepted answer is a messy hack. Fuck.
The second answer is clean, clear, concise. It was posted 38 minutes ago.
Is this real life?9 -
Talking to my son today about one of his CS classes, not sure which.
He says: "I missed the lecture yesterday, but I'm not going to bother re-watching it."
Me: "Why? You really should. You're paying for these classes AND you really need to actually learn this stuff."
Son: "Well, because I got 100% on my last assignment without going to class. I just Google'd everything and figured it out on my own from what I found."
My wife out of the blue: "DAMN IT, BUT THAT'S NOT HOW IT WORKS IN THE REAL WORK WORLD!"
Oh, you poor, uninformed summer child. I love her, but she just doesn't know that my son has already learned the key lesson he needed to learn from his schooling in order to get a job and make good money in this field! #ProudTechieDadMoments12 -
Does anyone remember these? I would navigate to search just to see these characters perform different animations and movements
What a wonderful time it was🥺7 -
Young 22 years old me, hungry for excitement of real world issues, full of whimsical witticisms, writing bootstrap scripts that'd spit meaningful information like...
> $ run bankhack
> Shutting down the old world...
> Checking world population...
> Initializing particle accelerator...
> Exploding sun...
> Entering hell...
> Starting daemons...
> Starting lesser daemons...
> Burning logic...
> Restoring balance in the universe...
> World peace achieved.
What a naive douche he was.1 -
Larry Tesler, a computer scientist who created the terms "cut," "copy," and "paste," has passed away at the age of 74 (17 Feb 2020).
In 1973, Tesler took a job at the Xerox Palo Alto Research Center (PARC) where he worked until 1980. Xerox PARC is famously known for developing the mouse-driven graphical user interface and during his time at the lab Tesler worked with Tim Mott to create a word processor called Gypsy that is best known for coining the terms "cut," "copy," and "paste".
In addition to "cut," "copy," and "paste" terminologies, Tesler was also an advocate for an approach to UI design known as modeless computing. It ensures that user actions remain consistent throughout an operating system's various functions and apps. When they've opened a word processor, for instance, users now just automatically assume that hitting any of the alphanumeric keys on their keyboard will result in that character showing up on-screen at the cursor's insertion point. But there was a time when word processors could be switched between multiple modes where typing on the keyboard would either add characters to a document or alternately allow functional commands to be entered.10 -
I'm getting ridiculously pissed off at Intel's Management Engine (etc.), yet again. I'm learning new terrifying things it does, and about more exploits. Anything this nefarious and overreaching and untouchable is evil by its very nature.
(tl;dr at the bottom.)
I also learned that -- as I suspected -- AMD has their own version of the bloody thing. Apparently theirs is a bit less scary than Intel's since you can ostensibly disable it, but i don't believe that because spy agencies exist and people are power-hungry and corrupt as hell when they get it.
For those who don't know what the IME is, it's hardware godmode. It's a black box running obfuscated code on a coprocessor that's built into Intel cpus (all Intell cpus from 2008 on). It runs code continuously, even when the system is in S3 mode or powered off. As long as the psu is supplying current, it's running. It has its own mac and IP address, transmits out-of-band (so the OS can't see its traffic), some chips can even communicate via 3g, and it can accept remote commands, too. It has complete and unfettered access to everything, completely invisible to the OS. It can turn your computer on or off, use all hardware, access and change all data in ram and storage, etc. And all of this is completely transparent: when the IME interrupts, the cpu stores its state, pauses, runs the SMM (system management mode) code, restores the state, and resumes normal operation. Its memory always returns 0xff when read by the os, and all writes fail. So everything about it is completely hidden from the OS, though the OS can trigger the IME/SMM to run various functions through interrupts, too. But this system is also required for the CPU to even function, so killing it bricks your CPU. Which, ofc, you can do via exploits. Or install ring-2 keyloggers. or do fucking anything else you want to.
tl;dr IME is a hardware godmode, and if someone compromises this (and there have been many exploits), their code runs at ring-2 permissions (above kernel (0), above hypervisor (-1)). They can do anything and everything on/to your system, completely invisibly, and can even install persistent malware that lives inside your bloody cpu. And guess who has keys for this? Go on, guess. you're probably right. Are they completely trustworthy? No? You're probably right again.
There is absolutely no reason for this sort of thing to exist, and its existence can only makes things worse. It enables spying of literally all kinds, it enables cpu-resident malware, bricking your physical cpu, reading/modifying anything anywhere, taking control of your hardware, etc. Literal godmode. and some of it cannot be patched, meaning more than a few exploits require replacing your cpu to protect against.
And why does this exist?
Ostensibly to allow sysadmins to remote-manage fleets of computers, which it does. But it allows fucking everything else, too. and keys to it exist. and people are absolutely not trustworthy. especially those in power -- who are most likely to have access to said keys.
The only reason this exists is because fucking power-hungry doucherockets exist.26 -
Me, rueing typescript: "Dammit, Typescript!"
Typescript's cheeky response: Type 'string' is not assignable to type "Dammit"
ಠ_ಠ -
Soo.. yeah.. I've just build a fully functional http webserver with BASH :) Yippee!!
Proof in the comments31 -
Developer: Can you upgrade my machine to Windows 10? I need it for SQL server 2019.
IT Guy: Sure.
Some time later...
IT Guy: Good news, Windows 10 is loaded. Bad news, I need to update TPM to enable Bitlocker but the firewall is blocking me from downloading the update. I will need to download it from home tonight.
Developer: But you're the IT administrator...
IT Guy: Yes...
Developer: ...7 -
Today I uttered words I thought I'd never say in my life....
"This is why linux is better"
What the hell is going on in 2020 lmao27 -
Today the struggle was real.
But damn if it isn't days like this where you learn real shit.
Fighting with a debian VM for half the day to make a local development environment. I'm tired, but everything works, the project looks good, and I'm just sorta angry/tired/proud now.
I learned so much, and now want pie. I am going to go eat some pie.3 -
Arrived at a game jam in an animation school. I hope they're better at game design than they are at cable management :)7
-
Manager: 'Please remove this checkbox from that page.'
Me: 'Sure thing, it was stupid anyway. Just gimme a couple of minutes.'
Legacy code: 'LOL the checkbox is wired to everything else and if you simply remove it the backend will shit itself. There is several hundred lines of inline Javascript in the HTML template with some Thymeleaf stuff managing the form data or just are there to make the code less readable. The controller for the page is a bit more than a thousand lines of spaghetti, no easy way to find where is that specific data necessary and where can be easily removed. Class variables declared between methods, dozens of nested if statements checking shit in every method and the data is passed through like half a dozen other classes. Good luck with that!'
Me: '💩.'5 -
When your colleague, who wrote the API is on vacation, the documentation is non-existent and you are tired from reading all-day long his spaghetti code, so you are just waiting for him to show up.2