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 - "nice feature"
-
Me: *hours of coding, develops a feature*
Code: I'm working..
Me: Oh good.. will monitor you for sometime.
Code: Ok, I'm done. I'll stop working now.
Me: WTF
Me: *sits for hours to solve bugs*
And when almost done,
VPN: Someone's having a good day, I'll disconnect you now.
Me: WTF
Me: *tries switching on/off VPN couple of times..*
When it starts to connect,
WIFI: Oh wait!! It's my turn to bid goodbye now. Have a nice day sir
Me: Of course !! The wifi
Me: *restarts router/ troubleshoot etc*
When wifi says connected...
Battery: Good job with wifi.. I'm down now..what you gonna do?
Me: Are you fucking kidding me???
Me: *connects charger, wait for laptop to switch on*
Windows: Updating....
Me: *jumps out window*13 -
I know I should not be naming names but WalmartLabs Hackfest 2016 was actually a fuckfest. It was supposed to be a 14 day online hackathon followed by an offline event for top teams. I got in top 6 among the 4350 participants.
In the offline event:
1. They didn't allow us to give live demo of the project. Instead they asked us to present a ppt. The HR idiot even asked me to take screenshots of my cli app and put that in instead.
2. 4 out of the 6 teams actually presented their startup products. It was supposed to be a 14 day hackathon for fucks sake. How can you present some shit that you were working on for the last 1.5 years! This one team literally had "Copyright 2015" mentioned on their product page. This another team had 100,000+ downloads on his app already. Of course Walmart didn't care about it. They didn't listen to my complaint. I wish I had created a scene there :( Another team was boasting on stage about how they got selected in the FB startup accelerator and how they won 3 more hackathon (evidently equally shit) using their shit. This was met with praises from the judges.
3. The results were declared after 3 fucking months! Don't organize this shit next time if you don't have any interest, bitch.
4. The code was supposedly never checked. Other teams kept working on their shit for the 3 months in between. In the live presentation, this guy even had photoshopped a feature which wasn't even present there (and he boasted about it later on).
5. Hackerearth (platform for the hackathon) was equally incompetent in this mishap of a hackathon. One of the teams which won had one the previous hackathon (Pluralsight hackathon) as well on Hackerearth using the same fucking product. What pieces of shit >.<
6. The hackathon was supposed to be tech based and all the categories were like that. Instead the teams presented business models and shit like that and judges focused more on that. They were not concerned about the technical aspects at all. The more noise you made, the more lies you told, the better chance you had to win it.
7. They were supposed to give prizes in 4 categories but silently reduced it to 3 on the event day. They still publicised it as 4 prizes until now.
All of the above is true and I am willing to testify if someone asks for it. I am going to write a nice blog post about it and post it to their idiot HR.
Hackathon: WalmartLabs Hackfest 2016
Team name: psyduck (which is just me)
Sorry for being too salty but it was indeed a fuckfest.15 -
Just noticed YouTube got inspired by porn video sites and now they are showing very short preview of video on thumbnail hover.
Nice but not that useful feature for non porn video site.5 -
Be more passive
I always get involved in everything, at every company. Not to further my career through ass-kissing and overperforming.
I regularly piss off people. When C-level has a discussion about strategy, I'm usually ahead of them, ask too many questions, criticize every detail they've missed, cause frustration by making them look incompetent.
Can't help it, when I see retards destroy a great product I have to intervene.
Some people appreciate it. I often defend both devs and end users, when others don't dare speak up.
But fuck it, I'm getting older. I'm gonna coast a bit more. Sit back, relax.
If a product manager doesn't prepare enough tasks — that's cool, I still have a Factorio savegame to work on.
If another team designs an incredibly stupid feature — they'll discover the issues eventually by themselves. Maybe I'll warn once, just to be nice.
*Pours another chocolate milk*
Also gonna spend at least 4h/d with my daughter. She's a better human than most of my coworkers, and the work we do using her Legos is honestly more important for humanity than the Jira backlog.20 -
Ladies and gentlemen, prepare yourselves for a rant with a capital R, this is gonna be a long one.
Our story begins well over a year ago while I was still in university and things such as "professionalism" and "doing your job" are suggestions and not something you do to not get fired. We had multiple courses with large group projects that semester and the amount of reliable people I knew that weren't behind a year and in different courses was getting dangerously low. There were three of us who are friends (the other two henceforth known as Ms Reliable and the Enabler) and these projects were for five people minimum. The Enabler knew a couple of people who we could include, so we trusted her and we let them onto the multiple projects we had.
Oh boy, what a mistake that was. They were friends, a guy and a girl. The girl was a good dev, not someone I'd want to interact with out of work but she was fine, and a literal angel compared to the guy. Holy shit this guy. This guy, henceforth referred to as Mr DDTW, is a motherfucking embarrassment to devs everywhere. Lazy. Arrogant. Standards so low they're six feet under. Just to show you the sheer depth of this man's lack of fucks given, he would later reveal that he picked his thesis topic "because it's easy and I don't want to work too hard". I haven't even gotten into the meat of the rant yet and this dude is already raising my blood pressure.
I'll be focusing on one project in particular, a flying vehicle simulator, as this was the one that I was the most involved in and also the one where shit hit the fan hardest. It was a relatively simple-in-concept development project, but the workload was far too much for one person, meaning that we had to apply some rudimentary project management and coordination skills that we had learned to keep the project on track. I quickly became the de-facto PM as I had the best grasp on the project and was doing a lot of the heavy lifting.
The first incident happened while developing a navigation feature. Another teammate had done the basics, all he had to do was use the already-defined interfaces to check where the best place to land would be, taking into account if we had enough power to do so. Mr DDTW's code:
-Wasn't actually an algorithm, just 90 lines of if statements sandwiched between the other teammate's code.
-The if statements were so long that I had to horizontal scroll to see the end, approx 200 characters long per line.
-Could've probably been 20 normal-length lines MAX if he knew what a fucking for loop was.
-Checked about a third of the tiles that it should have because, once again, it's a series of concatenated if statements instead of an actual goddamn algorithm.
-IT DIDN'T FUCKING WORK!
My response was along the lines of "what the fuck is this?". This dipshit is in his final year and I've seen people write better code in their second semester. The rest of the team, his friend included, agreed that this was bad code and that it should be redone properly. The plan was for Mr DDTW to move his code into a new function and then fix it in another branch. Then we could merge it back when it was done. Well, he kept on saying it was done but:
-It still wasn't an algorithm.
-It was still 90 lines.
-They were still 200 characters wide.
-It still only checked a third of the tiles.
-IT STILL DIDN'T FUCKING WORK!
He also had one more task, an infinite loop detection system. He watched while Ms Reliable did the fucking work.
We hit our first of two deadlines successfully. We still didn't have a decent landing function but everything else was nice and polished, and we got graded incredibly well. The other projects had been going alright although the same issue of him not doing shit applied. Ms Reliable and I, seeing the shitstorm that would come if this dude didn't get his act together, lodged a complaint with the professor as a precautionary measure. Little did I know how much that advanced warning would save my ass later on.
Second sprint begins and I'm voted in as the actual PM this time. We have four main tasks, so we assign one person to each and me as a generalist who would take care of the minor tasks as well as help out whoever needed it. This ended up being a lot of reworking and re-abstracting, a lot of helping and, for reasons that nobody ever could have predicted, one of the main tasks.
These main tasks were new features that would need to be integrated, most of which had at least some mutual dependencies. Part of this project involved running our code, which would connect to the professor's test server and solve a server-side navigation problem. The more of these we solved, the better the grade, so understandably we needed an MVP to see if our shit worked on the basic problems and then fix whatever was causing the more advanced ones to fail. We decided to set an internal deadline for this MVP. Guess who didn't reach it?
Hitting the character limit, expect part 2 SOON7 -
Windows 10 Native SSH client inside CMD is crazy nice, no more putty... given its a windows feature and all!
(Hidden in additional features if any one is interested, will need a reboot to work)17 -
What a nice fucking tutorial.
Clicked an articles which says How to Implement X feature in Vanilla JavaScript.
They used a vanilla javascript library.
What a fucking idiot.7 -
Let me preface this by saying I'm not a designer.
While I can make individual bits of a site look good, and I'm actually pretty skilled with CSS/Sass, overall design completely escapes me. I can't come up with good designs, nor do I really understand *why* good designs are good. It's just not something I can do, which feels really weird to say. but it's true.
So, when I made the Surfboard site (that's the project's internal name), I hacked everything together and focused on the functionality, and later did a branding and responsive pass. I managed to make the site look quite nice, and made it scale well across sizes/devices despite being completely new to responsiveness. (I'm proud, okay? deal.)
After lots of me asking (in response to people loudly complaining that the UI doesn't have X feature, scale properly on Y device, and doesn't look as good as Z site), the company finally reached out to its UI contractor who does their design work. After a week or two, he sent a few mockups.
The mockups consisted of my existing design with a darker background, much better buttons, several different header bars (a different color) with different logo/text placements, and several restyled steppers. He also removed a couple of drop shadows and made some very minor styling changes (bold text, some copy edits). Oh, he also changed the branding colors. Nothing else changed. It's basically the same exact site but a few things look a little better. and the branding is different.
My intermediary with the designer asked for "any feedback before finalizing the designs" -- which I thought odd because he sent mocks for two out of the ten pages (nine plus a 404 page). (Nevermind most of the mocks showed controls from the wrong page...).
So, I typed up a full page of feedback. Much of it was asking for specifics such as responsive sizing on the new header layout, how the new button layout would work for different button counts, asking for the multitude of missing pages/components, asking why the new colors don't match the rest of our branding, etc. I also added a personal nitpick about flat-looking controls because I fucking hate them. Everything I wrote was very friendly and professional.
... His response was full of gems. Let me share a few.
1. "Everything about the current onboarding site looks like a complete after-thought." (After submitting a design basically identical to mine! gg!)
2. "Yes [the colors match our current branding]." (No. They don't. I checked. The dark grey is different, the medium grey is different, the silver is different, the light blue is different. He even changed the goddamn color of the goddamn LOGO for fuck's sake! How the fuck is that "matching"?!)
3. "Appreciate the feedback [re: overlapping colored boxes, aka 'flat'], design is certainly subjective. However, this is the direction we are going." (yet it differs from the rest of our already-redesigned sites you're basing this off. and it's ugly as shit. gg again :/)
4. "Just looked at the 404 page. It looks pretty bad, and reflects very poorly on the [brand name] brand. Definitely will make a change here!" (Hey! I love that thing. It's a tilted, dotted outline of a missing [brand product] entirely drawn with CSS. It has a light gray "???" underlay and some 404 text inside. Everyone I showed it to, coworkers and otherwise, loved it. "Looks pretty bad". fuck you.)
I know I shouldn't judge someone so quickly, but what the fuck. This guy reminds me of one of those pompous artists/actors who's better than everyone and who can never be wrong, even while they're contradicting themselves.
just.
asfjasfk;ajsg;klsadfhas;kldfjsdl.undefined surfboard another rant about the same project long rant pompous designer apples and asteroids design8 -
A CMS raping WordPress so hard up the ass till there is no tomorrow. I hate that bastardized piece of fuck. “Hey I want you to fix my page and its wordpress. I pay 20 bucks.“ Well fuck you too sir. Wordpress is no cms you wanna be coders. Get back to your fucking photoshop and design something original! Every fucking wp page looks the same. Every “nice feature“ is some kind of monkeypatched workarround. No problem i set preview pictures for every post just to enable some weird slider to function.
I also love those buttfucked files with just a “require foo“ which also just requires “bar“. Drop that fuck. Implement autoloading. Nobody uses php4 anymore step into the future. “easy to learn“ fuck me and fuck you untill you vomit jizz! Clusterfucked spaghetticode thats easy, easy to put another rotten load of clusterfuck on top. Also those security features. I put an empty index.php to prevent directory traversal. N I C E! Stop using wordpress as CMS, its a blog engine. Nothing great has every been written on top of wordpress and never will. I dare you to deny everything related to it and if you are one of those designer guyd, you can gargle my jizz you fucknut!
Starting 2017 i will start a counter and rape every 10th Wordpress which gets abused as cms i encounter into oblivion on their 0,99$ webhosting shit.
Fuck this I'm so mad about that crap17 -
Hello again devRanters! This is linuxxx again. A quick update regarding the privacy site!
Right now we're up to the following:
Ewpratten
- Converting what we have right now on frontend to Bootstrap.
- Working on a page with a description as to what this is going to be exactly.
linuxxx (me)
- Converted the static stuff we used before to a simple MVC based PHP web application.
- Created a DB scheme for the custom CMS I am going to write for this.
- Starting to work on the custom CMS right now!
We'll update as soon as we've got a well working description/introduction page :)
We won't be creating rants every day/new tiny feature/change or anything but as this is our first productive night, it seemed like a nice idea to update what we already got done/started on :).
Stay tuned!20 -
*wrestling commentator voice*
"In this weeks episode of encoding hell:
The iiiinnnfamous UTF-8 Byte Order Mark veeeersus PHP!"
For an online shop we developed, there is currently a CSV upload feature in review by our client. Before we developed this feature, we created together with the client a very precise specification, including the file format and encoding (UTF-8).
After the first test day, the client informed us, that there were invalid characters after processing the uploaded file.
We checked the code and compared the customer's file with our template.
The file was encoded in ISO-8859-1 and NOT as specified UTF-8.
But what ever, we had to add an encoding check, thus allowing both encodings from now on.
Well well well welly welly fucking well...
Test day 2: We receive an email from said client, that the CSV is not working, again.
This time: UTF-8 encoding, but some fields had more colums with different values than specified.
Fucking hell.
We tell the customer that.
(I was about to write a nice death threat novel to them, but my boss held me back)
Testing day 3, today:
"The uploading feature is not working with our file, please fix it."
I tried to debug it, but only got misleading errors. After about 30 minutes, at 20 stacks of hatered, I finally had an idea to check the file in a hex editor:
God fucking what!?!!?!11?!1!!!?2!!
The encoding was valid UTF-8, all columns and fields were correct, but this time the file contained somthing different.
Something the world does not need.
Something nearly as wasteful as driving a monster truck in first gear from NYC to LA.
It was the UTF-8 Byte Order Mark.
3 bytes of pure hell.
Fucking 0xEFBBBF.
The archenemy of PHP and sane people.
If the devil had sex with the ethernet port of a rusty Mac OS X Server, then 9 microseconds later a UTF-8 BOM would have been born.
OK, maybe if PHP would actually cope with these bytes of death without crashing, that would be great.3 -
2 years into polytechnic I got my 1st big project as a subcontractor doing Symbian. No need to tell the company I presume.
Anyways, I was brought into the project just couple weeks before holiday season started. My Symbian programming experience was just the basics from school. 1st day I was crapping my pants out of anxiety. I pretty much didn't understand anything what my project manager or teammates were telling, so I just wrote EVERYTHING down on paper and recorded all the meetings to my laptop.
My job was to implement a very big end to end SDK feature. Basically from API through Symbian OS through HAL to other OS and into its subsystem. Nice job for a beginner :/
As the holidays were starting we had just drafted out the specification (I don't know how, because I didn't understand much of what was going on) and I got a clear mission from team lead. Make a working prototype of the feature during the time everybody else was on vacation.
"No problemos, I can do it" I BS'd myself and the team lead.
First 2 weeks I just read documentation, my notes and internal coding tutorials over and over again. I produced maybe couple of lines of usable code. I stayed at the office as late as I dared without seeming to obvious that I had no clue what I was doing. After the two weeks of staying late and seeing nightmares every night I had a sudden heureka moment. Code that I was reading started to make sense. Okay, still 2 weeks more until my teammates come back.
Next 2 weeks were furious coding and I got better every day. I even had time to refactor some of my earlier code so that quality was consistent.
Soooo, holidays are over and my team leader and collagues are very interested with my progress. "You did very well. Much better than expected. Prototype is working with main use case implemeted. You must have quite high competence to do this so well..."
"Well...I did have to refactor some stuff, so not 10/10"
I didn't say a word of my super late nights, anxiety and total n00biness.
Pretty much finished "like a boss". After that I was on the managers wanted list and they called me to ask if I had the time work on their projects.
Fake it, crap your pants, eat your crap and turn into diamonds and then you make it.
PS. After Symbian normal C++ and almost any other language has been a breeze to learn.2 -
Project Cortana: Day 1
I have seen a lot of people switching to Linux or other services to get away from all the data collections. It makes a lot of sense as no one would want their data to be sold without their consent.
But I am going to do something different. My aim is to integrate with Microsoft apps as much as possible and review the experience. So here is what I have done so far:
* Use Cortana in desktop and mobile (Android)
* Use Microsoft launcher in mobile
* Outlook as primary email provider (I was already using them as my default provider)
* Use Microsoft To-Do and calendar to keep track of things
* Use OneDrive to store all my files (I am moving them from Google Drive)
* Use the default Mail app on the Windows 10
* Use Onenote (I was using Evernote before)
* Use Edge on desktop and Mobile
* Use Skype instead of Hangouts
It's day one but I think I have already found it quite useful. For example:
* Adding reminder is much easier. I get them on both desktop and mobile which is nice.
* Mail app has been really useful. Especially the focused inbox really helps to get rid of the clutters. Also, I can immediately add a mail to the calendar (like Inbox by Google) which is really helpful.
* One of the features of edge that I have found really useful is that you can send web pages from mobile to desktop in one tap. That is extremely useful.
So far I am loving it.
Also, I tried to make sure that I am not sharing my data with third-party apps as I have turned off "relevant ads" feature.43 -
I stayed at a hotel called "Crowne Royal Plaza" for a work event in Denver. The TV in the room was a nice new '50 Samsung. Much to my dismay I discovered they had disabled the ability to change the input to HDMI. I called the front desk to compain and the pesent who answered the phone had the nerve to tell me that feature had been disabled because it was "illegal". I laughed histarically and explained the reason was actually to try and force customers to buy shitty pay-per-view content, to which he replied, "Probably".
We must put an end to such blantant disregard for hardware and software freedom. This is beyond uneccaptable. I am completely and utterly disgusted by such slimy business practices.
To the management of the Crowne Royal Plaza, from the bottom of my heart, fuck you and burn in the deapest, darkest part of hell, you scum sucking dick fucks!5 -
!nonRant
First few days as a professional software engineer (c# .net) have gone decent. Made my first bigger commit today started working on a small new feature that requires more work.
CoWorkers are really nice, boss is cool, super chill over all. #feelsgood6 -
Nice new scrollbars feature Spotify, but
1. This song isn't 05:34 minutes long
2. That position hardly seems like 05:01/05:34
3. The point is stuck at 05:01 while the song is playing18 -
Yesterday (or the day before that depending on your timezone and day-night schedule - this Friday) my OnePlus 6T arrived. After only 2 days of time between placing the order and actually getting the phone, quite impressive!
The DHL guy asked me upon receipt - is it the OnePlus 6T? - Yes it is!! - "An amazing device it is!", he said. And honestly.. he couldn't be more right.
I might be a bit biased on this because after all I did just spend €630 on this phone. But it feels so snappy, high quality, the 8GB of RAM is just.. it blows my mind. But I'm sure that the other reviews did this sort of jazz already.
The things that set this phone apart for me though were the following.
When I get a new phone or tablet, usually the first thing I do is rooting it. This one was no different, about an hour after receipt it was successfully rooted and loaded with Magisk. Currently I'm still in the phase of "getting to know the phone", wherein fuckups are usual. This time again being no different - I removed some apps and apparently did something to it that the search engines - both Google and DuckDuckGo - didn't quite like, as both of them would crash upon application launch. Me in full panic mode of course, desperately trying to find the stock ROM (which doesn't seem to be present in its usual form) or a new set of GApps (which didn't resolve the issue). OnePlus does seem to offer its OTA updates in zip archives though. So I downloaded its latest update (same as what was on the device) and applied it.
That's when the nerdgasm happened.
The "update" was simply a matter of going into the settings, tapping this and that and applying the update. No recovery, no unrooting, no nothing. The update just went like that despite the phone being rooted and just having had TWRP flashed to it. I always wanted this sort of thing, which even the Nexus couldn't offer - having the cake and eating it too. Being able to root the device and muck around with it while still being able to update the device timely without too many hurdles. This fucking thing does it!!!
That is to say, after my initial nerdgasm I did find that it bulldozed over my su binary (effectively unrooting the thing), custom emoji I've set (iOS 12 because fuck Google's most recent emoji set) and some other things. But those are easy to install back, much more so than it would've been to download a whole Android release and dirty flash it, as it was on the Nexus.
Other than that, battery life, dash charging (edit: on that topic, it does remain cool like a cucumber despite getting 15-20W of power jammed into it, quite impressive!), snappiness, the usual jazz.. eh, as I said earlier that's the usual reviewer stuff. But this feature of being able to upgrade the phone while it's modified, that's something which seems to be severely underrated by those.
Oh and during kernel builds, I couldn't quite get the source to work - probably due to my lack of experience with builds of Android kernels - but I did find that this phone actually exposes its kernel config through /proc/config.gz as it should. None of my MediaTek devices do this, so that's something that I found really appealing. Always nice to see when a manufacturer exposes this information to give you a stock sort of config that you can be rest assured will work configuration-wise. And it allows you to see what the stock kernel is actually built with, which again is really nice. I quite like this! It really encourages further development.11 -
Aaaaand my whole world came crumbling down. All I have is a laptop with a battery backup of 15mins, and now the charger broke.
I was almost done with coding a nice feature, just few more lines and I would have been able to push.
But, rather it went dark. And now I can't code, nothing matters, everything is meaningless 😞10 -
Some of the penguin's finest insults (Some are by me, some are by others):
Disclaimer: We all make mistakes and I typically don't give people that kind of treatment, but sometimes, when someone is really thick, arrogant or just plain stupid, the aid of the verbal sledgehammer is neccessary.
"Yeah, you do that. And once you fucked it up, you'll go get me a coffee while I fix your shit again."
"Don't add me on Facebook or anything... Because if any of your shitty code is leaked, ever, I want to be able to plausibly deny knowing you instead of doing Seppuku."
"Yep, and that's the point where some dumbass script kiddie will come, see your fuckup and turn your nice little shop into a less nice but probably rather popular porn/phishing/malware source. I'll keep some of it for you if it's good."
"I really love working with professionals. But what the fuck are YOU doing here?"
"I have NO idea what your code intended to do - but that's the first time I saw RCE and SQLi in the same piece of SHIT! Thanks for saving me the hassle."
"If you think XSS is a feature, maybe you should be cleaning our shitter instead of writing our code?"
"Dude, do I look like I have blue hair, overweight and a tumblr account? If you want someone who'd rather lie to your face than insult you, go see HR or the catholics or something."
"The only reason for me NOT to support you getting fired would be if I was getting paid per bug found!"
"Go fdisk yourself!"
"You know, I doubt the one braincell you have can ping localhost and get a response." (That one's inspired by the BOFH).
"I say we move you to the blockchain. I'd volunteer to do the cutting." (A marketing dweeb suggested to move all our (confidential) customer data to the "blockchain").
"Look, I don't say you suck as a developer, but if you were this competent as a gardener, I'd be the first one to give you a hedgetrimmer and some space and just let evolution do its thing."
"Yeah, go fetch me a unicorn while you're chasing pink elephants."
"Can you please get as high as you were when this time estimate come up? I'd love to see you overdose."
"Fuck you all, I'm a creationist from now on. This guy's so dumb, there's literally no explanation how he could evolve. Sorry Darwin."
"You know, just ignore the bloodstain that I'll put on the wall by banging my head against it once you're gone."2 -
There’s nothing like opening a legacy system you didn’t build and has for some reason lasted the turn of the century, only to add a new feature without breaking anything.....
Would have been nice if I had written that JS function before saving the other file 🙄
There’s nothing like building in production 💩 -
My company just migrated our mail servers over to office365. My boss has been excited and could barely contain himself when the migration was done he was having the best day ever after he got a good deal on some new toys...Then I ruined it.
Me (setting up) > WTF!? um...well I guess I don't have email on my phone anymore. These permissions are fucked.
Him > Oh why?
Me > They are ridiculous, I won't give away this much control just to read email.
Him (panicking) > and if buy you a company phone?
Me > Not a fuck it's still a personal device. I'll just sandbox the web version.
Him > Your over reacting, they obviously need them for security blah blah...
Me (sends him the pic) > The minimum system requirement is internet.
(...silence...)
I feel kinda bad for killing his vibe - he's a nice guy and he's only trying to do right by us but now he seems down like his toy isn't shiny anymore because he respects me. I wasn't beating on the stack or his choice (mines running on thunderbird). I just can't support this trend of GOD mode permissions for email / calculator and other single feature apps. I'll use the web app instead. You have to draw the line somewhere...
On the other hand I can't deny that I'm loving the irony that Microsoft just made my life easier and have a deep sense of satisfaction that for the first time ever I got fuck up his Friday :/18 -
I got my first programming job half a year ago, the lead developer there is really fucked up... he is old fashioned and stubborn as hell. He developed a platform that is a mess, his comment: “it works”... but now I have to fix it... I argued with my boss and convinced him to put more time in making it more scalable and feature proof. But the lead developer back then... he didn’t agree it seems like he want to do everything as quickly as possible... now half a year later he stopped working for us and I’m the lead developer now.
And I’m discovering more and more bad decisions... HOWWWW
WHAT DID THIS GUY DO???
At one time I was arguing with him and he backfired a comment: “I’m doing it like this for 10 years”... so I guess that’s the problem... he didn’t put effort in keeping up with the latest developments...
There is literally no structure in his work, every file is different... HOW DO I FIX THIS IN A NICE WAY??? I’m thinking to just start over again...11 -
PayPal.
Found a nice method that does what you want? DEPRECATED.
Finally got that adaptive payment workflow all figured out? BREAKING CHANGES.
Want to use that new feature with your langs library? UNSUPPORTED.
Braintree isn't much better.7 -
NO FUCKING GOOD NIGHT FOR FLOYD.
THIS MULTI FACTOR AUTHENTICATION IS A FUCKING NIGHTMARE.
So my organisation uses some MFA app as an SSO to access any and everything. Fantastic. Absolutely wonderful. No VPN shit and one password to rule them all.
But, for some reason I accidentally deleted the app from my phone and as any normal human being would do, I also reinstalled the app.
Well, post reinstalling, the app does not detect the linked Org account.
I was cool, when I'll login, the system will throw a prompt to map the phone.
So I login to org URL from my machine and lo and behold, the URL says that MFA is already linked to the phone and I have to enter the Citrix type code to login.
But phone does not show the code because account is no longer linked and web does not have option to change/re-register the phone.
What the actual unholy fuck?????? Bloody retards. How am I suppose to get in now?
So after a Googling for a bit, a thread mentioned that this is most common issue faced by users with this MFA app. The only way to get this resolved is to contact your IT team.
Cool. Let's do that.
I opened the link to my IT portal and it asks me to login via SSO which is what I need help with in first place.
I can't login to Slack because fuckers ask SSO every time the app is exited. So no contact there.
Thankfully bastards allow Outlook so was able to drop a note to one of my team member, whom I connected recently and is very nice, asking her to help me sort this IT team.
If this is the most common use case then why the fuck not add a feature to help people overcome this shit?
And my IT team is absolute nuts. No other way allowed to reset the linking or connect them or any help links provided on login page.
Whoever was behind this design should be dipped in donkey shit and deep fried in pig urine.6 -
long time ago....
Feature request: We want an android backup solution in Our app!
UI guy has already developed it, you just need to see if his solution is solid!
Ok then - lets look at the UI: Nice progress bars, that turn into green checkmarks. Looks good.
Now lets look at the code: ... Ok. loading some files into memory.... and... dafuq? does not write to a file?
Backup to RAM. With no restore. 🤦♂️.3 -
Client: I want a new feature for my chat bot. It should be able to rap.
Me: ... k
*monologue: wait u w0t m8*
Also me: Can you please go more into the details? It should be able to rap. Ok. But how do you want it to look like? How "strong" should be the discrimination level, for instance?
Client: It should beat ass, yo.
Inner me -> core me: Let us just ignore him. We won't be able to do it, since he isn't really explaining his needs. "It should be able to rap". We are not wizards.
Core me -> inner me: Chill. We will just use some insult apis, combine it with cleverb0t api et voila.
Me: Alright. I got an idea for it. I can do it within this week. And if you don't like it, I will ofc do some changes to it.
Client: Hmmm... that's nice and good. But within 1 week?
Inner me: I can't do magic and pull that feature out of my fucking ass!
Clients... clients... clients...
0. Don't expect us to be done in a few days. We are also humans. And not fucking machines.
1. Do us (all devs on planet earth. -Microaggression in 3, 2, 1..) a favor and (kill yourself) learn how to request a feature.2 -
Boss is also a programmer which is nice. boss is also incredibly impatient. so when he gives me a project to do, when I don't have it done the day of, he goes and does it over the weekend. but he doesn't tell until a few days later when I finish the following Tuesday. he chucked my git branch and just pushed his stuff to master. then he belittled me because there was a feature missing in his code and I hadn't done it yet. I don't know how to deal with this. on the one hand, I could try and work faster. but on the other, I am trying to add features to software he wrote in c-style c++, didn't comment, and hasn't been updated to modern standards since 1998. even the copyright files are 1997 to 2001. just very discouraged as its my first job in the field. it wouldn't have been so frustrating if he had just told me he'd worked on it himself instead of letting me finish it and then throwing it in the trash.
end rant8 -
Just got an email with a new really nice douche-bag move from Postman to raise their prices again (this time for almost double) on their paid plans with excuse "it will help us deliver more of what our customers need from us."
Even though I've decided to look other way around for years on their electron-based garbage of bloated app, have not been a fan of their pricing 8$/month/user just for a simple feature such as sharing request schema and environment data.
This simply needs to stop and I'm seriously thinking about doing something about it. 🙄10 -
I started my internship at the end of the year..
Fuck my ass!!! This code I have to work with is a huge pile of shit.
The code base I need to work with is around 40k LOC. It is a mixture of C++, C, Java, Python, Bash and I think I saw some lonely js files around.
A list of awesome parts:
- Paths are hard coded.
- Redundant code everywhere
- No documentation or inline comments available
Most of the comments in the code are just old code that is not used anymore. But the cherry on the turd is the class that should provide all kind of useful functions in my daily routine. About ninety percent of the functions have the same description or nothing. Sometimes a function name says "readSomethingFromSomewhere" but instead it writes something to a file. It is really confusing and I need to check everything twice instead of rely on what the function name promises.
I have also learned why copy paste isn't that good. The brief descriptions of every method in a files are always the same.
getName() - Description: Fork child process
getIp() - Description: Fork child process
getIpv6() - Description: Fork child process.
Surprise: None of these functions forks a child process. :D
Another awesome feature is the thing that they store up to five different versions of libraries. Everyone with slight modifications but no hint which one you need to use. Sometimes it is the newest, sometimes the oldest which is running in production. Another case of try and error.
Oh and my dev machine is a potato with a power supply and a fan. I started with NetBeans and every time I compiled the code it sounds like the machine wants to lift off and leave for a better place. (At this point I switched to Emacs and everything runs smoothly now)
At first I thought that I'm just not that good at coding and understanding a big project from scratch but some colleagues have the same problem. The whole system is very inflexible and it is all about "std::cout"-debugging to check if your changes do what you want them to do.
Currently I'm just trying to fix this mess to make the life for the next student or employee easier. The first month was just frustrating as hell. I need to ask so many questions and most of the time the answer was "I don't know, haven't touched this code in years". Needless to say that my progress isn't that awesome but at least I get a nice payment for 20 hours of work a week.2 -
Beta version... only devs have access
Screen for a not-ready-yet feature:
A nice image of a faded broken structure, underlined with a "Work in progress" text.
Primary button below "I want it now"
/clicks button
next to the button, a text fades in:
"Please, be patient"
You keep clicking "I want it now", after a few clicks you get "Plese, be **very** patient"
/Checks the source code
it bloody adds a "very" for every 5 clicks and calls an API to send you an email for every 5 clicks:
Thanks for very {n times very} much wanting {feature name}
11 clicks = 3 emails with very, very very and very very very
Yep, I am patient now, especially if I get my hands on you...3 -
Most useless feature:
Once we had to create a Learning Manager System to a small university. One of the (useful) features was a "file system" to people upload, organize and share documents (like a Google Drive prototype). This was the "student portfolio".
However, we had to create a page to act as a "cover" to it, that should allow the student to change the background, add exactly 2 images, and up to 9 "post-its". The image shows the notebook of our client while he was thanking us praising it as the greatest innovation of the decade.
The post-its was kinda nice, but what's the point of those images??
Anyway... On the same meeting of that picture the client asked us to include a "canvas" on that same page, so people could draw whatever they want. The words used was "just like [MS] Paint".
We postponed it, hoping he would forget about it, but on the end of the project he was still asking about it.
I found a lib that did the job and integrated with the project, but I also included a long comment for the next devs saying that I'm sorry they would have to support such thing 😅
The client loved but we never knew anyone that really used that Paint3 -
MARKETING IS A MENACE FOR SOCIETY and a large waste of time and resources.
Imagine that for some very stupid reason people were allowed to steal cell phones from unsuspecting victims and sell it on open market legally, tax invoices and all.
One could create a business like this. Steal some lad's brand new $600 iPhone and sell it for $280, because why not?
That is marketing. A company goes and makes a phone for lets say $180. Add in taxes, shipping and development costs, and we get to $300. Put some real nice profits on top (let's say 40%) and we get to $420.
The last 180 are the cost of marketing for society.
Today some stupid marketing conmen goosesteps into my lab and says that we must use Tensorflow and in-memory databases and multicloud redundancy and, I kid you not, "profound learning".
WE HAVE A FREAKING LOGISTICS OPS APPLICATION.
"We are putting it on the brochure, those technologies are set to sell well in our core market, and improve employer-branding" says the conmen.
A request for a feature is one thing, a request for an whole other technology because some snake-oil salesmen read the term in some clickbait rag and thinks that some starry-eyed moneyhead will pay extra because the brochure says "NOW WITH 2X MORE TECH!" is just an assault on society.6 -
@dfox & @trogus
Any thoughts on allowing people to buy their avatars (and others) as stickers? I understand I can just download the pic and get my own made but a built in feature would be cool - it'd be a nice way to say "hey! I really like your rants!"
Just throwing it out there 🙂4 -
Hmmm, this feature that I added seems to make the whole process 50% longer. I need to optimize something. Let's see now...
Yeah, make that a shared resource and parallelize IO to leverage the multi-core architecture. Hash map for this, binary tree for that. This thing that gets called a million times can be written easily without a regexp. That thing can be rewritten in Rust as it's too demanding.
There! Works! And it's also a lot cleaner. Nice!
How's the performance doing? 70% longer.11 -
devRant is nice.
If you move rant feed to "Recent" and saw a bunch of rant u already read but you keep scrolling down hoping to see new rant but u fail cause rant policy keep people from posting new rant for 2 hour and not many new rant has been post.
This is a nice feature. It make u self aware that "crap, maybe too much time on devRant". Even if you addict to devRant but by this policy -> It force you to really close its app and checking it on another free time. (more healthy than another social media I guess 😂)2 -
!rant
@dfox
Many people use snippets of code in their Rants, so it's maybe a nice feature to be able to add codeblocks to rants..7 -
Rant r = new Rant(Rant.TEAM_PROBLEM);
Three months ago, a senior, one year older than me, decided to join me in doing startups. He said he's good at finance stuff (his parents are fund managers), and he is interested in startups just like I am. He treated me very nicely, so I gladly accepted him.
I'm currently working on many projects, and some of them won me quite a few awards, most notably on the national competition. I also got invited into startup incubator programs, met some awesome people and offered free scholarships at universities in my country.
He frankly said he joined because he wanted to learn about startups and have those "privileges" too, and I'm cool with that.
Anyway, the problem is that I'm the one doing all the work. He's really nice, doesn't claim anything whatsoever, but the thing is he doesn't have any skills whatsoever except soft skills like communicating. So, I'm horribly tired from working alone.
My tasks mostly involves full-stack development, such as planning the specs, designing and developing frontend for mobile apps and progressive webapps, developing microservices for the backend, up to deploying and maintaining the servers. It's a lot of work for a single person to handle in such a short timeframe.
Not only that, but I'm also the one handling the business/marketing part, albeit I'm still learning. From doing paperworks, pitches, business models, up to creating advertising materials for the product.
I'm obviously not the smart ones like the people out there, but I keep focusing on improving my skills.
So, he said he could help me, and I let him try. What did you think he did?
He made pitch decks using default fucking PowerPoint themes, shooted a demo video with his phone cam in 320p potato resolution and expect me to "add some effects", gives me loads of requirements when all we needed was a simple feature, copying and pasting prior documents in my paperworks which doesn't make any fucking sense at all, and quite a lot more.
Also, he said I should stay in the developer zone only while he maintains the business, whilist he obviously can't do much in the business part either. Seriously...?
I'm okay with his lack of experience, considering he's nice and all, unlike the other business guys I've met in the previous rants. However, I keep questioning myself why he is here in the first place when I'm the one doing everything anyway.
What should I do? Maybe just keep him and recruit more experienced people to join us, as he's not that much of a burden? What do you devRanters think?
Thanks for reading, fellow devRanters! 😀8 -
She asked for it...
Me: being happy with my first rant, scrolling through the app on mobile in bed
Gf: aah are you now on instagram for nerds?!
Me: ... (sudden realization how 'our world' may be perceived by muggles)
'5 minutes pass, both on mobile'
Gf: hey can you help me get this *feature* to work on my iPhone?
Me: why don't you can ask for help on your photo platform for cool people?
Gf: ... (sudden realization to be nice in order to get help with iCrap)
True story4 -
Created 'GET STARTED' section in our application in English. It will guide new user to Highlight some App features.
End User started Posting screenshot of it in our feedbacks service : What this is?
Implemented 'GET STARTED' in local languages.
End user started posting screenshot of Language Drop Down, what this is?
Implemented 'GET STARTED' on Location based Language.
End User : I am here in Banglore seeing it in Different Language, my other Partners in Hyderabad are seeing it in different language. What this is?
Removed 'GET STARTED'.
End User : It was a nice feature. Why you removed it? What this is?
May be i over reacted but i am not bringing it back.8 -
!rant
Goodbye Java I will not miss you at all! I swear ...
I do like it when making web services (especially that I can use Java8) but for Android you have been a torture. Hello sweet Kotlin! I shall embrace you and treat you like my newly born baby!!
Story is:
Working on a new project where I need to talk to a web service (also made by me).
Started writing in Java, all is cool and unit tests pass.
Downloaded Android Studio 3 Beta 1 and converted my Java code to Kotlin, That AsyncTask did not look nice in kotlin, converted it to async & await feature and I must admit lots of code removed, no more need to create a new fucking AsyncTask every time the app sneezes for data!
I feel like I'm working with C# but with difference in syntax.
My life is now complete :)undefined java goodbye! am i drunk? koline: sorry i have a boyfriend hi there kotlin i shall not miss you what the fuck did i just use for a tag?8 -
Terminator's broadcast feature is nice.
However, it's fragile as crap, and oftentimes sends duplicate characters, or adds garbage.
Quite awhile ago I posted a PSA on how to fix it (by killing ibus) but now it's broken for me again. And due to just how it broke, I've given up on fixing it. Instead of broadcasting one or two duplicate characters like before, it now hangs for many seconds because it's broadcasting THREE BLOODY MEGABYTES WORTH OF DUPLICATES with every keystroke.
Like, seriously?
How do you fail that hard?2 -
Now that I have a ++, I changed my BG Color so that it looks nice but I think we need a full color picker now.
BTW @dfox any ++ privileges on this? Maybe you could add my Drafts feature 😉😏7 -
I started learning Golang today and really like it.
The error handling is *excellent*. It always works the same way and is standardized, unlike the hell that NodeJS error handling is (.catch(), try).
Modules confused the fuck out of me. I eventually figured out how they worked, but Go really doesn't try to make it easy to have multiple source folders...
I'll probably be re-writing my Discord Bot in Golang soon. Being able to have just one binary output will make things infinitely easier. Compile-time variables are another feature that's nice and easy to implement.
The goal is only having to upload a single binary to deploy on production from my CI script that has all keys and stuff inside. Feels good to finally throw all that old bad JS code out and starting completely fresh.7 -
I'm so done with flutter.
I wanted to give it a little try by rewriting a small android project I wrote a few years back. It brings some nice concepts especially when it comes to UI related programming but that's all I can really compliment it for. It's nothing more than something to play with as it is right now.
Also I think this text will be hidden behind the read more. Did I successfully bait you with that cat?
The things I truly hate about it:
The ide integration makes me wanna use eclipse again. At least most nonsensical error messages disappear after saving the document on eclipse.
.
Wanna generate a new function? Yeah, let me just place it RIGHT INSIDE THIS FUCKING IMPORT STATEMENT
Over at Google: Let's just rename everything from java slightly different and put it in nonsensical context so that you have to learn all of it again. Also why don't we make it so that the code suggestions only suggest things you already imported, so that you have to look up every little piece shit feature.
When it comes to databases, I must say, I had more fun working with PHP and mysql than with sqFUCKlite. Throwing away the Room components for that? What a joke...
I already said what i think about the syntax here an devrant but I'm more than happy to repeat it here:
The syntax looks like someone looked at C#, Java and JavaScript and then decided to vomit the worst parts of it into a programming language. I can't really classify anything original about it. There are clear inspirations, but they are confusingly mashed together with the other languages making this one nuts of a language.
Android SDK documentation is a blessing in comparison to whatever the fuck flutter tries to do.
I don't think I'll want top touch that Google side project again within the next few years, if it hasn't been replaced with a new side project like billiard by then.3 -
This might not resonate with many ranters here... but FUCK Taylor Otwell & Graham Campbell.
Like, not on a personal level. Maybe they're great to drink a beer with. But as framework devs... fuck everything about them.
Laravel seems so nice, it takes away many annoyances of developing in PHP. Collections are the array object you've always needed. The route bindings, middlewares, request validation objects, it's all sweet.
But eventually your company serves a few million customers, you run into specific performance problems or missing features on a deeper level. You open the issue tracker... and see a few hundred issues about the problems you are encountering, they already exist.
Some just have a short paragraph with a request for a feature, some complete PRs with tests in the style of the framework. All of them closed.
Reasons?
"We don't think anyone will ever need this"
"This seems complicated, you can just do <super non-DRY hacky code>"
FUCK YOU WITH YOUR TODO APP SNIPPETS AND USER-POST-ARTICLE EXAMPLES. I'M NOT BUILDING THE NEXT WORDPRESS. I'M DEALING WITH THE REALITY OF GRAPH DATABASE CLUSTERS, COMPLEX AUDITING LOGS AND A GAZILLION QUERIES PER SECOND.
Sigh... the problem with all these "simple" and "elegant" languages & frameworks is that they don't fucking scale.
Not because the language, server or framework intrinsically can't do it, but because the maintainers are stuck thinking in terms of their retarded non-realistic example apps.
I think I'll go back to my cave and write some Haskell or Rust to calm down.2 -
I wanted to create a microcontroller website. It would feature simple circuits and microcontroller code to build things. The intent was to show absolute beginner concepts to people. Since I am older than the whipper snappers out there I thought I would have concept of some old man running the website.
I found cartoon artwork featuring an old man and I also got the domain oldmanmicro.com. I then created a bunch of pages featuring some really basic circuits. I setup an affiliate program with amazon to provide kits to people and embedded those into the website. This site was going to take a lot of creativity. I struggled with what to put on the site. This was going to take time. At this point I felt pretty good with my progress. It looked nice, the links were good, etc.
Then I did web search for oldmanmicro. I found my website in top hits. I also found something else... The 3rd or fourth hit down was some fucking old dude with a micro penis website. WTF! The worst possible combination of letters in my domain name produce this terrible experience. I was already struggling with content ideas, and this just demoralized my efforts. Thus ended the tale of the oldmanmicro.com. Perhaps the micro penis guy bought it, I don't know. I am afraid to look.
This was my very ignorant adventure with not researching a domain name thoroughly.6 -
Github 101 (many of these things pertain to other places, but Github is what I'll focus on)
- Even the best still get their shit closed - PRs, issues, whatever. It's a part of the process; learn from it and move on.
- Not every maintainer is nice. Not every maintainer wants X feature. Not every maintainer will give you the time of day. You will never change this, so don't take it personally.
- Asking questions is okay. The trackers aren't just for bug reports/feature requests/PRs. Some maintainers will point you toward StackOverflow but that's usually code for "I don't have time to help you", not "you did something wrong".
- If you open an issue (or ask a question) and it receives a response and then it's closed, don't be upset - that's just how that works. An open issue means something actionable can still happen. If your question has been answered or issue has been resolved, the issue being closed helps maintainers keep things un-cluttered. It's not a middle finger to the face.
- Further, on especially noisy or popular repositories, locking the issue might happen when it's closed. Again, while it might feel like it, it's not a middle finger. It just prevents certain types of wrongdoing from the less... courteous or common-sense-having users.
- Never assume anything about who you're talking to, ever. Even recently, I made this mistake when correcting someone about calling what I thought was "powerpc" just "power". I told them "hey, it's called powerpc by the way" and they (kindly) let me know it's "power" and why, and also that they're on the Power team. Needless to say, they had the authority in that situation. Some people aren't as nice, but the best way to avoid heated discussion is....
- ... don't assume malice. Often I've come across what I perceived to be a rude or pushy comment. Sometimes, it feels as though the person is demanding something. As a native English speaker, I naturally tried to read between the lines as English speakers love to tuck away hidden meanings and emotions into finely crafted sentences. However, in many cases, it turns out that the other person didn't speak English well enough at all and that the easiest and most accurate way for them to convey something was bluntly and directly in English (since, of course, that's the easiest way). Cultures differ, priorities differ, patience tolerances differ. We're all people after all - so don't assume someone is being mean or is trying to start a fight. Insinuating such might actually make things worse.
- Please, PLEASE, search issues first before you open a new one. Explaining why one of my packages will not be re-written as an ESM module is almost muscle memory at this point.
- If you put in the effort, so will I (as a maintainer). Oftentimes, when you're opening an issue on a repository, the owner hasn't looked at the code in a while. If you give them a lot of hints as to how to solve a problem or answer your question, you're going to make them super, duper happy. Provide stack traces, reproduction cases, links to the source code - even open a PR if you can. I can respond to issues and approve PRs from anywhere, but can't always investigate an issue on a computer as readily. This is especially true when filing bugs - if you don't help me solve it, it simply won't be solved.
- [warning: controversial] Emojis dillute your content. It's not often I see it, but sometimes I see someone use emojis every few words to "accent" the word before it. It's annoying, counterproductive, and makes you look like an idiot. It also makes me want to help you way less.
- Github's code search is awful. If you're really looking for something, clone (--depth=1) the repository into /tmp or something and [rip]grep it yourself. Believe me, it will save you time looking for things that clearly exist but don't show up in the search results (or is buried behind an ocean of test files).
- Thanking a maintainer goes a very long way in making connections, especially when you're interacting somewhat heavily with a repository. It almost never happens and having talked with several very famous OSSers about this in the past it really makes our week when it happens. If you ever feel as though you're being noisy or anxious about interacting with a repository, remember that ending your comment with a quick "btw thanks for a cool repo, it's really helpful" always sets things off on a Good Note.
- If you open an issue or a PR, don't close it if it doesn't receive attention. It's really annoying, causes ambiguity in licensing, and doesn't solve anything. It also makes you look overdramatic. OSS is by and large supported by peoples' free time. Life gets in the way a LOT, especially right now, so it's not unusual for an issue (or even a PR) to go untouched for a few weeks, months, or (in some cases) a year or so. If it's urgent, fork :)
I'll leave it at that. I hear about a lot of people too anxious to contribute or interact on Github, but it really isn't so bad!4 -
DISCLAIMER: I'm not paid nor have I had any contact with any associates of the following software.
GET FUCKING VIVALDI!!!
This Browser has DAMN NICE MOUSE GESTURES!
You do them while holding right click.
For example right click held and swipe/moving the mouse to the left/right brings you backward/forward.
There are several others and you can make them by your self.
Just browsing anything. IT'S FUCKING DAMN FAST.
INSTALL VIVALDI AND ENABLE MOUSE GESTURES! After aprox 3 Days you won't want to have any other browser anymore.
(Could've just simply said that I love the browser because of that feature. But this is DevRANT!)14 -
That f**king moment when you have integrated an Awesome feature in your app in less than an hour and then spent a whole day trying to properly resize a vector drawable so UI looks nice.... because user just care about interface!!!4
-
Idk if anyone’s said this before, but it’d be a nice feature if we could swipe from the left or right of the screen to go to the last or next rant2
-
-- This is my first rant so sorry if it's bad--
We have a nice project that I am working on that needs to store and interact with location data. It is a .NET Core API using Entity Framework Core to interact with the database. All good and well. Until today when I started working on the implementation of storing location data we retrieve from mobile devices.
SQL has a nice data type named: "Geography" which can store a location and do calculations on it with queries. Such as proximity and distance which is what we need.
But then it turns out that EntityFramework Core does not have support for the Spatial data types. even though version 6 did have Spatial support.
Then i found the following issue on GitHub: https://github.com/aspnet/...
Turns out this feature has been requested since 2014 and is even on the "High-priority" list and is still not implemented to this day. Even though in the issue many people are asking to have this implemented.
WHY IS THIS TAKING SO LONG MICROSOFT!!
So now i have to figure out how to work around this. But that is an issue for tomorrow.1 -
At a previous job, boss & owner of company would waste hours of my time to show me, at his own desk, every small detail of some random feature he had fallen in love with on some random webpage he found, while saying "I don't want to disrupt your plans or anything, this is just something to keep in the back of your minds, as this would be a really nice thing to have, even tho none of the clients have asked for this and I have asked no one else for a second opinion, and I will most likely ask you to remove this feature in the future because I will finally have realized it wasn't that good an idea anyway."
Ok dipshit, what the fuck are we supposed to do with this information? Every week from this moment on you will ask whether we have found the time to implement this feature, even though you are fully aware that our schedule has no room for random, unplanned features and that we are already not able to meet the unreasonable deadline you pulled out of your ass two weeks into a development process that would end up taking 8+ months.
We are already overworked, we already work hours upon hours of unpaid overtime, and yet you still think it reasonable to pull us away from our work every other fucking day to talk about random extra features you want added, but don't want added to the roadmap because you want no delays... Fuck you, fuck your toxic attitude, fuck your meetings where you spend half an hour complaining about features we are still in the process of developing the backend functionality for (on test servers) not having the right font colour for the text, and fuck your legacy desktop software originally written in COBOL that you now want moved to "the cloud".
I would rather be unemployed and live as a hobo on the streets with a "will code for food" sign than work for you ever again. -
Spent about six hours writing tests and coding a user log in system for a Rails app last night. Finally finished at around 2:00am. Commited, pushed and merged, then called it a night.
Woke up today and Postgres is refusing to play nice. Spent twenty mins or so fixing that and then ran rspec.... Two thirds of my tests are missing - everything I wrote last night. I check my code and sure enough, they aren't there.
Wild panic ensues for a solid 5 mins before I realise I didn't actually pull the updated master branch after deleting my feature branch last night.
Now I feel like an idiot, but a relieved one. -
!rant
"What's the best browser that doesn't devour all of my HW resources?"
Seriously guys, Opera GX. You can set how much ram and cpu it eats, and it only eats that much. Yes, even to the point of it being unresponsive and laggy, because it keeps itself within the boundaries you set.
Seriously. Regardless of the number of tabs.
Also, it looks nice.
Downsides: You forget WHY it lags sometimes, so you get irritated, but when you remember, the irritation turns to smile.
I am not a paid shill, i'm just a user and I use it primarily and only for that single feature.28 -
Holy FUck!!!? O.o
You know, they say the customer is always right.. So with us, if the customer wants to shot himself in the knee with a gun, we let them. Usually we even provide a fancy hugeAss cannon, so he can do it more efficiently.
/* not like we make stuff worse, but we prepare our SW for them to do crazy fucked up shit they insist on doing with it, even thought it's against common sense and our recommendations on how to implement XY feature.. */
So.. We usually go above and beyond with the 'not so nice but handy' cannon to do that..
And right now, I think I am on the verge of creating a superDuprHugeAtomicBomb /* figuratively speaking!! NSA go awy!! */ for the customer to killthemselves with!! O.o xD
Supper happy (until I discover more bugs, but it's not finished yet.. so hopefully no bugs at the end!!)
Caboom!undefined !rant||rant bugzincoming xd cannon funstuff gun customers noideawhati'mdoing nsa bomb poop4 -
The new devRant long story feature is great! Very nice to have them in one place. Thanks devRant team!
-
Currently developing an app with React Native for work. It started as a "would be nice to have" feature but now people wanna join my dev team and company wants to see results too. And I am just a student trainee. FeelsGoodMan
-
Have you ever had the moment when you were left speechless because a software system was so fucked up and you just sat there and didn't know how to grasp it? I've seen some pretty bad code, products and services but yesterday I got to the next level.
A little background: I live in Europe and we have GDPR so we are required by law to protect our customer data. We need quite a bit to fulfill our services and it is stored in our ERP system which is developed by another company.
My job is to develop services that interact with that system and they provided me with a REST service to achieve that. Since I know how sensitive that data is, I took extra good care of how I processed the data, stored secrets and so on.
Yesterday, when I was developing a new feature, my first WTF moment happened: I was able to see the passwords of every user - in CLEAR TEXT!!
I sat there and was just shocked: We trust you with our most valuable data and you can't even hash our fuckn passwords?
But that was not the end: After I grabbed a coffee and digested what I just saw, I continued to think: OK, I'm logged in with my user and I have pretty massive rights to the system. Since I now knew all the passwords of my colleagues, I could just try it with a different account and see if that works out too.
I found a nice user "test" (guess the password), logged on to the service and tried the same query again. With the same result. You can guess how mad I was - I immediately changed my password to a pretty hard.
And it didn't even end there because obviously user "test" also had full write access to the system and was probably very happy when I made him admin before deleting him on his own credentials.
It never happened to me - I just sat there and didn't know if I should laugh or cry, I even had a small existential crisis because why the fuck do I put any effort in it when the people who are supposed to put a lot of effort in it don't give a shit?
It took them half a day to fix the security issues but now I have 0 trust in the company and the people working for it.
So why - if it only takes you half a day to do the job you are supposed (and requires by law) to do - would you just not do it? Because I was already mildly annoyed of your 2+ months delay at the initial setup (and had to break my own promises to my boss)?
By sharing this story, I want to encourage everyone to have a little thought on the consequences that bad software can have on your company, your customers and your fellow devs who have to use your services.
I'm not a security guy but I guess every developer should have a basic understanding of security, especially in a GDPR area.2 -
!rant
You know you code too much when you try to press control+space in word... would actually be a nice feature3 -
Some customers are nice.
Ive been working with a customer to enable a feature in the database. It was tough, because the escalation from support was your standard 'Customer wants apples in the T-1000, please do the needful'. After several emails back and forth we reach an agreement about what needs to be done.
This is something I'm sure can't be done. I test it in my local install, yep, confirmed that's normal behaviour. The customer, however, is stalwart - he's suggesting changes to the database that would potentially give him what he needs. I figure if he's going to this much effort, I'll confirm with our product specialist to see if there's a way around it.
Five minutes later I'm emailing the customer with an apology as I have unwittingly never known of, or committed to memory, the existence of a distinctly non-hidden check box that enables this exact function. I pass this box several times a week at least, and I've worked on this software for two and a half years. Never have I needed to use it, so my brain just processed it as background imagery.
The customer just responded with the kindest email absolving me of my sins, thanking me for my humbleness and for my time.
I want him to have more problems so I can work with him more.2 -
What a 'nice' feeling.. 15 mins before the conf call with a client, a coworker comes to me to ask how some feature is working. OK, wouldn't be a problem if it wasn't him developing it.. O.o I just know he was working on this, no details, no nothing.. Don't even know where in GUI to find the dialog in question.. So I asked him if he tested it and if it is working like he descirebed to the customer.. Guess what?! He didn't know the answer to either question.. nice... O.o
-
Few weeks ago: Please write the system design docs for feature X of the new project Y. We need it in two weeks.
Few days later: Stop working on the docs, the customer hasn't yet bought that feature.
Few days later: We found that we included that feature in the main contract already. We need the docs in two days.
Today (docs delivered a month ago): There was a misinterpretation of the requirements and the contract, the customer hasn't bought the feature with the main contract, it has to be sold additionally. You didn't do anything 'til now, did you?
It would be really nice, if sales could finally decide what the customer bought and then tell me about the requirements that are already covered in the docs anyway. But I fear it could end in asking the customer 🤪🔫2 -
rant="""
It's too many features for me to keep up with. And the client just bounces between this matrix of all the possible permutations of them, refusing to admit that he is asking for mutually exclusive behavior in more than one place. I have mentioned to him at least 12 times a year that there is too much going on, not organized, we need to simplify, prioritize, or we will have 100 half baked untested features.
Of course it is more or less made it out to be that this is all my fault, or at least it's hard not to feel that way when I say:
It will be a long time before X will be working, we need 25 other things first.;
Next day he asks:
Have you made any progress on X;
I reply: Now we need 24 things to be done at this rate it will be a month.;
He replies:
Ok but I need this yesterday. How about if you add a new feature Y that does everything X does without those 24 things?;
I reply: That will not work at all like X. Y is just X + 1 more feature.
He replies: Ok well I need Y so when you're done with X I need a way to do it like Y also. I just thought it'd be easier.
EASIER TO ADD MORE FUCKING FEATURES YEAH SURE THATS EASY AS FUCK YOU FUCK FUCK FUCK. He's a nice enough guy, pretty smart compared to my first few paying gigs, but wtf really? How do I come out and tell you I need 25 days and you ADD more work? This was one example.
IN TWO days he has added 12 features. And during the week has asked for 29 UI interfaces to be COMPLETELY different. This is becoming COMMONPLACE. Every week there is either a huge change, or a conversation like about that finds its way into the entire business flow inside an dout.
The worst thing is: I TOTALLY understand what he needs. I feel that HE doesn't. This weekend I spent literally HALF of his retainer on getting equipment into my hands to bring it back to find out it DOESNT WORK. Why aisn't HE doing this so I can finish the features from NOVEMBER that HE NEEDS in order to PROCESS SALES.
I've tried and tried but I just can't get through to this client what a tremendous waste of time his \"process\" is, for lack of a better word. Constant changes, contsant additions, lack of clarity, needless repetition and contradictions, constantly adding moonshot ideas to compete with every industry in the region, and not beta testing anything until something goes wrong.
Fuck this guy! His business is failing and I felt responsible for the longest time but it is clear to me that if I wanted to save his business I would have to ignore 95% of his feature requests. I ignore 50% now because of the stress in trying to determine which of the 3 different paradigms he is talking about changing. I will lose this client, and I feel like he will sue me to get all of his money back. He holds me to very little honestly - BUT WEEKLY reminds me that he won't be able to pay me next month if feature XY and Z arent ready!
If a developer is CLEARLY overwhelmed, it makes NO sense at all to continue to PILE ON feature after feature
"""
try:
while true:
rant+=", after feature"
except DevHeadExplodes as inevitable:
raise YourDevsRatesOrLookElsewhere(inevitable)8 -
I don't know the current total number of daily active users and rants counts on devRant. But maybe it would be nice to have a group tagged/mentioned feature. Or something similar. Or subscription to a tag?
Like for example, when it comes to security and privacy and google-free-life all of us usually mentioned linuxxx and the gang. When it comes to server, if I'm not wrong Linux and electrical hardwares for Condor, etc.
But there might be (should be) other who should be mentioned and who would want to get mentioned as well.
Might be fun as well. All those Raven and clans can communicate easily with such feature.
Thoughts anyone? If I got positive responses here, I'll open a feature request on GitHub 🤔31 -
Just some random thoughts looking at the soon-to-be new filtering feature.
Wouldn't it be nice if DevRant had a QR login like WhatsApp for easy login on desktop?
What about a "top rants" on profiles?
Oh what about an activity mosaic like GitHub's commit timeline?
Just some thoughts I had while punching my punching bag, it can get tedious.5 -
I decided to learn Flutter, because the idea of a common code base between Android and iOS sounds nice. I'm late to the party, I know.
So I install everything and start typing in the tutorial. TAB... two spaces. I absolutely hate that so let's change it. In the settings, it sends me to a FAQ which more or less says this is the way it is, deal with it. But I want my tabs to be four spaces, every code editor since the dawn of time could do this... I'M PAYING FOR THIS SHIT!!!!!!!
Ok, let's check the JetBrains website, I'm starting to lose my patience, but let's do it. At this point I should also mention that I'm feeling pretty stupid. I mean, I'm checking on the internet about how to do something which obviously must be obvious, why am I not seeing it?
I find a page on the official website. JetBrains' replies are along the lines of "Why would you want that?", "The holly wars between tabs and spaces are over", "Most people like it this way", "The overlords said this is the coding style to be used" (Ok, the last one was me reading between the lines). At the end of the thread, they provide a "hackish solution" (their words, not mine). Which doesn't work. Because why should it?
Not even when PyCharm's debugger randomly shat itself and I had to use print statements I got so angry. That was relatively fine, bugs are a fact of life, and the overall package is good, so I kept paying.
But now you're telling me that I cannot use what should be a common feature of every code editor just because you and the overlords know better?
Well, fuck you and the horse you came in on JetBrains, you've just lost a customer.16 -
The feature was to parse a set of fairly complex xml files following a legacy schema. Problem was, the way this was done previously did not conform to the schema so it was a guideline at best, which over the course of many years snowballed into an anarchy where clients would send in whatever and it was continuously updated per case as needed. They wanted to start enforcing their new schema while phasing out the old method.
The good news is that parsing and serialization is very testable, so I rounded up what I could find of example files and got to work. Around the same time I asked our client if they had any more examples of typical cases we need to deal with, and sure enough a couple of days later I receive a zip with hundreds of files. They also point out that I should just disregard the entire old set since they decided to outright cut support for it after all if it makes things simpler. Nice.
I finish the feature in a decent amount of time. All my local tests pass, and the CD tests pass when I push my branches. Once we push to our QA env though and the integration tests run, we get a pass rate of less than 10%.
I spend a couple of days trying to figure out what's going on, and eventually narrow it down to some wires being crossed with the new vs. old xml formats. I'm at a loss. I keep trying to chip away at it until I'm left with a minimal example, and I have one of those lean-back moments where you're just "I don't get it". My tests pass locally, but in the QA environment they fail on the same files.
We're now 3 people around my workstation including the system architect, and I'm demonstrating to the others how baffling and black magic this is. I postulate that maybe something is cached in my local environment and it's not actually testing the new files. I even deleted the old ones.
"Are you sure you deleted the right files?"
"Duh of course -- but let me check..."1 -
Every design change in windows 11:
- All that could have been achieved in win 10 with an update 🙂
Every new feature in windows 11:
- All that could have been achieved in win 10 with an update 🙂
Just another way to trash our older PCs. Planned obsolescence.
Google said, free forever photo storage, takes it back.
Microsoft said, last verison of windows 'll be the 10, takes it back.
😊 Everything's friking nice.16 -
I AM IN RAGE !!! MY MANAGER IS A FUCKIN SNAKE ASSHOLE!
FUCKER RATED ME 3/5 !
i feel like destroying my laptop and putting my papers right away. this is absolute shit hole of a company where corporste bullshit and multi level hierarchy runs the system, ass licking is the norm and still me, a lowly sde dev 1 was giving my 200% covering their bullshit to deliver outputs on time.
let me tell you some stats.
- our app has grown by 2x installs and 5x mau.
- only 3 devs worked on the app. the other 2 can vouch for my competence.
- we were handled an app with ugliest possible code full of duplication, random bugs and sudden ANRs. we improved the app to a good level of working
- my manager/tl is such a crappy person that if asked about a feature out of random, he will reply "huh?" and will need 2 mins to tell anything about it.
- there is so much dependency with other teams and they want us to talk to them personally. like hell i care why backend is giving wrong responses. but i cared, i gpt so good handling all these shit that people would directly contact me instead of himal and i would contact them. all work was getting done coz 1 stupid fellow was spending 90% of his time in coordinations
- i don't even know how to work with incompetence. my focus is : to do my task, fix anything that is broken that will relate to my task in any way and gather all the stuff needed to complete my task
i am done. i cannot change this company because its name is good and i am already feeling guilty about switching my previous jobs in 1 year but this is painful.
in my first company i happily took a 10% hike coz i was out of college and still learning.
in my 2nd company, i left due to change in policies ( they went from wfh to wfo and they were in a different state) , but even while leaving they gave a nice 30% hike
in my current company idk wjat the no. 3 equates to , but its extremely frustrating knowing a QA who was so incompetent, he nearly costed us a DDOS got the same rating as me
------
PS : GIVE ME TIPS ON HOW TO BE INCOMPETENT WITHOUT GETTING CAUGHT8 -
You know what's a good place for init Files? A standardized place...
A place, where one would expect it...
You know where isn't a good place
/usr/lib/systemd/{user,system}/
You know what is also a fuckin bright idea? Generic names....
Postgresql-10 is a rather anoying service name, if your plattform doesn't feature autocomplete for your plattform. Looking at no one. *Cough* centos *cough*
Well at least manpages for the service would have been nice...2 -
Woah! Collabs! Nice.
I'm actually glad it's a paid feature. The sheer entitlement of people using free software asking for development help for free has always bothered me.
Cool idea, I hope it works out! -
Feature request: Being able to copy text from rants/comments on mobile. Also some sort of code formatting would be nice!2
-
Hey guys, this is my first rant. I like this friendly community very much so far and hope it stays that way. So here it goes...
I have this Trello app on my Android phone. It has this nice feature - calendar... But week starts on Sunday. So I started investigating, how I could change it to Monday. Googled and found that you have to change the language, which I did. Now I wish I had this nice ISO date format yyyy-MM-dd, but this motherfrakker doesn't allow me to!
How much I hate this little piece of shit! What does he want from me? Download the sources, add the functionality, compile for a week and flash it into my Xiaomi?!13 -
Worst architecture I've seen?
The worst (working here) follow the academic pattern of trying to be perfect when the only measure of 'perfect' should be the user saying "Thank you" or one that no one knows about (the 'it just works' architectural pattern).
A senior developer with a masters degree in software engineering developed a class/object architecture for representing an Invoice in our system. Took almost 3 months to come up with ..
- Contained over 50 interfaces (IInvoice, IOrder, IProduct, etc. mostly just data bags)
- Abstract classes that implemented the interfaces
- Concrete classes that injected behavior via the abstract classes (constructors, Copy methods, converter functions, etc)
- Various data access (SQL server/WCF services) factories
During code reviews I kept saying this design was too complex and too brittle for the changes everyone knew were coming. The web team that would ultimately be using the framework had, at best, vague requirements. Because he had a masters degree, he knew best.
He was proud of nearly perfect academic design (almost 100% test code coverage, very nice class diagrams, lines and boxes, auto-generated documentation, etc), until the DBAs changed table relationships (1:1 turned into 1:M and M:M), field names, etc, and users changed business requirements (ex. concept of an invoice fee changed the total amount due calculation, which broke nearly everything).
That change caused a ripple affect that resulted in a major delay in the web site feature release.
By the time the developer fixed all the issues, the web team wrote their framework and hit the database directly (Dapper+simple DTOs) and his library was never used.1 -
¡rant|rant
Nice to do some refactoring of the whole data access layer of our core logistics software, let me tell an story.
The project is around 80k lines of code, with a lot of integrations with an ERP system and an sql database.
The ERP system is old, shitty api for it also, only static methods through an wrapper to an c++ library
imagine an order table.
To access an order, you would first need to open the database by calling Api.Open(...file paths) (yes, it's an fucking flat file type database)
Now the database is open, now you would open the orders table with method Api.Table(int tableId) and in return you would get an integer value, the pointer.
Now for the actual order. first you need to search for it by setting the search parameter to the column ID of the order number while checking all calls for some BS error code
Api.SetInt(int pointer, int column, int query Value)
Then call the find method.
Api.Find(int pointer)
Then to top this shitcake of an api of: if it doesn't find your shit it will use the "close enough" method of search.
And now to read a singe string 😑
First you will look in the outdated and incorrect documentation given to you from the devil himself and look for the column ID to find the length of the column.
Then you create a string variable with ALL FUCKING SPACES.
Now you call the Api.GetStr(int pointer, int column, ref string emptyString, int length)
Now you have passed your poor string to the api's demon orgy by reference.
Then some more BS error code checking.
Now you have read an string value 😀
Now keep in mind to repeat these steps for all 300+ columns in the order table.
News from the creators: SQL server? yes, sql is good so everything will be better?
Now imagine the poor developers that got tasked to convert this shitcake to use a MS SQL server, that they did.
Now I can honestly say that I found the best SQL server benchmark tool. This sucker creams out just above ~105K sql statements per second on peak and ~15K per second for 1.5 second to read an order. 1.5 second to read less than 4 fucking kilobytes!
Right at that moment I released that our software would grind to an fucking halt before even thinking about starting it. And that me & myself and I would be tasked to fix it.
4 months later and two weeks until functional beta, here I am. We created our own api with the SQL server 😀
And the outcome of all this...
Fixes bugs older than a year, Forces rewriting part of code base. Forces removal of dirty fixes. allows proper unit and integration testing and even database testing with snapshot feature.
The whole ERP system could be replaced with ~10 lines of code (provided same relational structure) on the application while adding it to our own API library.
Best part is probably the performance improvements 😀. Up to 4500 times faster and 60 times less memory usage also with only managed memory.3 -
Fucking damn! This program is so poorly built that it's racking up terrible amounts of technical debt. This should be fucking easier than this, but because of how closely coupled everything is I'm now having to suffer through this ungodly beast of code.
I was aiming for a nice top down model where things communicated straight down, but with each additional feature requested by my PM, there are things that are growing increasingly more difficult to build around.
I could rebuild the entire thing, but this is the culmination of 8 months of work!
GOD KILL ME PLEASEEE -
Windows 10 Action Center yesterday alerted me to set a PIN for my laptop.
Turned on PC this morning and typed in my regular password then realized it wanted the PIN.
Thinking how this feature came to be....
1. Windows wants you to link your login to your Microsoft/Hotmail Account and it makes it a pain in the ass to set a seperate one (Windows 8)
2. 2018 arrived an logins are a pain, everything is autologin or PIN/code based (aka short 'unsecure' passwords)
3. MS backtracks and realizes email logins are too long so they make a partial fix which basically reverts back to the pre-Win8 days of a seperate system login.. except now its called a new feature!
I realized now under enter a PIN the reason for the checkbox that says: Allow symbols and letters. It's a nice way of saying: please type in your old password again.
**Also rant #2: cuz i dont feel like waiting 1hr**
I felt great yesterday when my boss told me apparantly I have like an Expert designation at the company.
Feel like crap today cuz some user is complaining about some report:
- they asked us to create months ago
- now complaining its all wrong but never gave any formal requirements and actually did sign off on it during testing
- FIXED ASAP
HELLO!!!!!!!!!!! STOP MAKING IT SOUND LIKE IT'S MY FAULT U CAN'T BE BOTHERED TO PROVIDE CLEAR REQUIREMENTS AND THEN TAKING FOREVER TO COME BACK WITH UR PROBLEMS AND NOW NEED IT FIXED ASAP BY USING A NEW DATA SOURCE THAT I HAVE NO IDEA WHAT THE FUCK IS SINCE U USED A RANDOM ABBREVIATION LIKE I CAN MIND READ.
IF I COULD MINDREAD, ID BE WORKING ON A PLAN TO GET UR ASS FIRED.....
Happy friday and long weekend... Got 3 days to relax before i need to deal with this shit again...2 -
I fucking love the timeline feature on Google maps. Makes it nice and easy to remember where you went on a trip so you can revisit on Street view for example1
-
Apparently the Schiphol (dutch airport) WiFi has a nice "feature" which makes the user think they need to accept terms, instead it's a checkbox saying "I want to do a survey for a free iPad". Talk about shitty UX...2
-
The best IDE in the world is becoming even better.
It's strange no one ever thought about this feature before. Simple yet so useful.
#VisualStudio 2022 v17.610 -
If you've ever tried using Go plugins raise your hand.
If you've ever tried doing plugins in Go, raise your hand.
If you think that the following rant will be interesting, raise your hand.
If you raised your hand, press [Read More]:
This is a tale of pain and sorrow, the sorrow of discovering that what could be a wonderful feature is woefully incomplete, and won't be for a very long time...
Go plugins are a cool feature: dynamically load pre-compiled code, and interact with it in a useful and relatively performant way (e.g. for dynamically extending the capabilities of your program). So far it sounds great, I know right?
Now let me list off some issues (in order of me remembering them):
1. You can't unload them (due to some bs about dlopen), so you need to restart the application...
2. They bundle the stdlib like a regular Go binary, despite the fact that they're meant to be dynamic!
3. #2 wouldn't be so bad if they didn't also require identical versions of all dependencies in both binaries (meaning you'd need to vendor the dependencies, and also hope you are using the right Go version).
4. You need to use -trimpath or everything dies...
All in all, they are broken and no one is rushing to fix it (literally, the Go team said they aren't really supporting it currently...).
So what other options are there for making plugins in Go?
There's the Hashicorp method of using RPC, where you have two separate applications one the plugin, one the plugin server, and they communicate over RPC. I don't like it. Why? Because it feels like a hack, it's not really efficient and it carries a fear of a limitation that I don't like...
Then we come to a somewhat more clever approach: using Lua (or any other scripting language), it's well known, it's what everyone uses (at least in games...). But, it simply is too hard to use, all the Go Lua VMs I could find were simply too hard to set up...
Now we come to the most creative option I've seen yet: WASM. Now you ask "WASM!? But that's a web thing, how are you gonna make that work?" Indeed, my son, it is a web thing, but that doesn't mean I can't use it! Someone made a WASM VM for Go, and the pros are that you can use any WASM supporting language (i.e. any/all of them). Problem inefficient, PITA to use, and also suffers from the same issues that were preventing me from using Lua.
Enter Yaegi, a Go interpreter created by the same guys who made (and named) Traefik. Yes, you heard me right, an INTERPRETER (i.e. like python) so while it's not super performant (and possibly suffering from large inefficiency issues), it's very easy to set up, and it means that my plugins can still be written in Go (yay)! However, don't think this method doesn't have its own issues, there's still the problem of effectively abstracting different types of plugins without requiring too much boilerplate (a hard problem that I'm actively working on, commits coming soon). However, this still feels to be the best option.
As you can see, doing plugins in Go is a very hard problem. In the coming weeks (hopefully), I'm going to (attempt to at least) benchmark all the different options, as well as publish a library that should help make using Yaegi based plugins easier. All of this stuff will go (see what I did there 😉) in a nice blog post that better explains the issues and solutions. But until then I have some coding to do...
Have a good night(/day)!13 -
To be honest I forgot completely about the ducks and was kind of disappointed to see them, don't understand me wrong, its a great addition to the shop (especially to support devrant more when buying them and I will probably do too) and trogus (wow it's pronounced t-rogus) deserves a lot of respect for going through the very hard process of developing it, getting somebody to do a decent quality result etc. but I was hoping for the new site that got hyped up some time ago or some update to the app that fixes design issues on phones that have 2k resolution and no statusbar and more. ("just open a github issue" - I don't have one right now and it didn't get much attention anyway, since I am in the niche of people with those kind of setups, most people it seems have phones that can even barely run the app lol). The login still pops up each time you visit the site (basically just click it away, but it's rather annoying to have it pop up), it's nowhere near to the original app (although the native app is written in some sort of wrapper anyway?) - especially what comes to options, customizing, deactivating things, posting into categories (newest feature), getting notifications etc
There is some community builds that try to recreate a better desktop experience, but sadly fail to do so (sorry to devrantron and others, but what the fuck were you thinking when you rounded only the top right and left corner?) - since they always have something that is just thrown out to "be there" or design fails (which devrant just lacks and looks good across the board), that makes me rather cautious if that program doesn't send my credentials to some african prince. ("just look at the sourcecode", yes I have better things to do, thanks)
I could just create my own build, having to reverse engineer the whole website and app (granted, most of it are just api calls), but I simply lack the time (so I understand why my mentioned problems aren't getting really any attention or can't be implemented that fast, yet still its somewhat bugging)
I have listened to the Q&A and I know you guys are working full time at for example adobe (amazing that you both have time to be putting it towards devrant), so its not as much of a rant, just wanted to get out my disappointment about the event I felt personally. Still nice to have seen you and talk with the community a bit (although the time I feel was picked more towards your US audience rather than EU?).3 -
Not exactly vacation, but there was this nice-to-have feature in our application that I coded up in the hospital after my wife gave birth to our son. I wrote it during the downtime while they were both sleeping.3
-
How hard is it to make a custom steno-lithography API? And do I even need one?
Hi, all. My name is J.A and I am co-owner of 3DPrintedDreams with my best friend. (We are both 17.)
During a brainstorm of what should be the flagship feature of our shop should be. We decided to take user images, (exact specifications TBD), and then use an API to transform them into .stl files so my friend can print it on his 3D Printer.
I am asking how hard or "easy" would it be to make such an API and what would be the bottom dollar if I were to make a collab post here about it? If anyone would be willing to listen, I could explain how all this would work in relation to the full stack of my website.
p.s. I understand that experience costs money and I myself have experienced this, but, we spent most of our money on the Pallete 2 from Mosaic. (about $500).
HOWEVER, we still have some money left. If a suggested price is to much for us to pay up-front, 3DPrintedDreams is willing to pay you in installments dermined by mutual agreement.
Thanks for your time and have a nice day!
-Josh
Co-founder of 3DPrintedDreams, LLC (Pending).15 -
User feedback
Been working on an application for the three days then yesterday happened to present a demo to my target client base.
Me:I need you to go through the app and tell me your experience using it.
User: Great let me see it and comment on it.
Me:I wait patiently as he goes through the app asking for clarification on some activities .
User:I love it but I think would be nice if we improve on the following.
Me:Okay go ahead all ears.
User:How about on the share feature instead of sharing the apps link then one goes and downloads it and install,how about you simply share the APK and install it instant.
Me:Okay that's a good thought and later go on to explain to him why we share links as compared to sending the APK directly . -
I can't stand Swift's initializers. No other languages have the problem with constructors/initializers that Swift does. It's a complete failure of a feature and to hell with safety if it comes with this cost.
Just to illustrate how ridiculous it gets, I want to have a class where my initialization logic can be split among reusable parts. That is, the logic that initializes the class with no parameters has logic that I want to reuse in my other initializers. Simple DRY stuff. Well, the only way I can do that in Swift is if I use a convenience initializer that calls another one. But convenience initializers have completely different rules from designated initializers (again, something only Swift does).
For example, you can't access "self" until you call a designated initializer. You can't chain designated initializers, and if you want to chain anything in the same class you have to handcuff yourself by using a "convenience" initializer (there's nothing convenient about them, I might add).
So now I want to subclass my class and initialize myself using one of my superclass initializers. Oh but the one I want to call is a *convenience* initializer so I can't, unless I turn my new initializer into a convenience initializer. Except wait, a convenience initializer must delegate with self.init(), so it can't even call a superclass initializer!
And it just goes round and round and round. I don't know if I should try to convert all of my initializers to convenience initializers or the other way around.
Why all this nonsensical madness? Get rid of the distinction and go back to nice clean powerful initializers like Objective-C. I mean what does it have to take? This is a complete nightmare.13 -
Unity has a nice feature where if you search for an item in your hierarchy, it fades to white as if it just crashed.
Thanks for the heart attack, Unity! Maybe this serves as a reminder to save frequently because it *does* crash a lot.3 -
So, funny story with a bit of self promotion at the end.
I was recently checking out some apps on playstore and found that my first ever , "launched just to experiment" app (released 1.5 years ago) has received more than 5k downloads . I was very happy about that so posted a small message on LinkedIn .
Now , my LinkedIn profile consists of 98% people who are totally strangers and never met me ( is it just me or do you also get a lot of stranger connect requests there?). So my usual post rarely ever goes beyond 5 or 6 likes.
Bit idk how there too my post got 35+ likes and now i was on cloud9.
So i finally decided to kick my ass and release some update to that app ( it had around 70% pity comments like "nice first app,but it should have this x feature",. "overall nice but it could use an x feature " etc.
And boy what my journey was in the last 72hours.
Firstly my madhead laptop started killing me with the battery failures and constant hang.
Then my past asshole self tried to give me a middle finger. So i have this whole partition in my memory where i keep my Android stuff and apps. It has a special folder named published zone and i keep all my published app codes and related files there.
I was fairly certain that this app's code eill be also there,so i opened it, found the code and tried running it.
Turns out my asshole self had tried to mess around the code so much that all the db layer WAS fucked up, all the ui WAS changed and no code was working.
"Not to worry", i thought. I always use git and there would be a correct version some commits before. WRONG. I HAD CHANGED THE WHOLE FUCKING WORKING PRODUCTION CODE AND DIDN'T MAINTAIN A VCS!
Also this was the verbose and shitty java code my 1.5 year before self so loved to write, so it was taking me way more time to figure out what's happening in an already fucked up code.
So i tried a couple of ways to get back my working code :
- I tried looking for a google recommended solution. Those guys take my whole app code build and distribute via playstore, but they provide no means to retrieve back the original code.
- i checked my (occasionally) back up hard disk but no. My hard disk would have 100s of movies from 2016 , but not a useful piece of fuckin code.
- i also tried to get my apk and decompile it via some online decompiler. Here the google again fucks up and don't allow me to get my apk directly. Meanwhile i found a ton of shady websites which are hosting an apk of my app without my knowledge O_o . I tried to decompile on of them but code was even more non understandable than my fuck up code.
So i ended up looking at both the mess up code and decompiled code and coded the whole app from scratch ( well not scratch, i extracted the resources and some undamaged activities from the mess up code . Also github was down for more than 3 hours yesterday , at the same time when i was trying to look onto some repositories)
Lessons learned:
- DON'T FUCK UP WITH THE PRODUCTION CODE
- MAINTAIN VCS
- Your laptop is shit reliable, github is also shit reliable , so save code at multiple places.
- there are way more copies of your code lying on the internet than you think.
Checkout my app here :https://play.google.com/store/apps/...2 -
Nice little feature from Warp, auto hiding secrets, although this isn't a secret it is just a version number 😅8
-
Interesting...
On Friday, I was playing with the ChatGPT integration in DBeaver. I was using the DBeaver sample SQLite database. This database has a couple of tables, among them Album and Artist, where Album has a foreign key into Artist.
So, I asked it:
"give me a query that lists all albums from artists who's name starts with s"
The query I got back was:
SELECT * FROM Album
Uhh, okay.
But then, I noticed that I wrote "who's" instead of 'whose', which would be proper grammatically. So, I changed that, and then I got this query:
SELECT * FROM Album WHERE ArtistId IN (SELECT ArtistId FROM Artist WHERE Name LIKE 'S%');
Hooray, that works! I'm not sure it's the best way to write the query... I might have written:
SELECT * FROM album a, artist r WHERE a.artistid=r.artistid AND r.name LIKE 'S%'
...I'd have to check to see if one performs better than the other, and consider which syntax I find clearer, but that's a separate issue, it's just nice to see a working, reasonable query generated because that's the point, after all.
But I found it interesting that such a minor error would cause it to not work, that's my main point.
Interestingly, it seems to have learned: I just tried the same thing, and I got the right query either way. So that's pretty cool.
It's a pretty neat feature and I can see some legitimate value in it. I'm pretty good writing SQL myself... I've managed to write some truly hideously complex queries over the years... but there are definitely instances I can recall where the query didn't seem obvious at the start, and having an AI that can MAYBE produce something that is AT LEAST a starting point is definitely something I can get onboard with.9 -
I was in charge of updating the dependencies on a microservice we have. Everything was at least 3 years old. Nice. How bad was it gonna be?
Jesus Christ, I have never felt so wrong.
A certain dependency I will hide under the name w******js allowed custom functions for a feature that accepted three arguments: paramA, paramB, paramC. The old installed version, 1.x.x, did what was intended, but for some dumb reason, 2.x.x calls the function with paramA as paramB and paramB as paramA!
It took me a god damn while to find out why shit wasn't working as expected. Who thought this was a good idea?3 -
Cheated with my beloved 'optimization' to make a go around that fucking bug and then the temporary work around turned out to be nice feature. Great!! 😑 But I am not happy :( fml1
-
Shows perfect results.
PM: Nice, integrate that into the latest version.
Shows bad results.
PM: Your integration must be wrong.
Show him the file diff, no difference in my implementation.
It's funny how the exact same feature goes to shit immediately after they push all these untested changes. -
I really like coding for scientific purposes. It unites my big passions (natural sciences/engineering/coding). And I like the feeling of empowering someone to do research. BUT BESIDES DEALING WITH DUMB FEATURE REQUESTS, THERE IS NO WORSE PAIN THAN HEARING PHD CANDIDATES FUCKING SAY RETARDED STUFF. HOW DID YOU EVEN WON THE SCHOLARSHIP FOR THE PHD YOU DENSE SON OF A BITCH (NICE JOB ACADEMIC ENVIRONMENT BTW). YOU LACK KNOWLEDGE OF HIGH SCHOOL LEVEL EVEN ON YOUR OWN SUBJECT. THE BEST RESEARCH YOU CAN PROVIDE TO THIS WORLD IS THE FLUID DYNAMICS OF AIR WHILE YOU JUMP OFF A SKYSCRAPER MOTHERFUCKER.
-
!rant
So I have bought a new laptop and this time instead of straight up booting linux I had an idea of giving micro$oft a try, so I have decided to use only their services for 2 weeks.
To be honest, I really did not expect windows to use do much cpu and hdd during updates and background tasks, but after a day it was ok and windows feels snappier than during my last encounrer (maybe cause the new hw?).
I was even so dedicated that I started to use cortana and I have to tell, that she is dumb as fuck, since she fails to understand even the basic tasks and if u want something advanced, she refers to the next update. But boy, tell her to open Visual Studio and she asks if you want VS Code or Visual Studio, which seems great. But my response was 'Code' then she insisted that I said Coke. Im like OK, Im not native english speaker, lets try Visual Studio Code, where she told me that there is no such thing and Spelling VS - Code ended me in bing search for Unesco :/
I really want to like Cortana, she has nice name, nice history, but she is like that A girl from class, who looks gorgeous, has great voice, but then u reallise that she just eats a book before exam and after that she is that dumb basic hoe.
I also gave a shot to Bing and Edge. Bing is something between Google and DuckDuckGo, since it gives you a liiitle less results from search history, yet if you want to find something in different language its even possible to tell you that what are you trying to find does not exist.
But I have to tell, that I like Edge and I mean it. Like... Its fast and has some good features, like pushing all your open tavs away, so you can open them Later. It also does not have that stupid ass feature that lets you control tab from left to right, not by chronological order, so you wont end up in infinity loop of 2 tabs. And even if people make fun of M$ trying to convince you to use Edge by being too aggresive. God go on edge and try to use some Google Service(You still dont use chrome?!).
I also tried to play with .Net core and I have to tell that against java they are a bit further. I liked some small features, but what I just simply loved was rhe fucking documentation. You basically dont need google, sincw they give you examples and explain in a human way.
What I didnt quite get was the 'big' Visual Studio. Tje dark theme to me feels strange(personal and irrelevant). Why the hell I do need to press 2 shortcuts to duplicate line?! Why is it so hard to find a plugin to give me back my coloured brackets and why the fuck it takes like a second to Cut one line of code on a damn i7?!
Visual studio Code was something different. It shows how dark theme should be done, the plugin market is full of stuff and the damn shortcuts are not made for octopi. So I have to recommend it ^^.
I even gave a shot to word and office as a whole and fuck I never knew that there are so many templates. It really made my life easier, since all you need to do is find the right one in the app, instead of browsing templates online, where half of them are for another version of your text editor.
Android Launcher was fast, had a clever widget of notes and the sync was pretty handy to be honest so I liked that one as well.
What made me furious was using the CLI. Godfucking damn what the fuck is ipconfig?! :/
Last thing what made me superbhappy was using stuff without wine and all of the addional shit. Especially using stuff like Afinity Designer and having good looking apps in general. I mean Open source has great tools l sometimes with better functionality. But I found out, that what is pleasure to look at, is pleasure to work with.
To Summarize a bit.
It wasnt that bad as I expected. I see where they are heading with building yet another ecosystem of It just works and that they are aiming at professionals once again.
So I would rate it 6/10, would be 7 if that shit was Posix compatible.
I know that for Balmer is a special place in hell... But with that new CEO, Microsoft at the end may make it to purgatory..5 -
I love it when a safety feature meets an edge case.
I was driving along the highway, with adaptive cruise control on. There were cars in front of me and also behind me.
The car ahead of me set his turn indicator to the right and was decelerating for the exit ramp.
All good, heart rate 60bpm, there was plenty of space to get passed...
Suddenly, my car was like "PANIC, PANIC, EMERGENCY, BRAKE BRAKE BRAKE!!" And some automagic emergency brake triggered.
And I was like, "WHAAATT THEE FUUU...."
You cannot make these random emergency stops when a car is trailing your ass at high speed.
Yeah, it was something with the radar and the car fluctuating in front but anyway, nice feature.5 -
Wow this is amazing, I search for the word Malaysia in Devrant , most of the rant are from me , it's like I represent my country to show the world how shit my country is. 😂😂😂😂
Nice feature from Devrant , the search func.4 -
That feeling when you switch from your feature branch to master and it's like going back 50 years in time. All the nice, cool things are missing!
-
"It would be great if the feature would be implemented either today or tomorrow."
Well, nice wishful thinking. It does not constitute an emergency on my side though.1 -
I just started a new job last week. Old-school sysadmin role for a pretty old-school company, but the pay is nice and the kids've gotta eat.
They gave me a windows laptop. I haven't used windows for work or as a daily driver since 2016, and now, a week into trying to make this machine work for me, I have the following observations to report.
WSL is nice. It's nice to have it installed(though actually installing it was an adventure unto itself), and to set alacritty to open my default user prompt straight into that is very nice. As terminal emulators are by far my most used piece of software, that's nice to have.
Command-line software management through powershell, winget, and chocolatey are also very nice.
I like the accessibility offered by autohotkey, though there is something of a learning curve on it. Once I get better with it, I suspect that what follows will be largely mitigated.
The Bad:
In general, Windows is janky. It feels like it's all kinda taped together without any particular cohesion in mind. As a desktop, it feels decidedly amateur, compared to the feature-mountain polish of MacOS, and especially compared to the flexibility and infinite possibilities of Linux.
Lots of screen real estate is wasted, with window decorations, and fonts that look terrible at smaller sizes, because the antialiasing of fonts is just terrible. Almost all the features I depend on in other desktops: ad-hoc searches and launches(alfred, rofi) are-- again --janky. They work, but they typically require more typing than alfred or rofi. I admit I haven't spent weeks on this problem yet, but I haven't found a workable solution yet with wox, hain, and keypirinha. Quick searches like what you get with alfred, alfred workflows, and the swiss army knife that is rofi, just aren't possible or reliable with the tools I've used so far, and most require some kind of indexing agent to fully function.
It beggars imagination that a desktop in which users are subjected to "default apps" that is purported to be acceptable for enterprise, professional use, does not have a default entry for text editor. I installed nvim-qt, and I want to use it to edit anything and everything I ever edit with text, but all too often, apps have hard-coded instructions to open text files with notepad.
I want to open certain URLs with firefox, certain ones with firefox developer edition, and others with vivaldi, and yet there is not an app available that I have seen yet in my searches that allows me to set this kind of configuration. I found one that's supposed to, but it just ignores everything I put into its config, and just opens MS Edge for everything. Jank.
Simple things take too long. Like the delay between when I laboriously hit ctrl-alt-del to bring up the login and when the actual text field appears, and the delay between that and when I want to start using the computer.
Changing some settings requires a reboot. Updating some software requires a reboot. Updating permissions on something sometimes requires a reboot. And those are all on top of the frequent requests to reboot for updates.
I would have thought Windows would have overcome most of the issues that create these problems, but it's just, as I said, amateur.1 -
I estimated 4 days for a task, took me 1,5 and I fixed an issue in there while I ran into it and made a nice fallback for when some edgecase thingy is not supported, which is somewhat of a new feature...
Oh and its paydayayay! Olé! -
When you're told in the late afternoon to implement a feature in a legacy codebase you have no familiarity with and written in a framework you've never used by the next day...
Thank goodness for super nice and helpful coworkers... Almost there 😩2 -
Started work in the morning, after a couple of hours was 90% done and would be clicking the checkbox on trello that task is completed.
Lol.
Found a bug.
OK, debugging time.
Spend an hour on trying to fix the simplest bug ever,( php was creating a file that had the contents but the wrong name)
At this point I was starting to get super pissed of cuz in 30min I need to go meet up with some friends.
LOL ok, fuck this shit, I don't want to do this anymore.
Made the bug into a feature that now you can have multiple authority(admin) accounts.
My teamm8 was like lol ok, we didint really need this but it will be useful so nice job.
👏GREAT MORNING:))))1 -
tfw when you request for a nice feature and the devs respond with: "ye, we don't care even the slightest, do it yourself"...2
-
I figured it all out, where all the bad code comes from, I know it now!
I think good developers need two things, an ego that makes them wanting to be competent and perceived as such and (very important) a problem with authority!
All the bad code is written by people who wanted to be liked by their teachers. The PM and PO are their teachers now and they make everything possible for them. Technical debt and human costs are swept aside when the authorities want a stupid feature now - because they have to like you and you need to be a nice pet to whip! -
The guy worked 4 days building a nice challenging feature.
Fucking spend 30 more minutes to write a documentation on how it works bc is like you did nothing. -
Is it just me or does the Google Play developer console gets worse and worse with every change they make. Right now its bullshit they add one nice Feature but then fuck up multiple other things at once
-
Me to my team: demo to the client is postponed, we'll show it the day after tomorrow.
Them: nice, then we can put in production also the new feature xyz.
Me: mmm... Is it tested and everything ok? Then yes, let's deploy it.
Bad decision. Now everything is not working. Rollback needed!2 -
Any file manager without range selection is basically crippled.
Desktop PC file managers had the ability to select many files at once since at least the 1990s, yet smartphone file managers typically still lack it as of 2022. This means if I want to select a range of files, I have to tap each file individually. That's OK for - like - 20 files, but not for 1100 files. I'd need more time to select those files than the transfer would take, and if I accidentally hit anything that closes the app, I can start all over again. <sarcasm>That is how I wish to spend my day.</sarcasm>
In the early 2010s, ES File Explorer brought a dragless range selection feature, where only the first and last item had to be highlighted and a button pressed. This means over 5000 items could be selected in 10 seconds: tap item A, drag the scroll bar, tap item B, tap range selection icon, then done! But then Google came and said "sorry, you can't have nice things" (not vocally but through actions), and forcibly disabled write access to the microSD card to third-party applications. The only way to evade this restriction was through rooting.
Then, Google "blessed" us with storage access framework and then iOS-like scoped storage "to protect us". https://xda-developers.com/android-... . Oh, thank you for your protection by taking freedoms away!
The pre-installed file manager of Android still lacks range selection THIRTY YEARS after desktop computers came pre-installed with this feature. Shame on you, Google. This isn't innovative.
If Google will implement range selection, I guess they will make it half-assed by implementing drag-to-select, which is hardly more useful than individual tap selection for thousands of files. Then they tell us "you wanted range selection, here you are! Now don't bug us.". Sorry, but users don't want half-assed drag-to-select, but real tap-A-B-selection and a draggable scroll bar.
Some mobile file managers even lack a draggable scroll bar, meaning if I want to go near the center of the list, I have to swipe up like a dog or cat licks water from a bowl.8 -
At my work we still deploy web files the old-fashioned way, copying newer versions over from dev to test and test to prod. For comparing and copying changed files we use WinMerge. Although our workflow sucks, WinMerge itself is actually a nifty little tool for comparing any sort of text files. But today it pissed me off in a way it never has before. I copied a diff from left to right and then meant to save it with Ctrl + S, but accidentally pressed Ctrl + D. Guess what happened? To my horror, both sides went completely blank! It looked as if the file contents had been deleted, and undo had no effect. To my relief, the files were intact when opening them in VS Code. Thinking this was a glitch in WinMerge, I restarted it but still, all files were blank. No contents displayed! Then I thought, perhaps pressing Ctrl + D again would bring the file contents back into view. And it did! So the bottom line is: Pressing Ctrl + D makes the compared files appear as empty. Now, who would want that to happen? What a nice feature, you've got here WinMerge! (I'm being sarcastic in case you missed that)3
-
Github Actions.
A nice feature that can drive you nuts.
"GITHUB_EVENT_PATH: The path of the file with the complete webhook event payload. For example, /github/workflow/event.json."
"github.event_path: The path to the full event webhook payload on the runner."
Well guess what? These fucking variables are completely useless since the path in them is non-existent.
Fortunately /github/workflow/event.json works...but for how long?
Also using header Accept: application/vnd.github.v3+json to download a zip file is masochism.4 -
I love being a consultant, and I love my job. However, I’ve been working with this client for the past few months and the past few weeks have been so draining. 90% of the people at the client’s side are super nice people, and then there’s this one person that just barks orders at us whenever a tiny thing is broken. Everything is urgent, everything is top priority, and we need to drop whatever we’re doing to fix what they deem urgent. I am currently pretty much the only dev doing both support and feature development at the same time and I am getting mentally very tired.
Whenever something is broken we get shit feedback, but for all our efforts there’s never any positive feedback. Mind you, the project isn’t even publicly accessible yet, it’s in a “alpha” phase where there are only a handful of users testing the program.
How do you guys deal with people like this?3 -
Have you ever considered switching to IT support/help desk?
I mean, sometimes I try to analyze my own situation from a 3rd person perspective and I realize I could have a pretty much stressless job with still enough money to live a normal life.
I have a BSc and MSc(soon to have) in CS, with focus on AI/ML. I've always been a geek with a problem solving attitude, that's why I got into computers in the first place. And now I'm pondering if I should just try an IT Support position, it's the kind of things I used to do as a teenager when a classmate had a network/computer problem, it doesn't even feel like a job to me. I could call it a day, get home at 5/6pm, and spend time on my personal projects (software, infosec) with a fresh mind, going to bed (and sleep) knowing that the next day would be a nice one. No clients wanting a new feature that you gotta implement and push on a production server friday afternoon because your ceo(who is also a pseudo proj manager) just said:"Yes, we can", while you watch the technical debt rising like amazon's stocks.
Maybe this is just the burnout talking, I don't know. Maybe I should just try being a software engineer outside of Uni in the first place, and only then start pondering.
Maybe a sysadmin position...
Have a nice day12 -
Background: We switched from just simple old PHP and JS using notepad++ to PHPStorm and its infinite configurables, Symfony 4, Twig, Composer, Doctrine, Yarn, NPM, Bootstrap, ( thank the stars we didn't try to add Docker in with all this ), any other junk I'm missing here? Then upgraded to Symfony 5.
Symfony's autowiring: madness behind the curtains. I get frustrated about when and where I can just magically inject these dependencies or use config variables, you know, like the ones you define in service.yaml. Hmmm, "service".yaml. In a controller you can say getParameter() but in a service you have to inject the parameter, FROM THE "SERVICE".yaml!!! Autowiring drives me nuts. Ok, so we can supply dependencies using the constructor, that's great! Within a controller you never have to instantiate the object you're passing to the constructor (autowiring handles that). That's cool, weird when we you try to trace it for the first few times, but nice I guess. Feels like half-assin' it. What bugs me here is that it only works in controllers... I guess out of the box.. i'm not even sure. To get that feature to work for services you have to make some yaml edits. Right?Maybe? Some of the Symfony tutorials have you code up some junk then trash it. Change config then wipe that out and do X instead... so I have no idea what "out of the box" for Symfony really is.
Found this cool article that describes my frustrations in better terms and seems like a good resource to learn about autowiring. I need to continue my yaml wizardry classes. https://alanstorm.com/symfony-autow...
.....And on to YAMLs, or CSS, or JS or any other friggin' change you make to a file anywhere... Make a change, reload page, nothing... nope you have to do some hidden cheat combo of yarn dostuff -> cache:clear -> cache:warmup -> cache:cache:the:cache ... I really really hate this crap. Maybe I'm too old school for all this junk. It was simple with pure PHP. Edit code, push file, reload page, and oh look it changed! Done. So happy! Ok, Ok. Occasionally the js or css might get cached by the browser and you have to ctrl/f5 or Shift/f5 .. one of those. With this framework there's just so much more that you have to remember to do get some new feature of your site loaded.
Now, I totally get wanting to use some type of entity framework, but I feel like my entire world turned backwards. Designing tables using something like MySQL Workbench made sense. I can see all the columns and datatypes right there as i'm building them. From what I've experienced now with Symfony/Doctrine is you have to make and entity, get a shit-ton of question lobbed at you and if it's a relation field you have to really have a clear idea of the cardinality up front. Then we migrate that to the database. Carefully read through the SQL if you really really just want to use migrations:migrate in Prod. That alter table could cost you some some downtime if your table is large.
Some days man.... -
so, a new day, a new ERP software to rant about:
this one features an email feature (heh) but with a catch.
only pop3, no imap, if you want ssl the software suggest that you use a 3rd party program, also every user has to be logged in by the admin cause they assume the sysadmin knows all passwords cause he has "password lists"
i called them to ask why their software is what it is, they answer "there was never a need to develop an IMAP functionality, SSL would be so much work and it never became a problem that the sysadmin didnt know all passwords"
in unrelated news, does anyone know a nice sub 100K ERP software with CRM, Material Management and Offer/Order Management that runs on a local server and offers german support for a company in the 50 to 500 worker bracket? -
Brackets: https://github.com/adobe/brackets
Ok this one have been bought by adobe but its source are still freely available and you dont have to pay a premium for the full feature.
I really love that editor because of the interface, i mean there is tons of editor and this one is not the lightweighter nor the fastest (in particular on opening). But it is still nice to write code with it and i dont feel like i am torturing myself every time i write a piece of js code.1 -
Today, we can edit comments or post upto 5 mins only to maintain the flow.
But would it make sense to be able to amend comments and post anytime and east way to see publicly the history of edits. This will serve the original purpose while correcting cosmetic changes even after 5 mins.
What do you people think?5 -
Been making minor refactors to code base. Ran into something that resembles and behaves like a brainfart. Accepts arguments, uses them to query DB then completely disregards result and builds own result yielding dubious output.
Dumb as I am, went to investigate the story behind it. Maybe some weird business rules involved.
Git gave commit. 100+ files changed. Nice one.
Went to original story and there it was, clearly stated, like a true moronic decision: "Squash all feature commits to a single commit". No specs, no description, no explanation... Nothing.
Well... FUCK YOU TO!2 -
Microsoft is pissing me off, those idiots are making OneNote an cloud only application.
I use it as a small nice tool to have a bunch of notes on my workstation and a few other PCs in the network, but they have to kill it.
Why woul you even build a desktop app to take notes without the basic functionality of offline notes (or even remove that feature like mycrosoft is doing now)? It seems like they cant imagine that some people might not want their nots to be on someone elses computer all the time...4 -
I have finished my project for a new devrant sdk in swift:
https://github.com/WilhelmOks/...
(Yes, the readme is missing and I will add it later 😅)
And I built it into JoyRant (build 32), which required quite a bit of refactoring.
I think I tested everything but let me know if you find any problems.
You will need to logout and log in again.
The downvote reason feature isn‘t there yet (in JoyRant), but now I have a good basis to add it 😄
Yes, implementing a whole new SDK just for one little feature is overkill, but I had fun doing it and I wanted to have a nice, clean and extensible code base which I can work on in the future. 😌26 -
I'm currently writing a discord bot using the discord.py library and I cannot decide how to structure my code.
I was thinking of writing it in modules, with a core script that would load any valid module class that would include an array of all the event hooks it wanted, whether it wanted to send messages and so on.
It's a nice way to practice python after my last working bot that I wrote in (Sit down for this) PHP using an outdated and abandoned wrapper (Yeah, event-based programming in PHP, I know)
Are there any better ways to do this? I really don't want to hardcode all the functions in, only to have it fall apart later after adding another feature...1 -
so am switching jobs as an Android dev from a company which made android libs (using almost 0 external dependencies and mostly java) to a company which makes android apps( and is probably using either rx/guava/ribs/hilt etc or the more fancy hilt/compose/coroutines/clean-arc etc. its either one of them depending upon the maturity of product)
B2C folks use tons of libraries in favor of delivering fast but learning about those libraries while taking new tasks and fixing bugs CAUSED by those libraries ( or their inappropriate usage) is a big PAIN IN THE FUCKING ASS.
I remember i had once became such a weird dev coz of my prev company ( before the current libraries one, which was also a B2C) .
on weekends i would come up with a nice app idea, start a new android studio project, and before writing a single line of useful code, i would add a bunch of libraries, gradle scripts and extensions .
that ocd will only settle once all the steps are done and i can see a working app after which i would write the code for actual code for feature implementation.
granted that these libs are good for creating robust scalable code, but most of the times those infinite kayers of seperation, inheritance and abstraction are not really needed for a simple , working product.
:/
i have also started reading about rxjava , and although i am repulsive to this library due to its complicated black box like structure, i find its vast number of operators nd built in solutions very cool.
at the end of the day, all i want is to write code that is good enough for monkeys, get it shipped without any objections and go back home.
and when you work on a codebase that has these complicated libs, you bet your ass that there will be thos leetcode bros and library lover senëõr devs waiting to delay the "go back home" part 😪2 -
Questions to other freelances out there.
I suppose it's a common occurrence to be involved in some project, asked to add some feature or modify something, and then looking at the source and find an unmanageable burning mess.
If upon such a discovery you decide you're not taking the job - for example, given the situation you need to charge quite a lot more and the customer cannot pay the appropriate amount - how do you go on explaining your reasons?
You just go out directly telling them about the dire situation of their codebase? Try to find a nice way of telling the truth? Make some excuse (cannot because personal reasons)?
Just curious2 -
wish AIs were good at rust, borrowing rules, and async 😫
is it possible to have a impl of async &mut self on something that's gonna thread and update its own data via Arc Mutex or whatever or not
stop making syntax errors
guide pls
nobody uses rust, I swear. or at least they just do basic bitch "beginner" apps. please. get with the times and actually do something meaningful that's not picture perfect theoretical exercises. how come no one's RNG tested every feature against every other feature? where's your chaos monkey. the world is chaos! get with the times!
it would be nice if I stick this on the instance as a method but it _might actually never work_ if I try that so I don't wanna spend 3 days wrangling with the code to figure that out when I have a perfectly good dangling independent helper function in a random package here. gosh darnit
also apparently the only way to get something out of a Arc Murex is to clone it. but the API / usability of the thing would be exactly the same whether it was wrapped in Arc Murex or not. so it's like. if it was in Arc Mutex and you wanna use it in other parts of your app that aren't using multithreading in any way, are you just changing all the function signatures to Arc Mutex or are you cloning to get it back out? uegh I don't even. what if I mutex lock and just put that in the signatures (can I even? because I've tried using weird intermediary objects as part of signatures and then I get in trouble there too cuz arbitrarily the answer is "no" because some generic system limitation)? why all of this
May as well learn hieroglyphics but with French/English grammar exception rules on the side. yo dawg we heard you hate human languages with all their exceptions so we made programming languages the same way46 -
Working with a tester that scope creeps and then “fails” the tests because they did not live up to the scope that the person added just now............. Man, that grinds my gears.. And then reaches out in order to verify whether a feature could be nice to have, and when I agree, she slams it in as a scope creep on another feature and “fails” the test.. Going slightly crazy here2
-
feature request / suggestion / wish:
i would love to "reblog" posts, or any other way they will be visible in my profile ("mark as favorite", "star"...).
the idea behind it is to have a nice little collection of posts i want to keep available to me.
i even have a suggestion for naming the action: "inherit post" ;)
hopefully i did not just miss an already implemented feature :P4 -
!rant
How to market an app?
So I am working on this very simple app. It has more or less one feature and also a quite limited target group. I make the app mostly for myself because I need this one function that it has but it would be nice to get a few bucks out of it (after I get the bugs out of it). I can't tell you what the app does (I realize I sound one of those "like facebook but..." people) but imagine those really simple apps like the many water level apps you can find in the app store but only musicians will ever need it.
So here is the question: should I limit functions and show adds and sell a pro version or only offer one version and always show adds? It will be a handy tool for those who really use it so maybe someone would consider buying it. On the other hand, the features are way too cheap to spend money on (who would buy a flashlight app?).
Thanks for your help!1 -
!rant !dev
So, following up my last rant.
https://devrant.com/rants/2433162
I quit on Friday, this is what I said to my bosses.
"In the last week I had, 2 panic attacks, and I have 2 theories for this, one is that I have underlying psychological problems, the other theory is that we are under an impossible task, I choose to say now that I have to quit because I have psychological issues, but if you are willing to hear my other theory, that involves saying that meeting the deadline is not viable, then I can tell you that, so do want to listen that part?.
Bosses: No, we heard enough, we are going to have your contract terminated in order, and we will let you know when you can come and pick your paycheck."
So, that's them. Now about me and how I re-discovered GTD, or more precisely how I organized my whole weekend using taskwarrior with GTD, and why I think is going to be useful as a freelancer.
Before I feel good about telling you about my weekend I have to tell you a few things about myself.
I am a very impulsive person, I have a lot of energy in short surges, so I have to be able to maximize my activity when I'm in a surge, and I have to maximize my rest when I am not.
That's hard to do, it requires a balanced lifestyle, I am also very prone to being neurotic, and overwhelmed by the amount of stuff that I want to do.
And on top of that, when I am resting, I have surges of things that I want to have, do, or implement, it could be software related, as "Doing an app that will be the Uber of home services", to house improvements like, "I have to fix that leaking roof", and all the sort of stuff that happens in between hardware and software. That surge of consciousness doesn't allow me to have the proper rest that I need before I engage with activities again.
Because of this I have a very cyclic rhythm, with whole weeks burning my energy into doing stuff, and weeks resting doing very little and thinking too much.
Now about my weekend. Friday night I was browsing the web, and a thought came to my head. "The way you use your terminal, says a lot about your personality", and I got curious, so I searched for, "Show me your terminal", and found a post in dev.to to see all kind of nice terminal setups, from the very minimalist to very feature rich oh-my-zsh themes with plugins for git, aws and what not. One of these pictures really got my attention, a guy had set up his terminal to show him, how many task has he done in the day, and how many cups of coffee has he had.
So by investigating how he set up his terminal to show in the prompt the number of successfully completed tasks in the day, I found out that he was using taskwarrior, he was also kind enough to share the source code of his prompt setup, which I bookmarked to later incorporate that into my oh-my-zsh config.
After reading about taskwarrior, I also got a reference to GTD, I don't remember if this was one of those thoughts that I have and follow immediately, or if I read something that led me to a YouTube video summarizing GTD.
In the end, after watching that GTD video, I decided to give it a try to organize my life, and help me find a remote job, keep my house in order, plan my social activities as "hang out with friends", "visit mom and dad", and give the proper amount of attention to my GF, with whom I am deeply in love, and willing to spend the remaining of my years with her.
So my fist task was.
task add Ask for GF's parents blessing.
Which of course I have no intention of doing right now, but is one of the things that I will eventually have to do.
Then it started, I started adding tasks, and things to do, and go through the whole Capture phase of GTD.
Now it is a good time to write a small summary of what I think GTD is.
GTD is a life habit of organizing your life in todo-lists. And it was a very specific core method, that in the video summary that I watched was called CPR.
Capture, Process and Review.
Capture:
When you capture you just add your tasks to a bucket list.
So I took a notebook and started writing down everything that I wanted to have done. I also started to capture ideas as they came up to me, I did this by writing a telegram saved message in my phone, or directly adding it as a task in TW.
Process:
I read my telegram messages and put them into my task warrior list, then I started to organize my tasks into projects, breaking down every task that was not an atomic unit.
* And different projects started to emerge from this. One of them was project:Housekeeping.
And here's my screenshot of what I did this weekend, also the number of projects that I have, and all the things that I have to do in order to have what I think would be a very balanced, fun, and productive life.
You'll be able to see in the screenshot, that there's a blocked task, yes, tw allows you to organize dependencies too, so one task is delegated, and blocked by the delegation task.1 -
I've been thinking, and i feel like being the bad guy... So, for now, I'm also an "idea guy" if you know what i mean...
Idea: This site could have a feature like "product recommandations" (just like long rants or something [tyical idea guy saying]), where users could recommend stuff like programs, peripherials, or anything dev related.
This could be done using tags, like certain tags would get sorted into the "product recommandations".
Sounds nice, doesn't it?
(PS.: We should also make a site which is like google, trust me, it would make millions...) -
I think for this one i had higher expectations which let to me being disappointed. Was a fun experience nonetheless.
So i am junior dev in a bigish company and i am pretty comfortable where i am, its challenging enough and fun enough. Pay is fine nothing out of ordinary but perks are nice.
But this job is the one i got out of college and it did feel that i got really lucky as i was preparing for leetcode and what not but the interviewer was pretty linient and asked me technical questions out of my cv. The questions were mostly about what i used and all felt quite easy and i was offered a role with a decent salary. Since then i have been working and learning and thing been pretty stable.
Recently i was hinted at a promotion by my manager so i have been working towards that. I have in the past got a lot of messages on LinkedIn from different recruiters but never tried because i was satisfied with my job and my visa condition made it a little tricky to hope jobs ( i work in eu as a non eu citizen). But i did fantasize that if i could just get an interview with a decent company and clear the technical round without much preparing and get offered a decent package just to inflate my ego and maybe use that to increase my current package.
So i got another message on LinkedIn and a startup was looking for a developer and i gave it a go. I asked the recruiter what is the expected compensation and he instead asked me. I said i want a big enough increase tk even consider leaving my comfortable spot, so i am looking for more than 35-40% increase If they can then i am willing to try. The recruiter said that their range is between 25-35 but can try 40 if the interviews goes well.
I went ahead with it and gave the interview, the first one was simple and the next one was supposed to be technical and was told its not leetcode but i will have to implement a feature into a project live on the video call. Which i did with some success, i was quite clumsy but i was able to do it with tests passing sl i guess that was fine.
I was really happy that i didnt prepare much and still passed a tech interview. I was recently told about the offer, its around 40% more than my current but there are no yearly bonus or even health insurance. If i consider the bonus and health insurance then the offer becomes like 20% increase. Considering i am already expecting a promotion and some salary increase this offer seems really lack luster.
Just wanted to talk about all this, can you get a really big jump generally or is it only 15-25 ?1 -
Sticking with emacs as my favorite editor. Navigation within files is easy. Working on multiple files also. I don't have to leave my editor to use the shell and can manage my filesystem as well. And the most important feature for me is tramp. When working with distributed systems it is pretty nice to access the remote filesystems from your local machine.
-
Everyone here rants about clients, and as far as I understand frustration, I understand client's side too.
For 2 years I have developed a tool for our company, my manager was responsible for outcome and was directly accountable to company's management, which made him a client for our product. Of course requirements changed many times, he pressured us much, but he is nice guy and gave us knowledge why we had to change things again. We had meetings with him, HRs, PMs and others to gain requirements for features to implement and that made me better understand client's point of view.
My point is that when you work for external companies, you only see changing requirements, pressure, deadlines, etc, but don't think that your work is just a part of process - your client is responsible for your delivery, wants to make good impression on superiors or company needs some feature ASAP. He does not have to know tech stuff, he wants outcome to be good and to be fast and cheap - that is business.
And yes - we had to tell people that X is impossible many times, had to tell Y people how things work over and over. It may seem easier when it is your own company, but note that every single employee knew that you developed that tool and you have answers for his questions. -
What's the minimal feature set that can make a language as ornamented as JS into a comfortable REPL?
Should I write a full parser or should I try to patch my way around with regex?
It will have to interface a lot with JS so it has to be able to manage JS datastructures in some fashion, which means that I can't just make a whole new command line with its own programs.
My current plan:
Some delimiter (probably a semicolon) will take the output of a command and inject it in the next in case you decide halfway through a line to do some more processing, It also awaits promises and does some other nice stuff to make controlling such pipelines easy. I have an elaborate system in mind to decide where a value must be injected to make the line valid so in most cases you don't even have to indicate it. JS has beautifully simple syntax rules so I have a lot of technical balance to burn before I start building technical debt.
I have some ideas for automatic parentheses and commas in function calls. I realize while using a command line you do not want to tap shift often. My main idea here is that two names or values in js are always joined by an operator so the first missing operator is a call and following missing operators are commas until the end of line. This has lots of nasty edge cases though, like that no argument expression can begin with a unary operator or a bracket of any shape. You can always prepend a comma but it's cognitive load.
Anyway, do you have any suggestion or warning besides "js bad" which I know but it's the most popular sandboxable language and has a massive existing set of libraries which I kinda need.3 -
Fuck! I frkn hate supabase right now.
Row Level Security seems like a nice feature but it does not fckn work for me. -
Some really motivated guy.
He apparently wants to monitore his opensource application on his spare time.
His application is likely to have no users though.
But well, that guy looks like kinda montivated.
For professional purpose, guy already did monitore with newrelic.
Seems like he was not satisfied and switched to datadog 3 years ago.
But liking digging dirt, he migrated to self hosted telegraf/influx/grafana (which he likes to about)
Today that guy is not in his company but on his potatoe machine in the cloud. So he wants to be minimalistic, datadog should do.
Now you got it, random ff*** is me, on a weekend, a shinny saturday for that matter.
Actually now it is night.
Now let's start the fight.
I have datadog scripts!
But datadog be sneaky as well. datadog upgraded to v6 8=)
-> scripts ain't working. outdated.
I check the logs. Too bad!
-> datadog removed dogstatsD.log in v6!
Well I have nothing to do in my life it is too cold outside as they say. I read the (sluggy) datadoc and tries some shell command (given in doc) to upload some events to dogstatsd (via udp).
-> Nothing happens, neither in local nor in remote.
ok maybe command not up to date, so let me try some official library. datadog from python. Feels like a nice try!
-> only available for python >= 3.5. 3.4 on my good ol' jessie. Upgrading os for datadog not acceptable.
Maybe dogstatsD not started... doc says it is by default, but well, not the first time doc is wrong... I put datadog as log verbose. Guess what: as per standard: shitload of error.
Digging... kubexx, docker and whatsoever apparently preventing collector to do its normal stuff
np, I am gonna check that on github! Goog, people have the same errors. They seem to fix it by trying some settings, with. or without luck
-> I am not that warrior to check every stuff
Ok, let's stop the datadog events, it works. It does not anymore. You know that sentence. We all know it.
Still not enough!
How about testing that uber super nice feature of v6. The logs. After all I want to make events out of my applicative logs.
How about reading the log again. Configure the yaml log as they say. Done. Make some pattern. Read the best practive. Done. Configures the yaml. Done. Now testing.
-> remote datadog interface be like: no logs for you dude you need to pay
ff***f*f*f
Fuck datadog, fuck that v6 version, good old tail -Fxx | someaggreate.js|sendmail will do... -
Hitting every. single. fucking. dead end on my unstoppable march to introduce a nice feature.
I'm trying to embed interactive svg maps in a Wordpress page in such a way that the areas can be edited intuitively using Inkscape and all the page does is inline the xml markup, but also there's a JPG background embedded in the picture which Wordpress finds too big for markup (unsurprisingly) but which is a pain in the ass to reference externally.