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
-
tl : "hey dotenv, we have a presentation with VP tomorrow, do you want to present any of your achievements in product?"
me: "umm, what achievements ?"
tl : "you know, something that you added in app which made a good impact to various metrics like DAU, MAU, less bad reviews etc"
me: "umm... i coded the tasks and features created by you folks. they got shipped at some point of your liking, and are now being tracked by you for its success failure. So i am not sure what to take credit for"
TL: "no, no.. i mean like any bugs or issues that you fixed outside of your daily jira tasks which you tracked to be a sucess"
me: "well as far as tracking is concerned, then neither i know how to track them nor i did. but yea, i identified a bug where an outdated payload was generating bad request and giving a silent failure instead of success which recently got shipped. maybe its helping users get actual response instead of "we will get back to you in some time" , so this might get considered?
TL : "oh that? that we have already added as one of the team's achievements (=PM+TL's achievement) and have tracked it to be a succes"
me : "what th- okay. then how about that api failure which was identified by AVP as "something is not right" in which the api was intermittently taking a long time to respond. he tagged me and i set up logs to identify which type of users got that issue and the actual cause of that api failure. that was definitely a good fox for app as we ended up with good reviews on playstore for our new release?"
TL : "oh that? how can you take credit for that fix? it was identified by AVP, you just added similar logs that we were using for tracking errors and implemented a fix when it came to you as a sprint task? its a team achievement"
me : "but you guys didn't identified the cause through your logs!? my log was more granular. and even if that's the case, we aren't allowed to pick any task just as is, without getting it added to sprint , right?"
TL : "nah, that was a team win"
*6 months later, during appraisal time"
TL : "Hey dotenv, you haven't displayed any leadership skills and haven't gone put of the box to improve the product. Here's your peanut appraisal 🗑️"
me : 🥲🔫🤯🪦
------------
fuck this stupid neaurocrst structure. i hate being a selfish prick than a team player, but either give credits as well as punishment to the team or gove credits as well as punishment to the single person. but wtf is thos culture of giving reward to team and punishment to individual? fckin communists
------ -
Our company decided to buy a new platform from a third party company..but they did not pay at all at once, it was like a loan, and every month we received a new feature to integrate in our code system, after a couple of months the company stopped paying, then they decided to cut the relation and suddenly I was working 18 hours per day to build the platform that they were supposed to buy.. we were told that we had one month to finish, of course we didn’t make it, I got fired the same year :D1
-
If finally happened. My cats broke me down.
After years of spotty internet, in which I couldn't resolve websites, to which the solution always was to reach down and push the RJ45 jack with the broken off clip that connects my router to my pihole back in, because my cats pulled it out once again.
They made me do. They finally made me do it. After all those years. Today, my cat pulled it out like ten times in a row... So I finally did it. I walked over in the other room, grabbed a new cable and plugged that one it.
Try that again, cat. I dare you. Try it again!1 -
one week back from my holidays and so far:
- 3 server outages
- 1 developer will be fired
- 2 new employees (company has around 35 employees)
- 2 employees leaving
- outsourced designs, the designer surely didn't read the feature research doc nor followed style sheet
- a small, easy feature has not yet been finished by the rest of the team
- new devOps engineer wants to rewrite our entire tech stack
But at least the CEO was doing it's best and ran away from the problems & ran 150km19 -
On C++ forum and see reference to Type Erasure (TE). Search around, some Java shit bleeding into other programming languages. Finally find an article that not only explains what TE is, but why you would use it in C++. ITS JUST FUCKING DUCK TYPING. Please stop using stupid names for stuff. You don't sound smarter. You sound like an asshole. Anyway, thinking about it does make sense to call it Type Erasure, but I still think it sounds pretentious. Cool concept, stupid name. Will continue to confuse people saying: "oh, you mean duck typing?"
Cool article:
https://davekilian.com/cpp-type-era...
The wikipedia article about TE doesn't explain shit about why you would even use it. Just repeats the same word salad of words I first saw about TE. I get that its jargon, but from the outside it just sounds like bullshit. I have never heard anyone I work with spew out shit like that. Even the ones with masters degrees in computer science.
I am not even sure I want to learn more about CS than what keeps me employed. I don't want to sound like this when I talk. I have already said shit in meetings about modern C++ that has colleagues (other sparkies, and some CS people) wondering what I was smoking. It wasn't even that jargony.
Don't mind me, just a sparky starting to understand why the CS world is so fucked. Maybe its just academia I can't stand. I dunno.
I should ask in a meeting if someone can define a monad for me.25 -
I discovered a language I didn't know AND i like.
It's not under active development anymore, but I decide it has a nice syntax. It's made by the writer of craftinginterpreters. There are still people writing some extensions for it.
I decided to implement socket support in it.
That went very well and the result is just BEAUTIFUL. But now, i have a collection of socket functions that require a file descriptor (sock) for every function like write, read and close. We're not living in the 90's. I want to do sock.send(), sock.write() and sock.close(). So socket as an object.
I wrote a wrapper and it is freaking TWO times slower! Hows that even possible.
I've made wrapping to object optional now. Bit disappointing.
The language shows off with benchmarks on their page. Their fibers can even be faster than Elixr. Yeah, if you only use the fiber and nothing else from language. I benchmarked string concat for example against python: 1000 times slower or so.
The source code of wren is so freaking beautiful. Before Lua was my favorite language regarding source. The extensibility is so great that I prefer to work on this one instead of my own language. They kinda made exactly what I wanted. I can't beat that.
For if you're interested: https://wren.io/
The slot way of communicating between host language (C) and child language (wren) seems odd at beginning but i became fan of it.
Thanks for listening to my ted talk.
What's your opinion about wren (syntax)?18 -
TL;DR: This year I changed job to a quite toxic company and because I have to work for two different clients in parallel I'm burning out. I need suggestions about telling about my mental health to my employer or request to change clients because of their incompatibility
----
At the begin of this year I changed work from a small startup (which was nice, but they didn't pay very much) to a consulting company and since then I'm experiencing my first burnout.
Just to give some context, the first month or two months in this new position were nice: the project I've been put on was difficult, but the other people in the team were very kind and helped me navigate through the codebase. After there quiet months, I've been put on a second project (in parallel with the first one), same domain but different client and the two clients must not know that I work for other clients. This doesn't work particularly well because both of the clients require me a full--time presence and both the teams have the tendency to call you without any warning and without setting up a meeting on calendar and beacuse of this I pass 3/4 of my day on such useless meetings (which many of them I have to be present at the same time, and sometimes one meeting is in English and one in Italian) without getting any job done and now both my leads are getting frustrated by my delays.
To make it all worse, when I was contacted from the headhunter it was for a mobile developer position, but because of my previous position my employer thought that I could temporary work on one java project because there was scarcity of developers and I could be a nice fit.
I'm not sure if I sum up my situation clearly of it's confused (I'm sorry about that), but tomorrow I plan to call my employer to tell him that I can't take it anymore and something has to change, I just don't know if I should put it on the incompatibility of the two clients, my mental health or both9 -
I don't understand wtf is happening today..
- in project A, terraform suddenly decided to stop working with kubernetes-related providers -- the CA cert mismatch error. I agree, it should be not working, because there are 2 kube-api severs behind an LB. But why now??? Why was it working for the last 2 months, until NOW????
- in project B, terraform suddenly decided to stop working _correctly_ with kubernetes-related providers -- it doesn't find resources randomly, even though they are available and I can see them via kubectl get. TF_LOG=DEBUG shows terraform sending correct requests to the kube-api, but the response is a 404. wtf... I see those resources present in another terminal window, only using kubectl. wtf....
- my PR in github was commented, I wanted to ask a question seconds later, and I'm getting a 502 from GH
wtf... I can't spot a pattern and that drives me freaking crazy.
Is this the Friday's curse...? IDK4 -
I’m getting good at cooking. The fucking marvel that salt does when I leave salted chicken for a few hours or overnight is something else.
It feels that this already made anything I make around 50% tastier. The hard part is keeping it to a very low minimum to have a reasonable amount of sodium. The other day I had some thin chicken breast slices that were left salted for a few hours, then I cooked them in unsalted butter with a modest amount of pepper and herbs.
And I’ve just read a few pages of the damn book, I’m so excited for the rest.10 -
I feel fucking stupid about using a custom node system at work. It is designed to generate an xml file for configuration. However, when using a node I cannot add more to the node unless the node has data. So I gotta call a function to inject useless XML into the node for it to not be empty. I literally set the internal data to <key></key>. It is stupid and I hate it. Just let me create my node hierarchy damn it!
Is this some weird data pattern I should know about? Like what does preventing adding data to an empty structure do? I have the root node. Is that not enough. Remember, this is custom node system that is probably fucking 20 years old. The previous coders did a lot of walled garden shit that I also hate. Prevents reuse of code. This code might just be more of that shit.1 -
So yeah, I kind of thought it was exaggerated, and above all, not anywhere outside fucking woke Spain.
I just had a Moroccan today not only molest my friend, but also literally tell me (after watching two girls go home on their own) "let's go after them, they can't do anything against us."
Am writing from the police station now, hopefully they will lend me a baton to beat him up some more.52 -
During my commute to home from office, I got an idea about an app that I really needed and it could be built easily. And I couldn't wait to get home and start building it ... I was super excited...( You know the feeling when you are so clear about what you are going to do that you start to think in code )
Now it has been half an hour since I am stuck on this error , looking at my screen , pulling my hair while sitting on a chair in the posture of a f*cking question mark! Thinking about why I did I even choose to do this for a living , I could have sold vegetables and be happier.
This is just beginning of my career , is this how I am going to spend rest of my life?16 -
I wish music made money
and also that I didn't have to write a library to be able to make the music I wanna make, raaghhh
I wrote one in JavaScript but javascript is poor at timing and for music timing is important. it's mostly fine if you don't listen too hard but it could be so much better
I want to make something like it in rust but I'm fish out of water. I want bit-level control of output but I don't have the precursory knowledge to know how to do it
*lazily works on secret evil plan instead*
wish my head would stop hurting also, that would be great14 -
Drag-to-select in Samsung's "My Files" app is a disaster.
If you don't move your finger and stop dragging towards the top or bottom, it goes into "drag-and-drop" after one second. When you release your finger, it unselects everything, so you have to start over.
This is why every mobile file manager needs range selection. This means tapping two files, tapping a button, and everything inbetween is immediately selected.
This is similar to shift+click selection on desktop. We take this for granted since it has been a standard feature for three decades. But mobile apps still can't do this simple thing as of 2024.
"Drag-to-select" is better than individual selection, but comes nowhere close to real range selection. "Drag to select" is at best an ugly twin of full desktop-like range selection, but file manager developers can still get away with giving it the label of "mass selection".
ES File Explorer had this since at least 2012, yet billion-dollar Samsung and Google fail to implement this in their file managers.3 -
I've lost the war. I'm happy with the comfort of my new chromecast but the amount of advertisements is really mayhem. Couldn't take it any longer.
So, i have YouTube premium now. You see? Ads do work! Also, it's not that weird to pay for smth you use so much. Why pay for Netflix and not YouTube?
I even spared some euro's by cancelling Netflix. Finally. Didn't watch a series for months. Fuck off wokies8 -
Programmers are freaks with three limbs and square heads. During your fiery conference speech, as the crowd laughs, one filth, who is your manager, tells another filth, who is someone else’s manager: “Look, this is my mule. Can code many hours. Don’t has to pay many moneys. My mule is more good than your mule. In Bangalore, they ask very many moneys for this mule.”
And you know damn well that when in Bangalore they ask less, you’re gone in a flick of a pen. Your company sent you to give this talk. Meetup? No, just a freak show for mules. Is it a dick measuring contest for investors? No, not at all. As you speak, this filth is fucking his secretary in Aruba while his wife is dying of cancer in Miami. And the supreme filth, the one that has no eyes and no mouth? It grins. Go mule, spaces versus tabs. Vim versus Emacs. Linux versus macOS. Divide and conquer.3 -
Heres some research into a new LLM architecture I recently built and have had actual success with.
The idea is simple, you do the standard thing of generating random vectors for your dictionary of tokens, we'll call these numbers your 'weights'. Then, for whatever sentence you want to use as input, you generate a context embedding by looking up those tokens, and putting them into a list.
Next, you do the same for the output you want to map to, lets call it the decoder embedding.
You then loop, and generate a 'noise embedding', for each vector or individual token in the context embedding, you then subtract that token's noise value from that token's embedding value or specific weight.
You find the weight index in the weight dictionary (one entry per word or token in your token dictionary) thats closest to this embedding. You use a version of cuckoo hashing where similar values are stored near each other, and the canonical weight values are actually the key of each key:value pair in your token dictionary. When doing this you align all random numbered keys in the dictionary (a uniform sample from 0 to 1), and look at hamming distance between the context embedding+noise embedding (called the encoder embedding) versus the canonical keys, with each digit from left to right being penalized by some factor f (because numbers further left are larger magnitudes), and then penalize or reward based on the numeric closeness of any given individual digit of the encoder embedding at the same index of any given weight i.
You then substitute the canonical weight in place of this encoder embedding, look up that weights index in my earliest version, and then use that index to lookup the word|token in the token dictionary and compare it to the word at the current index of the training output to match against.
Of course by switching to the hash version the lookup is significantly faster, but I digress.
That introduces a problem.
If each input token matches one output token how do we get variable length outputs, how do we do n-to-m mappings of input and output?
One of the things I explored was using pseudo-markovian processes, where theres one node, A, with two links to itself, B, and C.
B is a transition matrix, and A holds its own state. At any given timestep, A may use either the default transition matrix (training data encoder embeddings) with B, or it may generate new ones, using C and a context window of A's prior states.
C can be used to modify A, or it can be used to as a noise embedding to modify B.
A can take on the state of both A and C or A and B. In fact we do both, and measure which is closest to the correct output during training.
What this *doesn't* do is give us variable length encodings or decodings.
So I thought a while and said, if we're using noise embeddings, why can't we use multiple?
And if we're doing multiple, what if we used a middle layer, lets call it the 'key', and took its mean
over *many* training examples, and used it to map from the variance of an input (query) to the variance and mean of
a training or inference output (value).
But how does that tell us when to stop or continue generating tokens for the output?
Posted on pastebin if you want to read the whole thing (DR wouldn't post for some reason).
In any case I wasn't sure if I was dreaming or if I was off in left field, so I went and built the damn thing, the autoencoder part, wasn't even sure I could, but I did, and it just works. I'm still scratching my head.
https://pastebin.com/xAHRhmfH22 -
think I had my first burnout
so exciting
I couldn't sleep last night and obsessively worked all day. couldn't pay attention during dinner / relaxing before sleep with people. everyone went to bed, I didn't. ended up getting up and working then trying to sleep, repeat, like 6 times. morning came, neighbours running saws and shit, eventually slept 2 hours then 1.5 hours, if even. then worked more. good morning. fuckit. then got really pissed at everything for like 4 hours and wanted to be left alone any time a person got close to me, BUT KEPT WORKING, stressing. until I realized holy shit I'm fucking miserable
now I think I'm crashing
IM SO EXCITED. I've never been so obsessed about my own incompetence at something before. I've never had this. this leads me to believe all burnout is due to people trying to fight their incompetence maybe?
people always tell me I work too much and all that but I never understood cuz I like it. maybe this is what they meant though. in which case I'm mad at all of them for incorrectly identifying my emotional state in the past grrrrr. cuz they'd use that as an excuse to rope me into doing things I didn't even find enjoyable because supposedly it was "good for me" but I thought it was fucking lame. fucking hell10 -
Hindersi Magronä recipe:
- Butter
- 2-3 Onions, diced
- 300g Potatoes, diced
- 350g Maccheroni or just pasta
- 1 table spoon of dried chicken stock dissolved in water
- 20-30ml of hot water
- 30ml Heavy Cream
- 300g Parmigiano Reggiano
- Diced Bacon
- Coat a pan with butter
- Add onions, bacon and potatoes
- Cook untill onions are lightly golden
- Add the stock and stir
- Add the pasta
- Add enough hot water so its level is ~1-2cm above the pasta
- Cook untill the pasta is "al dente" and let the water evaporate untill ~1cm above the pan
- Add the heavy cream and cheese
- Cook and stir for 2min
Et voilà, Mac N Cheese with extra steps7 -
Tester has found an issue: controller input stops working when performing certain steps.
Creates a report and provides an attachment.
The attachment depicts some menu where, at first, the cursor moves around various options, then simply stops moving.
The problem:
Since this is a simple in-game recording, there is neither an overlay of the controller w/ a visual representation of the input actually being provided but not working, nor there is a camera recording available where I can see the tester pressing buttons on a controller.
For all I know, the tester put down the controller / stopped pressing buttons.
...I've also seen reports of animations not working... w/ fucking screenshots attached.
How the fuck can you see something not being animated in a fucking static picture?2 -