Details
-
AboutAutodidactic
-
SkillsC,C++,Java,Python,HTML,Css
-
Website
-
Github
Joined devRant on 2/3/2020
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
-
Does anyone else fantasize about giving up programming and go live in a jungle or doing other things that require more physical effort?
I've been learning carpentry, farming, DIY power generation etc. The goal is to be self-sufficient and go live in a fucking jungle someday. Or legally buy some cheap land far from the city and automate the shit out of it. No wait, I'll just live there as a normal farmer and write code if I feel nostalgic or something.
I think anyone other than me could have expressed that better.14 -
I currently have the best problem ever:
Our client applications and APIs are so fast, users are complaining they don't notice that the UI changed in between the time they clicked a button and their eye drifts to the adjacent component. So now we're having to build visual cues to account for that.
#KillingIt9 -
"We don't need to invest in security - noone is going to hack us anyway" == "We don't need a fire department in our city - fire is not going to start here anyway"
We don't need to invest in security - everything is public anyway" == "We don't need a fire department in our city - our buildings are made out of straws anyway"
-- my thoughts after seing a line in client's spec: "sensitive data is transferred via a secure tcp channel (https) and all the public data is transferred via an unencrypted tcp (http) channel"3 -
> Root struggles with her ticket
> Boss struggles too
> Also: random thoughts about this job
I've been sick lately, and it's the kind of sick where I'm exhausted all day, every day (infuriatingly, except at night). While tired, I can't think, so I can't really work, but I'm during my probationary period at work, so I've still been doing my best -- which, honestly, is pretty shit right now.
My current project involves legal agreements, and changing agent authorization methods (written, telephone recording, or letting the user click a link). Each of these, and depending on the type of transaction, requires a different legal agreement. And the logic and structure surrounding these is intricate and confusing to follow. I've been struggling through this and the project's ever-expanding scope for weeks, and specifically the agreements logic for the past few days. I've felt embarrassed and guilty for making so little progress, and that (and a bunch of other things) are making me depressed.
Today, I finally gave up and asked my boss for help. We had an hour and a half call where we worked through it together (at 6pm...). Despite having written quite a bit of the code and tests, he was often saying things like "How is this not working? This doesn't make any sense." So I don't feel quite so bad now.
I knew the code was complex and sprawling and unintuitive, but seeing one of its authors struggling too was really cathartic.
On an unrelated note, I asked the most senior dev (a Macintosh Lisa dev) why everything was using strings instead of symbols (in Rails) since symbols are much faster. That got him looking into the benchmarks, and he found that symbols are about twice as fast (for his minimal test, anyway), and he suggested we switch to those. His word is gold; mine is ignorable. kind of annoying. but anyway, he further went into optimizing the lookup of a giant array of strings, and discovered bsearch. (it's a divide-and-conquer lookup). and here I am wondering why they didn't implement it that way to begin with. 🙄
I don't think I'm learning much here, except how to work with a "mature" codebase. To take a page from @Rutee07, I think "mature" here means the same as in porn: not something you ever want ot see or think about.
I mean, I'm learning other things, too, like how to delegate methods from one model to another, but I have yet to see why you would want to. Every use of it I've explored thus far has just complicated things, like delegating methods on a child of a 1:n relation to the parent. Which child? How does that work? No bloody clue! but it does, somehow, after I copy/pasted a bunch of esoteric legacy bs and fussed with it enough.
I feel like once I get a good grasp of the various payment wrappers, verification/anti-fraud integration, and per-business fraud rules I'll have learned most of what they can offer. Specifically those because I had written a baby version of them at a previous job (Hell), and was trying to architect exactly what this company already has built.
I like a few things about this company. I like my boss. I like the remote work. I like the code reviews. I like the pay. I like the office and some socializing twice a year.
But I don't like the codebase. at all. and I don't have any friends here. My boss is friendly, but he's not a friend. I feel like my last boss (both bosses) were, or could have been if I was more social. But here? I feel alone. I'm assigned work, and my boss is friendly when talking about work, but that's all he's there for. Out of the two female devs I work with, one basically just ignores me, and the other only ever talks about work in ways I can barely understand, and she's a little pushy, and just... really irritating. The "senior" devs (in quotes because they're honestly not amazing) just don't have time, which i understand. but at the same time... i don't have *anyone* to talk to. It really sucks.
I'm not happy here.
I miss my last job.
But the reason I left that one is because this job allows me to move and work remotely. I got a counter-offer from them exactly matching my current job, sans the code reviews. but we haven't moved yet. and if I leave and go back there without having moved, it'll look like i just abandoned them. and that's the last thing I want them to think.
So, I'm stuck here for awhile.
not that it's a bad thing, but i'm feeling overwhelmed and stressed. and it's just not a good fit. but maybe I'll actually start learning things. and I suppose that's also why I took the job.
So, ever onward, I guess.
It would just be nice if I could take some of the happy along with me.7 -
I’ve been told my rants are being missed, since I left my hellhole of a job. So here’s a filler until something major goes wrong.
Right so here’s what my life is like at the minute. I’m working remotely from home. So this morning, instead of spending 2 hours in traffic, I got up at a reasonable hour and brought the dog for a walk. I don’t know who these people think they are, fucking up my routine like this. The audacity of them thinking it’s no big deal really pisses me off.
I’m the only iOS developer in the company. Normally I get bombarded with “why not use react-native” or “RxSwift is the future” and other shitty tools. Last week I said “i’d like to do X this way”. Do you know what those absolute bastards said to me? You ready? Hope you are sitting down ... they said ... “ok, sounds good” .... the fucking c***s.
Oh oh and the big one, wait for this now. Fridays are demo days, last Friday I showed what I was working on. Afterwards the CEO comes along, stares me in the eyes and without a care in the world what his comments might do to my self-esteem the fucker says “wow great job”. He fucking makes me SICK!!!
Feels good to get all that off my chest. I’ve missed venting. At this rate, I’ll be back very soon!8 -
Got two interviews today. Wish me luck. I'm nervous, but I think the candidates are probably more nervous.8
-
I just remembered the first time I set up a Linux-Server. It was a simple Apache webserver at my first internship anf I didnt have a clue about literally anything.
My mentor guided me through and gave me literal step-by-step instructions (alright, now type... and now type...).
At the end he told me "OK, now run 'sudo rm -rf /*' to finish setting up". Me, being the naive and clueless motherfucker I am, happily nuked the everloving shit out of my newly setup server. I was like "Alright, WTF just happened??" He then told me "Now that you know how it works, do the entire thing again all by yourself. And you just learned an important lesson: NEVER exexute commands you dont know what theyre doing". I really did learn a lot on that day and still follow that lesson :D8 -
So... This company was in trouble. They hire me to help fix things and build this nice new stack to get rid of their old legacy monster application.
I'm there for three weeks when one of their top investors storms in. Apparently they are turning less profit than they told me during my interview. (Yeah, it is one of the things I always ask, even thought I don't always get an answer).
So this investor/shareholder guy starts on this motivation speech which is basically a veiled threat that "we" need to do better.
Obviously he doesn't know anyone in the room other than the boss. And it was apparent, at least to me, he also has 0% knowledge of anything related to software development. The boss doesn't look to happy about having to let this happen.
Then the guy turns to me. He points his finger at me and demands to know how failing so badly makes me feel...
So I answered truthfully... "I've only been here for three weeks, so I don't think I've been failing too much, yet. Now, how long did you say you've been throwing money at this failure without getting the return you wanted?" Emphasizing the "you" by pointing right back at him.
That doesn't shut the guy up, but he does bring his "motivational" speech to a rapid close.
He doesn't bother saying goodbye when he stormed out again, not even to the boss, who looks a lot happier at this point.
Apparently the guy pulled this stunt every couple of months (or weeks, if he was bored enough). After this encounter, he apparently had enough of trying to "motivate" us developers. We I didn't see him again in the 2 years I worked with the company after that.
I got a pay raise the month after. Apparently that was totally unrelated to this incident... 😙🎵11 -
*opens reddit*
Oh wait I'm at work
*closes reddit*
*Repeats every 10 minutes*
It happens so often I wonder if anyone notices3 -
Grammarly just found and corrected an embarrassing mistake in a legal document...
My typo was "onimated"...
Googles spelling and grammar changed it to "dominated"...
Grammarly figured out it should have been "nominated".3 -
Me: spends 2 hours on a script that converts graphs into colorblind friendly mode
Friend: why didnt you just grayscale the image
Me:
Me: uh7 -
I gave resignation so am on my last weeks. The top priority is suddenly an authentication service that is completely unfamiliar, proprietary, requires me to RTFM, and requires contact with a slothful vendor about details for our specific instance. Can you do it on a 10 day deadline?
“Are you sure this wouldn’t be a better fit for someone that has implemented this authentication system before? Someone with existing relationships with contacts that manage the authentication service? Maybe I should be the one transferring my understanding of the other 60k lines of code that I singlehandedly wrote? I’m starting from zero here. Maybe it would be good for the guy who isn’t leaving to do this one so that he can retain the knowledge of the authentication system for next time you need to implement it?”
They just plug their ears now because they clearly don’t trust me due to my resignation state. Just do it. Wow.11 -
I once had a client who wanted a system where no matter what type of file someone uploaded we'd make a PDF out of it. I don't mean "print to PDF", I mean like a straight conversion. A picture, a doc file, a speadsheet, an MP3, a video, a CAD file, a .ivt file format you and I make up right now and tell no one else about for storing Iowan votes, anything.
I told him that was impossible.* There are indeed things out there where you can print to a pdf, but it would mean that a program that knows what a .grml file is, and how to represent it on paper, assuming it even can be, is involved in the middle.
He refused to believe me, and found a company where the sales person swore up and down their product could do it. I said "then you explained it wrong" and we went back and forth. It culminated in me being put in contact with THEIR programmer. I explained what he was looking for. Their programmer replied along the lines of "but that's impossible, and also what would a PDF of half these examples even look like?" I basically said "I know, but your guy is telling my guy you can do this, so you need to tell your guy to STFU before we ALL get roped into trying to convert Duke Nukem maps and zip files full of dlls to pdfs."
Luckily it finally died after that, but the whole ordeal took months.
*I'm being direct/blunt for the sake of brevity when recapping what I said, just fill in the usual "talking with a client niceties"12 -
Started sending my resume to a few select companies. My job is secure (for the moment at least) but I cannot work with someone who is anti-vaccination, believes men and dinosaurs coexisted and International Space Station is out there to meet and greet his Lord...
Wish me luck15 -
that time when a client wants you to teach a bird how to fly.
but the bird is a penguin
and you are a bear expert
"but it has wings!"7 -
Here's a recent interview I had for an Android Developer job:
I: Interviewer, M: Me
I: hello, welcome
M: hi, thanks
I: do you know Kotlin?
M: yes, I've been working with it for 1.5 years and have written 3 projects in it
I: do you know RxJava, Dagger, Retrofit, and how to make Custom Views?
M: yes, I'm comfortable with them *explains*
I: do you know Room?
M: yes I do, I've done a lot of practices in it, but unfortunately have never needed to use it in production
I: what architecture do you use? Do you know MVP?
M: I'm currently using MVVM, but not MVP. I've debugged projects in it so I know what's going on in it
I: ok, do you have any questions for us?
M: how did I do?
I: I'm sorry sir, but you're not even a junior here
M: what? Why is that?
I: well you don't know Room and MVP?
M: I said I know them, just haven't used them in production.
I: well you have 3 years of experience but you dont even know Kotlin!
M: Kotlin was your first question and I said I have 3 projects in it. Did you even check the samples you asked for in the job posting?
I: SIR YOU'RE NOT A GOOD FIT FOR US, THANK YOU FOR COMING.
:/56 -
Working with different nationalities is interesting, and sometimes kind of bewildering. And tiring.
I've been working with an Indian dev for a little while, and while she's a decent dev, interactions with her sometimes leave me a little puzzled. She glazes over serious topics, totally over-sensationalizes unimportant oddities, has yet to say the word "no," and she refers to the senior devs as (quote) "the legends." Also, when asked a question by her boss, like "Are you familiar with this?" Instead of a simple yes/no answer, she shows off a little. Fair, I do this sometimes too, but it's a regular thing with her. Also, like most Indians I've known and/or worked with, she has a very strict class-and-caste view of the world. It honestly makes me a little uncomfortable with how she views people, like certain people belong in certain boxes, how some boxes (and therefore their contents) are inherently better than others, and how it's difficult or simply impossible to move between boxes. My obviously westerner view of things is that you can pick where you want to be and what you want to do, and all it takes to get there is acquiring the proper skills and putting in the required effort. I see no boxes at all, just a sprawling web of trades/specialities. And those legends she talks about? They're good devs with more knowledge than me, but only one, maybe two of them are better devs. I see them as coworkers and leads, not legends. Legends would be the likes of Ada Lovelace, Dennis Ritchie, Yukihuro Matsumoto, and Satoshi Nakamoto. (Among others, obv.). To call a lead dev a legend is just strange to me, unless they're actually deserving, but we don't work with anyone like Wozniak or Carmack.
Since I'm apparently ranting about her a little, let me continue. She's also extremely difficult to understand. Not because of her words or her accent, but I can't ever figure out what she's trying to get across. The words fit together and make valid sentences, but the sentences don't often make sense with one another, and all put together... I'm just totally lost. To be a math nerd, like the two conversations are skew lines: very similar, but can never intersect. What's more, if I say I don't understand and ask for clarification, she refuses and says she doesn't want to confuse me further, and to just do what I think is best. It's incredibly frustrating.
Specifically, we're trying to split up functionality on a ticket -- she's part of a different dev team (accounting), and really should own the accounting portion since she will be responsible for it, but there's no clear boundary in the codebase. Trying to discuss this has been... difficult.
Anyway.
Sometimes other cultures' world views are just puzzling, or even kind of alien. This Irish/Chinese guy stayed at my parents' house for a week. He had red hair, and his facial features were about 3/4 Chinese. He looked strange and really interesting. I can't really explain it, but interacting with him felt like talking to basically any other guy I've known, except sometimes his mannerisms and behavior were just shockingly strange and unexpected, and he occasionally made so little sense to me that I was really taken aback.
This Chinese manager I had valued appearances and percieved honors more than anything else. He cared about punctuality and attire more than productivity. Instead of giving raises for good work or promotions, he would give fancy new titles and maybe allow you to move your desk somewhere with a better view of your coworkers. Not somewhere nicer; somewhere more prominent. How he made connections between concepts was also very strange, like the Chinese/Irish guy earlier. The site templating system was a "bridge?" Idk? He also talked luck with his investors (who were also Chinese), and they would often take the investment money to the casino to see if luck was in the company's favor. Not even kidding.
Also! the Iranian people I've known. They've shown very little emotion, except occasionally anger. If I tried to appease them, they would spurn and insult me, but if I met their anger, they would immediately return to being calm, and always seemed to respect me more afterward. Again, it's a little puzzling. By contrast, meeting an American's anger often makes them dislike you, and exceeding it tends to begin a rivalry.
It's neat seeing how people of different nationalities have different perspectives and world views and think so very differently. but it can also be a little tiring always having to translate and to switch behavior styles, sometimes even between sentences.
It's also frustrating when we simply cannot communicate despite having a language in common.random difficult communication too tired for anger or frustration nationalities tiring diversity root observes people23 -
Me (as a Senior developer): How will you solve this problem using regular expression?
Junior developer: *Explains*
Me: Good
Junior developer: I truly feel like a programmer when I code regular expressions
Me: Now, we have two problems.26 -
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 I officially switched from 5 working days per week to just 4 days. It will be less money, but much more freedom & happiness.
I'm a lucky guy to have this opportunity, but I also put my big chunk of effort to achieve this degree of freedom. And I'm proud for that.11 -
Today I met a random guy who contacted me through Facebook to teach him some C++.
He wanted to create a small anomalies detection system on x-ray images with OpenCV (for industry purposes).
The guy came from Nigeria, where he studied medicine, but here has to work on two completely unrelated minijobs to survive.
And he still finds energy to keep learning new crazy stuff like C++ (he definitely chose the hard path to learn some programming).
And that's it, there's no moral for this fable, just a short story. Learn whatever you want from it.2 -
Removed a bug 2 weeks ago.
Customer calls today and wants to have it back.
The error miscalculated a sum.
🤷
When you thought you saw everything...10 -
I think having the wrong job can really bring down the quality of life.
My friend has to drive two hours each way to get to and from work. That's four hours wasted commuting.. and his job is service desk agent.
What are the consequences, you ask? He never has a spare second to talk to me, he's quickly developing gray hairs and he has no time awareness.
Having the wrong job is unhealthy and results in a cascade of bad side effects.. When most of your day involves work-related things, that's just wrong. There is no Yin-Yang there. I know because my work life is somewhat balanced.12 -
Some dude's sitting next to me on the train pushing his code. Looks like he's on Arch with pure i3.
I like this guy already.16 -
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