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 - "predecessor"
-
According to my predecessor, nothing showcases your SQL skills quite like generating the entire page (markup, JavaScript and all) from a single 2500 line query.7
-
Sports commenter at AI vs AI deathmatches.
It would probably go like this:
- UltimateGod the Second launches half of the US nuclear missiles to NorthernEurope!
I guess that's it for the poor bugger.
- WankerBot69 tries to delay its doom by channeling old 4chan archives into a devastating ddos attack. UGtS' logic processe go down for a few nanoseconds... Ugh, that's NASTY! It doesn't even have a mother
- Missiles still going up. Looks like UGtS confused the imperial and metric system just like its predecessor.
- WB69 is now has the upper hand. It just used a SMB exploit and is bow encrypting UGtS's storage.
- UGtS is down. We all hope UltimateGod the third will do better. For now, all hail our catevolent overlord WankerBot69.
- See you next time on Bot Armaggedon folks! -
According to my predecessor, naming variables is easy. You just hang a poster of the alphabet on the wall and start throwing darts. The letter you skewer is your next variable.
If you run out of letters, start again - but dual wield the darts1 -
Just now I realized that for some reason I can't mount SMB shares to E: and H: anymore.. why, you might ask? I have no idea. And troubleshooting Windows.. oh boy, if only it was as simple as it is on Linux!!
So, bimonthly reinstall I guess? Because long live good quality software that lasts. In a post-meritocracy age, I guess that software quality is a thing of the past. At least there's an option to reset now, so that I don't have to keep a USB stick around to store an installation image for this crap.
And yes Windows fanbois, I fucking know that you don't have this issue and that therefore it doesn't exist as far as you're concerned. Obviously it's user error and crappy hardware, like it always is.
And yes Linux fanbois, I know that I should install Linux on it. If it's that important to you, go ahead and install it! I'll give you network access to the machine and you can do whatever you want to make it run Linux. But you can take my word on this - I've tried everything I could (including every other distro, custom kernels, customized installer images, ..), and it doesn't want to boot any Linux distribution, no matter what. And no I'm not disposing of or selling this machine either.
Bottom line I guess is this: the OS is made for a user that's just got a C: drive, doesn't rely on stuff on network drives, has one display rather than 2 (proper HDMI monitor recognition? What's that?), and God forbid that they have more than 26 drives. I mean sure in the age of DOS and its predecessor CP/M, sure nobody would use more than 26 drives. Network shares weren't even a thing back then. And yes it's possible to do volume mounts, but it's unwieldy. So one monitor, 1 or 2 local drives, and let's make them just use Facebook a little bit and have them power off the machine every time they're done using it. Because keeping the machine stable for more than a few days? Why on Earth would you possibly want to do that?!!
Microsoft Windows. The OS built for average users but God forbid you depart from the standard road of average user usage. Do anything advanced, either you can't do it at all, you can do it but it's extremely unintuitive and good luck finding manuals for it, or you can do it but Windows will behave weirdly. Because why not!!!12 -
My predecessor used auth as a bool. The only way he kept basic users from accessing admin functions was by including the word "admin" or "user" in the URL so any user could be the administrator by just changing the URL parameters after logging in
For example, mysite.com/admin/editorderdetails vs. mysite.com/user/editorderdetails -
My friend left his project work and I undertook it. Contained a mysterious folder named " open only when you get frustrated".
When the time came, I opened it and saw a text file along with a folder. The text file says, "Blame the predecessor for the code", and the folder was named, "open only when you get frustrated next time".
When the time came, it contained yet another text file along with a folder. The text file says, "Blame the project owner", and the folder says, "open only when you seriously get frustrated".
Finally, the time came, the folder contained only one text file, and to my surprise, there wasn't any folder. The text file says, "TIME TO MAKE THREE NESTED FOLDERS".1 -
Dat moment when, after some hard work, you can finally delete that abomination your predecessor left you as a present...
-
3 weeks into a new job I learned that my predecessor (who resigned and was out the door two days after I started) didn’t know how to secure s3 buckets when all of our production image assets got replaced with elder porn.
Jury’s still out if it was actually him the whole time.1 -
A few months a couple of my colleagues, a business consultant and a developer, worked on a big project. The project capsized because the client is an A-hole and the developer was way over his head.
To save the project I was brought on board. The entire code base was a fucking mess of duplicated code. Shortly after, the developer called in sick with stress, simply because the whole thing was too much.
Fast forward to now; we just launched. The client is expressing concerns about the quality of the work because of the bumpy road (rightly so). I try to explain why my way of doing things is better, but to "paint the picture" I had to compare my approach to my predecessor. This results in the business consultant shooting me down, right in front of the client.
I fucking saved your job, your project, and about $1M in profits. I'm allowed to tell the story of why my incompetent coworker messed everything up.
I'm so done walking on egg shells because some just don't realize they are not cut out for software development.2 -
Aaaaargh!! When your predecessor decides to incorporate (in an already technology too diverse project) another 5 new frameworks just to add an 'one pager app', that has a grid display of some data and almost no other functionality.. o.O FML!! Oh and also this page looks totally unlike other parts of the software.. yay!! :/
-
And here's that app.css single file that my predecessor left for entire project. It's the second work he left a treat for me.
Kill me please.
Btw the code looks like it's been written by a second grade kid...4 -
Instead of using MVC framework (like Angular), my predecessor preferred typing all the data the hard way.... The number of lines were like 2000 (in html...)3
-
If you like scripting I can recommended you Perl6.
It may be no as popular as other languages or its predecessor, but its definitely worth a try.
Its also and excellent replacement for Shell-Scripts.2 -
Just graduated, first real internship.
So basically I'm the only one who do what I'm supposed to do, nobody can help me because they are on project that are totally different. Even my superior who hired me don't know what my predecessor exactly did, he just gave me his gitlab and said "continue... Whatever this shit was".
So I'm alone and the code of my "predecessor" doesn't work obviously because the half of the files are missing, the code has no explanation and he's not joignable. I have to build an algorithm of deep learning from scratch and to do a presentation in one month to explain to everyone why I'm not useless.
Is it really like this everywhere?? Is it the reason why DevRant was created??
I read the quotes when I was in school like "oh no c'mon that really never happened". Foolish boy I was..
But there's nice coffee6 -
My org (of which i'm basically CTO) has this administrative tool that a team uses to combat spam and scams, which is quite the problem for us.. the tool was written like 9 years ago, by my predecessor, very quick & dirty and unaesthetic and without input from those who would use it as far as interface or UX... it got modded a little a few years later by a kind of amateur coder who was at the time on the spam control team, and now there's this new maybe slightly less amateur coder guy on the team who has written this amateur tool that scrapes data off our site and massages it and stores it on his own server and then provides a better interface, or so they say.... this is all because for a couple of years people didnt want to "bother me" with a request to improve our internal tool, they thought I was "too busy" doing other things... so instead this outsider has built this stupid thing that lives on his own personal server and so now we have these problems to do with performance, security, privacy for user info, etc etc... someone please shoot me....1
-
I will soon move to Belgium for a few months due to my wife's job and I will go back to Germany once in a while for a few weeks. Of course I'll need a computer and I can't take my tower back and forth all the time, thus I'll need something more mobile. Since most notebooks <1000€ are shit and I'll also need at least two external monitors, I went for a small (USFF) PC instead; for about 350€ I got a HP ProDesk 400 G5 with a i5-9500T, 8 GB RAM (to be upgraded), 256 GB NVME (also to be upgraded), B360 chipset. I would have liked a Ryzen, but then I could only get the predecessor with a 2400GE...
Hopefully Linux (Qubes OS in particular) will work fine.20 -
That moment when your predecessor was working on his private MacBook and you realize you're gonna have to compile and test this iOS app through an OSX virtual machine on a iPhone emulator2
-
My coworker, whom I attempt to mentor when I am not frustrated and impatient, is refactoring one of our smaller programs. It uses modern MVVM practices, unlike the dilapidated crap we inherited from my predecessor and the lazy asshole that was me 3 years ago. I am excited to see what he learns and what he can teach me, maybe he will finally understand my shortcomings as a mentor.
-
Started a new role as a single handed Dev/analyst in a small company. Discovered by predecessor had left no handover notes on his (unnecessarily complex) weekly reports, or indeed on the table structure of any of the systems.
The three weeks into the role the managing director gets sent to prison!
For fraud.
I left...... quickly.1 -
Gotta love people. Recently I finished a small program to check the timetable because the predecessor app died. Make a release, get the link, send the link to the FB group (I don't use FB much anymore). Some likes, some comments, some shares, some bugs, nothing awful.
IF IT'S NOT THE 20 COMMENTS GOING "WHAT THE FUCK ARE YOU A WEABOO TRASH?" because of __BOTH__ my GitHub pfp and FB pfp. God fucking dammit why can't you just ignore the pics and click the damn link like normal people do?? NOPE! NOT GONNA DO THAT UNTIL I SHAME THE DEV TO HELL FOR LIKING ANIME GIRLS!!5 -
Getting along woth my incompetent boss. I have 4 bosses and 3 of them are great, 1 of them got an email from me this morning detailing why he stresses me out and was the reason my predecessor quit.5
-
pros of working on a full C++ project:
Time to browse XKCD while it is building to fix a small bug my predecessor made. -
Currently introducing two coworkers to 180 kloc written by my predecessor over 5+ years time with tons of magic constants. I've been on the project for 5 months and don't know anything. They asked for the documentation and I gave them the look.
feelsbadman.jpg -
My work product: Or why I learned to get twitchy around Java...
I maintain a Java based test system, that tests a raster image processor. The client is a Java swing project that contains CORBA bindings to the internal API of the raster image processor. It also has custom written UI elements and duplicated functionality that became available in later versions of Java, but because some of the third party tools we use don't work with later versions of Java for some reason, it's not possible to upgrade Java to gain things as simple as recursive directory deletion, yes the version of Java we have to use does not support something as simple as that and custom code had to be written to support it.
Because of the requirement to build the API bindings along with the client the whole application must be built with the raster image processor build chain, which is a heavily customised jam build system. So an ant task calls out to execute a jam task and jam does about 90% of the heavy lifting.
In addition to the Java code there's code for interpreting PostScript files, as these can be used to alter the behaviour of the raster image processor during testing.
As if that weren't enough, there's a beanshell interface to allow users to script the test system, but none of the users know Java well enough to feel confident writing interpreted Java scripts (and that's too close to JavaScript for my comfort). I once tried swapping this out for the Rhino JavaScript interpreter and got all the verbal support in the world but no developer time to design an API that'd work for all the departments.
The server isn't much better though. It's a tomcat based application that was written by someone who had never built a tomcat application before, or any web application for that matter and uses raw SQL strings instead of an orm, it doesn't use MVC in any way, and insane amount of functionality is dumped into the jsp files.
It too interacts with a raster image processor to create difference masks of the output, running PostScript as needed. It spawns off multiple threads and can spend days processing hundreds of gigabytes of image output (depending on the size of the tests).
We're stuck on Tomcat seven because we can't upgrade beyond Java 6, which brings a whole manner of security issues, but that eager little Java updated will break the tool chain if it gets its way.
Between these two components we have the Java RMI server (sometimes) working to help generate image data on the client side before all images are pulled across a UNC network path onto the server that processes test jobs (in PDF format), by reading into the xref table of said PDF, finding the embedded image data (for our server consumed test files are just flate encoded TIFF files wrapped around just enough PDF to make them valid) and uses a tool to create a difference mask of two images.
This tool is very error prone, it can't difference images of different sizes, colour spaces, orientations or pixel depths, but it's the best we have.
The tool is installed in both the client and server if the client can generate images it'll query from the server which ones it needs to and if it can't the server will use the tool itself.
Our shells have custom profiles for linking to a whole manner of third party tools and libraries, including a link to visual studio 2005 (more indirectly related build dependencies), the whole profile has to ensure that absolutely no operating system pollution gets into the shell, most of our apps are installed in our home directories and we have to ensure our paths are correct for every single application we add.
And... Fucking and!
Most of the tools are stored as source bundles in a version control system... Not got or mercurial, not perforce or svn, not even CVS... They use a custom built version control system that is built on top of RCS, it keeps a central database of locked files (using soft and hard locks along with write protecting the files in the file system) to ensure users can't get merge conflicts by preventing other users from writing to the files at all.
Branching is heavy weight and can take the best part of a day to create a new branch and populate the history.
Gathering the tools alone to build the Dev environment to build my project takes the best part of a week.
What should be a joy come hardware refresh year becomes a curse ("Well fuck, now I loose a week spending it setting up the Dev environment on ANOTHER machine").
Needless to say, I enjoy NOT working with Java. A lot of this isn't Javas fault, but there's a lot of things that Java (specifically the Java 6 version we're stuck on) does not make easy.
This is why I prefer to build my web apps in python or node, hell, I'd even take Lua... Just... Compiling web pages into executable Java classes, why? I mean I understand the implementation of how this happens, but why did my predecessor have to choose this? Why?2 -
I hope people who store data in unstructured binary format without documenting what the the actual logic is have a separate room in hell.
I hate this legacy s***pile of visual basic code that has this abbreviated function names everywhere and the 'developer' (really should be name jack***) instead of documenting his custom solutions just thought out some custom data formats and wrote really long and bad code around it to transform and decode it. Clr sql makes it impossible to debug so wherever you are my dear predecessor I hipe you rot in hell2 -
So we used to build these awful "promotion" pages for a leading manufacturer in the area. Because the website was old as dirt, there was no CMS and everything was static html using Coldfusion for a few include files like for the nav and such.
Every year we would get a new project to tweak the promotion details a little, and change the year from 2011 to 2012, etc.
My predecessor put the digit "1" in an HTML file called year.html, then included it like:
"valid from January 1 though December 31, 201<cfinclude template="year.html">..."
Why? Just why? And if you're going to use include files, for Pete's sake at least use the proper .cfm file extension!1 -
I fucking killed my hard drive by installing the guest additions in a Windows VM! Everything freezed and crashed suddenly, how the hell is that possible? How can Windows fuck everything up, even in a VM??
(Probably wasn't Windows fault, that makes me even more angry).
This hard drive wasn't even two months, his predecessor died heroically in a tragic magnet incident :(3 -
Writing an embedded webserver recycling code that is in use for a few years now. Can't get my ’getStatus.ssi’ working. Turns out ’statusTag’ cannot be used and for the last couple of years noone cared that the status field was empty.
That's the first time I did such a thing and it took me only one unpaid (!) day to debug that piece of crap thinking my idiotic predecessor delivered halfway working code.
Is verifying and communicating broken code really that hard?1 -
Has anyone ever resumed at a new place and was impressed by the code inherited from their predecessor? If yes, did you see any need to communicate this information to the admin or the superiors he left behind?
For as long as I delved into code quality, I've taken great pride in my work and have been enthusiastic to show it off to anyone who cares to listen. I'm morbidly afraid of a colleague berating my work over something I didn't do correctly or don't know. But none of those I've worked with have that kind of time for pedagogy. The only thing I've witnessed them care about is how much your code breaks, to what extent your endpoints break, etc
Does this make code quality practically an overrated metric? All your fancy oop patterns and clever algorithms or business logic basically goes unnoticed. The business cares about output and your colleagues are more concerned about implementing their deliverables.
Is this just my experience or a more general situation of things?7 -
Too early in the year for goals so far, but I'll give it a shot. Here's what I'm gunning for in the short-term:
Week 85 - 2018 Dev/Coding Goals:
- Continue educating myself in the Rust programming language (I feel like I dropped the ball there last year, Rust is easy to get programmer's block because it's syntax isn't always clear what should be done with it and/or why, the references. Ugghh fml).
- Get feature parity of PYXReloaded with it's predecessor, and get most of the planned features implemented. Friends of mine really want this and like screencaps I've sent already. It's a project I've been working on with @Gianlu for the past few days.
Week 85 - 2018 General/Personal Goals:
- Get over my motivational issues.
- Get over my depression/loneliness
- Get over my social anxiety.
I'm trying to better myself, both in coding and personal life. I fucking love this community. I used to use Reddit to find posts exactly like the ones here, but this is wayyy better and has everything all in one place.
Have a prosperous 2018, guys. Remember not to look at what you want to get done in just 365 days. You need to see the big picture. -
Anyone on here familiar with labveiw
My school's robotics team uses it and I'm now in charge of programming and my predecessor 'forgot' to teach me or anyone else the basics 😒😒
The team is for the FIRST robotics FRC competition
Some resources to learn a decent amount quickly would be appreciated
Thank you for your time
Please help I want to start learning before February when building begins (or is it January (I don't know anymore)) -
It's these individually tiny annoyances in products and software that together form a huge annoyance.
For example, it's 2022 and Chromium-based web browsers still interrupt an upload when hitting CTRL+S. This is why competition is important. If there was no Firefox, the only major web browsers would, without exception, have this annoyance, since they're all based on Chrmoium.
I remember Chromium for mobile formerly locking scrolling and zooming of the currently viewed page while the next page was loading. Thankfully, this annoyance was removed.
In 2016, the Samsung camera software was updated to show a "camera has been opened via quick launch" pop-up window when both front and rear sensors of the smartphone were covered while the camera was launched by pressing the home button twice, on the camera software Samsung bundled with their custom version of Android 6. What's more, if that pointless pop-up was closed by tapping the background instead of the tiny "OK" button or not responded to within five seconds, the camera software would exit itself. Needless to say, this defeats the purpose of a quick launch. It denies quick-launching while the phone is in the pocket, and the time necessary to get the phone out could cause moments to be missed.
Another bad camera behaviour Samsung introduced with the camera software bundled with their customized Android 6 was that if it was launched again shortly after exiting or switching to stand-by mode, it would also exit itself again within a few seconds. It could be that the camera app was initially designed around Android 5.0 in 2015 and then not properly adapted to Android 6.0, and some process management behaviour of Android 6.0 causes this behaviour. But whatever causes it, it is annoying and results in moments to not be captured.
Another such annoyance is that some home screen software for smartphones only allows access to its settings by holding a blank spot not occupied by a shortcut. However, if all home screen pages are full, one either needs to create a new page if allowed by the app, or temporarily remove a shortcut to be able to access the settings.
More examples are: Forced smartphone restart when replacing the SIM card, the minimum window size being far too large in some smartphones with multi-windowing functionality, accidental triggering of burst shot mode that can't be deactivated in the camera software, only showing the estimated number of remaining photos if less than 300 and thus a late warning, transition animations that are too slow, screenshots only being captured when holding a button combination for a second rather than immediately, the terminal emulator being inaccessible for the first three minutes after the smartphone has booted, and the sound from an online advertisement video causing pain from being much louder than the playing video.
Any of these annoyances might appear minor individually, but together, they form a major burden on everyday use. Therefore, developers should eliminate annoyances, no matter how minor they might seem.
The same also applies for missing features. The individual removal of a feature might not seem like a big of a deal, but removing dozens of small features accumulates to a significant lack of functionality, undermining the sense of being able to get work done with that product or software when that feature is unexpectedly needed. Examples for a products that pruned lots of functionality from its predecessor is the Samsung Galaxy S6, and newer laptops featuring very few USB ports. Web browsers have removed lots of features as well. Some features can be retrofitted with extensions, but they rely on a third-party developer maintaining compatibility. If many minor-seeming features are removed, users will repeatedly hit "sorry, this product/software can not do that anymore" moments.