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 - "wk118"
-
Under settings, we made a checkbox labeled “Run Program Faster”. The state was saved but it didn’t do anything.
We turned it “on” when people said things were slow. Usually they were happy and no one complained the “run faster” option wasn’t working.29 -
I had to add a "I'm not a robot" checkbox to protect an email address written in a page reachable only from our intranet. Boss asked, I executed.7
-
When I worked for an online dating app, at one point we had the ridiculous idea to try to take a popular LinkedIn feature and convert it to a dating app feature in order to capitalize off of the success LinkedIn had with it.
The feature was LinkedIn endorsements. The idea was to allow the dating app users to get endorsements from people in their contacts lists on certain traits/features from a defined list (ex. Funny, smart, etc.). It wasn’t a terrible idea on the surface, but the way we planned to execute on it was insane and everyone knew it was going to fail. To avoid any controversy all of the endorsable terms were watered down to the point where no one would ever find using them/asking their friends for endorsements to be any fun. And the worst part was how we planned to get people to ask their friends for endorsements - management wanted us to build a contact list importer and just spam email contacts with “please endorse me” emails. The whole thing was ridiculous.
No one, including myself, wanted to build the feature/spam tool but management really wanted it so we had to build it. Like expected, it failed very quickly when it was clear no one cared about getting their real life friends to endorse them on some dating app, and the spam contacts took was ineffective and... spammy.10 -
I added a “shake-to-snow” hidden feature to an iOS app that worked only on December 25th. You’d shake your iPhone or iPad and the entire screen would start snowing for 10 seconds.7
-
Early in my career I was assigned the task of implementing a 3D pie chart into our application that you could spin and rotate with your mouse. You know, because sometimes you want to see the sides and the back of a pie chart.4
-
Not mine but an error message in a game when you're trying to logout:
"You're currently not logged in. Please log in to log out."
Logically valid though1 -
Built a few php scripts allowing me to automatically download pics and videos from a porn'ish site.
Entirely unnecessarily and I hardly use it (I can just go to the site) but hey, automation is fun!22 -
Not one feature.
All analytics systems in general.
Whether it's implementing some tracking script, or building a custom backend for it.
So called "growth hackers" will hate me for this, but I find the results from analytics tools absolutely useless.
I don't subscribe to this whole "data driven" way of doing things, because when you dig down, the data is almost always wrong.
We removed a table view in favor of a tile overview because the majority seemed to use it. Small detail: The tiles were default (bias!), and the table didn't render well on mobile, but when speaking to users they told us they actually liked the table better — we just had to fix it.
Nokia almost went under because of this. Their analytics tools showed them that people loved solid dependable feature phones and hated the slow as fuck smartphones with bad touchscreens — the reality was that people hated details about smartphones, but loved the concept.
Analytics are biased.
They tell dangerous lies.
Did you really have zero Android/Firefox users, or do those users use blocking extensions?
Did people really like page B, or was A's design better except for the incessant crashing?
If a feature increased signups, did you also look at churn? Did you just create a bait marketing campaign with a sudden peak which scares away loyal customers?
The opinions and feelings of users are not objective and easily classifiable, they're fuzzy and detailed with lots of asterisks.
Invite 10 random people to use your product in exchange for a gift coupon, and film them interacting & commenting on usability.
I promise you, those ten people will provide better data than your JS snippet can drag out of a million users.
This talk is pretty great, go watch it:
https://go.ted.com/CyNo6 -
In my previous job boss wanted me to implement all features found on WhatsApp 🤦🏼♂️
I'm lucky I found another job two months later4 -
On a website, which is still online, I added a burping sound when you click on 3 old alpine herdsmen who sit on a bench in the background image.14
-
In our self-developed intranet, i added a hidden script that fires an 'event' when you enter the konami code.
Said event it's simply turning thw screen contrast to 200% and play the audio of 'omae wa mou shindeiru'.
I was planning to make some more of those, but i don't have the time to do them ;_;6 -
I made a setting that hides your messages in a group chat. The UX guy said it would "cut down noise" to only see what others are saying.
I would like to tell you that I did this thing at gunpoint, but the truth is I did it out of malice. Sweet, sweet malice.
When the community reacted with the expected, uh, reaction... the UX guy got all the credit he deserved.
Sweet, sweet malice.4 -
in python script; a for loop inside a recursive function to slow down stdout. i don't know time.sleep(n) back then4
-
My first rant was about this topic.
I once made a program using C++ which would allow you to make HTML pages.
I made a menu using switch () like this:
1. Add Title to website
2. Add Image
3. Add New Line
4. Add paragraph
Etc..
This was the most useless and stupid thing I ever made5 -
Had to built a "theme color" switcher for a website. Total waste of time, but the desktop app had it and customer was convinced it was a key feature.11
-
Product manager: build us a recently viewed and bookmark feature!
Younger-Me: But every browser already has a bookmark feature and a recently viewed (history) feature and its much better implemented with much less overhead.
Product manager: I don't care. Give me this feature, you are supposed to do as i say and bow.
Younger-Me: I'll take it as a challenge.
--- two weeks after feature is deployed ---
Product Manager: 😁 See! Many users are using the feature we built *shows me messages from subscribed customers*
Me: 😨 I'll never underestimate user's stupidity again.3 -
A search bar on a single page with all the information visible because the client kept forgeting the shortcut for searching in the browser.3
-
(a=>a.bind(0,a))(a=>a.bind(0,a))()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()19
-
If you type "12oatmeal" in one of my school assignment console games, it plays a beep.
V e r y u s e f u l ™5 -
!rant
Theres a dead serious business application out there that if you click on customer support in a subsettingsmenu you get redirected to Rick Astleys "Never gonna' give you up" -
So when I was working for a web dev shop, one of the clients asked us to have a drop down of all the different combinations you can have for street types to appear on the address form of their shopping cart. So stuff like "Street", "St", "Drive", "Dr", "Lane", "Ln" etc. We told the client that it wasn't possible since the possible combinations and how some street don't all end with a type.
But the client was adamant about having this so we ended up building a section in the administration section to allow the client to add any new street type to a database table that will populate the dropdown.1 -
Writing a function to take a string of delimited entities, parse each character to find the separators, capture the characters in between separators, and return an array of entities.
I used this for about a year before I learned about String.split()
Yeah.1 -
Sleeping the Thread for 1 sec, because the database had no real timestamp and a transaction on the same item within the same second would lead to a doubled primary key...
No real feature, but it is a bug and this makes it a feature I guess.1 -
Few days ago I wrote function that finds occurrence of value in array:
function findOccurrence(value, array) {
for (var i = 0; i < array.length; i++) {
if (value === array[I]) return true;
}
return false;
}
But there's already [].includes() function in JavaScript.5 -
Im gonna turn this topic on its head a little and mention the MOST NECESSARY feature that was never implemented in one of my projects.
It was an iOS client for a medical records system. Since it contained actual confidential medical information, some patient records could be “restricted”. Thos meant if you tried to open them you would be prompted for a reason, and this would be audited.
We already had 2 different iOS apps with this feature in place matching the web app. But for some reason with the 3rd app they just decided not to bother. I discovered that it was because the PO in charge of that project didnt consider it important enough for the demo. So we have one app where you can just bypass the whole auditing process and open restricted patient records freely.3 -
I had to implement an internal tool in C++ which parses a file and converts the content into another format.
It did take hundreds of lines of code to get it working, file handling and parsing data in C/C++ is terrible.
I'd rather done it with some scripting language, and additionally implemented it in python as a side-project (in less than an hour and < 20 lines of code, BTW) but it should be C++ "Because that is how we do it here".
At the end the tool was only used for a few weeks, because someone had an idea how to completely avoid the need for that converted data.3 -
I wonder sometimes whether people in Silicon Valley know how the rest of the world thinks about and acts on technology. I mean, I know they do to a degree, but is there anyone else besides me that thinks it’s kind of an “ivory tower” existence over there, with people chasing the latest shiny thing regardless of if people want or need it?20
-
so... while this may not be *my* code, I do have to claim a fair share of the responsibility for allowing it to exist. o.o
I'm busy fixing it now though.
> note: proprietary names have been blurred, naturally.3 -
During a period when devs had been told "The board has been promised that we are improving quality, so you must not do anything but write unit tests", I wrote a unit test that compares the number of system colors in .NET to a constant. It's still running today (a couple of years later).
-
Back when I started my career (12 months ago lol), I was in IT support. Having to deal with people who have hard times locating and reading off a sticker, let alone telling me their IP adress, only to realize it's the whole store that's offline, not only their PC (gosh do they ever talk with each other). So I decided to code a small tool that shows your hostname and IP adress, and pings the router, firewall and Google DNS. Aaand just in case the number for the IT hotline. Plan was that we could just tell them to double-click on that one icon on their desktop and read out what it says. We deployed it and I was happily waiting for it's time to shine (still a trainee I was also kinda proud of it), but when the network engineer found out, he wasn't happy about it at all. He was afraid too many people would open that new tool without us telling them to do so and/or forget to close it, producing a number of pings to the router, firewall and google. He went on about Google maybe blocking our IP if we produce too many pings and so on.
In my opinion he was kinda overreacting, but he wasn't that wrong and is a nice guy and responsible for our network, so we recalled the tool and never actually used it.2 -
At my last gig, part of our business process was to generate a unique human-readable ID that could tie an individual to our product and service. Well, we had a few rather superstitious, paranoid and vocal customers who felt 'uneasy' when they received their unique ID with 666 in it.
So after having a good laugh and roll on the floor, I got to write an exorciseUniqueId() method that compelled the evil numbers to stop possessing those innocent IDs!4 -
I wrote a program a few years ago which needed to fetch data from a website. Instead of using the API, I used a html parser and extracted the data myself.
The code still runs flawlessly. -
Feature to spam people everywhere. A frigging set of apis where you can spam sms to people based on their habits. I am sorry for this shit. Even I'm not safe from this.3
-
A customer once wanted buttons that would close the mask in an interface where the only way to close the mask was to click a default "OK" button. 🤔
So in the end we implemented a script on the customer's buttons that would send a calculated number of multiple keypresses of tab, tab, tab and finally enter on the default button. 🤑
It is still running in production and I will never ever touch it again! 😁 -
I was designing and building a portfolio page for a photographer. He mostly does black & white portraits with either a white or black background so I had the idea of splitting the page into a light and dark side (Star Wars joke definitely intentional).
I worked waaay too long on a *diagonal* CSS wipe animation when the user switches sides and I was quite proud of it.
Half a year later we realize that basically no one has noticed the switch button. Analytics confirmed it was less than 4% of visitors. 🤦♂️3 -
Currently working on a Selenium script to do my timesheet for me. It's been 30 minutes and it still doesn't work because I'm having trouble selecting the input fields correctly (the ID's are dynamic and keep changing!)
It takes me 30 seconds to do it manually.3 -
I'm still pretty new to elixir and functional programming. There have been numerous cases where I accidentally recreated functions such as Enumerable.map 😅2
-
Well it's nothing I wrote myself but I don't know why it exists.
I currently work on a reasonably big LaTeX (markup/typesetting) project.
For what ever reason someone had the glorious idea to build a Compiler in Java to compile the LaTeX sources to PDF, so far so good.
The problem is that
1. Most people working on that project either use an editor with its own compiling functionality or
2. use the shell script in the same fucking directory
Of course the Compiler is also slower than both of the above and tends to crash.
Well at least it's not my time which went into there. -
Oh god where do I begin, built a JSON parser that supported comments, build a basic debug terminal for web pages, I could go on forever
-
I work and live in Italy, if any of you know Italian, you'll probably know there are a few words with accents and also a few locations with accents in their names.
There was this big client for which we built a CMS and the were to insert the names of the vendors of their network, for each vendor there also was the address.
There were SO many addresses with accents and they just couldn't write capital letters with accents, so in the end, I had to make a function to capitalize everything including accents in the CMS.
I know i could have just used the text-transform:uppercase directive in CSS, but... whatever, they kept paying a shitload of money -
TL;DR - an entire emulation of a closed source CMS to develop a theme
The longer version:
We are using a cms that is closed source, and we only have access to frontend files alongside twig files. The CMS is custom built but many aspects are in a very rudimentary state, for example it is nearly impossible to develop locally, we have to use an integrated text editor to code stuff.
So out of frustration, and for my development needs, I decided I would make an emulation based on Symfony 4. Also because my PM was pressing me to optimise our site. I wrote some custom JS to handle everything smoothly, a semi-sass framework and well-structured twig files.
I was also supposed to work with our graphic designer, but she didn't get any alloted time from our pm to work on it...
Now PM asks me to write a specifications document in order to make another company build the new version
I mean wtf, I'm so bored, I can actually enjoy my day by coding, and no, I'm just there to write the specs.
When I told PM I am currently building the new version, she's like "but we didn't validate anything", when she explicitly said I had a green Go to code it a few months back
Instead I have to make prezies and convert them back to PowerPoint because we have computer-illiterate people in the company who aren't flexible to understand simple tools.
Let's hope it won't get useless by Friday (I have a presentation to give, alongside my estimates and project management presentation)1 -
Pretty much half of what clients ask for.
But to be more specific a username on a login form instead of an email address when it already had ratelimiting lockouts implemented on an internal network. -
I spent 2 weeks at work building a dashbord (not a feature but...) wich provided an overview of projects and tasks managed in redmine (Kanban tool) by using its API. After i finished it we started using it till my boss found out that it was completly "useless" for him - it had all the features he asked for! -.- ...
three days later the redmine server crashed and we changed the provider, nobody missed my dashboard and so it got abandoned :( sometimes i miss it, it looked fancy af and stuff!!
But at least i learned a lot of js and API stuff. I was verry new to js back then :)
Boss asked -> I deliver -> and *pooff* down the river it goes. seems like my tasks have not changed much since then. -
I’ve been working on a update for config tool for a mod. The user asked me if I could add something like “note area” where you could write down anything... So I added it! It even appeared in one public beta build.
But then I’ve realized “wait, why the heck do I need it”. So in the next release it was gone. -
An arts online magazine. The manager needs to include ads but don't want to do it on a obstructive or invasive way. So far so good, I agree.
Since this is an arts and culture mag, he gets the idea of having a piano keyboard on the sidebar. Each of the keys has to be animated so that on hover it seems to move and play a note. When clicked, it displays an ad. The user don't know or see the ad until he/she plays the note.
Of course no one bought any of the keys. Hours of work wasted.
We all hate ads but some workarounds are not worth it. -
I added a "pointless button" into the "about" popup of a Password generator I wrote some time ago.
It did what you expect it to do. -
Once I had to integrate an analytics mechanism into a product my company was selling. Due to EU laws we had to put an opt-out checkbox into the installer. Took me a while to hack my way around various technical and legal impediments, but I got it done.
Long story short, product rolled out and we got data from about 0.1% our customers. Almost everybody opted out :/7 -
I made a php script to generate a powershell script that performs asset conversion. The conversion tool was designed to work via command prompt but i hate using it so i switched it up to powershell and after that i had to build a powershell script because running the shell exec function failed miserably, sad part is that just about to the end of the conversion, that ran in the background for a little over 2 days, i ran out of disk space so it stopped doing anything :( w/e i at least got what i was interested in.
-
A contains() function for a class to check if there was something in a list. I did not know about the if a in list_b python feature, so I resorted in a loop and a bunch of if/elses.
Efficiency = 01 -
An project I was working on was required to always identify users who took part in certain transactions (think of financial processing regulations).
Because some of the contacts on your phone might only contain a mobile phone number (and no name) a mandatory 'recipient' field was thus created to be filled for each transaction. This name was then checked against some international UN sanctions blacklists (you know, so Bin Ladens cousin can't use the thing...).
Only thing was... you could simply enter whatever name you wanted to. Like '%#^@/}(#' or 'John Doe', or 'Micky Mouse'... Everyone was well aware of this - but because ITS' THEM RULES we had to do it anyway.
Hope Bin Ladens cousin doesn't figure it out. :P -
In my previous job, implemented a javascript harlem shake easter egg in a search box. Was funny, but unnecessary.
-
I once had to write a feature, which should allow the user to login and edit an appointment, which was automatically set. All the data we got, came from an incredibly unreliable API. And with incredible unreliable I mean like heisenbug-level unreliable.
The API spoke perfectly unreadable xml and was a horror to work with.
After a few weeks of me being messed with by this shit piece of an API, I finally got something which did kind of work sometimes.
Proper error handling has been added later and just before I was done, fixing all the flaws of their data management and nonsense status codes (not http status codes) which rarely correlated in at least some way with their data, our client said "scrap this, we don't want it anymore"
Many hours and effort gone, this thing worked almost perfectly. -
For me big list is there ;)
But recently one of the team in our internship has built a project where admin can add and update his own educational details into the project and no one can see admin personal information because of privacy :| -
I am building a website for someone who insists on having an online checkout on the website even though the business is entirely in person. I’m not convinced anyone visits the sight to begin with.1
-
I wrote a type checking utility that also considers all types (JS without TypeScript, so this meant arrays etc.). The desired type had to be declared in a config file and the data didn’t even come from the config.
What would I not do to prevent all possible attack vectors... -
One feature I had added to an app where it put the photos of developers in a circular frame. Apparently it used some library to do the task and when the app was ready to launch, there was an error.
Yes you guessed it right. It was my feature that was not only silly but also erroneous1 -
I created pull requests for some open source js projects to fix issues with monkey patching Object.Prototype, as I used it heavily in a current project. All of them were accepted and merged.
A couple of weeks later I realised how retarded that was and refactored all monkey patching to separate modules. -
The spring framework, it took a pain in the arse language {java} and turned into something reasonably good again! Props to Rod Johnson on that one4
-
Built the most generic file importer.
So a customer had his SAP system giving us some 5 million barcodes in a csv which we needed to parse. But as there could be different file types and I thought the handling would always include the same steps I made them configurable through function pointers. - Did not want to make it as spooky as the rest of the code base where the function pointers were buried deep in some shared memory configs, which might even change at run time, but rather I statically used the member functions of my class. Just to poke fun on the ugly C++ syntax of member function pointers. I still shudder at the thought some poor soul now has to maintain that code.
(For the actual parsing I actually used a one liner in awk which was churning through the records in one minute which was faster than the SAP guys seemed to be accustomed to.) -
I think the most unnecessary feature was when I decided to create a network wrapper for one of my libraries.
We had 2 network styles in my library, but both were supported as they're each used for unique reasons. Then we decided to build 2 wrappers so either library could read the other libraries messages... We never ended up using it... -
a "configurable" confirmation system, where page conditions (e.g. customerId=someId, etc.) are stored in the DB as a comma separated string to be run through a stack expression evaluator, so that customers can add a "confirmation" (aka just a modal dialog) with custom reminder text when a user does a certain thing on a certain page....2
-
One of the features I programmed for my Discord Bot was a Gfycat gif poster, not knowing Discord had such a feature built into the app itself. I would say my feature was more useless than unnecessary.
-
Lol all my creations are useless to a good extent. I work on them just for practice. Here is a short list of them.
1) c program for every kind of sorting algo
2) stack implementation for checking paranthesis and prefix postfix shit in java
3) Treeview implemention with basic utils like create, update, delete in python -
A close button for a filter menu, according to UX, users could not figure out how to close it... We guessed those sames users also do not use windows, linux or mac os... WTF
-
I've built whole backend for my app (my as I created it for company I'm working in) that's using AWS for storing data about users. I wanted to replace AWS with something custom, easier to use and without any dependency on third parties.
Boss never let me migrate from AWS to this solution because there are not enough clients for the app and he's got a lot of other work for me 😅 -
I'd made a feature that call's the rest service through the java code.
Desc - Calling controllers request by normal java method. 😑
Hope you guys understand this..