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 - "everything new and shiny!!"
-
If all you have is a hammer, everything looks like a nail!
This was something which my tech lead used to tell me when I was so obsessed with nosql databases a few years back. I would try to find problems to solve that has a use case for nosql databases or even try to convince me(I didn’t realise it back then) that I need to use nosql db for this new idea that I have, without really thinking deep enough whether the data in question is better represented using an sql schema or not.
Now, leading a team of young developers, I come across similar suggestions from few of my team members who just discovered this new and shiny tech and want to use it in production projects.
While I am not against new and shiny, it’s not a good practice to jump right in to it without exploring it deep enough or considering all the shortcomings. The most important question to ask is, whether some of the problems you are trying to solve can be solved with the current stack.
Modifying your stack requires more than just a week’s experience of playing around with the getting started guide and stack overflow replies. This is something which need to be carefully considered after taking inputs from the people who would be supporting it, that include operations, sysadmins and teams that are gonna interface with your stack indirectly.
I am not talking about delaying adoption by waiting for long list of approvals to get some thing that would bring immediate value, but a carefully orchestrated plan for why and how to migrate to a new stack.
Just because one of the tech giants made a move to a new stack and wrote about it in their engineering blog doesn’t mean that you need to make a switch in the same direction. Take a moment to analyse the possible reasons that motivated them to do it, ask yourself if your organisation is struggling with the exact same problems, observe how others facing the same issue are addressing it, and then make an informed decision.
Collect enough data to support your proposal.
Ask yourself again if you are the one holding the hammer.
If the answer is no, forge ahead!9 -
I really hate this company.
The code is a disaster. Every single other employee is a salesperson. Nobody has any bloody clue what I do or how difficult it is. They don't care about stability (unless things are crashing), maintenance (until crashing), code quality (until it delays features), or anything apart from shiny new features they can sell. The boss (the king salesman, if ever there was one) doesn't know how to manage, but tries to by acting like his "nice asshole" self -- he's an asshole that gives you passes, makes sure it's bloody obvious that he's doing it begrudgingly, yet everything is still absolutely your fault. If he arbitrarily decides it's too much your fault, he stops being "nice" and flips out on you in front of everyone. That's a "nice asshole": an asshole who can barely even pretend to be nice.
Fuck him.
And you know what? I really hate having to work next to these fucking birds, too.
Today was our weekly conference call, and I was both late and unprepared. I was too focused on my work, and got a ping 4 minutes into the meeting, so I obv didn't have time to prepare. Boss was also pissy today, and I didn't have much to show for my week, thanks to lots of little "OMG NEED ASAP" shit projects that all took too long, pushing back what I was actually supposed to work on. Which didn't get finished, of course, and today that project was "the most important" -- I suspect simply because it wasn't finished. AGADJFSKL. Cue the birds fucking screaming and never fucking shutting up no matter what I did. Blanket? No effect. Spray bottle? SCREAM MORE! Boss was yelling at me, the birds were screaming, and I couldn't think. Goddamn fucking disaster.
and yes, we have a macaw. A macaw and over 20 cockatiels. Said macaw decided today was a lovely day to just fucking SCREAM non-stop, and the tiels were doing their best to keep up. Thinking clearly during this cacophony? Not gonna happen.
Wait, "go elsewhere," you say? Somewhere quieter? Where is this "elsewhere?" We live in a fucking tiny house, and during the call it was (and still is) filled with sleeping people, and surrounded by a fucking desert. Who the fuck thought living in the desert was a good idea, anyway? Like, seriously. What brainless moron thought "You know what? This is a great place! Let's settle down right here," while trudging through the scorching sand and dust, looking at the basically lifeless horizon filled with large, hot, dry, dusty, barren rocks (aka "mountains"), and fucking dying from thirst? Probably someone so delirious from heatstroke they never actually recovered, and continued raving that it's a goddamn paradise to their heat-addled imbecile followers. I really hope they hallucinated a la-z-boy in place of a hedge of teddybear cholla and died an excruciating and prickly death. Fuck that guy/girl, too.
But I digress.
I seriously need an office that isn't a 30 min drive into gang-central. I'd work outside, but I live in the middle of the bloody fucking desert, and get heat exhaustion within about half an hour. Everywhere else in the house people bother me almost incessantly.
just. FUCKING FJASKLDFJGAG.
I HATE THIS PLACE SO SO SO MUCH.
'I've had such Zen lately,' Alex said. Maybe then, but lately? I've just been too exhausted and burned out from putting up with all this shit to get angry. Days like today? I could pour kerosene over everything and laugh as it all just burned to ash.rant it's a cool day at 96f/35c root has problems and fan the flames as your blazes burn root should see a shrink desert kerosene asshole boss when you fall i'll take my turn15 -
I wrote a database migration to add a column to a table and populated that column upon record creation.
But the code is so freaking convoluted that it took me four days of clawing my eyes out to manage this.
BUT IT'S FINALLY DONE.
FREAKING YAY.
Why so long, you ask? Just how convoluted could this possibly be? Follow my lead ~
There's an API to create a gift. (Possibly more; I have no bloody clue.)
I needed the mobile dev contractor to tell me which APIs he uses because there are lots of unused ones, and no reasoning to their naming, nor comments telling me what they do.
This API takes the supplied gift params, cherry-picks a few bits of useful data out (by passing both hashes by reference to several methods), replaces a couple of them with lookups / class instances (more pass-by-reference nonsense). After all of this, it logs the resulting (and very different) mess, and happily declares it the original supplied params. Utterly useless for basically everything, and so very wrong.
It then uses this data to call GiftSale#create, which returns an instance of GiftSale (that's actually a Gift; more on that soon).
GiftSale inherits from Gift, and redefines three of its methods.
GiftSale#create performs a lot of validations / data massaging, some by reference, some not. It uses `super` to call Gift#create which actually maps to the constructor Gift#initialize.
Gift#initialize calls Gift#pre_init (passing the data by reference again), which does nothing and returns null. But remember: GiftSale inherits from Gift, meaning GiftSale#pre_init supersedes Gift#pre_init, so that one is called instead. GiftSale#pre_init returns a Stripe charge object upon success, or a Gift (and a log entry containing '500 Internal') upon failure. But this is irrelevant because the return value is never actually used. Pass by reference, remember? I didn't.
We're now back at Gift#initialize, Rails finally creates a Gift object using the args modified [mostly] in-place by all of the above.
Another step back and we're at GiftSale#create again. This method returns either the shiny new Gift object or an error string (???), and the API logic branches on its type. For further confusion: not all of the method's returns are explicit, and those implicit return values are nested three levels deep. (In Ruby, a method will return the last executed line's return value automatically, allowing e.g. `def add(a,b); a+b; end`)
So, to summarize: GiftSale#create jumps back and forth between Gift five times before finally creating a Gift instance, and each jump further modifies the supplied params in-place.
Also. There are no rescue/catch blocks, meaning any issue with any of the above results in a 500. (A real 500, not a fake 500 like last time. A real 500, with tragic consequences.)
If you're having trouble following the above... yep! That's why it took FOUR FREAKING DAYS! I had no tests, no documentation, no already-built way of testing the API, and no idea what data to send it. especially considering it requires data from Stripe. It also requires an active session token + user data, and I likewise had no login API tests, documentation, logging, no idea how to create a user ... fucking hell, it's a mess.)
Also, and quite confusingly:
There's a class for GiftSale, but there's no table for it.
Gift and GiftSale are completely interchangeable except for their #create methods.
So, why does GiftSale exist?
I have no bloody idea.
All it seems to do is make everything far more complicated than it needs to be.
Anyway. My total commit?
Six lines.
IN FOUR FUCKING DAYS!
AHSKJGHALSKHGLKAHDSGJKASGH.7 -
Background: I'm not drunk yet, BUT I'M WORKING ON IT.
okay.
I just finished a second sprint on my React app. The first was to build a merchant onboarding flow. The second was to do substantial cleanup as I learned more about react/redux, and to create a "supply order" flow -- basically purchasing marketing materials and services. I finished that in a week, and I'm pretty proud. api-guy wanted it done in a day. i laughed. he probably could have, but it would have been a copy of the code in a new repo with some lines changed.
ANYWAY. it's all done and It's super pretty and works amazingly well. It has both the onboarding flow and the ordering flow, with a nice pop-out sidebar for navigation, namespaced actions, etc. Everything is pretty clean. I even added a cart to the ordering (despite everyone telling me not to) because wtf, what if someone wants to order TWO items? dumbasses. So I made that. it's sexy.
Anyway, it's all done and shiny and fancy and wonderful and I'd *love* to share screenshots if only it didn't give away where I worked. :<
... but the point of the rant!
After the first sprint, I made a copy of the repo so I could rework it and add more functionality without touching the original. (Hey! That's what a branch is for, right? Why didn't I branch it up?
well, read on)
I knew we were going to have multiple separate flows for this app: onboard, ordering, merchant tools, admin tools, support, etc. So, I wrote its server portion (the webpack builder + http server) so it would serve the same app at whatever url the user hit, and set a cookie containing that host+url. This allows the app to serve different content (basically showing/hiding content) based on the URL and future login roles. If someone hits /order, it would hide everything but the order flow. If they're a merchant, it would show all the merchant views plus ordering, etc.
tl;dr This way I can use the same codebase for multiple sites, drastically simplifying development, branding, and what have you. This new app could obv also be a drop-in replacement for the original onboarding project because of the above.
HOWEVER. this apparently isn't good enough for api-guy. He's terrified that adding/updating future components will affect all the existing content somehow.
so.
now we have three repos for basically the same codebase. 1) onboard aka "surfboard", 2) ordering, 3) merchant tools, aka "ferrari" (the "future" app).
Except.
1) "surfboard" is a very old version of the code. 3) "ferrari" is also old, since 2) "ordering" has newer content in it now.
... and somehow this is better?
fuck if i can figure out how.
His reasoning is "well, you won't be touching surfboard or ordering for 6 months, so now you don't have to worry about it." Sure, except, you know, it'll be a pain in the ass in 6 months now when I have a crapton of code and branding to redo. ffs.
Oh. We also have three Heroku pipelines for these three repos. for the same codebase.
and now you know why i'm drinking.undefined idiocy fucking hell fuck this noise api guy i'm just gonna replace everything later this codebase is as dry as the friggin ocean7 -
Wanted to make a website with some of my friends about whatever kid thing we were into at the time. None of our parents cared, it was the 90s and nobody took the internet seriously.
Copied and pasted bits of html into notepad and FTPed them to some free webhost over dialup. The website lasted three weeks -- my friends got bored, I got hooked.
A few years later I found myself wondering why some websites used ".php" instead of ".html". I discovered this shiny new thing called PHP 4. Built a website for some video game I was into using it. Spent the next two years teaching myself everything there was to know.
Took programming in high school. Chose CS over mechanical engineering because I liked the university better. Got an internship which turned into a job which turned into a career.1 -
I received a shiny new pair of Bose QC 35 II's for christmas -- bluetooth headphones with active noise cancelling.
They're similar to the $500 pair my previous boss lent me at work. Lower quality, but much newer, and rechargeable! and bluetooth! Yay!
I paired them with my debian machine, and... it failed. No explanation given. I tried everything I could htink of, but nothing changed. Well, okay; bluetooth came out within the last decade or so, meaning it takes some extra effort in Debian. truth. So I did some reading on bluetooth connection issues, changed some configs, learned how to use the bluetooth cli, and used that to pair and connect them. Worked like a charm.
But! No audio.
Damn.
Cue more research (on pulseaudio this time) and more configs. Did some fiddling, etc. No progress. Also discovered `pavucontrol`, a gui-only (😕) utility which lets you select audio output devices, among other things. It doesn't list the headset. Nor does `pactl list`, but that does list the correct bluetooth modules. It also lists Lennart Poettering's name many many times, for all the good that does. Bragging about building something as needlessly complicated and crappy and buggy as pulseaudio? I will never understand that egotistical doucheballoon.
Anyway.
I paired the headset with my phone in about six seconds. I'm now controlling my phone's music via spotify on my computer. yay. Doesn't work for games or movies, but I can always just plug them in.
But woo!
Noise canceling!
Yay, silence! At last!
and music! How I've missed you!
❤💜🖤
(systemd and pulseaudio can still die in a fire.)22 -
!code
I literally cannot get this computer to boot from ANYTHING other than its hard drive.
I want to boot from a usb flash drive, but the bios doesn't support that. it supports standard and 120mb floppies, ZIP drives, usb floppies, usb cd drives, etc. but not a generic USB drive. You'd think the bios developers would have heard of them back in 2012, but they also refer to Windows as "window os", so who knows.
I changed the boot order multiple times to include everything that might possibly include a usb flash drive, and then just tried all of the other options as well. No luck. Everything just booted straight to Windows.
Okay, that's not exactly unexpected, so I found a boot manager that allows booting to usb drives, and burned that to a cd. I made sure the boot order included "CDDRIVE" first (and "USB-CD" second just to be sure), and tried again. The bios refused to boot from the cd because it's in a cd/dvd drive, and cd drives are VASTLY different beasts than dvd drives, apparently. Like, it didn't even ask the drive to spin up! It just booted straight into Windows.
After a few more reboots (and quite a few middle fingers), my dvd drive magically appeared in the list of allowed boot devices. Why did it just show up now? No clue :/ I'm just happy it's there.
So, I pick that, save and exit, and wait for my shiny new boot manager to pop up. The cursor flashes a bit, moves around, and flashes some more. Then Windows starts loading.
what the crap? why?
So this time I disable booting from the hard drive altogether. In fact, I disable everything except the dvd drive, because screw this, and save/restart for the twelfth time.
Windows greets me.
Again.
What the hell?
At this point I'm tempted to unplug the friggin' drive. If Windows still greets me after that, I'm just going to check myself into an asylum and call it a life.
But seriously.
Either the boot manager in question is triple-faulting and the bios is transparently failing-over to the previous boot config (Windows), or said boot manager is just like "yolo!" and picks Windows anyway.
If a different boot manager doesn't work, I'm totally out of ideas.
Edit: disabling HD boot entirely and removing the boot manager cd also results in Windows loading. It's like the bios is completely ignoring my settings. :/16 -
1. Being the only single wringable neck to keep 40+ websites afloat, plus 3-5 new ones coming in or being built each month all with an overseas team that uses Google Translate to communicate and who are also in an active war zone.
2. Being fired for being “too old” in my mindset about how to do things. I had just turned 40 and my boss was 24 and distracted by all the shiny frameworks when all the marketing person needed was a simple off-the-shelf CMS-based site to publish company offers.
3. Jumping into the middle of a HUGE clusterfuck of thousands of Slack channels, wikis, and Jiras and an outmoded content management system while trying to learn the ropes from a guy who has no time to teach properly and then who abruptly leaves the company with scant documentation on everything that he held mainly in his own head. And there was no way I.T. was going to allow him to have the ability in Zoom to make a video of his training sessions, for no discernibly good security reason at all.
4. Working for only 9 months at two separate companies for two separate frat dudes who could have been clones of each other and whose egos made them into seagull managers* in every sense.
5. Being told by a new employer that they’re hiring me to be the head of their new web team only to find myself shuttled off to obscure contractor roles at MegaCorp Inc and AcmeCorp Inc.
I have 17 more years of this shit ahead of me before I can retire.
*If you haven’t heard of this: Someone who flies in, makes a lot of noise, shits all over everything, and flies out leaving everyone else to clean up the mess.2 -
I love static sites and fancy new frameworks. Had an interview some time ago at a medium sized company. They specifically wanted someone to build static sites and introduce the company to Vue and Gridsome.
I got really excited for my first project. It was a wordpress site and I had to build a custom WP theme for it. Not exactly what I expected. Also I had no prior PHP knowledge, nor any experience with Wordpress. So I got really upset, because it wasn’t the technologies I was used to.
The first week was hard, I wanted to quit. But once something clicked. And I realized I know this. This is not PHP, not Wordpress, not Vue, but just simply a programming language. At the core everything programming language is the same. PHP became comfortable, Wordpress conventions didn’t bother me. I realized I can use great technologies with WP too. I get to know twig, added some sass, compiled everything nicely with webpack. And after a month I have a beautiful, fast and efficent site. I love it.
I realised that I don’t love the languages and frameworks. I love coding itself. I love creating efficent and reliable, clean code. No matter the architecture.
And my advice for you is to stop hating particular languages and serious debates on what is better, and hating your job when you can’t code in your new shiny framework. Love coding itself, because it’s a wonderful activity. We are creators, we are artists. Not <insert specific programming language here> developers.16 -
how to learn web development in 2018:
- watch youtube video of that new shiny promising framework
- spend hours trying to set up development environment
- spend another hours waiting for the dependencies to install
- spend the next few hours wondering and googling why it wont work even at fresh install
- spend another few hours redoing everything just to make sure you haven't missed a step
- realize that the youtube video you watched is uploaded last week, and now the framework developers mysteriously decided to change literally everything
- spend hours looking for another youtube video until you realize that now you are watching completely unrelated youtube video
- spend next hours wondering how your life become this pathetic while overthinking all of your past mistakes, and now you are just this lonely pathetic person with no clear future and that you will spend the rest of your life working at a fastfood chain below the minimum wage with no social life living on your parent's basement.9 -
Not as much of a rant as a share of my exasperation you might breathe a bit more heavily out your nose at.
My work has dealt out new laptops to devs. Such shiny, very wow. They're also famously easy to use.
.
.
.
My arse.
.
.
.
I got the laptop, transferred the necessary files and settings over, then got to work. Delivered ticket i, delivered ticket j, delivered the tests (tests first *cough*) then delivered Mr Bullet to Mr Foot.
Day 4 of using the temporary passwords support gave me I thought it was time to get with department policy and change my myriad passwords to a single one. Maybe it's not as secure but oh hell, would having a single sign-on have saved me from this.
I went for my new machine's password first because why not? It's the one I'll use the most, and I definitely won't forget it. I didn't. (I didn't.) I plopped in my memorable password, including special characters, caps, and numbers, again (carefully typed) in the second password field, then nearly confirmed. Curiosity, you bastard.
There's a key icon by the password field and I still had milk teeth left to chew any and all new features with.
Naturally I click on it. I'm greeted by a window showing me a password generating tool. So many features, options for choosing length, character types, and tons of others but thinking back on it, I only remember those two. I had a cheeky peek at the different passwords generated by it, including playing with the length slider. My curiosity sated, I closed that window and confirmed that my password was in.
You probably know where this is going. I say probably to give room for those of you like me who certifiably. did. not.
Time to test my new password.
*Smacks the power button to log off*
Time to put it in (ooer)
*Smacks in the password*
I N C O R R E C T L O G I N D E T A I L S.
Whoops, typo probably.
Do it again.
I N C O R R E C T L O G I N D E T A I L S.
No u.
Try again.
I N C O R R E C T L O G I N D E T A I L S.
Try my previous password.
Well, SUCCESS... but actually, no.
Tried the previous previous password.
T O O M A N Y A T T E M P T S
Ahh fuck, I can't believe I've done this, but going to support is for pussies. I'll put this by the rest of the fire, I can work on my old laptop.
Day starts getting late, gotta go swimming soonish. Should probably solve the problem. Cue a whole 40 minutes trying my 15 or so different passwords and their permutations because oh heck I hope it's one of them.
I talk to a colleague because by now the "days since last incident" counter has been reset.
"Hello there Ryan, would you kindly go on a voyage with me that I may retrace my steps and perhaps discover the source of this mystery?"
"A man chooses, a slave obeys. I choose... lmao ye sure m8, but I'm driving"
We went straight for the password generator, then the length slider, because who doesn't love sliding a slidey boi. Soon as we moved it my upside down frown turned back around. Down in the 'new password' and the 'confirm new password' IT WAS FUCKING AUTOCOMPLETING. The slidey boi was changing the number of asterisks in both bars as we moved it. Mystery solved, password generator arrested, shit's still fucked.
Bite the bullet, call support.
"Hi, I need my password resetting. I dun goofed"
*details tech support needs*
*It can be sorted but the tech is ages away*
Gotta be punctual for swimming, got two whole lengths to do and a sauna to sit in.
"I'm off soon, can it happen tomorrow?"
"Yeah no problem someone will be down in the morning."
Next day. Friday. 3 hours later, still no contact. Go to support room myself.
The guy really tries, goes through everything he can, gets informed that he needs a code from Derek. Where's Derek? Ah shet. He's on holiday.
There goes my weekend (looong weekend, bank holiday plus day flexi-time) where I could have shown off to my girlfriend the quality at which this laptop can play all our favourite animé, and probably get remind by her that my personal laptop has an i2350u with integrated graphics.
TODAY. (Part is unrelated, but still, ugh.)
Go to work. Ten minutes away realise I forgot my door pass.
Bollocks.
Go get a temporary pass (of shame).
Go to clock in. My fob was with my REAL pass.
What the wank.
Get to my desk, nobody notices my shame. I'm thirsty. I'll have the bottle from my drawer. But wait, what's this? No key that usually lives with my pass? Can't even unlock it?
No thanks.
Support might be able to cheer me up. Support is now for manly men too.
*Knock knock*
"Me again"
"Yeah give it here, I've got the code"
He fixes it, I reset my pass, sensibly change my other passwords.
Or I would, if the internet would work.
It connects, but no traffic? Ryan from earlier helps, we solve it after a while.
My passwords are now sorted, machine is okay, crisis resolved.
*THE END*
If you skipped the whole thing and were expecting a tl;dr, you just lost the game.
Otherwise, I absolve you of having lost the game.
Exactly at the char limit9 -
Went to the O’Reilly conference on architecture last week. Will say there were some good points made (really liked the elephant in architecture and tech debt talks). But wow developers love to circlejerk. If you don’t deploy microservices on the cloud with serverless actions for everything then they’ll talk down to you like what you do isn’t important. Like so many talks memed monoliths were annoying. Like I get we love the new and shiny things but it’s kinda ridiculous.1
-
At the institute I did my PhD everyone had to take some role apart from research to keep the infrastructure running. My part was admin for the Linux workstations and supporting the admin of the calculation cluster we had (about 11 machines with 8 cores each... hot shit at the time).
At some point the university had some euros of budget left that had to be spent so the institute decided to buy a shiny new NAS system for the cluster.
I wasn't really involved with the stuff, I was just the replacement admin so everything was handled by the main admin.
A few months on and the cluster starts behaving ... weird. Huge CPU loads, lots of network traffic. No one really knows what's going on. At some point I discover a process on one of the compute nodes that apparently receives commands from an IRC server in the UK... OK code red, we've been hacked.
First thing we needed to find out was how they had broken in, so we looked at the logs of the compute nodes. There was nothing obvious, but the fact that each compute node had its own public IP address and was reachable from all over the world certainly didn't help.
A few hours of poking around not really knowing what I'm looking for, I resort to a TCPDUMP to find whether there is any actor on the network that I might have overlooked. And indeed I found an IP adress that I couldn't match with any of the machines.
Long story short: It was the new NAS box. Our main admin didn't care about the new box, because it was set up by an external company. The guy from the external company didn't care, because he thought he was working on a compute cluster that is sealed off behind some uber-restrictive firewall.
So our shiny new NAS system, filled to the brink with confidential research data, (and also as it turns out a lot of login credentials) was sitting there with its quaint little default config and a DHCP-assigned public IP adress, waiting for the next best rookie hacker to try U:admin/P:admin to take it over.
Looking back this could have gotten a lot worse and we were extremely lucky that these guys either didn't know what they had there or didn't care. -
mkdir new-shiny-app
cd new-shiny-app
git init
Decide on the stack, release the package manager on it to scaffold away. Everything still clean and pure.
One of those little joys of our job :) -
I have tried hard to show my ex boss a better way to build web apps. I really tried.
I understand that some people just don't want to lose their investment, and in my opinion classic ASP was bad but not nearly as bad as a lot of people made it out to be. I enjoyed it, was fascinated by the ammount of shit I had to do by hand when using it and the lack of more modern paradigms as the ones found in more mothern languages, but really believed that it microsoft wanted they could have continue to provide updates to the language and ecosystem rather than dropping everything in favor of .net ( which is awesome really)
But his time is ticking and I really liked him as a person, he was kind and willing to adapt to my schedules and pay considerations. I really don't want him to lose clients because his stack does not conform to the new and shiny.
I guess he is scared of me offering to rewrite portions in newer tech since he does not want me to leave and leave him without a developer that knows that stuff. So i have offered myself a position along him as a partner, not a worker, since that way it will be my product investment and I will not leave it just like that.
Dude is really wealthy so he can afford it and he knows I will not do him any wrong.
I nust wish he would reconsider promptly since it would suck to have me as competition.2 -
Started my first private App project using all the goodies of 2017 android development like TDD, Android architecture components (hence MVVM), kotlin (which I yet have to learn), RxJava2 (if I need it additionally to AAC) and maybe try to set up a CI environment.
Wish me luck guys and girls 😁 -
I can now leave freely without any regrets!
The slight misgivings I had about leaving this place over the toys they provide, is now gone because I re-realized that while this place adopts new tech, it doesn't adapt to it. So they have shiny tools but the people and processes won't change.
It seems to me that due to pressure to deliver, there is little thought/analysis behind any tech change.
They don't plan to change their wretched delivery pipelines. Everything will be same but on git. So no velocity gains, and same bureaucratic review request process. Such a waste. This attitude applies to their other tools too. They are using a unit test library to write tests that don't use mock. They are using modern languages but without modern idioms. It's like writing C code in C++. And of course theoretically we are agile but actually we're just a waterfall team with managers on our ass everyday and tighter release schedules.
Reminds me of @boombodies recent posts and discussion about business spaghetti reflecting in code.
There are possibly multiple reasons for these problems but I think a large part of it is a lack of empathy/mutual respect. Everyone's too insecure, noone cares for anyone but themselves and people just try to outwit each other. -
having some rich and poor friends , i have found some weird behavioural patterns:
1. the poorer they are the lesser they value time over everything else. rich guys not only value their own time, they value other person's time too
2. the poorer a person is, them more they find happiness in people than objects. the richer a person is , the more they spend 'buying' happiness in the form of shiny objects/materialistic stuff than celebrating with people
3. poor people are inclined towards respects and beliefs , while rich people are inclined towards facts and logics. a rich guy is always trying take decisions and make opinions around facts+logics(and even sometimes trying to create false facts around their perspectives), while the poor folks end up doing something out of respect because their ancestors or relatives etc "told" them to do so
======
I am not sure if i can infer anything from above facts. these are not the points that "make" someone rich or poor (or maybe they do, idk)
Both have their goods and bads, but both types of folks are not ideal : Poor people have decency, humanity and respect for traditions/people, but lack areas of growth. while rich people are so much focused on growth and gains, they forget to be a human first
As a friend, i enjoy both styles : get ample amounts of outing, fun, budget parties with my poorer folks, while going into fancy expensive restaurants and trying new cuisines with my richer folks :P4 -
Former android fan, I’ve been using iPhone SE for a while, and now I’m ready to give feedback. We are talking about brand new, iOS 11.2.2 device, never jailbraked (jailbroken?) or made anything fucked up to.
The main problem is battery life. It’s poor. I mean, my cheap ass Meizu m3s stands for about three times longer. Now I always need to carry power bank or charger around, keeping it up from one outlet to another.
iOS 11 is unstable and flawed. Music widget on lock screen freezes randomly, ui falls apart sometimes, apps sometimes start in landscape mode. I never found android ui falling apart, just like webpage marked up by interns.
Transferring files to Linux PC is huge pain in the ass. Nuff said.
Aaaand... that’s all. There is literally only three problems present.
On the other hand, there is huge advantages over android:
Speed. It’s unbeatable. It’s absolutely stunning. Need camera? Here it is, quarter second away. Android camera needed straight 15 seconds to start up. Taking picture? Here it is, flawless as always. Zero motion blur, gamma is ideal, focus is so sharp so you may hurt your eyes. Need 100 pictures? Here you go, just press the button and hold it. Maybe s9 or another shiny ass android takes pictures as fast as iPhone, but I bet my iPhone will be taking pictures same flawlessly after 5 years, while your android will probably become sluggish ass piece of crap.
Not. A. Single. Fucking. Lag.
Asphalt 8? 60 FPS all the way down. 2GIS? Fraction of a second away. That’s it, that’s how it have to be.
Sound quality. Just as neat as my Sansa Clip. EarPods are crap, so I’m using my SE215. Not going to ever come back to Sansa. Xperia TX had much less quality audio btw.
Apps. As long as the whole enterprise world sucking Apple’s dick, apps are running silky smooth and the things are not going to change. Come on. Apple is the king nowadays, admit it or not.
Keyboard is amazing. Screen is amazing. It’s just that pleasing. The sounds iPhone makes are great, while android sounds piss me off and making me hold myself from throwing the phone straight to the wall.
iPhone makes me feel cared about. Everything is on it’s place, everything fits perfectly. You are watching YouTube, you need to adjust volume and volume bar appears as tiny strip on the very top, just to not distract you. Make screenshot, draw something on it, share and hit delete. Every action you need is one tap away. Look up word? One tap away. Position the cursor between words? Polished as fuck, here you go, have your handy magnifying glass. Adblock in safari? Install it from the App Store and it will be literally two taps away, right at the settings. No VPN needed. Safari doesn’t become slow with Adblock, it’s just the same amazingly fast browser, but without ads. And Apple Music is just one dollar a month for students, filled with high quality songs.
Even google apps working better on iOS.
The advantages are clear for me, while downsides aren’t significant. @irene, you wanted to know what I’ll tell after a while, so I’m saying it proudly:
I’m never ever coming back to android.12 -
Today was the best day of my life. Being a jack of all trades, that I am, I decided to migrate a client's website to an new shiny self-managed server from a shared host. So I started by setting up a web server and deployment being run from a group bash scripts. This morning everything was ready to go after some testing, all that was left to do, was to update my DNS to point to the new server. I got that sorted, the DNS update took about 1 hour to propagate. So the homepage was loading just like before, it felt like I had just achieved something worthy of a mention on the interwebs — at least. Then I tried to navigate to another page other than the homepage and none of those were working as expected, at this point I was only getting 404s. Tweaked to settings and then all I could get were 502s. I spend about 8 hours dreading that uncomfortable call from the client, luckily that call never came through and all is well again. All this drama was caused by a bad .htaccess.
-
What are your plans for Christmas?!?!!??
I normally won't engage in societal tropes like pointless, generic, smalltalk or those questions people ask for lack of independent thought/societal trope-isms....
Here's my templated answer this year:
Background = ~2k$ in piles of tech... server upgrades components, apparently the only managed switch left in business/non-custom enterprise networking in the country/indexed for sale
(2k in what I would pay.... my tech sourcing is more base level and +4 years pro exp(yea... since age 8... really))
Foreground.... a shiny ✨️ new, wonderfully discounted for dumb reasons that i appreciate... 10Tb LFF HDD! 🥹🥲🤩
I really like raw data... enough raw data and proper context relevant high-level, custom, precise algorithms and i genuinely believe literally any questions or problems can be quantified and solved for
So... I just keep getting data, life, sourcing, stats on human behaviour... i factor everything
Yes i realise im very odd
//initial context plus curiousities
As parsed out to somewhat tangential commentary below... i cant keep making people go away for societally viewed polite engagement. Therefore, when asked again by factory sales rep who enjoys verbosity and apparent finds me extremely worth his intrigue/personal time
// additional context (and my attempt to be more parse and comment conscious)
With a bunch of initial reveals and launches startjng in a week and technically being the "owner/boss"(cringy to me so Ive officially made my title (anywhere with custom input fields) DragonOverlord...dragons being a tied in theme to all sects and no one can say DragonOverlord isn't a position... as it's clearly a class... unless you find a human more style code ignorant, comment inept, and in need of a very multilingual scribe to create a lexicon 2 steps before my code would be even follow-able without a likely, bad, headache and davinci code like adventure including the improbably well placed wise scholars that just happen to have significant unique and vital information they are willing to freely share with strangers.rant christmas data architecture motivational societal tropes temptation so i can build my database structure loathing python raw data data misanthropy databases49 -
Mid - senior dev (L from now on) comes in on a project to help out. Starts working on creating a dashboard for the application. Work is progressing, new ideas come in, team lead (TL) is ok with everything, business analyst (BA) is also ok. The dashboard even gets thru testing (T), everything is great. In comes (A), a (probably bored) junior backend dev.
A little backstory about (A):
- seated right next to (TL)
- most discussion about every developed feature take place at (TL)-s desk, right next to (A)
- (A) was also present when discussions took place between (TL) and (BA) about dashboard
- (A) could have easily heard any number of the other team members (over 15) talk about the dashboard
Well, (A) comes into the picture ... and the dashboard (first page after login, big shiny new thing, working just fine ...) breaks. Well, breaks is a little understated. Disappears would be more exact. Cause (A) commented it out. NOT deleted from code. JUST commented out the code.
But why you ask? Because he didn't know what it did and why it was there.
No asking around, no looking up history in repository, no looking up tasks that might be related to that ... no nothing.
He's a backend dev, there's something new and unknown in the backend, the new thing has to go.
(L) didn't scream, (TL) didn't scream, (BA) didn't scream, (T) didn't scream ...
I almost screamed. This didn't happen to me, or (A) would have screamed!3 -
Not dev related so don't shoot me. If you like writing I figure you maybe might enjoy this and thought I'd share.
This is a section from an unfinished novel about 2050s America, set in a corporate subsidized mega-fevela sprawling across washington state, ruled by gangs and patrolled by the officers of a bankrupt nation suffering through austerity and on-and-off again spasms of mass civil conflict.
"Averice - Sex, drugs, and vice, in the downfall and dying days of america."
we lived in a smoke government, where everything was bullshit they blew up your ass so you could continue make believe while
you were bent over with your head in the hole in the ground you mistook for your ass to start with. And if you questioned it all, one bit, the mouth organ of the state would command
hate upon you, like an old latin curse, with a lexicon armada of phrases like "terrorist", and "troubled individual" to character assassinate you by drowning you in the humbling river of societies mass delusion giver, those two sweet letters "TV."
No, we were on the industry edge here, inventing better bait to catch what the state politiburo labelled 'bandits', all for what?
It had, in later years become fashionable to call those who didn't want to be stolen from any more, projected as it were, "thieves", in the same fashion as those in the middle east, defending
their homeland from foreigners, were labelled "insurgents." Tyranny had not so long ago grown a sense of irony it would seem.
And if you became enemy number one of the state, as thousands were, you would spend your days on the run, always looking over your
shoulder for the states vanish vans--black escalades with men in dark suits and mirrored glasses, like bugmen with shiny inhuman, and inscrutable eyes full of alien malice.
These were sordid summers, full of plastic playhouses where the cost of a days wages you could lay with a synthetic lover and pay away the days tense tax for a good lay, and forget your toils and troubles. And so many were kept in poverty because of easy habit and routine that they forget they were not living.
But for me, I had none of it. I preferred the troubled thing on the corner when I could coax one into my state issued sedan. She was sulky, with bright blonde curls, 19, maybe 20, with empty eyes, as if watching some invisible horizon. And in the glow of the blue neon, among the wet sidewalks, and trash, she leaned into my car. No words were exchanged. I nodded, and
she got into the car, a miniskirt, and slinky little handbag.
This was no more than state business with a bureau guy like me, and for her, little more than the prison trade taken public.
She huffed some powder and climbed spraddle leg onto my lap, grabbing me along my jawline, eyes locked onto the depths of my soul, and
for the next ten minutes as she moved on top of me, I was motionless property while my lusts became animal, and she, my cream cup.
After, I arrested her to the standard protests, but she new the game and quickly hushed. This was the verdant arithmetic of the state. I was awarded x amount of pension points for every criminal, no matter how, and it was no gentle hand, not the judge, not the jury, or the executioner of their will. It was the rigid touch of a long arm, dislocated from the law, and now, like frankenstein's monster, cobbled onto the mechanism of the state not unlike the manner of a combine harvester.
We were the owners of all by virtue of all we could take, and we took all we could get. The serial romeos of state police power, romancing
the unwilling citizenry with televised patriotism and five minute power talks at the beginning of the corporate day.
It could be paradise or a wasteland if we wanted it to be. And for a time it was.
Edit: devrant always breaks my formatting. sigh. -
My consuming cycle:
1. An urge to buy a new shiny thing. No peace of mind if I refuse to buy it. My brain starts to generate sentences like "Treat yourself", "Why are you even living if you can't buy what you want", etc.
2. Acquisition. Immense guilt about the money spent. My brain somehow classifies any non-electronic thing that costs more than $30 as "ridiculously expensive", no matter how much money I make, no matter my reserves.
3. A short period of... no, not peace of mind. It's just an absence of that urge. I can't quite call it "peace".
4. goto 1
Hyperconsumerism is hell. I don't want my life to be ridden by guilt. I want to break that cycle, but when I try, it's just me asking that blaming questions to myself.
Somehow I probably got an answer. I should make my everyday thought process and patterns independent of buying stuff. Money shouldn't define what I do and what I think about.
Everything I need with an exception of medicines is both factually cheap and perceived as cheap, and I don't feel guilty about buying medicines.
What should I aim my thought process to? I'm tired of programming, because it provokes an entirely different kind of guilt, the guilt of "you shouldn't be resting, go write that article, go study that new web shit, go build that another open source thing (that nobody cares about)".
Art makes me a bit happier though. I studied 20th century progressive art a bit, and appreciating the ideas behind certain pieces of design, architecture and fine arts make me feel superior than other people, and also superior than my past self. I don't know if it's healthy or not, I'm just being honest now.
I think I need more art in my life. For now, I'm fine with knowing that I'll probably never create a real piece of art (aside from programming), so at least I can consume art instead of buying worthless shit that doesn't make me happy anyway.5 -
So this modeler on a Dev call, I have this new shiny model, let's release this to production mid November😳 (Seriously that's how he started out the first conversation).
2 min silence, everybody looks at each other for reaction, just like a TV shows !! 🤣🤣
And the my Manager lists out the things that would be required to before we ship this out.🤐
Modeler : Oh I guess we won't be able to deliver it this year.😤
I am like what were you thinking. Everything is not just import an Excel in R and crunch numbers and write reports and show graphs. is it?
There is a real development cycle that has to do all of the above on not so pretty data, at scale reliably for 100s of clients and not just your laptop. -
My current computer is starting to overheat playing games that used to run fine. Like thermal shutdown I think on the GPU. So I need to have the thermal compound redone. Then I will be out a computer while this is being worked on. I would have a local shop do it, but would rather a vendor that sells thousands of computers do this.
I am thinking I might buy a newer computer and then send the current one in for repair. Then let my kids use this one when fixed. I just got this one where I wanted it disk and setup wise. I also would be stuck with Win 11 on the newer computer. Everything I do on my home computer is windows centric. The people I support, the stuff I run, everything. That is the biggest negative in getting a newer computer. I would rather buy one with windows 10. But they won't even sell that anymore.
The newer computer is much nicer though. 4070 over a 3060. Newer processor with 32 threads. Thinking of going 17" screen instead of 15". So I like the idea of the compile times being faster.
I am loathing the idea of setting all my programs back up again. This sounds like a nightmare. I don't even like thinking about it.
Fix the old reliable thing and/or get the new shiny toy. What bothers me is that it has only been since 2021. I don't remember having to redo heat sink compound on older computers. I keep reading this is a thing. Wtf is happening to the compound? Is it made to fail?9