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
Search - "moving target"
-
I. FUCKING. HATE. MOBILE. DEVELOPMENT.
I already manage the data, devops, infra, and most of the backend dev.
We had a mobile guy. He was great. I never had to think about it and kept moving quickly on my work. #SpecializationOfLaborFTW
He left. Why? Because they wouldn't give him a small raise despite being one of the best mobile engineers in the firm. WTF.
I made the mistake of picking up just enough slack on this workflow in the interim such that I'm, apparently, the fucking god-damned release manager, fixer of pipelines, fixer of build configs, fixer of anything where someone just needs to RTFM for a half-hour to not fucking break things.
Now, 8 months later...and, apparently, Fortune 500 companies are too fucking god-damned cheap to pay for someone who actually knows WTF they're doing for a very reasonable thing to have at least one dedicated set of eyes for.
I never wanted to be a mobile dev.
I never will want to be a mobile dev.
And I certainly don't want to manage your HALF-FACE-FUCKED detached expo configs.
There's a reason I never intentionally involved myself in mobile. All the way down, it's just shitty cross-compilation, transpilation, dependency-hell, brittle-as-fuck build processes so we can foot-gun and mouth-gun react-native and expo and babel and whatever the fuck else cargo-culted horseshit into the wild.
And why? What's the actual fucking root cause? The biggest white elephant that ever fucking elephant-ed? It's because Apple and Google decided to never collaborate on a truly-native cross-platform SDK--where engineers could write native code that compiles to native binaries that's simply write-once, run-everywhere. They know they could have done that, and they didn't. So what'd they get back? Expo--a too-cleverly-designed backdoor/hack--more-or-less a way to circumvent the sane release process software has usually followed: code -> executable -> deploy. Or code -> deploy (for interpreted langs). Expo's like "keep your same executable, we're just gonna to do updates by injecting new code into it whenever we want". Didn't we learn anything with web? Shit gets messy real quick? Not to mention: HEY EXPO, WE WERE ALREADY BUILDING NATIVE APPS, YOU SHORT-SIGHTED FUCKS. THANKS FOR LURING OUR CTOs INTO FORCING EXPO DOWN OUR THROATS W/ THE IMPLICIT (BUT INCORRECT) TOO-GOOD-TO-BE-TRUE PROMISE THAT WE CAN HAVE WRITE-ONCE, RUN-ANYWHERE WITHOUT ANY BUY-IN OR COOPERATION FROM THE ACTUAL TARGET PLATFORMS.
And, we just, like, accept this? We all know it's garbage engineering. The principles we learned in the classroom aren't just academic abstractions--they actually yield real-world results--and eschewing them yields real-world failures. Expo is tightly-coupled to high-heaven, with leaky abstractions six-ways-to-christmas, chock-full of foot-guns, and fails the most basic test of quality: does it, "just work?"
Expo is fucking shameful and it should fucking die. Its promises are too bold, its land-mines too many, its future-proof-ness is alway, always, always questionable as fuck and a risk to every project that uses it.
You want a rant? This is my fucking venue, 'tis not? Well, then this is a piss and vinegar rant straight from my blood-red, beating fucking heart:
EXPO FUCKING SUCKS. AND IF YOU'RE A FAN, YOU FUCKING SUCK TOO.27 -
Absolutely hate these "moving up", "stairs of success", "we are so diverse!" stock photos all over the internet.
You feel like you are being subtle, fuck no. Unless your target audience is stupid as as fuck, this photos looks dumb and over the top. And what is up with this "diversity" all over the place? don't get me wrong, I am all for diversity. But learn how to apply it properly.
"Looks like we need a picture of a student. Oh no, we need to be diverse. Add 15 kids of 15 different ethincity in the same picture to make sure we looks diverse. Phew!"
And the animations. Holy fucking shite. Why is it that a cheap website immediatly means that your website needs to have 100 different animation in the front page.
Seriously, picture rolling from here and there. Text coming out of nowhere.Everything being squeezed and rotated. God damn it!
This is another reason I fucking hate these 1 click websites and shite like that. This fucking website was created with WiX and my God, it's a fucking nightmare.
Good news is client is recreating the website.3 -
MTP is utter garbage and belongs to the technological hall of shame.
MTP (media transfer protocol, or, more accurately, MOST TERRIBLE PROTOCOL) sometimes spontaneously stops responding, causing Windows Explorer to show its green placebo progress bar inside the file path bar which never reaches the end, and sometimes to whiningly show "(not responding)" with that white layer of mist fading in. Sometimes lists files' dates as 1970-01-01 (which is the Unix epoch), sometimes shows former names of folders prior to being renamed, even after refreshing. I refer to them as "ghost folders". As well known, large directories load extremely slowly in MTP. A directory listing with one thousand files could take well over a minute to load. On mass storage and FTP? Three seconds at most. Sometimes, new files are not even listed until rebooting the smartphone!
Arguably, MTP "has" no bugs. It IS a bug. There is so much more wrong with it that it does not even fit into one post. Therefore it has to be expanded into the comments.
When moving files within an MTP device, MTP does not directly move the selected files, but creates a copy and then deletes the source file, causing both needless wear on the mobile device' flash memory and the loss of files' original date and time attribute. Sometimes, the simple act of renaming a file causes Windows Explorer to stop responding until unplugging the MTP device. It actually once unfreezed after more than half an hour where I did something else in the meantime, but come on, who likes to wait that long? Thankfully, this has not happened to me on Linux file managers such as Nemo yet.
When moving files out using MTP, Windows Explorer does not move and delete each selected file individually, but only deletes the whole selection after finishing the transfer. This means that if the process crashes, no space has been freed on the MTP device (usually a smartphone), and one will have to carefully sort out a mess of duplicates. Linux file managers thankfully delete the source files individually.
Also, for each file transferred from an MTP device onto a mass storage device, Windows has the strange behaviour of briefly creating a file on the target device with the size of the entire selection. It does not actually write that amount of data for each file, since it couldn't do so in this short time, but the current file is listed with that size in Windows Explorer. You can test this by refreshing the target directory shortly after starting a file transfer of multiple selected files originating from an MTP device. For example, when copying or moving out 01.MP4 to 10.MP4, while 01.MP4 is being written, it is listed with the file size of all 01.MP4 to 10.MP4 combined, on the target device, and the file actually exists with that size on the file system for a brief moment. The same happens with each file of the selection. This means that the target device needs almost twice the free space as the selection of files on the source MTP device to be able to accept the incoming files, since the last file, 10.MP4 in this example, temporarily has the total size of 01.MP4 to 10.MP4. This strange behaviour has been on Windows since at least Windows 7, presumably since Microsoft implemented MTP, and has still not been changed. Perhaps the goal is to reserve space on the target device? However, it reserves far too much space.
When transfering from MTP to a UDF file system, sometimes it fails to transfer ZIP files, and only copies the first few bytes. 208 or 74 bytes in my testing.
When transfering several thousand files, Windows Explorer also sometimes decides to quit and restart in midst of the transfer. Also, I sometimes move files out by loading a part of the directory listing in Windows Explorer and then hitting "Esc" because it would take too long to load the entire directory listing. It actually once assigned the wrong file names, which I noticed since file naming conflicts would occur where the source and target files with the same names would have different sizes and time stamps. Both files were intact, but the target file had the name of a different file. You'd think they would figure something like this out after two decades, but no. On Linux, the MTP directory listing is only shown after it is loaded in entirety. However, if the directory has too many files, it fails with an "libmtp: couldn't get object handles" error without listing anything.
Sometimes, a folder appears empty until refreshing one more time. Sometimes, copying a folder out causes a blank folder to be copied to the target. This is why on MTP, only a selection of files and never folders should be moved out, due to the risk of the folder being deleted without everything having been transferred completely.
(continued below)29 -
Notice how the Apple code samples have moved from the very well designed Objective C to a mature Swift... (sorry, typo, manure Swift) Swift 1.0, wait 2.0, no hold on 3.0, oh yea 4.0. It's a moving target for their developers with code samples all over the place...
Once Swift stabilizes, sure, ok, force everyone and everything to change (seriously?).
Apple, why the FUCK do you think we want to deal with your beta crap forced down our throat? Its bad enough the language is an inconsistent illogical mess but having to come along with you for the 'we-don't-have-a-clue-what-we-are-doing' ride is utter bullshit. Leave the GOD DAMN Objective C samples up for crying out loud.6 -
I've been writing tests all week.
I quite like writing tests in some respects, but I absolutely detest it if the thing I'm testing is a moving target! Stop changing your mind! Either we support the feature in it's entirety or we don't support it at all! -
Tdd isn't very effective if the spec keeps change as you work.
I was trying to be good and write tests as I went, but it just ended up taking twice as long since I had to keep rewriting the code AND the tests.3 -
So I saw something funny today (in C++ forum):
C++ is Rust--
The topic was not Rust in any way. So I lost the "Can I go one day without hearing about Rust?" game today (You won The Game btw).
What I find funny about this is the obsession of Rust devs have with C++. I get it, C++ is the competition in a way. But isn't it a low bar to define your language as "better than C++"?
If I had never seen C++ (and had used other languages) and saw Rust syntax I would not be impressed. If it was the first thing I learned I wouldn't know any different I suppose. I wonder if I had seen C++ later I would think differently about C++. It is not pretty, but I am used to it I think.
This gets complicated as the C++ committee is influenced by trends in CS of how to better do things. So C++ is a moving target.
I don't really have a point other than the amusing observation. I find it equally amusing when people get bent out of shape over Python syntax.32 -
How can not one, not two, but many many things JUST be so wrong!? like..
Windows. (Yes. THE OS). Why? well... we begin with the garbage, right? the BLOAT.
cortana
mspaint
internet explorer <- wh..WHA?! wh?!?!
ms edge <- okay.. (I saying okay as in a figure of speech I would like to remove it honestly)
why can't I remove internet explorer, and they make another internet explorr called microsoft edge - you guessed it - I can't remove ms edge either.
What's next?! :D
bloat umbruella version -0.1? :D <- a new internet explorer. for 2042.
Cortana. <- some might say "that's not Sooo bad tho". It might not be, but if if it is for me - I would like to remove it.
Okay. okay. moving onto the software.
`V`-Yeah you guessed right. on the first letter.
VISUAL STUDIO.
my face: 😲
I compare visual studio to windows xp to internet explorer to windows overall. they share so much in common...
forced updates,
fixes,
BLOCKS you to compile programs because of NUMEROUS REASONS LIKE..
comment out "CRC303030 whatever" to ignore this message.
you need the build tools vx.x.x.y.x.y.x.t..z.z.z.(100 billion digits later)..x.x.Z OR alternatively you could re-target your solution by (...) (and now today I had enough, I dont see the retarget solution - And I am sure, WHEN I SEE IT - it will just be another problem..
... 💥
I am surprised how windows can run so fluently, with all this crap. Fluently as in actually being running. I am a fan of linux instead though but..
(question to me would probably be why you use windows not linux then?) sometimes I code on windows.. 🤦♀️
and it is a pain.
workloads,updates,options,BILLION OF OPTIONS, BILLION OF BUTTONS, stuff I never ever use, takes time to reinstall,install,remove, - windows also needs to restart after each simple thing.... (!?)
sorry. this was nice to write this rant. PHEW! thank GOSH this site exists! 😘 😍5 -
restoring a 2TB DEV DB running in k8s on SPOT instances is like trying to aim at a moving target. With a slingshot.8
-
I'm spending my weekend reading "Node.js Design Patterns - 2nd Edition". Remember the good old days when a language was just language instead of a constantly moving target that wipes out any prior knowledge?2