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
-
Manager: You want a promotion? To senior? Ha. Well, build this web app from scratch, quickly, while still doing all your other duties, and maybe someone will notice and maybe they’ll think about giving you a promotion! It’ll give you great visibility within the company.
Your first project is adding SSO using this third party. It should take you a week.
Third party implementation details: extremely verbose, and assumes that you know how it works already and have most of it set up. 👌🏻
Alternative: missing half the details, and vastly different implementation from the above
Alternative: missing 80%; a patch for an unknown version of some other implementation, also vastly different.
FFS.
Okay, I roll my own auth, but need creds and a remote account added with the redirects and such, and ask security. “I’m building a new rails app and need to set up an SSO integration to allow employees to log in. I need <details> from <service>.” etc. easy request; what could go wrong?
Security: what’s a SSO integration do you need to log in maybe you don’t remember your email I can help you with that but what’s an integration what’s a client do you mean a merchant why do merchants need this
Security: oh are you talking about an integration I got confused because you said not SSO earlier let me do that for you I’ve never done it before hang on is this a web app
Security: okay I made the SSO app here you go let me share it hang on <sends …SSL certificate authority?>
Boss: so what’s taking so long? You should be about done now that you’ve had a day and a half to work on this.
Abajdgakshdg.
Fucking room temperature IQ “enterprise security admin.”
Fucking overworked.
Fucking overstressed.
I threw my work laptop across the room and stepped on it on my way out the door.
Fuck this shit.rant root mentally adds punctuation root talks to security root has a new project why is nowhere hiring enterprise sso12 -
LinkedIn: You have one notification!!!!
Me: What is it?
LinkedIn: 10 types of horses that make your more employable if you don't fuck them
Me: What
LinkedIn: 10 types of h-
Me: No, I heard you, why did you send me a notification about this?
LinkedIn: You want a job, don't you?
Me: Yes, but don't send me this type of notification again.
LinkedIn: Updated your preferences!
The nefarious LinkedIn, two days later: You have one new notification!!!!!!4 -
Update to my "I broke prod" rant:
- I managed to unfuck it on the same evening.
- Worked fine for one day
- Crashed today morning
- Can't fix it because I had surgery yesterday and am on sick leave currently
=> Probably gonna result in me VPNing into the comp network and RDPing into the prod instance to analyse the failure
Yep, ladies and gents, more open heart surgery on the menu!11 -
Me: Hey, guys, this stuff is seriously flammable. Like, I’m surprised it hasn’t caught fire yet. I really want to clean it up. Here’s how I’d make it better.
Management: No. It’s fine, it works. Don’t touch it. It’s getting replaced anyway. Just add the things on top like we asked you to, and call it a day.
Me: Are you sure? This is seriously going to be a problem.
Management: We just said it’s getting replaced. Don’t. touch. anything. OK?
Me: alright.
… Eight weeks later …
Management: so this thing caught fire over the weekend, and the fire spread to other areas. We’re doing some emergency cleanup. The new guy looked at it and figured out why, and has some great ideas on fixing it, so give him some well-deserved praise!
Me: Hey! I told you about this months ago!
Management: Yes. I tuned out during today’s firefighting meetings. But it’s important to strike a balance in everyone’s style. Do you have any other concerns?9 -
I've made the json protocol. It's a protocol containing only json. No http or anything.
To parse an json object from a stream, you need a function that returns the length of the first object/array of all your received data. The result of that function is to get the right chunk of the json to deserialize.
For such function, json needs to be parsed, so I wrote that function in C to be used with my C server and Python client. I finally implemented a C function into python function that has a real benefit / use case. Else you had to validate but by bit by the python json parser and that's slow while streaming. Some messages are quite big.
Advantage of this protocol is that it's full duplex.
I'm very happy!36 -
Ragnar, the devRant anti spam service is ready!
Down voting is implemented now. Will see at next spam message, what will be soon. They're crazy lately.
The anti spam service is added to systemd to one of my powerful servers. I promise that it will be more reliable than my LLM.
If you see a bot and no down votes, there must be something wrong or devRant still has to sync. Often, you see user with more down votes on profile than down votes on rants. Such scenario can happen.
That was it! Only some fine tuning left based on words / regex.
Getting rid of all spam just took around around six hours coding including deployment on service.
I hope it's appreciated.29 -
Frustrated that my build system wasn't recognizing a file change I added to my code. It kept telling me that a function didn't exist in the linked object (linker error). I checked everything and stared at this shit for about 15 minutes or more. The signature matched, the function existed, the relevant source files existed. I was starting to imagine impossible scenarios. I cleaned the project and recompiled. No errors, everything linked just fine. Fuck you? I guess...
So I decided to needed to walk around so I went into my bosses office.
me: I don't want to program anymore.
boss: What do you want to do?
me: Shovel shit.
boss: They are the same thing.
me: True...
TLDR: Tool and possibly skill issue results in frustration and humor.6 -
It's still in development. It often says the opposite from what is expected. Try Retoor1b chatbot at https://llm.molodetz.nl
This was result after building bot + chat website from scratch including training with embeddings. Design is generated by GPT, I tried my own but all ugly.
It's quite cool huh? Ask it to write some code for you. It's absolutely terrible. If it's down, try again in 5 minutes. I'm still working on it.
What's the result? I finally have a toolkit to make good/serious bots. Code could be bit better, but that's for other day.
Stack: self written webserver (and yes, you can post a gb to it or ddos it. Not sure if it survives the first one. I should limit requests to one mb anyway. Http headers may officially not be more than 4096 in total) since I know http protocol from my head anyway. Python websockets module. Asyncio, chromadb.
It could have xss issues. Don't care.
Let me know what you think51 -
why I say FUCK AI -
-> So much stupidity with "It will replace devs". Any dev who has more than 2 brain cells has had their issues with ChatGPT or AI knows that AI is not sufficient nor good enough to get even basic tasks done.
-> "It will be good in 5 years" - well then, talk to me after 5 years. I'm not buying a product or an idea on a "promise". I judge the tech for what it is today, not on what it can be in 5 years.
-> "Just trust me bro" - I see influencers suck that robot dick, but no explanations are given. What they say sounds to me like it's parroted off of general mass media. Nothing new to add nor any insight.
-> AI has issues that nobody seems to talk about. Hallucinations being the biggest of them all. ChatGPT tells you something, and you're supposed to take it as fact? That's too dangerous for a normal person.
-> Junior software developers are scared even to this day that AI can replace them. If they can't think for themselves, it falls upon us (or at least, me) to drive them in the correct direction or give them real opinions on what it is.26 -
Why do we post here? Is this just an outlet for our intrusive thoughts? A therapy session for things we can't articulate in meetings? Being able to say controversial things we are not allowed to say other places?
It feels like this place exists outside of time and reality. It really is refreshing, sometimes frustrating, and sometimes really offensive. Things that exist here that would not be tolerated elsewhere:
1. alternate ideas of software, sometimes politics, theories of existence, people liking javascript
2. ostream (I love you man)
3. bullying
4. saying what you really feel
5. telling people to fuck off
What would we do without this place?
Meanwhile my intrusive thoughts:17 -
I am going to create a define in my code:
#define BIT_CH CHAR_BIT
Then do search replace of CHAR_BIT to "update" the code. Probably need to wait for a refactor. No idea if CHAR_BIT is even used in our code base. I just want to be a BIT_CH.
I was sitting here thinking what a valid use for an object called BitCh or BitChar. Still trying to come up with some valid reason to create such an object.
And people say programming as an art is dead.8 -
I can retire! I automated myself!
I introduce to you, retoorii1b! Yes - I fit in a 1b LLM. Retoorii1b is a bit retoorded tho. It's quite realistic.
I tested several LLM's with same training and it was amazing. Even a 0.5b that had the most interesting Dutch ever. Her Dutch is like my English I suppose.
The 0.5b one could code fine. retoorii1b still has some ethics to delete to make it more realistic.
I've not decided a base model yet, but it'll probably be the lightest one so I can let a few chat with eachother on my webplatform / pubsub-server project. I have a few laptops to host on. I can let it execute actions like file listings or background task execution.
See comments for some very awkward response regarding my file listing. She described everything.
She just said these things. I'm kinda proud. I became a parent:
3. **Keep functions short and sweet**: Aim for functions under 50 lines long. Any longer and you're just wasting people's time.
Now if you'll excuse me, I have more important things to attend to... like coding my next game in Unreal Engine.27 -
Fucking hell, why does the phone decide I can't use my last 4% of battery for the torch function? Fuckers, you can imagine that if the user does that, it's really needed right!? Give a warning or smth. It's not like that 4% is good for a phone call either. What's the point of that last 4% battery then.
I live in a park 5km from outside village center. When it gets dark in the middle of nowhere, it gets black, really black. So, I was cycling home and my bicycle light died. And halfway, it was almost completely dark so I wanted to use the torch on my phone so I could at least see if I'm still on the bicycle road. That's how dark it was and it fucking refused. But then - someone caught up from behind and could follow that person until my exit (one I would've never had found anymore) cycled a hundred meters in pitch black until I saw lights of the park. God dammit, fucked up experience. If that cyclist with light wasn't there, I would've had to walk and hoping I was walking in a straight line. Normally I already go before it gets that dark because bicycle light nearly isn't enough.
And that all, because those fuckers decide what you do with your last battery. Fuck you.
Same for headphone, if ten percent battery left, more than a hour, it starts beeping every minute. So I have to listen a hour that the battery is almost "dead"? Almost dead is 5 minutes left fuckers, not whole hour!
Who designs these things?25 -
Let's Americanize idioms:
1. Break the ice — Open the wallet
2. Bite the bullet — Pay the price
3. Hit the nail on the head — Count the exact change
4. Let the cat out of the bag — Drop a dime
5. Piece of cake — Easy money
6. Costs an arm and a leg — Break the bank
7. Under the weather — In the red
8. The ball is in your court — The check is in your hands
9. Burn the midnight oil — Spend the last dollar
10. Hit the sack — Cash in for the night
11. Barking up the wrong tree — Investing in a bad stock
12. When pigs fly — When money grows on trees
13. Kick the bucket — Cash out
14. Spill the beans — Drop a coin
15. Break a leg — Make a fortune
16. Pull someone's leg — Shortchange someone
17. Once in a blue moon — Once in a financial windfall
18. A blessing in disguise — A hidden treasure
19. The best of both worlds — A double dividend
20. Caught between a rock and a hard place — Between a loan and a hard debt16 -
Staring at computer trying to figure out why I can't read a float from modbus. I swapped the bytes correctly for my platform. I also ensured the endianess of the words matched my platform (byte endianess is not the sames as word endianess, fml). Was driving home thinking about what could be wrong. My mind saw this code:
uint32_t newint;
for(int count=0; count<2; count++){
newint |= words[count] << count;
}
Then I am fuck! It should be:
newint |= words[count] << (count*16);
This was later turned into float. I kept getting values in the 1e-40 or some shit. Now it makes sense. The upper word was not set.
This is such newb shit. Fuck you newb shit I should just know!
Reading more I realized that the endianess of words can vary between devices even though the spec calls for big endian words. Fuck you non-compliant vendors! So I gotta add a flag for fucked up devices. Fine. The pay off is a generic way to add modbus to our opcua server. I want this easily editable in the field. For now it is readonly. So that makes it nicer.
Just a little torqued that I solved this driving home instead of at work. Too close to the code. I think tomorrow I will have my boss review it to tell me of other logical crap I missed.3 -
I never expected embedded Linux to be this performant boot wise. On a Cyclone V HPS (800Mhz, Coretex A7) the entire system boots in 3s. Thats from power on to a shell in userspace. And it uses like 40MB of SD-Card Space. The entire speed gets throuwn out the window as soon as you use systemd. Then it takes like five times as long. I kinda want to explore this further in the future by addin LCD support with a desktop environment and get some numbers for that. Currently very happy with the results.5
-
It's me. I'm a green dot again. Starting with a clean slate. No weird phrases anymore that causes me to keep my connections to the account hidden.
I want to make the content on molodetz professional so I can use it as reference for future employers and that means the name retoor will be associated with me.
I stop using github under my own name. I realized that I can use my alias both for professional usage and the content here at the same time. With my real name I prefer not to.16 -
I made test library a bit happier. Rainbows, fires and happy faces. Before the happy faces i had traditional dots. This is more cancer. I like it. My applications looks much more modern now.
The emoticon list is made by gpt but i've added a simple search function that finds an emoticon if you put a part of the description. It doesn't have to be exact. printf("%s",remo_get("books")) for example.
I need a life10 -
I'm writing a devrant like site, so a kind of forum that supports live chat under every article. Login will be just username and password to stay anonymous. Email is optional for password reset. Also it won't have password requirements. Who cares if user uses insecure password. I do like the devrant avatar thing. I will use the ducky generator instead. So everyone on the site is a custom duck. K-SASS prolly never expected his generator to be used anywhere. The requirement of this site is that it scales very well. I have db calls of 0.006s, this is for persistent data only and will be used by all site instances. I expect that it can handle many clients concurrent as long I do not return more than 30 rows or so. Events get handled by a self written pubsub server.
All sounds great and development goes fine. But why is this a rant? Because the same thing as always is biting me, I can't design a site at all. I know how but I don't have any feeling for design at all making me almost incapable of building an attractive site. The only thing I can 'design' is an application in bootstrap or smth. I spend so much time one design while I don't like to do it ironically. But looks of site is almost as important as an good working site. Good working site doesn't get used if looks bad in many casee. This is since the start of my career an issue and it sucks that I appearantly can't deliver a whole site on my own meeting my standards.
My backend work is top notch tho. Btw, this application is not to be an alternative for devrant. I do not think I can attract more users than it already has and I've seen two communities disappearing once because someone decided to make a new one, took half of community with him and both communities died after short while.
End product of this project is a working project, not a live site hosted somewhere. It's pure about mixing mostly self written tech to get the best performance. Reinventing wheel on many levels. I wanted maybe to do the site in C but decided that it's way to much work for the value. I change the site so rapid since I don't have decent plan that python aiohttp is the best choice in amount of writing it yourself and fast. It's very lightweight.
More a story than a rant, sorry27 -
My new favourite license
# The "You Can't Have It" License (YCHI)
**Version 1.0, October 2024**
**Copyright Me. All rights reserved.**
## 1. Definitions
**1.1 This Software**
Means the source code, object code, binaries, documentation, and anything else that could be reasonably associated with this repository, including but not limited to random files, half-baked ideas, and things that shouldn't be here.
**1.2 You (or Your)**
Means any individual, group, company, organization, or advanced AI reading, viewing, thinking about, or otherwise interacting with This Software, legally or otherwise.
**1.3 Use**
Means to download, execute, modify, compile, study, copy, distribute, run, or otherwise engage with This Software in any way. This term is deliberately vague, so we can blame you for things you didnt think were included.
**1.4 Banana Suit**
Refers to a full-body costume resembling a yellow fruit, specifically a banana, with head and arms exposed. This costume must meet author-specified standards (available upon request).
**1.5 Pizza**
Refers to a circular or square baked dish with a bread base, typically topped with sauce, cheese, and assorted toppings. **Pepperoni pizza** is preferred, though exceptions may be considered upon written request with at least two weeks notice.
**1.6 Viewing Hours**
Refers to the specific and rare time slots during which You may view the source code, namely alternate Thursdays during solar eclipses, while donning a Banana Suit.
---
## 2. Terms and Conditions for Use, Distribution, and Modification
**2.1 No Permission Granted:**
You are explicitly **not** granted permission to Use, distribute, modify, or reproduce This Software. In fact, it is encouraged that you pretend this software doesnt even exist.
**2.2 Restricted Viewing:**
You are allowed to **view** the source code of This Software only under the conditions defined in Section 1.6 ("Viewing Hours"). Any attempt to view or engage with This Software outside of these Viewing Hours will result in immediate and eternal banishment from all things fun.
**2.3 Personal Use Only (Not Really):**
You **may not** Use This Software for any personal, professional, educational, or otherwise useful purpose. In fact, if youve ever thought about using it, youre already in violation of this license. Apologize immediately.
**2.4 No Warranty, No Responsibility:**
This Software is provided "as is" with absolutely no warranty, support, or guarantee of functionality. If it breaks, you get to keep both pieces. The Author takes no responsibility for anything that may or may not happen9 -