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 - "not an add"
-
An entirely typical exchange at work:
PM: How long would it take to build an application that collates Gubblefluffs and exports them as a PDF?
ME: Hard to say. What’s a Gubblefluff?
PM: Nothing complex. Its basically an object with some stuff in.
ME: Erm, okay. So I’ll define a Gubblefluff object plus methods to add edit and delete, then for each Gubblefluff have it write a line to a PDF.
PM: It will need to email that PDF to somebody.
ME: Okay, cool. “Gubblefluffs-by-email” should take about a day.
6 hours later…
ME: I’ve done Gubblefluffs-to-pdf, I’m not clear on what’s in a Gubblefluff but I’ve made it flexible so it can take almost anything.
PM: No, a Gubblefluff can ONLY be one of 4 Snigglefingers plus a timestamp and some JSON.
ME: What? Right. Okay. What’s a Snigglefinger?
PM: (sighs) A Snigglefinger is the collection of relevant Babelsets.
ME: Babelsets?
PM: Yeah, a user can have any number of Babelsets but they must correspond to one of the four types of Snigglefingers.
ME: There are users!?
PM: Of course!
ME: But I’ve not coded anything for users.
PM: Shit. I’ve told the client they can have it today. How long to add in users?
ME: And Babelsets, and Snigglefingers and the new Gubblefluff rules?
PM: Yeah.
6 days later…
ME: This is done now. It’s a beast but it works. Who should it email the PDFs to?
PM: Client X, plus cc to Y and bcc to Z.
ME: What? It doesn't support CC and BCC!
1 hour later…
ME: This is done. I’ve tested it and sent you a copy of the PDF it generates.
PM: Okay thanks. Is the cron running daily?
ME: What cron?
…
ME: Okay, so the cron’s running once a day at 8pm.
PM: Oh, it’ll need to be at 3:15pm. That’s when we’ve told the client they’ll get it.
ME: Right. I’ll change it...
PM: Also, the PDF you sent me looks nothing like the visual.
ME: What visual?
...53 -
Yesterday, in a meeting with project stakeholders and a dev was demoing his software when an un-handled exception occurred, causing the app to crash.
Dev: “Oh..that’s weird. Doesn’t do that on my machine. Better look at the log”
- Dev looks at the log and sees the exception was a divide by zero error.
Dev: “Ohhh…yea…the average price calculation, it’s a bug in the database.”
<I burst out laughing>
Me: “That’s funny.”
<Dev manager was not laughing>
DevMgr: “What’s funny about bugs in the database?”
Me: “Divide by zero exceptions are not an indication of a data error, it’s a bug in the code.”
Dev: “Uhh…how so? The price factor is zero, which comes from a table, so that’s a bug in the database”
Me: “Jim, will you have sales with a price factor of zero?”
StakeholderJim: “Yea, for add-on items that we’re not putting on sale. Hats, gloves, things like that.”
Dev: “Steve, did anyone tell you the factor could be zero?”
DBA-Steve: “Uh...no…just that the value couldn’t be null. You guys can put whatever you want.”
DevMgr: “So, how will you fix this bug?”
DBA-Steve: “Bug? …oh…um…I guess I could default the value to 1.”
Dev: “What if the user types in a zero? Can you switch it to a 1?”
Me: “Or you check the factor value before you try to divide. That will fix the exception and Steve won’t have to do anything.”
<awkward couple of seconds of silence>
DevMgr: “Lets wrap this up. Steve, go ahead and make the necessary database changes to make sure the factor is never zero.”
StakeholderJim: “That doesn’t sound right. Add-on items should never have a factor. A value of 1 could screw up the average.”
Dev: “Don’t worry, we’ll know the difference.”
<everyone seems happy and leaves the meeting>
I completely lost any sort of brain power to say anything after Dev said that. All the little voices kept saying were ‘WTF? WTF just happened? No really…W T F just happened!?’ over and over. I still have no idea on how to articulate to anyone with any sort of sense about what happened. Thanks DevRant for letting me rant.15 -
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
-
This is not a rant, but I just wanted to share some good news! My brother and I have launched an app called Programmer’s Music. It contains our favourite music tracks and tracks suggested by some of our developer/creative colleagues. It’s for listening to music while coding. We have also integrated Pomodoro time management method in it. It’s ad-free and FREE. :) Please check out the app at https://promusic.tech/2mJrw8A. Feel free to leave an honest feedback.
Please feel free to leave us a message with your favourite tracks and we will add them. Please share it, follow on Twitter and/or like our Facebook page. Thank you so much!
Thank you, everyone.
PS.- Atom editor fans would ❤ it.undefined coding programming music music programming coding atom editor do you like it? wired in music for programming60 -
Did this on my first programming exam.
int index = 0
int value = 0
try {
while true {
value += array[index]
index++
}
} catch NullPointerException {
System.out.print("Sum: " + value)
}
The task was to add together all numbers in an array.
I somehow aced the exam, but got called in to teachers office this is not the way to use exceptions.7 -
The GET /users endpoint will return a page of the first 13 users by default.
To request other pages, add |-separated querystring with the limit and offset, as roman numerals enclosed in double quotation marks. Response status is always equal to 200, plus the total count of the resource, or zero when there's an error.
You can include an array of friends of the user in the result by setting the request header "friends" to the base64-encoded value of the single white pixel png.
Other metadata is not included by default in responses, but can be requested by appending ?meta.json to any endpoint, which will return an xml response.
If you want to update the user's profile picture, you can request an OAuth token per fax machine, followed by a pigeon POST capsule containing a filename and a rolled up Polaroid picture. The status code attached to the return postal dove will be the decimal ASCII code for a happy smiley on success, and a sad smiley if any field fails form validation.
-- Every single external REST API I've ever worked with.7 -
Since past two-three years, Indian Government has been organizing a Hackathon called Smart India Hackathon for college students. And Luckily our team was selected this year.
This team had 5 Electronics Student and 1 Computer Student. Guess who the Computer Student was? Yea, Me.
They Knew nothing about Android Development. And the idea was about an Android Development. I was the only person who could code.
The centre for our hackathon was Varanasi and we live in Hyderabad. So we had to go there. I have not really travelled a lot in the trains (especially not this far from Hyderabad to Varanasi ). During the whole 37 hours journey, I was not able to sleep cause I am not accustomed to sleeping on a train.
The moment we reached Varanasi the hackathon had started which was 36 hours long. Normally team members switch places so that they can sleep but not ours. Cause I was the only one coding and it had to be done in this 36 hours. So add this up 36+36 hours of no sleep, I must have rarely slept for 3-4 hours in that 72 hours.
After the hackathon, I slept like a Snorlax whereas the other went for a trip around Varanasi ('_')18 -
The new Dutch mass surveillance law goes into action on the first of May. I'll of course have a good security setup ready but that does not stop the bulk data collection.
I just setup a website which (still in English at the moment) requests a random search result from bing, google or DuckDuckGo every 3 seconds.
Will work on making it more 'real' :)
If stopping the surveillance isn't an option, let's add more data to filter out for them!38 -
Arghhh, rant time :|
So yesterday I completed a database migration of 167,000 products from an old ecommerce system to a new one. Everything was brought over, orders, customer addresses, everything, really chuffed :)
The only thing the client picked up on was the lack of his spammy "meta keywords" data that I intentionally did not import. I mean the tag isn't used and a list of 40 comma separated random words you'd like to rank for isn;t going to help the sites SEO on bit.
Anyway, the client is now moaning a lot and insisting I add them in. Even after I explained that the meta keywords is gone for good reasons he insists on keeping the data.
Soooo, pointless :|
(note the tags for the sake of satire :) )undefined meta keyword meta-key-words key-words keywords best meta keyw word meta keyword seo m-e-t-a words k-e-ywords meta key4 -
I just spent 20m debugging.
Basically bootstrap nav wasn't working. Couldn't understand why not.
Figured out its a an issue with the JS interfering so I remove the script reference from my HTML. Problem solved.
Okay,cool. Now let's add that file back in and figure out what caused the issue.
Hm. This line looks like it might be it *comments it out*...odd. Problem still happens.
*proceed to comment out and test every function to see what could be causing this issue*. Still happens. Fuck it. *comments the entire file out*
what the fucking fuck. I remove the script reference the problem is gone. I remove all code from the script - problem persists.
...wait...are you fucking kidding me. I OPENED THE WRONG JS FILE WITH THE SAME NAME BUT IN A DIFFERNT DIRECTORY.6 -
Manager: How come I go on vacation for 2 weeks and you are able to start, complete, and ship an entire sprint in that time where as when I'm around, the same amount of work takes months? I even got COMPLIMENTS from *the client* about how smoothly things went while I was gone...THIS IS COMPLETELY EMBARRASSING AND UNACCEPTABLE!
Dev: Well. I cancelled all of the status meetings, created tickets with clear expectations, didn't change those expectations, didn't add every idea that popped into the client's head during those two weeks to the current sprint, didn't pull anyone off their tickets to teach me to code, cut the budget for making degrading comments to zero, and incentivised everyone to work by allowing a half days on fridays to work on personal projects if we stayed on schedule.
Manager: THAT'S NOT YOUR JOB! I'M THE MANAGER AND ALL. OF. THOSE. THINGS. ARE. MY JOB! NOT YOURS!
Dev: ...I know.16 -
I hate ZenHub. For those who haven't heard of it, it's an agile project management solution that is hacked (and by hacked I mean really hacked) on top of Github.
It's touted as being convenient because you can have all your issues in Github and then look at them in epics and board format. Sounds awesome. Except it's not. For everything "convenient" it does, it severely lacks the most basic ticket management features that make any ticket management solution usable. Ex., you can't copy tickets. That's right - if you're creating 20 similar tickets, which I've needed to do in the past, you must create each one individually. New ticket -> add labels -> add assignee -> add title -> add description and then submit. 20 times.
ZenHub is so bad and so poorly conceived that many of those who use it have lost sight of project management reality and are blind to the 300 other PM products out there that are better.
True story: a couple of weeks ago people were celebrating because ZenHub added functionality to allow you to define what epic an issue belonged in while you were creating it. For those who aren't familiar with what that means, let me explain: before two weeks ago, when creating an issue in ZenHub, to fill out this "epic" field, you needed to first create the issue and then edit it to fill in the epic.
Let me break that down in devRant terms: it's the equivalent of not being able to add tags to a rant until you create it and then go back and edit it. Complete lunacy is the only way to describe it. And when they added the functionality two weeks ago allowing you to do it all in one step, people praised them!!!
Yeah, ZenHub sucks.11 -
Real Story:
Manager: You have to add an extra section in the app to show more details.
Me: We are already showing so many unnecessary details. These changes are not required.
Manager: No !! You have to do it.
Me : Ok !!! So why can't we show it in the section where we are showing the other details. Why make a separate section for it.
Manager : No !! It won't be clearly visible to the user. Just do it.
So I added another section to show useless information that we are already showing it f**king everywhere else in the app.
So I released a new apk next day with the added features.
In meeting, our CTO goes through the app and ask manager....
" Why we have added an extra section for showing same details that we are showing everywhere else ???
Who approved this ?? This is nonsense !!! "
Here comes the fun part.
Manager : I don't know. I didn't ask for it. These changes were not there earlier.
And ask me.
"Who told you to make these changes ? "
I am like... F***k man you a***ole told me to do it even when i told you it will be nonsense.12 -
client: the math on this investment calculator you made is wrong.
me: ok, how is it wrong?
client: one of our salesmen sais it not calculating correctly.
me: that's fine. i just need an example, or the corrected formula to use.
client: on this other website we put in the same information and it comes out different.
me: ok, let me investigate... this other site adds a fee every month so the output is different. If i turn that off the calculations are the same. would you like to add a monthly fee field?
clients: no, the calculator is working how we want then.
repeat 5 times at 3 month intervals.
client: the interest calculator is broken again. didn't we just fix it?
me: it was never broken. your people just can't math.3 -
Boss: Oh can you add this feature?
Me: I added that function already and you said to take it out.
Boss: Can't you just copy and paste it from an earlier version?
Me: No its really not that simple, I removed a bunch of tables and went to town cleaning the code so it's super quick and "sexy fast" as you put it.
I go home, work all night and forget to eat.
nextDay++;
Boss: Actually just hold back on that, I'm having second thoughts.
When a project seems to be in an endless for (fucks sake) loop.8 -
The state of CS is a joke and I'm contributing to it.
I'm a final year CS student and like most students, I'm not exactly overflowing with money so any income helps. Now, it's not that uncommon for students to buy their projects but I swear a good 20% of people from my course don't know how to write a function. And let me remind you, they are in their final year, about to graduate, about to get their bachelor's degree in computer science and they don't know how to write a function, let alone a class, let alone piece together something that works.
I just want to say that no, I'm not proud of myself for doing other people's projects for money and letting such imbeciles pass. I'm fucking tired of sending over someone's project, them asking me to change something and me telling them to add an if statement to which they reply with "i don't know how, pls do it".
This is why having a degree doesn't mean shit anymore and yes, I'm aware that higher education has become more available over time.20 -
teacher (me): for the next session, we will need vagrant, please use the command 'vagrant box add…' before coming to class.
student, one week later: I tried your command, but an error came 'vagrant command not found'
me: did you install vagrant?
student: no... why?
*sigh*5 -
A repo on GitHub I'm maintaining has grown with 200k downloads / month since I started working on it a year ago. My recipe? I added an npm badge in the readme showing downloads / month and I responded to every issue and reviewed every PR. Now there's so much issues and PRs coming in that we had to add an extra maintainer, feels great! Teamwork, fuck yeah!
Not every PR got merged of course, but every single one of them got reviewed. Just being a good and friendly developer, giving back to the community that has given me so much. Some tips for you maintainers out there. If you have a popular project and no time there's always someone else who's willing to spend time on it, ask around and you will surely find someone else.6 -
Had a job interview recently that went well besides one little disagreement... and it has made me question my sanity. Tell me if I'm wrong.
They asked the difference between a GET and POST request.
Wow, that's an easy one, they're giving me a break, I thought to myself.
I said "GET is used to retrieve data from a server, whereas POST is used to add data to a server, via it's body, which a GET lacks" or something like that.
They were like "ya mostly, but GET can be used to enter data into the server too. We were just looking for the body thing."
And I'm like.... yeah, you could do that, but that's not what it's meant for.
They mention stuff about query parameters and I hold steady that GET and POST are different because GET has a specific purpose. Otherwise, we wouldn't need the "method" part of an HTTP request at all. We could just either include a body or not include a body.
I ended it with "Well, POST implies that you are adding data to a server, and GET implies you are querying data from the server. When I'm reading documentation, that's how I quickly determine what an endpoint does."
My confidence was a little shaken at this point. Crazy what two people with (I assume at least) 10+ years of experience telling you you're wrong will do to your confidence.21 -
Would you like to smile for 10 seconds? Read this short story:
*Story begins*
During World War II, numerous fighter planes were getting hit by anti-aircraft guns. Air Force officers wanted to add some protective armour/shield to the planes.
The question was "where"?
The planes could only support few more kilos of weight. Mathematicians were called for a short consulting project.
Fighter planes returning from missions were analysed for bullet holes per square foot.
They found 1.93 bullet holes/sq. foot near the tail of planes whereas only 1.11 bullet holes/sq. foot close to the engine.
The officers thought that since the tail portion had the greatest density of bullets, it would be the logical location for putting an anti-bullet shield.
A mathematician said exactly the opposite; more protection is needed where the bullet holes aren't - that is -around the engines.
His judgement surprised everyone. He said "He said We are counting the planes that returned from a mission. Planes with lots of bullet holes in the engine did not return at all".
Moral: Not everything that counts can be counted, and not everything that can be counted, counts.
Source: From the book -
"How Not To Be Wrong", by Jordan Ellenberg.4 -
Hello fellow ranters,
I created a poll to find out the distribution of used programming languages among us:
https://goo.gl/forms/...
I am curious, because obviously PHP is not very admired, and probably JS is the most used language around here. Lets see!
There is no information collected beside your answers. It would be awesome if you take this survey kind of seriously and do not add toooo many childish options ;)
You should have an insight into the answers after you participated. Maybe I will post some results after some time.26 -
Google sucks!
No, not as e-mail or for privacy reasons. Sure, that too, but it comes with "free" stuff.
It sucks because it's breaking every possible record in the worst, shittiest, most insanely stupid APIs and integrations out there on the entire fucking planet!
It is comically stupid!
Aside from their LOVE of hard-deprecating APIs every few months, requiring constant, time consuming maintenance of every tool that integrates deeply with Google services, some of their APIs, for expensive stuff, look like they've been written by Bobby McFartface from 7th grade.
Take a look at DoubleClick Search (their ad performance reporting tool, that sure does sound like one). To upload custom, additional data, you must pass in a ton of parameter, and they REQUIRE some of them to have a specific, hardcoded value. What's the point in passing that parameter then you dickheads?!
But fine, so you uploaded some stuff using the API. Now you want to delete everything and try again after you fixed a bug - well you fucking CAN'T! You can't delete stuff, you can only mark them as "deleted" using an update call.
Bulk operations? Fuck no!
Can I just add on top? Well of course not! That will raise a ton of exceptions. Same message should be transmitted using the PUT, not POST request, in order to edit.
Can I send everything to PUT? Of course not! You can't edit something that's not there, dummy!
Can I see what's there so that I can update it, and add what's missing?
Well of course not! Why on Earth would you need to see what information is in there after you uploaded it? Who needs that anyway?
Simply send, pray, and hope that everything will be fine (it will not).
Like holy fucking crap, it can't get any more stupid!
Google is a huge pile of idiots who feed on only a single cow - the search engine.
It's times like these when I think that Google right now is the worst thing that exists for everyone in tech. It's dragging everyone down with their monopolies everywhere and complete idiocy in managing them.5 -
I'd love to finish a few projects I'm currently working on:
- An add-on which gives a middle finger to websites which use services/products ran by companies which are known to be integrated within the biggest mass surveillance system ever created (US powered). Not because just fuck those websites but because I think (@PonySlaystation came up with this idea) that its only fair that people get to know which websites 'sell them out'. Oh and "but not everyone cares about that" - you don't HAVE to install the addon.
(will be open sourced)
- Notes service with a fun thing.
- PHP based server/website/whateverthefuckyouwant monitoring system which is pretty much module based and works with json files as configuration. (kinda works but still loads of bugs to solve and gotta improve the module system a lot).
(will be open sourced)
- PHP based pihole alternative which suits my needs (will be open sourced)
- Forgot one 😅14 -
Not a rant - just wondering if anyone else witnessed a really awkward closing talk at a conference.
Attended a mandatory JS conference yesterday where all the speakers gave the typical conference talks on new ideas, frameworks, packages with code demonstrations. Most of talks were great and the some of the speakers were extremly humorous making the whole audience laugh which is hard to do. The talk right before the keynote speaker was like this.
Then the keynote started...
The end presenter was an asian-american woman (normally would not metion race/ gender but it’s important to the story) whose talk was basically how the white males of the world are controlling tech an their bias and privilege are marginalizing the rest of us who are not white american ‘cis-males’
She had no data and weak examples, such as sensors on automatic soap despeners not working on darker skins tones (that’s not racist it’s physics). Another example was a plugin where true=male and false=female. That is not gender biased it’s just lazy programming.
At one point she said:
“Have you even been to a party at a rich white guy’s house? There boring! I’m sorry”
This was just a talk about her feelings, if I was not surrounded by my coworkers I would have left.
I feel like this was not appropiate talk for one track conference since it traps everyone into listening. Especially where attendance is obligatory by your employer.
The conference should have warned people it would be an uncomfortable talk and invite people to start happy hour early if they chose.
To add to the weirdness in the closing remarks of one of the organizers patted himself on the back for supplying the women’s bathroom with tampons. He even created a slide for it with a tampon illustration.
Example slide from her deck.61 -
*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 -
Lol I'm such an introvert
I have joined an internship and have been here for 4 weeks now. I have been seeing people drinking coffee since day 2, but have been shy to ask about it. In my 2nd week I located where the coffee machine was, but to shy to use it. This week, after finally gathering up the courage I went to use the machine after others used. That's when I realised I don't know how to use it. Lol. I made such a bad mix of expresso and milk and had to add 4 spoons of sugar to be able to drink it. Yesterday I made the mistake of not adding sugar and thought it was too awkward to go back to add sugar, so gulped it down after it cooled a little.
Looool, need to develop soft skills12 -
The idea was simple. Create a div.
Add two 50% div's inside. Float them. Add clearfix to parent.
Everything was fine.
Noticed that one of the childs had a height bigger than the other. But due to an adaptive design, setting static heights did not work.
Simple fix. Add a height to parent div and set overflow-y to hidden.
It didn't work.
Tried using the legendary !Important (a.k.a. not important but important.) Didn't work. Set position to relative, set static height. Set the childs to absolute position with height 100%. Problem solved.
No. It. Didn't. Fucking. Work.
Tried every possible css combination could could fucking think off.
After 15 minutes (8 hours in dev-stress mode) realized the clearfix changed the div DISPLAY TO FUCKING TABLE. A TABLE. FUCKING TABLES CANT HAVE FUCKING HEIGHTS FUCK.
Anyway. 6 years after my first clearfix. I learnt something new about the code that saves my life every project.5 -
This is not facebook, but somehow yhis site has attracted who are virtually, mentally incapable of differentiating between their script kiddy hacker facebook group and anything that can be called a social media platform.
Sorting by recent and daring to toggle on jokes/memes is a pure shitshow of freshly created accounts who post "memes" of the same purity as their mother. And to finish it off they add that super relatable comment "hahah", "funny" and a couple of emojis. Totally makes me wonder if I end up being called comedy god for posting "peepee poopoo" on the site they "shared" it from.
Yes, shared and not stolen for the sake of that little dopamine rush when they see that 4 other people who try to escape their shitty form of reality thought you deserve to be proud for those couple of finger movements you used to put this on devrant and not to jack off.
Not even that spares you from their awful humor, because thanks to their disability to red, they think they can just smash that big red button and post their garbage in the wrong category, yet somehow they have the obligation to add an absurd amount of tags telling you that they've tried to post a joke and I honestly feel sorry for the database table who has to store so variations of "jokes/meme" for this shit.
Thr quality of these memes degrades with each time I open devrant, just like my patience for these shitposters.
I've seen a couple of people who cancled their monthly subscription for devrant, to show their discontent with these user and my urge to do the same has gotten stronger recently.
DevRant as it is right now is on it best way to stray away further from what it meant to be every day12 -
Dev: This content might be too large to fit into this area on mobile.
We might need to add scrolling or design it differently.
Designer: It fits perfectly in the design.
Dev: But the user might have a smaller screen size than in the design.
Designer: We don‘t optimize for small screens.
Dev: But we still need to handle it somehow.
Also, the text might be longer for other languages.
Designer: No problem, we will provide short text for all translations.
Dev: We have 30 languages and the translations are made by a third party. We can not control it.
Designer: We‘ll manage somehow.
Dev: Also, the user might be using an accessibility setting on the device which makes the font size larger.
Designer: Unlikely
Dev: Also, the available screen size might be reduced by the on-screen keyboard.
Designer: … Ok then.
-
It‘s always a conversation like this. It repeats indefinitely.9 -
How to make Xcode crash:
1. type: self.btn
2. Profit!
I need to add this on my CV as an expert in making xcode crash, not implying that Xcode is a shit IDE !!6 -
I swear I work with mentally deranged lunatics.
Dev is/was using TFS's web api to read some config stuff..
Ralph: "Ugh..this is driving me crazy. I've spent all day trying to read this string from TFS and it is not working"
Me: "Um, reading a string from an web api is pretty easy, what's the problem?"
Ralph: "I'm executing the call in a 'using' statement and cannot return the stream."
Me: "Why do you need to return a stream? Return the object you are looking for."
Ralph: "Its not that easy. You can return anything from TFS. All you get back is a stream. Could be XML, JSON, text file, image, anything."
Me: "What are you trying to return?"
Ralph: "XML config. If I use XDoc, the stream works fine, but when I step into each byte from the stream, I the first three bytes have weird characters. I shouldn't have to skip the first three bytes to get the data. I spent maybe 5 hours yesterday digging around the .Net stream readers used in XDoc trying to figure out how it skips the first few bytes."
Me: "Wow...I would have used XDoc and been done and not worried about that other junk."
Ralph: "But I don't know the stream is XML. That's what I need to figure out."
Me: "What is there to figure out? You do know. Its your request. You are requesting a XML config."
Ralph: "No, the request can be anything. What if Sam requests an image? XDoc isn't going to work."
Me: "Is that a use-case? Sam requesting an image?"
Ralph: "Uh..I don't know...he could"
Me: "Sounds like your spending a lot of time doing premature optimization. You know what your accessing TFS for, if it's XML, return XML. If it's an image, return an image. Something new comes along, modify the code to handle it. Eazy peezy."
<boss walks in from a meeting>
Boss: "Whats up guys?"
Ralph: "You know the problem with TFS and not being able to stream the data I had all day yesterday? I finally figured it out. I need to keep this TFS reader simple. I'll start with the XML configs and if we more readers later, we can add them."
Boss: "Oh yea, always start simple and add complexity only when you need it."
Frack...Frack..Frack...you played some victim complaining to anyone who would listen yesterday (which I mostly ignored) about reading data from TFS was this monumental problem no one could solve, then you start complaining to me, I don't fall for the BS, then tell the boss the solution was your idea?
Lunatic or genius? Wally would be proud.4 -
Just found old logs I had with an ex-client, pre-devrant:
"What if we add the newsletter checkbox to the login, so each time a user logs in, he has to uncheck it, or else he will be subscribed to our newsletter?"
Not sure if that even needs a comment, I am speechless that was an actual suggestion, ever.1 -
A third party manages access to a web application I’m supposed to begin using. While accessible from the Internet, they whitelist IP addresses, so it rejects the login credentials if not coming from a whitelisted address.
I provided my external IP address to their support team but the application was not letting me in, so I called their help desk. A support technician said that my IP address was 10.x.x.x, a private IP address. I’m not on the same network as this application, so I did a quick check and realized they are reading my internal IP address from my X-FORWARDED-FOR (XFF) header (yes, my employer exposes this).
I explain to him that the application is incorrectly reading my external (connection) IP address and is instead reading my internal IP address from my XFF header. I also explain that it’s not a good idea to add a private IP address to their whitelist as it somewhat defeats the point as anyone can assign that IP address within their network and expose it via an XFF header.
After talking to numerous support personnel, I came to the conclusion that not a single support person on their team understands basic networking and private IP address ranges.
I finally just said, “Fine. Go ahead and add my internal IP address but keep in mind it will change a lot.”
He then proceeded to “explain” to me how my IP address is assigned by my ISP and should change very infrequently. I explained to him that the IP address their application is reading is actually assigned by DHCP inside my network, but I was clearly wasting my breath.3 -
*wants to download some YouTube videos in youtube-dl*
$ youtube-dl --a-bunch-of-options
> Can't download this, sorry.
*realizes that Ubuntu probably has an outdated version like usual*
# apt remove youtube-dl
*Realizes that this steaming pile of shit pulled in some icons and Wayland on a headless server*
# apt autoremove
> 300-something MB cleared
For a command-line tool...
# pip install youtube-dl
# apt install ffmpeg
$ youtube-dl --audio-format mp3 -o "%(title)s.%(ext)s" https://youtube.com/playlist/...
> Sorry mate, a video was removed from this playlist! Let me go ahead and shit the bed on this issue that's been reported several times since 6 years ago.
*finds an issue on GitHub reporting this, add -i option to continue on error*
$ youtube-dl --audio-format mp3 -o "%(title)s.%(ext)s" https://youtube.com/playlist/... -i
> There you go, your .webm files as requested!
But.. I requested .mp3 output? --audio-format mp3, don't you see?
> Oh no you need to add in another option to tell me to actually do that first. --extract-audio, you see?
But why.. why do you need to be told that twice? Oh ffs, fuck it.
Reminds me of robocopy. That shit required me to tell it 25 times what to do and it'd still not do it right as well. And you know what, compared to rsync where -avz works 99% of the time, I hate it.7 -
Fuck Uber!
I requested an Uber to take me Chicago Midway Airport.
They driver takes me to a different airport over an hour away! I nearly missed my flight because he didn't follow directions. To add insult to a shitty situation he charged me an extra $40 for his mistake.
This morning I requested a refund and noted the driver took a long route. They had the nerve to reply and blame it on me! Claiming the drop-off location was not the location original specified. Mother fuckers I have a screen shot!
I am astounded that they would stoop to such low levels as to shift the blame to me. I suppose they were betting I didn't have a screen shot.
Well, time to try lift!7 -
Client: We want to onboard people with sign-up wizard just like (Massive Industry Leader) so remove the sign-up process from the app.
1 week of development later...
Client: We need to take photos of their information, but we think its easier to take photos on the phone so once they sign-up link then to the phone.
Me: How will they get the apps if it not in the app stores?
Client: Get the apps approved for the app store! duh!
2 weeks later... 4 failed app submissions..
Client: Would it be easier if we just add the sign-up on the app?
Me: Yes... like it was 3 weeks ago?
Client: Yes! Why did we remove it?
Me: You did in an effort to be more like (Major Industry Leader)
Client: ....but we're nothing like them! Change it back!
Me: >•<!!!
I have to fire my client...3 -
CR: "Add x here (to y) so it fits our code standards"
> No other Y has an X. None.
CR: "Don't ever use .html_safe"
> ... Can't render html without it. Also, it's already been sanitized, literally by sanitize(), written by the security team.
CR: "Haven't seen the code yet; does X change when resetting the password?"
> The feature doesn't have or reference passwords. It doesn't touch anything even tangentially related to passwords.
> Also: GO READ THE CODE! THAT'S YOUR BLOODY JOB!
CR: "Add an 'expired?' method that returns '!active'?"
> Inactive doesn't mean expired. Yellow doesn't mean sour. There's already an 'is_expired?' method.
CR: "For logging, always use json so we can parse it. Doesn't matter if we can't read it; tools can."
CR: "For logging, never link log entries to user-readable code references; it's a security concern."
CR: "Make sure logging is human-readable and text-searchable and points back to the code."
> Confused asian guy, his hands raised.
CR: "Move this data formatting from the view into the model."
> No. Views are for formatting.
CR: "Use .html() here since you're working with html"
> .html() does not support html. It converts arrays into html.
NONE OF THIS IS USEFUL! WHY ARE YOU WASTING MY TIME IF YOU HAVEN'T EVEN READ MY CODE!?
dfjasklfagjklewrjakfljasdf5 -
I swear to god Chrome is becoming the new IE.
For some fucking reason it decided to add additional few pixels or margin to an element and fucked up my layout.
Firefox? It works. Edge? Works. Fucking IE - WORKS. Chrome? Shits the bed.
What the actual fuck, Google? Weren't you supposed to be the one working properly?
Not to mention forced renaming my local .dev TLDs...7 -
"Colleague" (he's there for day-time spending, he doesn't actually have a job) of mine keeps telling me I should F off with pushing for Docker, Git and CakePHP because they add an additional amount of learning for interns that they might not need to learn for school.
He wants us to keep working with the following:
- Google Drive for codebase sharing
- FileZilla (or atleast an FTP) for deployment
- "from scatch" PHP code where business logic and front-end code are all slapped into one big file and where functions are also slapped into one big file. also, opening and closing the database connection for each query made
Guy basically wants us to deliver a crappy products that we might not be able to maintain and are prone to a wide-variety of issues.
Yes, let's limit our company to *only* the things that interns need to learn for school, what could *possibly* go wrong :^)11 -
What you see in that screenshot, that was earned.
I'm on the plane and I want an hour of free Gogo (read: crappy) WiFi on my laptop (so I can push the code I'm probably the most proud of, more on that another time). The problem is that the free T-Mobile WiFi is apparently only available on mobile.
So after trying to just use responsive mode, and that still (almost obviously) not working. I realize it's time to bring in the big guns: A User Agent switcher. Small catch: I don't have an add-on for FF that can do that.
So on my phone I find an add-on that can and download the file. To send it to my computer, I initially thought to go through KDEConnect, but Gogo's network also isolates each system, so that doesn't work. So I try to send it over Bluetooth, except I can't. Why? Because Android's Bluetooth share "doesn't support" the .xpi extension, so I dump it in a zip (in retrospect, I should have just renamed it), and now I can share.
After a few tries, I successfully get the file over, extract the zip, and install the extension. Whew! Now I open up Gogo's page and proceed to try again, but this time I change the user-agent. Doesn't work... Ah! Cookies! I delete the cookies for Gogo (I had a cookie editor add-on already), but I had to try a few times because Gogo's scripts keep trying to, but I got it in the end.
Finally that stupid error saying it's for phones only went away, and I could write this rant for you.22 -
Let's start 2023 !
WHO THE FUCK imagined that having language like YAML is a good idea ??
Fuck you and your spaces. No editor produce any decent errors messages except "Your spaces are wrong".
When you edit an Azure debops pipeline, it's just 5 min ti do thing, 35 minuites to figure ou where to add/remove spaces.
NO, I WILL NOT read 25 pages of documentation to add a single step into pipeline.
Fuck YAML !29 -
Useless feature I've built?
Too many to mention. Here's #25.
Modified an existing "Are you sure..?" dialog pop-up (Yes/No buttons) to Yes/No/Cancel. Why? Managers claimed users were "accidentally" clicking 'Yes' when they should have clicked 'No' and causing all kinds of chaos, costing the company money, etc. Managers believed giving the user two chances instead of one would make it easier to avoid the problems they caused.
The meeting:
Me: "Users can click 'No', hit the 'Esc' key, or click the close 'X' button on the window, how will an extra button make it more foolproof?"
Mgr1: "It just will. Andy accidentally deleted inventory and when I asked him if an extra button would have saved them a days worth of re-counts, he said yes."
Mgr2: "Barb accidentally credited a customer $1,500. She promised me she clicked 'No', but the system credited the account anyway. An extra button would have saved us thousands of dollars!"
Me: "Um...these sound like training issues, not an extra button issue."
MyMgr: "PaperTrail, how hard is it to add an extra button?"
Dev1: "Oh yea, adding buttons is easy."
Dev2: "I can do it 5 minutes"
Dev3: "We'll save the company thousands and thousands of dollars!"
<lots of head-knodding and smiles>
MyMgr: "That settles it. PaperTrail, add the extra button!"
Users still screwed things up, but at least they couldn't blame it on not having an extra button.24 -
Never EVER buy a Mac as your primary PC if you're a developer.
Back in 2014 I bought an iMac because I already had an iPhone, and being able to code on xCode and also have a Windows partition seemed perfect. It wasn't.
Soon enough, I started encountering issues. My storage was randomly filling up, my computer started getting slow despite me having a small number of start apps and still a lot of storage available, it was all a mess.
So - I installed Windows 10 using Bootcamp to use it as my main OS. All was great until I wanted a new partition of Windows so I can test some things out without damaging my stuff. I try multiple methods, none of which work because my disk is not in the right partition format, and I don't want to change it because I'd have to format the whole thing.
Whatever - I give up, and try going back to my normal partition, disappointed. Guess fucking what?! My Windows Boot was damaged! Yes, I shit you not!
So - not only was this absolute piece of shit not able to add just one more fucking partition with an OS on it, but it BROKE my main partition, and now I'm trying to recover it.
I've said it once and I'll say it again: Never EVER get a Mac as your primary computer, unless you only work on Mac/iPhone apps.
For paying 1300$, I was expecting a seamless experience with little to no issues - yet all I got is a computer that's fucking broken from it's very core.
Fuck you, Apple.13 -
Yesterday I completed a transactions module that used an external payment processor, similar to PayPal. It was hard, but after few hours of trying out different options I finally managed to get it to work.
I decided to create a simple prototype UI without any styling just to show my progress to the manager and let him know that it's working.
His response? "yeah, that seems to work, but that UI is terrible and not appealing at all. Change that immediately and try to add more thought into your design"
I guess I won't be making prototypes any time soon6 -
Summer is coming, and i suppose all of you will buy a new barbecue to cook some meat, but i have another economic alternative.
How to make a homemade bbq:
1) Take an old laptop
2) Turn it on
3) Install Android studio (also works with intellij)
4) Add a lot of gradle (or maven) depencies
5) Code something cool (or not)
6) Build and compile it
7) Now you can put your meat on your laptop
8) Enjoy your meal13 -
System design meeting with the client.
Client: We need feature X in the design document
Me: But feature X was not a requirement, so it's not in the document and we will not add it.
Client: But feature X should be a common feature today.
Me: That doesn't matter, it wasn't a requirement. And besides that you don't even need it today, the planned system doesn't even support feature X, so we couldn't implement it, even if it was mentioned in the design document.
Client: But we may need it some day, and what do you do, when we decide to enhance the system in a few years and we need that feature then?
Me: Then we make you an offer for feature X.
Inner me: You ordered a bicyle and now you want it converted into a delivery truck next year without charge. That's not how things work.3 -
We just had an hour and a half long meeting, where at the end we spent 15 minutes debating whether or not to add 15 minutes to the meeting because we didn't have time to go over all the issues...2
-
My manager is instructing my team to add a feature that can only be enabled for users by running an update script in the database.
When I argued that it's not really "complete" if it can't be turned on without someone going into the production database, I was told that not only is it complete, but they plan to have our non-technical customer service enable it for customers if the customer requests it...
Apparently giving everyone and their brother write access to prod is a good idea, but implementing a checkbox is a "waste of time and would cost too much money".
Probably going to float my resume... :-p2 -
Me : so here is your quote for the app
Client : oh yer and it needs to work in both android and iOS, that's not a big deal right?
Me : of course not, however I am going to have to add a little something to your quote!
I don't get how when I ask a client if I got everything right so I can draft up a quote, they don't think to mention stuff like other features they had an idea for or cross platforms they wanted but didn't say in the original proposal -_-3 -
There's nothing like sitting on the edge of your seat when you see a monster batch of records get sent updates.
This system was built 5 years ago and it's "peak" batch size has been < 400 records in a day, it usually sits around < 100.
It's not a big system and just runs in the background. So yea small numbers for this guy.
today though, I thought something fell down and shit its self, someone decided to add a a few thousand records to this thing and update a fuck tonne of data (for this system anyway)😬
The damn thing is standing it's ground and churning, but fuck, the scale of things is beyond what we ever thought it would have to deal with at any one time.
Build for the insane benchmarks kids, one day... someone's going to drop an elephant on it.5 -
Lets create a library.
Lets use that library in a project.
Lets wrap the library call in a wrapper functione to remove duplicate code.
Lets add an overloaded wrapper call that wraps the wrapper call that calls the library to partially undo the duplicate code removal.
Lets add another overloaded wrapper call that wraps the wrapper call that wraps the wrapper call that calls the library to partially undo the duplicate code removal.
How I love it. Not.
Sometimes redundancy makes sense, especially when it are two lines which make it obvious whats going on vs a single line that leads to a fuckton of overloaded wrapper functions.
Sheeesh.
Today in "code monkeys deserve divine punishment".
Another funny thing is creating a Helper class for Junit 5 tests, making it instantiable and adding to it all kinds of shit like testcontainer creation, applications instantiation, mocks, ....
... Then " crying " why the tests are so slow.
Yeah. Logic. Isolation of concerns, each test should be a stand alone complex.
But that would lead to redundancy... Oh no.
Better to create a global state god object.
Some devs... Really amaze me, especially when they argument in ways that makes one really wonder whether they are serious or just brain dead.14 -
-Hi, my PlayStation’s storage is almost full? Can you change it?
Me: yes, but why not just buy an external one....
-We can’t add games on it.
Me: ... See here. Read. It’s possible. How much storage does the PS have now?
-93GB
Me: ... Total? 500 GB?
-Yes, I think.
Me: buy a 4 TB one will last long enough.
-Ok. Can you come to install it if it’s arrived?
Me: Ok...
Can’t people just read on fucking internet how to connect an external drive to a PlayStation??
I don’t understand... I’m a software guy not fucking hardware...11 -
I should just quit. I am not paid enough to deal with this pissing contest.
Reviewer:
Need to add instructions (on readme) for installing pnmp, or if possible, have the top-level npm i install it (lol).
Also, it looks like we are no longer using lerna? If that's right, let's remove the dependency; its dependencies give some security audit messages at install.
Me:
it's good enough for now. Added a new ticket to resolve package manager confusions. (Migrate to pnpm workspaces)
Reviewer:
I will probably be responsible for automating deployment of this (I deployed the webapp on cloudflare pages and there is no work that needs to be done. "automating deployment" literally means replacing npm with pnpm). I disagree that it's good enough for now.
Imagine all readmes on github document how to install yarn/pnpm.
Lesson learned:
If you think an OOP static site developer can't handle modern JS framework, you are probably right.2 -
So I have too many posts for wk110. It's sad. Here we go. I got a bad grade on an assignment for a hello world program in college. How do you write a hello world program that successfully prints hello world and not get 100 percent?
The teacher insisted that we write a console "hello world" program in C++, on windows. If he can't read hello world, you fail. So you must add `system("pause")` at the end so the window stays open. One problem: system() is horribly insecure and im stubborn. I refused to write exactly what he wanted, like everyone else did, because I try to not write code I know is unsafe. So I ended my script with cin.get() which also pauses for input. Unlike pause however it can't be any key, it reads a line, so you must hit enter. This was "unfavorable behavior" and ultimately I got something like a high C, low B grade. Only person to not get 100%8 -
Godammit Homebrew.
It's bad enough having to develop C on a Mac, now Homebrew is refusing to let me install a package that needs root privilege. Support simply says "no package needs root privileges" and "run as an admin". BITCH, THIS PACKAGE NEEDS IT.
So now I'm downloading homebrew source just to add a "--fuckingdoit" flag that skips their shitty "no sudo" rule.
Tooling should save me time, not WASTE it.1 -
Germany trying to fight Covid with digital tools (at least not another app today): registered for a test with QR-Code, Webform and E-Mail. After being tested by friendly people, I received an email that contains a link to a download of a PDF document.
Inside the PDF, a QR code, and a bureaucratic text like during the time of the Prussian emperor: "Bescheinigung über das Vorliegen eines positiven oder negativen Tests (Antigen Schnelltest) zum Nachweis des SARS-CoV-2 Virus".
Okay, we have a national "Corona Warn App" using Google's bluetooth based distancing detection, that also allows to add a test by scanning a QR code.
Scanned the code, got
"QR code is invalid".
Despite the unfriendly UX writing and the unhelpful description, another proof of the state of digitalization in Germany in 2021.
I am not even surprised.
At least my test result is negative.11 -
Me as a mobile app developer trying to add a button to a page of a .Net website:
So, what do i need to do?
Web developer:
Oh that's easy. You need to edit that template which produces html, add an event in there that will call a javascript function, which is in a .js file, which is generated from a typescript file. Than you should give that button a style. Simply by opening up that .less file here and adding a class which will be translated to css later. In that c# file over there you add a bundle reference which contains the css and js files, but before that, they must be minified. In that other c# file, you add a controller that handles your button.
Aaand... take care of new js features and css features. Most browsers don't support them. Those cool C#7 features you love so much... not in this project. Our build servers don't support C#7. Those new features are evil anyway.
😭5 -
Email from a client today: The programmers just need to add an "if/then" code that IF ... BUT NOT ... THEN ... ONLY ... AND ...
God help us if they discover while5 -
I'm having an existential crisis with this client.
We are spending millions of $s every year to make sure the product's performance is perfect. We are testing various scenarios, fine-tuning PLABs: the environment, application, middleware, infra,... And then we provide our recommendations to the client: "To handle load of XX parallel users focusing on YY, yy and Zy APIs, use <THIS> configuration".
And what the client does?
- take our recommendations and measure the wind speed outside
- if speed is <20m/s and milk hasn't gone bad yet, add 2x more instances of API X
- otherwise add 3xX, 1xY and give more CPUs to Z
- split the setup in half and deploy in 2 completely separate load-balanced prod environments.
- <do other "tweaking">
- bomb our team with questions "why do we have slow RTs?", "why did the env crash?", "why do we have all those errors?", "why has this been overlooked in PLABs?!?"
If you're improvising despite our recommendations, wtf are we doing here???
One day I will crack. Hopefully, not sometime soon.3 -
So, during my Java lessons we had a teacher who had a very special relationship with the language.
During the introduction he used to tell us that interfaces in Java are really poorly designed and that they would not reflect how an interface normally should be implemented. The possibility for a developer to add default methods to an interface or that a class could inherit from multiple interfaces was unacceptable to him.
Due to those reasons, he would hate on Java 8 and tell us to not use it and instead stay with Java 7 - dafuq!4 -
Have a couple I want to air today.
First was at my first gig as a dev, 4-5 months out of school. I was the only dev at a startup where the owner was a computer illiterate psycopath with serious temper tantrums. We're talking slamming doors, shouting at you while you are on the phone with customers, the works...
Anyways, what happened was that we needed to do an update in our database to correct some data on a few order lines regarding a specific product. Guess who forgot the fucking where-clause... Did I mention this boss was a cheap ass, dollar stupid, penny wise asshole that refused to have anything but the cheapest hosting? No backups, no test/dev/staging environment, no local copies... Yeah, live devving in prod, fucking all customers with a missing semi-colon (or where clause).
Amazingly, his sheer incompetance saved my ass, because even if I explained it, he didn't get it, and just wanted it fixed as best we could.
The second time was at a different company where we were delivering managed network services for a few municipalities. I was working netops at that time, mostly Cisco branded stuff, from Voice-over-IP and wifi to switches and some routing.
One day I was rolling out a new wireless network, and had to add the VLAN to the core switch on the correct port. VLAN's, for those who don't know, are virtual networks you can use to run several separated networks on the same cable.
To add a VLAN on a Cisco switch one uses the command:
switchport access vlan add XYZ
My mistake was omitting the 'add', which Cisco switches happily accept without warning. That command however can be quite disruptive as it replaces all of the excisting VLAN's with the new one.
Not a big deal on a distribution switch supplying an office floor or something, but on a fucking core switch in the datacenter this meant 20K user had no internet, no access to the applications in the DS, no access to Active Directory etc. Oh and my remote access to that switch also went down the drain...
Luckily a colleague of mine was on site with a console cable and access to config backups. Shit was over within 15 minutes. My boss at that time was thankfully a pragmatic guy who just responded "Well, at least you won't make that mistake again" when we debriefed him after the dust settled. -
While reviewing a PR from one of our newer FE devs, I ended up spending more time than I would like mulling over its composition. The work was acceptable for the most part; the code worked. The part that got me was the heavy usage of options objects.
When encountering the options object pattern (or anti-pattern, at times) in complex scenarios, I have to resist the urge to stop whatever I'm doing and convert it to the builder pattern/smack them in the head with a software design manual. As much as I would like to, code janitor is one of the least valuable activities I engage in daily, and consistently telling someone to go back to the drawing board for work that is functional, but not excellent is a great way to kill morale. Usually, I'll add a note on the PR, approve it, add a brown bag or two on that sort of thing, and make attendance mandatory for repeat slackers. Skills building and catharsis all rolled up in a tiny ball of investing in your people.
Builders make things so much cleaner; they inform users what actions are available in a context; they tend to be immutable, and when done well, provide an intuitive fluent interface for configuration that removes the guesswork. As a bonus, they're naturally compositional, so you can pass it around and accumulate data and only execute the heavy lifting bits when you need to. As a bonus, with typescript, the boilerplate is generally reduced as well, even without any code generation. And they're not just a dumping ground for whatever shit someone was too lazy to figure out how to integrate into the API neatly.
They're more work in js-land, sure; you can't annotate @builder like with Lombok, but they're generally not all that much work and friendlier to use.9 -
I guess I'm taking the piss.
I just spend half an hour wondering why a unit test failed; turns out all calculations were done correctly, just that -5 + 3 was being calculated and the test expected the solution to be -1.
Well, -5 + 3 does not equal -1 and I'm too stupid to add.
Half an hour. (-_- )2 -
School gave me 3 DigitalOcean droplets to try out Kubernetes in the cloud, awesome!
Wrote an Ansible script to not only simply install docker and add users but also add kubernetes, nice!
Oh wait, error?! Well I should've known this wasn't going to be easy... ah well no problem. Let's see... Ansible is cryptic as always, it can't connect to the API server? Is it even running?
Let's ssh to the master, ah nothing is running, great. Let's try out kubeadm init and see what happens, oh gosh, my Docker version has not been validated! No problem, let's just downgrade!
How do I do that? Oh I know, change the version in the role! Wait that version doesn't exit? Let's travel to Docker's website and see what versions exist of docker-ce, oh I see, it needs a subversion, no problem.
Oh that errors too? Wait then what... Oh I need a ~ and a ubuntu and a 0 somewhere, my mistake!
Let's run it again! Fails!
Same ssh process, oh wait...
Oh god no...
Kubernetes requires 2 cores and these things only have 1...
Welp, time to ask the teachers to resize my droplet by a small amount tomorrow, hopefully I'll get a new error!
----------------------------------------------
My adventure so far with Kubernetes. I'm not installing it for any serious/prod reason, just for educational purposes. K8s seems like 'endgame' to me, like one of the 'big guys' that big enterprises use so I'm eager to throw stuff at a droplet and see what happens.
Going further down the rabbit hole tomorrow!
Wish me luck :3
(And yes, I could've figured this all out beforehand with documentation, but this is more fun in my opinion)8 -
Time to add a new feature in an Android app:-
Java code with basic layout to implement the feature - 1 hour
Polishing the layout - 30 mins
Time to fucking make the scroll view wrap around the text and not overflow in the dialog so that the buttons below are visible - 6-10 hours!!!12 -
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.5 -
When your manager who claims to be a Wordpress "developer" says to you oh my God, why are you using notepad to write the page when there is an editor?
My response, because I am a developer. I write code and I can write better HTML than any editor can. I then said I do add editors for my projects where required, not for me, but for the end users that cannot write HTML. He walked away 😂15 -
Facebook API...
Facebooks "graph" or API's in general fucking stink donkey dick.
Their implementation of oAuth is horrible.. 3 different tokens, which can be either short or long lived, for fetching a facebook page feed (the clients own facebook page)
To that you add a clientID and a ClientSecret.
Great... after painstakingly reading confusing documentation and itching your head... You get it to work.
Then they, without notice, makes a breaking change of deprecate an endpoint you were using.. Jesus..
And all the support you can get comes from a "community group" which may or may not reply with a generic link to their documentation...4 -
So I've had a shoulder surgery to fix my problem always losing my left arm, I'm on a medical leave, so no work but i get payed, nice and dandy ... Yesterday my old colleague/friend calls me that he arranged an interview for me for a project ... Excuse me but wtf, I'm happy getting payed and not working 🤔
I vent to the interview, and all they want is to add Romanian and Hungarian translations to a site and mobile app they have, technically they don't even have access to the server or files to add the other languages.
Now explain that to a non tech guy.
We agreed that they get my answer when they have approval and access to the needed stuff 🤣
Edit: this also fits this weeks question6 -
I'm getting more and more triggered by my colleagues overusing words in seemingly random fashion.
The word 'perspective' comes up at least 6 times during a meeting, from an x perspective, from a y perspective. It would be fine in a design meeting but it's used _so fucking much_ I cringe every time I hear it.
Another one is 'standard', that gets put in front of every word nowadays, standard process, standard protocol, standard machine, standard pipeline. What does it mean? No clue, what does it add? Nothing.
'Please put this add the standard location.'
Where?
'The default one'
What?!
I remove it from documentation every chance I get.
Furthermore, some documentation changes make small pieces of information super long. A nice summary list of features? Make it at least 3 sentences for every bullet point. 1-sentence info with a reference link to more info? Scratch that let's include all information in that reference paragraph anyway. Sometimes they even expand English expressions for no reason, making them longer and harder to read.
WHYYYY
We always complain about shit documentation and yet we're oblivious to the fact that our own docs are so bloated. Stop repeating information, stop using useless adjectives, just put it all in 1 sentence and add dozens of code examples. One piece of code says more than a billion words.
I'm not innocent either. As a teen I was great at writing long pieces of text that seemed like a great read but were actually way too bloated for the information I needed to convey. It was great for reaching word limits.
Now I'm trying my absolute best to be as concise and to-the-point as possible because I know that nobody likes reading and people just want the information that they're looking for.
Even this rant is overly long, but thank god that it's just a rant and I can let off some steam.
Btw same thing goes for diagrams, too many icons, too much text, too many lines. When I try to submit a clean-as-fuck diagram I get asked to add more info/features to which I say No, we're already at the max.
I even got a PR for review that made some changes to add unnecessary information, I pointed it out and never heard anything from them again. I rejected the PR, and never saw a new one.
* Sigh *
It's just so strange to me, it's never clear to me why these things happen. I'm too much of a coward to point these things out unless they endanger the quality of the product. But maybe they just need somebody to tell it to them.6 -
Client: I need the push notification to have purple edges with blue background.
Me: I'm sorry. Apple does not have a support for such customization. What we can do is modify title, description and also add an overview image.
Client: No, you can make it purple edges with blue background. I saw it on dribble!
Me: *Logs out*.9 -
Let's share information! Communicate! How do we do it? Via email!
You got question? Send an emai!
You want to share some excel? Send an email!
Not sure who to ask? Send the email to everyone!
Have a 100 message long email thread and then need some help? Send the whole fucking thread to me and just add "what do'ya think?"!
Send some attachment in email and then 2 weeks later refer to it saying "but I sent the file to you!"? Well surely I can remember your special email from the hundreds of email I get every week.
I did complain to the mangers that why the hell do we have these mega-email-threads? Why do you send all the meaningles release notes to the whole company? The anwer is simple: all information needes to be transparent and if you don't need the info, then just don't read the email!
And fuck you, you CEO wanna-be who sends seasonal greetings through his secretary and thinks anyone gives a shit.4 -
Gotham...
why, oh God, why do you have a scene in SE01 E17 at 9:20 min into the episode, where
J.Gordon uses reading glasses to a screen of an old B/W TV and magically is able to read a logo brand of a jacket.
How did the glasses add hundreds of more pixels to the resolution behind them.
This has ruined it for me, not watching now. Even Mission Impossible where they say "use DDOS to take over their systems" is better than this.7 -
*in Sprint planning listening to my PM creating tasks*
PM (to Team): So this will be an MVP we can expand on in the future. Do let me know upfront if any tasks should not be in the Sprint.
Team Manager (to PM): Let's see... Yeah I think you've nailed it... Good.
Developer (to Team): Guys, I see the task for the frontend team to integrate machine learning doesn't have any details.
PM (to Developer): Ooh machine learning! Good catch!
PM (to Team Manager): This was one of the tasks we really needed this quarter, will we still be on track?
Team Manager (to PM): Yeah no worries we'll add it as part of the MVP design in Confluence.
PM: Okay assigning the task now. *Assigns to Developer*
*Team Manager goes on 1 month vacation*
Me (thinking to myself): Wtf3 -
Idiots. Just... Fucking Idiots.
Junior Frontend dev got a feature to implement. Decided to add a field to a set of mongo collections. I'm the responsible adult for those collections. Talked to the junior - told it, "don't do that, you will lose the data you are adding later". Junior says "will not happen", and goes on to try and prove It is "Right". Problem? Junior is an Idiot. did not trigger the data loss scenario. So... Junior got his TL to talk to the RND manager. And those Idiots Decided that the implementation will go forward as is.
Data loss will happen. QA will not find it. Only the client will experience the data loss, and complain....4 -
Customer: I need a one page website, which must have an administration panel , so I can change and add new sections. I will also have designed a unique logo and a unique web design. I think you can do it in 5-10 hours , so I'll give you $ 50 and $ 100
Me: ehmmm... I need more time if it is to be unique , and one hour cost of $ 5- $ 10 is not enough.
Customer: fuck it. I do it my self. it can not be that hard , and I think it's too expensive.
Me:5 -
Google Business Profile is probably not meant for developers. "Help customers find your business by industry." Dev: set primary category to "Web Developer". Google: We didn't understand your category. Please select from the suggestions that appear when typing. Dev, typing: "Web D"... Google suggests: "Web Designer, Web hosting company, Well drilling contractor, Waterbed shop". Okay, Google, nevermind.
Google: "Update your customers. Keep your customers up to date about your business!" Dev clicks "add update", adds info about that customer should use different phone number temporarily due to broken phone. Google: "Your post has been removed from your Business Profile on Google because it violates one or more of our post content policies." Okay Google, at least you let me add an additional phone number on my profile without requiring to verify my primary number that I currently have not access to. Anything else?
Google: "Claim your €400 free advertising credit" Dev: clicks "claim credit" Google: "To access this Google Ads account, enable 2-Step Verification in your Google account." How to combine idiocy and deceptive patterns in a single UI: Google knows! Apart from their search engine, their unique business advantage is simple that they suck a little less than Apple and Microsoft. Sorry, not a day to be proud of our profession, once again.5 -
me vs marketing guy, again
me: yeah, the database server is not responding, so you cannot log in to post your blog, wait for it to get online.
MG: But, the website is online.
me: web host and database server are two distinct things, they are not the same, *share a screenshot of the error*
MG: Oh okay.
Literally 3 hours later this fucking idiot sends an email and I quote.
"Hi Dev,
@CTO FYI, Someone has removed this code So there is some tracking issue on it.
Please add below google analytics code on the website.
Note: Copy and paste this code as the first item into the <HEAD> of every web page that you want to track. If you already have a Global Site Tag on your page, simply add the config line from the snippet below to your existing Global Site Tag.
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://googletagmanager.com/gtag/..."></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-xxxxxxxx-1');
</script>
"
The fucking issue was of him not being able to post his shitty blog, and he shares an email like this, FOR FUCK'S SAKE!2 -
Last year I changed jobs from a large multi-national to a small local agency (which happens to be run by friends of mine).
One of the reasons for doing this was that my work involved more office politics than *actual* software development, and had just plain stopped being fun.
Now, I am having fun again! An example?
For one of our clients we have to connect to (a lot) of third-party APIs. Often even SOAP APIs!
Now I hear you protest "But that is no fun at all! SOAP APIS SUCK!" Which is true, more often than not. 😔
BUT! My friend started an internal API-SNAFU Trello board. Every time you get bitten in the ass by some ill conceived fuck-up of an API, you get to add your complaint to the board.
Beside giving as something to reciprocally rant about, the board also serves a serious function: depending on the amount of fuck-ups an API has been known to make, the price for working with that API will go up.
Who said it doesn't pay to complain? 😀1 -
Things I wish people had said at my first job (in light of lots of the people I see starting their first dev gig on here). Please add yours.
Congrats!
Take a breath, you will be fine.
If you get frustrated, take a moment to collect your thoughts.
Don't be afraid to say you don't know, you are not expected to know everything.
Your workday needs to end at a decent time. Don't overdo it or you will be useless for more of your hours.
Always take whatever length of time you think something will take and double it. If you think it will take 15 minutes, it'll probably take your 4 hours.
Concentrate on networking and personal relationships.
Pick the smartest people who have moved the most vertically and pay attention to what they say, they might know a lot.
When management makes an "unwise" or "crazy" decision, ask them why or what the context or motive is that made then arrive at that course of action. Some of them might surprise you in their bigger picture motives or dumbassedness.
Six sigma may be in your future, learn what it is.
Automate as much of your own job as possible.
Um, that's all I've got for now. Hopefully that's helpful to people just starting out. Feel free to add yours.5 -
It seems that the bug with the Add-ons on Firefox still remains unsolved (at least with firefox-esr on Debian, the "new" version seems not to have been released yet).
It has been an uncomfortable weekend on the Internet, but not enough to make me break my relation with Mozilla. Each time I miss my extensions, I think of those poor devs drinking coffee and fixing bugs during the weekend, instead of relaxing and do other things.
Why do I see so many annoyed people writing bad comments on Mozilla's blog? I mean, Firefox is open source, maybe we should be a little more patient and empathic with them :)
(source of the image: http://www.foxkeh.com/)8 -
I feel so guilty.
I had to make a hotfix today. It is the ugliest piece of shit code I ever intentionally created. But there was no other way. I swear there was no other fucking way!
My boss just assigned this to me. But because she thinks this needs to be a hotfix and can't wait for the next release we just have to change the server and not the client side of our application.
So I had to add a memory to our server so that it knows from which high level method from the client the multiple low level calls to it are coming from.
It just doesn't make sense logically.
I mean I feel like I killed someone. And just so that we get less writes to our DB. I mean yes in some edge cases it is a huge speed-up...
But nothing this fix solves is a new bug.
I'm gonna take a shower now. For like an hour3 -
Making an MVP is hard as hell. It's not even coding that makes it hard, it's knowing when to stop that's so damn difficult. By the time you're ready with something, your brain says "Hey...wouldnt it be great if you added this!" Then you add it, "whoa add this too!"...several days later:
Brain: "The fuck is this, all you needed was that"
😭😭😭7 -
Instructions on how to become suicidal:
- Create an API controller for the /file/ path
- Add an empty endpoint for POST /file/upload (will write it later!)
- Forget about this endpoint at some point
- Later, create a page for /file/upload
- GET /file/upload returns page
- POST /file/upload returns empty 200
Pure psychological horror for like an hour Googling why the fuck my razor page is returning empty responses and my breakpoint on OnPost is not fucking hitting even if I copy and paste example code from the ms website
Oh yeah, that controller.5 -
The single most annoying thing about working with Microsoft is how they, at one point, decided to wipe 99% of their articles and downloads on their site. But instead of updating it in their OWN FUCKING OS, they just leave links to the broken pages in their help system. The second problem then arises when you realise that instead of giving you an error page, it automatically redirects you to the default page.
But on top of wiping their site, not updating windows to reflect those changes, and having a terrible site design, they have also decided that it would be best to keep the pages that once we're, online. This means that they will still show up in search engines, without any content being there.
Add to that the fact that their support team is incompetent to an insane degree, and often doesn't know what they're talking about. This has caused me so much frustration over the last few days.
Dear Microsoft, please get your act together and fix your shitty website.
Greetings,
A pissed of customer who paid money for your shitty services2 -
One thing I hate about WinForms:
"do not modify the contents of this method with the code editor."
How the phook do I add eventhandlers without adding them in the code? By some mysterious ways in the so called "designer"? Click and drag? Wearing a tie and talking to the computer? Making a phone call to Microsoft? Immersing into VR and ordering an event handler from a virtual store?
No, I've always just typed whatever I want to achieve and I'm going to do so whatever those know-it-all comments say in the auto-generated code.
You can call me a conservative old fart, but nothing beats writing my own code.6 -
I made a Product in my free time (after work hours)
it's a SAAS thats supposed to be an add-on to apps and websites
Added it to my own apps (what better than Test in prod) and over months fixed its pitfalls n ngl, even im impressed by its core tech and resilience
But thats kinda it -.- Ik I should make a landing page and launch it etc but I lost the will the day the "core tech" was 99% perfected
Im a Product guy not a businessman T__T
It's the weirdest mental block ive had in a while ffs.8 -
Fuck this client's IT department. They're a bunch of Microsoft asslickers.
How am I supposed to push code to your self-hosted GitLab instance if you restrict me to Citrix RDP????? No OpenVPN access because I'm on Linux?? Seriously? Because I am not using any of your laptops?
FUCK YOU DUMBASSES, I COULD DO A BETTER JOB THAN YOU AND I JUST PLAY WITH LINUX.
When I said I only needed terminal access I would have never imagined they were thinking of Putty inside an RDP. What a steaming shit.
Oh you guys don't have a secret management service as any enterprise should? Oh I cannot add a secret management service as part of the solution I am building for you guys because "Hurr Durr yOu HaVe NoT pUt ThIs In ThE pRoJeCt PrOpOsAl sO nO"
Fuck you guys. You guys only don't want to move to the cloud to not lose your jobs. I would be far more productive than relying on you pieces of dumbassery.
They are all having each others back in using shit technology and practices.7 -
So I'm tryna register for classes using my college's portal, and I click on "add/drop classes", and an entire Java stack trace gets dumped on my screen, with a warning at the bottom not to expose these errors to production in order not to let potential attackers know about how your backend works. I guess nobody at the college ever read that message.3
-
Everyone here deserves the worst.
No, really, you all deserve those dark juicy stories. So here's why I hate password systems that don't have the user experience in mind.
Recently my university went under a huge update, most of it good, but this is DevRant, so let me tell you what's just the worst.
They asked me to change my password, they do this every month or two. So I did it, but as I clicked "Ok" a wild error appeared! It told me I had to use a password that was not one of the FIFTEEN that I'd used previously...
I tried everything, and despite everything else being poorly programmed, or what not, I thought it would be easy to spoof. Nope. Unfortunately this seems to be the ONE thing they did right. Looks like I'll have to go back to basics. Just add a number on the end of my previous password, up to fifteen, and reset :]
I think this rant needs to turn into an email headed straight to them :)3 -
Security fail here. I've just started a PPI claim and have been provided a link to a so called "very secure" client area.
There are no username or passwords and the screenshot is not a first time sign up screen.
All I need to login is a surname, postcode and DOB - all information easy enough to find online.
Pretty bad IMO, esp, so considering the effort required to add a proper login using a username/password combination.
I mean I'm logged in now and have no option to set an account password :|3 -
1. Focus on learning; earning should come secondary
2. If it doesn't add anything to your resume, it's probably not worth picking up
3. Do not re-invent the wheel. Explore third parties and libraries thoroughly. Use them as much as you can.
4. If you stuck at a problem for more than 2-3 hours: post on stackoverflow
5. Plan, create deadlines, and focus as if an executive chose you.
Lazy = failure!5 -
Like a lot of people, I have created an account on a website to find a job.
The funny part was when I was asked for my city (with a little * to indicate that the information is required) and ... the field was just gray and unusable ...
The solution was simple, edit the html to enable the field and add the selected value manually because it wasn't added automatically on selection.
Today i'm not sure if this was a test, a troll of just a crapy form ...
(actually it wasn't speciallt a dev site so i suppose it's the answer 3...) -
Never had any doubt in my skills and have always judged them accordingly.
I am very....very...annoyingly confident (and in love with) myself.
This does not mean i do not acknowledge me fucking up and being wrong. It just means that even when I fuck up I learn from it, add it to my toolbelt and then continue to think that i am the bomb.
I don't compare my shit to others. I have never seem anyone effortlesly do anything, it is always the result of practice, passion, love and dedication and saying that it must be easy for them is an insult to them and their crafts.
I do not get jealous, nor do I feel smaller, i get pumped and motivated.3 -
I am making an LDAP user manager and porting application for my workplace.
The thing is, i made the first version of it in PHP already. Shit works fine and it without an issue.
But
I had an itch to redesign it using another tech stack that would be speedier, more tested and using a more established platform.
Enter Clojure, a Lisp dialect for the JVM. In a single day I managed to get 80% of the application done. We have about 80k users inside of our ldap system(maybe more) and I tested it with 150 accounts, so far so good.
If this works I will be the first person to deploy a Clojure application, not only for my organization, but for the city as a whole while simultaneously being able to say that I got a Lisp app deployed and working :D
I am loving this. Really wanna have a Lisp app out there and add it to my resume.
The head of my department, an old timer and really ancient dev smiled heavily when I showed him the codebase. Not only is it minimal, it is concise and elegant :D
I love Clojure
And Texas17 -
That one client who feels entitled to immediate feedback and response from you, yet they're not paying you on retainer and know good and well that you have other clients. Then they get condescending in their emails and cop an attitude when you (nicely I might add) advise them to find another developer if they want people to micro manage.
Yeah, I just fired that client. Not dealing with this anymore. Good thing about being a contractor is that you have the freedom to walk and have a backup plan. And if they try to come back, I'm hiking the rates if I even take them back at all.
😎✌️ -
Week 1 of the new job, and it seems I have some pretty low expectations to meet.
Seriously, I just did the math. Let's say one works an average of 48 hours per week, 50 weeks per year. Just as an average. That's 2400 hours in a year.
In the Micro-scale, a manager would mess up their team once every 2.4 hours (2h24m) or about 4 times per day (assuming 5 working days per week).
That is a pretty low bar to clear. It easy not to be an antsy brat that are-we-there-yet's a professional dev four fucking times a day.
And yet... that is what the complete moron who previously sat on my chair used to do.
Seriously, apparently he used to remote access the team's dev envs *while they were working* and even mess up some of their code. Just as a "monitoring measure". He logged their "keystroke time" in a day (using a primitive windowing method, I must add).
At least 7 requests for updates per person per day. I have his slack history, I checked. Dude literally did nothing else but be an annoying anxiety death pit.
And then there is his bulshit planning...
He created tasks out of his stupid whims, no team review or brainstorming, not even a fucking requisites tallying interview.
He prioritized those out-of-nowhere tasks using panic-driven-development practices and assigned them by availability heuristics.
No sizing method, just arbitrary deadlines for tasks.
I think I will need to have daily standup meetings and an open door policy (that is to say, do no actual work) for a couple months until I can instill some sense of autonomy on my new team. Shit.
Someone has another idea? How do I bring some confidence&autonomy back to devs that are used to be treated like dogs?!?7 -
You guys remember that awful Java class that I'm taking at uni? Mentioned in this rant here: (https://devrant.com/rants/1461472/...).
Well we had an assignment to make a program that accepted any amount of numbers from a user and add the unique ones to an array (so if 2 was already entered, it would not be added to the array a second time), and then print the array out backwards. Simple as fuck right?
I checked my grade from the assignment I turned in and see that I only received 10 out of 50 points. Why?
"Program compiles and works with expected output. Partial credit for using ArrayList instead of array".
Uhm.. Partial credit is 10 out of 50?? And what the hell? Yeah okay let me go make this stupid program that involves an array with an unknown length and see how fucking perfect it works out for me.
Fuck you for docking my grade because I made a program that was sensible.
Fucking dickhead. -
1 - Spend 6 months building an app with Flutter
2 - Try to add in-app purchase. Must upload an apk to google console and register a product
3 - Must launch the app so the product is activated
4 - Console complains apk must contain 64 bits version
5 - Go to the issues tab on github and find a solution
6 - Implement the solution, recompile and send 2 apk files to Console
7 - Did not work...
8 - Find out maybe the console will allow just on closed alpha and beyond
9 - Put apks on closed alpha and fail because the Console wants a new apks with increased version codes...
10 - Recompile and send apks
11 - Console won't allow launching unless the format is using the new App Bundle
12 - Flutter does not support App Bundle with 32 and 64 bits...
13 - See issue about it saying the possible fix is in beta version, just need to update... What could go wrong?
I just wanted to release a damn app
I hate that shit5 -
isRant = true
Am I the only one who has to deal with an annoying coworker who has the urge to take every conversation into an argument to prove himself smarter than everyone in the team? A person who has to contradict every time with rest of the people just to prove himself smarter and different.
Gets so annoying sometimes that I stop answering him right away.
To add to this he is the person from our dev team who has to prove that he codes the fastest and want to get it deployed ASAP. Does not follows best practices and disregards and design patterns. Would argue for hours on his code with the peer reviewer.
Every one hates him for this and he things he is the dev rockstar2 -
I've been using the Square REST API and I spent one hour thinking there was something wrong in my code until I f** found that THEY were not following OAuth 2 guidelines, which made their workflow incompatible with the OAuth lib I was using, so I had to mark an exception for Square's OAuth from the rest of my OAuths. Specifically, RFC 6749 Section 4.2.2 and 5.1.
However, after reading OAuth 2 guidelines, I became angry at THEM instead. The parameter `expires_in` should be the "lifetime in seconds" after the response. This will always be innevitably inaccurate, since we are not taking into account the latency of the response. This is, however, not a huge problem, since the shortest token lifetimes are of an hour (like f** Microsoft Active Directory, who my cron jobs have to check every ten minutes for new access tokens). Many workflows (like Microsoft, Square, and Python's oauthlib) have opted to add the `expires_at` parameter to be more precise, which marks the time in UTC. However, there's no convention about this. oauthlib and Microsoft send the time in Unix seconds, but Square does this in ISO 8601. At this point, ISO 8601 is less ambigious. Sending a raw integer seems ambiguous. For example, JavaScript interprets integer time as Unix _milliseconds_, but Python's time library interprets it as _seconds_. It's just a matter of convention, a convention that is not there yet.
Hope this all gets solved in OAuth 2.1 pleeeaasseee1 -
The stand-in for the person who normally runs the daily standup meeting (who is currently on leave) asked me today in front of everyone in standup if I've updated my notes. Fuck. Off.
So, I decided to be cheeky and add a comment to the daily standup notes automation task in our project management software that we should just include all of the recipients of the daily status update email in our standup meeting every morning, this way we don't require a OneNote space to update as well as an email.
If they tell me that's not the purpose of standup, then hopefully someone will realise what they've been doing all along.
Let's see how that goes lmao.2 -
So I was assigned to improve an existing internal CMS application where they wanted the ability to add extra form applications and restricting them based on people from different departments. As well as include some other improvements like speed as they mentioned that it was slow in some instances.
What I found was the original developer decided to not use any kind of framework and decided to be creative by creating his own MVC framework. With about 300 users in this system and utilising no caching of queries, views, not even using PHP OpCache, even quite a few security holes, I was damn surprised at how this thing was running. I asked the original developer why he didn't use an open source framework and he said that he thought that he'd create something and be the next Facebook.
It was a mammoth task to "improve" this system but the main thing was that I took custody of this project and that I prevented him from trying to make a bigger mess of things for this project. -
why I say FUCK AI -
-> So much stupidity with "It will replace devs". Any dev who has more than 2 brain cells has had their issues with ChatGPT or AI knows that AI is not sufficient nor good enough to get even basic tasks done.
-> "It will be good in 5 years" - well then, talk to me after 5 years. I'm not buying a product or an idea on a "promise". I judge the tech for what it is today, not on what it can be in 5 years.
-> "Just trust me bro" - I see influencers suck that robot dick, but no explanations are given. What they say sounds to me like it's parroted off of general mass media. Nothing new to add nor any insight.
-> AI has issues that nobody seems to talk about. Hallucinations being the biggest of them all. ChatGPT tells you something, and you're supposed to take it as fact? That's too dangerous for a normal person.
-> Junior software developers are scared even to this day that AI can replace them. If they can't think for themselves, it falls upon us (or at least, me) to drive them in the correct direction or give them real opinions on what it is.30 -
Can anyone recommend a good cross platform way to develop GUI applications?
Looking at building an IDE for GMS-2 to add a new workflow but can't find any good GUI's...
(I want to use C# and yes i would ask on stack overflow but im more likely to get help here and not get called a dick head... Maybe)17 -
I made a bit of a tradition of building a list of hardware that's superior to whatever Crapple is releasing whenever Crapple releases something - and for the first time, I decided to make it public instead of just sharing it with some coworkers.
Making it public however took some time (luckily, yesterday was a holiday here, so I got it done now) - at least, making it looking "not like shit" took some time.
So enjoy my (very basic) bootstrap templated, yet possibly useful list of builds superior to the Crapple Rag Mini (which is a completely fictional entity not resembling any existing company in the world. Promise. Totally. Penguin's swear.)
The list can be found here - expect to see an update anytime Crapple pushes new shit to the market:
http://il-pinguino.com/superiortocr...
(possibly not safe for work, children, catholics and SJWs). Yeah, no SSL cert, currently. Hell, it's a private server, it doesn't process any of your info and it doesn't offer downloads... I might add one in the future.
I hope you can forgive my shameless self-promotion, it's not a commercial site, there are no ads/shitcoin miners on it and i don't get a share/cut/whatever - just a small humorous joke project. For now.
BTW: I didn't attempt to build any of those. It should work, but please don't sue me if it doesn't.5 -
LoL.. I knew this one successful independent developer who told me:
"Why do all these companies use inefficient technologies - seriously? What I usually do is: I present myself to a company, I ask them what they would like to happen, what their problem domain is and then I present a solution. A lot of companies I've consulted for were jaw-dropped that an entire efficient and complex system was only a size of 52 KiloBytes because I just used simple languages to accomplish the task".
He has a point.. look at all these companies nowadays forcing you to Java, GlassFish, NodeJS and what not. Just the frameworks and libraries alone hog down 10 minutes of build time (sometimes 30!!), the worst companies using frameworks that require you to rebuild an entire project just to see a change in the UI.. they don't even add a watcher, and even then.. omg, not to mention averaging project file sizes of 100+ MB.
Sigh.. where is the development world going?9 -
Separation of concerns is a beautiful thing.
JSX is fucking ugly. Fuck that shit. I hate JSX with a passion.
Here is one. Did you know that the digestive system works really hard to digest the food eaten?
How about we blend all the food before consuming it? Take a blender and add a cup of coffee, add some salad, add a piece of cake, a few slices of pizza, hot sauce and for good measure add some juice, or whatever-you-eat-for-lunch.
After all, all that food is going to get mixed anyway. This is more efficient!
No? Why not? Because it's ugly, highly unappetizing, disgusting even, and it takes away the pleasure of eating, the enjoyment of a good meal.
That in a nutshell is JSX: mashing up everything together under the pretext of efficiency.
Web development not only is an art, but above all must be enjoyable to those who devote their lives to it. And ugly ain't gonna cut it.11 -
Fuck this shit! Roommate just barged in at 3:30AM, his gf in tow. They went to bed like I am not here and he is snoring like a chainsaw. I never understood how can she sleep next to him while he snores like that. I have earplugs and active noise cancelling headphones on. I can still hear that motherfucker loud and clear. How the fuck is she not awake?!
But more importantly, 50% of this fucking room is mine, what makes him think he can just have his girlfriend over while I am here is beyond me. Like, sure, if I am not here go ahead but when I am here I would like some privacy, I guess the plank wall that I made in the middle of the room is not an obvious enough clue that I want privacy and I don't want to be disturbed :-/
Can't wait to have enough proof of his bullshit to get the block manager to throw him out.
Edit: To add to the snoring problem: I had a girlfriend who would snore, less than my roommate but still loud enough that I was awake the whole night when I went to sleep at her place... I HATE SNORING ... And when I went home for some holidays and my brother snored even for a second I kicked him off of his bed (because why not, he is an asshole to me like 99% of the time - and so am I to him :D //sibling love//)12 -
Why do people who cannot write specs still write specs? There are guys who just cannot produce anything human readable.
- Don't list 50 things in the same sentence separated with semicolon. Don't you have list bullets in your Word?? Or table, anyone??
- Now that you managed to add a table, don't write a novel into the cells. Especially now that you have decided to use 30pt font size and 3cm wide columns.
- If it's not an equation, don't use parenthesis. Why? Since they (and this is just my opinion (someone else might think otherwise)) are a little bit (or a lot, depending on the reader(s)) annoying (or otherwise irritating) since they (the parenthesis) tend to make the text (of any kind) very difficult (hard) to read especially (there can be other reasons) when you (or someone else in the company) have decided to write reaaaally long and complex sentences which add no information but make the reader go back and forth of the text trying (and sometimes not succeeding) to make any sense out of it.
- Always remember to use cross-reference number like [1] but don't tell what it is referring to. Special bonus will be awarded, if the link is broken!
- Save space and time by not explaining things that you can just refer to. Just add vague "read from [1], [2] and [3] for info about this." And then expect the reader to go through thousands of pages of boring jargon.
And oh yeah, please ask comments in the review session and then ignore all of them, since "well technically all the information was in the spec". You just need to be Sherloc Holmes to connect the dots.2 -
After coaching for Django Girls organization and GirlScript Summer of Code, it can be known I clearly have a thing for Django. So I decided to make a new Portfolio from scratch and this time, using Django (seemed a good idea as I wanted to migrate my blogs from Medium to the portfolio).
So, I made the project, got a domain name and hosted it on Heroku. Then it struck me to make my portfolio open source so everyone can use it to make their own! I am looking forward to add a lot new features and improve the existing ones. Here’s a link to it: https://github.com/hmangukia/...
Do create an issue if you feel something needs to be improved!
Projects, Blogs and Social Media handles can be added from the admin panel. If the user does not have coding background, the installation process might be tough. That is why, I am looking forward to add the Sign Up functionality so that the user does not have to go through all that hassle of installing and hosting the project.
If you are wishing to use this to make your Portfolio, please go through the installation steps in readme.md. I would be more than happy to help you install and host on Heroku if you get stuck :)5 -
Arghhhhhhhh! What the hell is becoming of today's world?
So I have registration form that relates to parents signing up for a service and asking for ages of their children. Children are never older than 5 years old.
So, for each child the user specified the child's sex/gender (Boy or girl) and their age.
I'm still in disbelief over my client's request, that is marked "urgent".
I basically need to add to the list of options, as "boy" and "girl" are no enough and the question is now "too limiting".
I apparently need to add several more options including: "prefer not to specify", "geneder neutral", "bigender" and "genderfluid".
I mean how can a child aged 5 or less identify as "gender neutral" or "bigender" - how on earth are they able to decide.
Fine, if you're an adult and signing up to something like Facebook, have your 80 odd options. But for children under 5 how have no idea wtf any of this means, stuff like this really annoys me.16 -
Which fucking idiot thought it was a good idea to give adds the right to go and bust your fucking eardrums out of the blue. Like, I'll be sitting here playing a mobile game with my earphones in that has like little to no sound and out of nowhere some fucking add just goes BANG BANG BANG BANG as if my phone's volume is on max volume and put through an amplifier just to fucking rape my ears.
I GOT NEWS TO EVERY ONE THAT THIBKS THIS IS A GOOD IDEA:
NOBODY FUCKING LIKES YOU AND I HOPE YOU BURN IN A FIRE THAT DOESN'T MAKE ANY SOUND IN A PADDED ROOM WHERE SOUND IS NOT A THING -
VB CreateObject..
Why?!
Cuz it creates an ActiveX object..
So?!
I am using it to manipulate excel files..
Ooohhh...
Yeah, old code, finally getting around to replacing it, probably with something cross platform too.
But in the meantime, I still have to fix remaining bugs or add small features.. Lately just the latter. I manage to do so, even though it takes a lot more time that I'd like to admit as I'm not coding with VB on daily or even monthly basis...so the goddamn ; are everywhere, fucking with me like I killed the pope..
And the code is horendous.. I'm not even sure if it can be done more elegantly, with lesser lines etc.. but to me it feels like I am powertaping a stick to a robot and hoping it will autoconnect and start functioning as a third arm joined with using electric screwdriver to disassemble a watch..3 -
I have used Mac since 2011 and I have made statements about how Windows PCs sucks.
I had to buy a Windows-laptop for engineering school and I have experienced problem after problem after problem.
It took about a month to get the right computer (I ordered online and they missed to add an extra hard drive).
I had to return the second one after 10 days because it was not able to boot.
The third one I had to send to HPs repair place in Poland for a week, because the “X”-button” did not work properly.
I have not used the computer for a couple of weeks and now I was going to create an Android Studio-project and found out that the extra hard drive is missing! (Not physically missing, it does not show up)
When I bought the computer I had to portion the disk, but this time it is not showing up in that tool either...17 -
Which phones do you recommend?
Which have given you the fewest problems?
I want something with custom rom support so i can add my own problems (duh) and to make it prettier. Apart from that, the only other deal breakers are a lack of wireless charging (I have children who break everything) and an awful screen. I'm not really picky about anything else, but I do want it pretty.
Anyone have a phone like this that they actually like?17 -
So CyberCoders automatically added me to a mailing list and kept emailing me spam about resumes of developers. Not being in a recruitment position, I decided to "opt out".
I had to fucking prove I'm human... to opt out of an email some machine added me to.
Allow me to add a poorly done image to express my feelings on this matter. -
As an CS college drop-out I have nothing to add than what has already been said, outdated material and barely used languages with paper coding / exams and listening to an old geeze about when he programmed in 1942.. you get it..
Not that I lack respect for what the man did back then but it seems rather unrelated in today's times.
So now it's stockmen work while own study, working on small projects and learning with mates and amazing camp platforms now and again.2 -
!rant
Managed to find an advantage of IE, and it's not for downloading Firefox or Chrome.
Nah, I just discovered that you can actually add a shortcut on your bar task on Win7 with the favicon of the website (I guess it's the favicon), and IE will directly open to it with slight minor color changes.
So now when I need to check if any commit were made on the repository, I have a shortcut to the website so I can check fastly o/
(why I use IE for that ? Because Firefox and the proxy have some issues, and I had bad experience with Chrome. ¯\_(ツ)_/¯ But IE does the small job I give him, so I don't complain)1 -
You know what bugs me the most? When people make their code fast and efficient, but not updatable. Like if I want to add something for my program to look for I'd rather just put another item in an array than modify/add 30 lines. Jesus Christ people.1
-
@dfox what if you add an advertisement category? Then advertisers might think that "oh, that'll probably make it show up nicely", though in fact it's not shown at all.7
-
Today's rant: JavaScript's type system.
I realized halfway through that I can't happily call JavaScript a "programming language" so just assume
alias programming="scripting"
I'm sure it's not actually as frustrating as it seems to me. Thing is, I'm used to either statically-typed languages or dynamically-typed languages that actually make sense. If I were to try to add an integer to something I'd forgotten was a string in Python, it'd immediately tell me "look, buddy, do you want me to treat this as a concatenation or an addition? I have no idea the way you've got this written." I've found that mistakes are a common thing with dynamic typing. Maybe I'm just not experienced enough yet, maybe it's really as stupid as it looks. JavaScript just goes "hey look I'm gonna tack all of these guys together and make a weird franken-string like '$NaN34.$&' because that's absolutely what we want here!" Then I run my webpage and instead of a nice numeric total like I wanted, good old JavaScript just went "Yep, I have no idea what I'm doing here I'm just gonna drop this here and pretend it's right." Now absolutely I do not expect my programming language to make correct assumptions and read my mind, otherwise JavaScript would be programming me and not the other way around. But it could at least let me know that I had incompatible types going on rather than just shamelessly going along with what it's doing. Good GRIEF, man, some of the idiosyncrasies of the EMCAScript language definition itself just make me want to punch a horse.6 -
We have pretty fast and lean dev process between QA/Design/Devs.
But sometimes, it's going to shit ;p
QA :
An option "ROLE" is missing for grouping in that table.
So 5 min to create ticket, assign someone from design on it
Design : Yeah, this is true. We missed that option in our design.
Proceds to modift figma by adding an option "Role" to a drop down.
Reasigned to Junior dev.
Junior dev : I have no clue how grouping works with graphql.
So at least 30 min.
Reasigned to me.
Me after 1 min of looking at it : PR chhanges on screen shot :
Facepalm... Everyhtibng was already in place, someone forgot to add id AND name, not just name.
Git blame => Or never mind... it was me.. -
So here we go again.
Same "web designer", same me, same website (based on wordpress, completely redone front-end UI, full of ACF to keep their fucking data).
WD: ok, I'll need you to add an information on the project page template in order to show a gallery with slider at the bottom and "film+visuals" at the top if there is a gallery.
Me: ok
1 week later, after like 40 e-mails between us deciding if it was ok or not on DEV server and pushing it to PROD
Me: ok, done
WD: hey, if it's just a film there should be written "FILM" while there's nothing showing, also the gallery must have same height as the film above
Me, internally: why the fuck didn't you fucking tell me before pushing to PROD? are you fucking dumb or something?
Me, via email: ok, i'll check it now...2 -
Writing a feature critical for production in 2 hours of solid focus during the morning.
6 hours later it's still not in the build because:
* tech lead wants the code to move to a partial class instead of an extension method, delaying the UX review. No guidelines for this ever existed.
* after seeing the result, the UX team wants some element to be dynamic. A line. A friggin horizontal line.
* after adding the dynamic shiny frigggggin line, I try to test the feature with the server. It is still not deployed because the server guy went home. "The PR was not merged so I assumed we'll add it tomorrow".
Another day at the meat grinder.6 -
Today I created my first shell script for automation.
I have a git repository I use for backing up documents at the training centre I'm at for work. Not a specific project, just all of the documents and miscellaneous stuff. The need for this came about because they re-image the computers every month with a new version of windows (Because they're too cheap to register windows). And I can't risk forgetting to copy all the files onto my USB drive the day before they re-image.
So at the end of each day I open a git bash and type:
git add .
git commit -m "Backup - dd/mm/yy"
git push
Not a particularly laborious task but repetitive and time consuming.
So I decided to create a .sh script to automate the process
(The idea originally occurred because of this post: https://devrant.com/rants/329221/...)
So after about half an hour fiddling about with dates and $ signs, I came up with GitBackup.sh:
git add .
today=$(date '+%d-%m-%y')
commitMsg="Backup - "$today
git commit -m "$commitMsg"
git push origin master
Not much but proud to call it my first automation script.2 -
I fucking hate Visual Studio!
Don't get me wrong, from time to time I actually enjoy it but not today.
It all went south when I tried to add a new handler to an fucking old asp.net webpage. I had the access the 'Range' headed to stream bits of audio and video files to the client. It was working absolutely fine for the first hour and a half, after that point the fun started...
VS decided that my source code and the binaries won't match anymore. Everytime I tried to add a fucking breakpoint or debug this cunt of an error it would just refuse
The worst part that made me go apeshit was when I finally got a breakpoint and the exception. Some unknown fucking system dll just kept on killing my thread without a proper error message because it's optimized to the fucking moon and back!
Any ideas from the devs here on what's going on and how the fuck I can fix this?6 -
Here is a little story about why I do not like to have to purchase developer tools and libraries..
Long story short it has taken at least 10 people more than 3 months to purchase two licenses of this component library which we still do not yet have licenses for.
It all starts with this guy who works here and has the job title 'solution architect'. He saw an ad on a website about some html component library. Then he asks me and the other developer here to look at it. He is super excited saying things like if we save only x days of time the cost is nothing in comparison to developer time..
The other developer and I both spend a few days reading the docs and trying some sample code. It offers some things we can use but I suggest not bothering with it.
Despite my suggestion he goes to the technical manager and they write up a business case. After about a month our receptionist cc me on an email chain from the it commercial manager who is asking for the licensing information so they can add the component creator as a vendor in the purchasing system. I send them a link to the component website which lists all that.
Jump forward two more months to last week and I got a spam email from the component company saying they have some new version out. I am wondering what has happened so I ask our receptionist she says it is with accounts payable and waiting payment - but it is marked urgent and she will find out.
Today I am cc in an email saying they have paid for it two weeks ago. So where is the license info? Nobody knows.1 -
HOLY SHIT
FINALLY
AN APP THAT LETS ME USE FIREFOX I STEAD OF SAFARI ON MY FUCKING IPHONE
ITS NOT THAT DAMN HARD APPLE. YOU DID IT FOR THE MAC...
also devrant, plz add browser selection for iOS (yes I already submitted a GH issue)5 -
I really really hope that no one post this,a friend texted it to me and I wanted to share it because made my day.
Idk where it comes, so feel free if know where this came from to post it:
//FUN PART HERE
# Do not refactor, it is a bad practice. YOLO
# Not understanding why or how something works is always good. YOLO
# Do not ever test your code yourself, just ask. YOLO
# No one is going to read your code, at any point don’t comment. YOLO
# Why do it the easy way when you can reinvent the wheel? Future-proofing is for pussies. YOLO
# Do not read the documentation. YOLO
# Do not waste time with gists. YOLO
# Do not write specs. YOLO also matches to YDD (YOLO DRIVEN DEVELOPMENT)
# Do not use naming conventions. YOLO
# Paying for online tutorials is always better than just searching and reading. YOLO
# You always use production as an environment. YOLO
# Don’t describe what you’re trying to do, just ask random questions on how to do it. YOLO
# Don’t indent. YOLO
# Version control systems are for wussies. YOLO
# Developing on a system similar to the deployment system is for wussies! YOLO
# I don’t always test my code, but when I do, I do it in production. YOLO
# Real men deploy with ftp. YOLO
So YOLO Driven Development isn’t your style? Okay, here are a few more hilarious IT methodologies to get on board with.
*The Pigeon Methodology*
Boss flies in, shits all over everything, then flies away.
*ADD (Asshole Driven Development)*
An old favourite, which outlines any team where the biggest jerk makes all the big decisions. Wisdom, process and logic are not the factory default.
*NDAD (No Developers Allowed in Decisions)*
Methodology Developers of all kinds are strictly forbidden when it comes to decisions regarding entire projects, from back end design to deadlines, because middle and top management know exactly what they want, how it should be done, and how long it will take.
*FDD (Fear Driven Development)*
The analysis paralysis that can slow an entire project down, with developments afraid to make mistakes, break the build, or cause bugs. The source of a developer’s anxiety could be attributed to a failure in sharing information, or by implicating that team members are replaceable.
*CYAE (Cover Your Ass Engineering)*
As Scott Berkun so eloquently put it, the driving force behind most individual efforts is making sure that when the shit hits the fan, you are not to blame.2 -
PM: Page load times are up. It might be your API blocking requests.
Me: Possible, though most of my load testing was performed against a random sample of requests at nearly 5 times the expected average per minute rate. I can add some logs but I think this is a red herring theory.
PM: Yes add logs, and New Relic and get it released ASAP.
Me: To confirm, you want me to make a bunch of diagnostic changes to a mission-critical API the day before Holiday break...
I felt like that guy from the Apollo 13 team warning Gene Kranz that the LEM was not built for this and I can make no guarantees... Released an hour before we went home for the weekend.undefined finest hour friday releases fud hang on to your butts on call empathy failure is not an option -
I HATE YOU STREAMING SERVICES! FUCK YOU!
Here's the setup:
I work in a rather small office, where we are like 7 people (including me). Now, there's one person in charge of putting music through speakers (obviously, not everyone enjoys the same kind of music)
Well, we have a hell of a small bandwidth (1.5MBPS tops), now, add to that that every single fucker here uses "Spotify" and it's streaming their music...
WHY!!!!
Good side: I have my earphones and ~30GB of my music on my phone, so it's not an issue for me, also, I'm kinda audiophile, so Spotify quality sucks.
Bad side: I can't even fucking load Google because those fuckers are eating the bandwidth.5 -
Currently working on a web platform for a building management company for the last 6 months.
Setup web server, database and developed the whole using laravel and vue.
They are in the testing phase now, so I implemented IPSec so that they can only access it from their office.
Thing is, they don’t have a static IP, so when they had to switch over to a backup connection yesterday, I had to add their new IP in my whitelist.
Today I get and email from their manager, saying that after a discussion he had with his assistant, the web app is not in the “cloud”!!! He got that because I had to “do something” to restore access to it yesterday and because “there isn’t an icon you can double-click” on each employees’ desktop!!!
Don’t even know how to respond to that!!!5 -
Dear X. There's an obvious error with the way you're merging arrays; instead of conditionally adding items to the existing array, each condition overrides any items added by the previous conditions, which is clearly not the desired behaviour. I'd love to add a test to illustrate this behaviour, but you're not using them. I'd also love to create a simple pull request, but for some fucking reason you're using the worst possible version control system so I can't do that. I've submitted a support ticket along with all the code needed to fix this silly mistake, but apparently you either don't understand 2 lines of your own fucking code, or you didn't even bother looking at it before posting a shitty generic reply about "needing more information". There is no such thing as more information. There are two IFs, and they are supposed to add items to the array, not override any previous items. It's written in your own comments, and it's pretty obvious from the way the rest of the function merges those items.
Also, use a fucking linter, your code is a mess.7 -
Optimization issue pops out with one of our queries.
> Team leader: You need to do this and that, it's a thing you know NOTHING about but don't worry, the DBA already performed all the preliminary analysis, it's tested and it should work. Just change these 2 lines of code and we're good to go
> ffwd 2 days, ticket gets sent back, it's not working
> Team leader: YOU WERE SUPPOSED TO TEST IT YOUR CHANGE IS NOT WORKING
> IHateForALiving: try it on our production machine and you'll see the exact same error, it's been there for years
> Team leader: BUT YOU WERE SUPPOSED TO TEST IT
Just so we're clear, when I perform a change in the code, I test the changes I made. I don't know in which universe I should be held accountable for tards breaking features 10 years ago, but you can't seriously expect me to test the whole fucking software from scratch every time I add an index to the db.1 -
Holly fucking crap
After my review meeting on friday last week this morning was called again by our technical manager, accounts manager and sales manager set e down
TechManager: Ok so after our meeting we deliberated with the rest of the management board
and we decided to add more responsibility to your plate
AcManager: yeah we feel that you can be of assistance to the organization
TechManager: Yeah our technical department is short stuffed and since you also do technical stuff we want you to also be taking charge of the department whilst I'm not in the office...
But we have some areas we are not happy and those areas will need to be improved on
any questions?
Me: No
(thinking: ok this is an opportunity for me to ask for a raise )1 -
> wanting to add an embed google maps to a website I'm working on for fun, with React
> Check the API documentation, excepted their iframe they create from your needs, not much info about how to set in a a js framework
> decide to check if anyone has already created something with React
> They did! 1 american dude, one polish, one last from idk where
> The rest is basic doc so let's try each of them
> Errors, errors everywhere
> Screens stays awefully white
> Spend 2 hours checking, checking and checking again each library
> Each of them have a different problem
> Fuck this, let's copy the iframe thingy from Google's doc, adapt 1 or 2 things because of React and run npm
> Google maps works on first try -
Have you ever hit a wall? Like you know what you want to do, you know how to do it but it will not work for absolutely no reason you can see? I've spent the better part of 5 hours trying to add an image upload to my node app and have nothing to show for it. I've tried multiple packages to no avail. I've deleted everything and started over so many times I've lost track. The only thing I can think of doing now is bashing my head off the keyboard and hope that spews out some magical code that will fix my problem.5
-
Spend an hour talking to junior dev about not nesting multiple #ID selectors in sass. He is still convinced it's better for 'rendering performance' and refuses to change it. Should I ask him to add 200 elements with the same style on one page to illustrate the problem?4
-
Even seniors make mistakes. In case you were ever doubting yourself - just remember that.
I just had a very senior level programmer on my staff add a function to a production system that issues an SQL UPDATE query without a WHERE clause. Fortunately, only the 1st entry succeeded and the rest failed due to "duplicate record" errors. Clearly he had intended to do a SELECT to check if an entry was present. If it was present, do an UPDATE, otherwise do an INSERT (think UPSERT - but done manually). However instead in the insert part they were both UPDATE's. The first update was normal looking but the second UPDATE was just this weird malformed-looking thing where he tried to do an UPDATE but to every field including the key fields. Clearly he was thinking about an insert but actually writing it as an update. Every now and then I need to remind myself that these things happen. The guy's not dumb - just made a mistake.
I'm just happy it "failed unsuccessfully".4 -
Is the CS field creating terms for the sake of creating terms?
Someone mentioned a "closure" in another post. I instinctively knew what they meant by that based upon the code I saw. I had heard the term thrown around before, but it had not yet connected in my mind. I wondered why I had not been exposed enough to care.
So I thought: What does C++ have as far as closures?
I found that C++ has lambdas. Those are definitions for function objects. They do not exist at runtime. But a closure does. The analog is you have classes. They are definitions and do not exist at runtime. But instances of classes do. So at runtime the instance is what you are working with. This is the same as lambdas vs closures in C++. The closure is the runtime counterpart. Why a separate term for what essentially is an instance? Is it because it captures data and code? As far as I know the closure is all data that gets passed around that calls a function. So it is essentially an instance of a lambda.
Another term: memoization. I have yet to see this added to any dictionary in online tools like a browser. Is the term so specific that nobody cares to add it? I mean these are tools programmers use all the time.
My guess is these terms originated a long time ago and I have just not been exposed to the contexts for these terms enough. It just seems like I feel like I have been in the field a long time. But a lot of terms seem alien to me. I also have never seen these terms used at work. Many of the devs I work with actively avoid CS specific terms to not confuse our electrical coworkers. My background started in electrical. So maybe I just didn't do enough CS in college.6 -
I can't believe this shit happened in time for this week's rant!
Here it goes.
I have a table on AWS Athena which has partitions. Now, in the earlier versions of this project whenever I write something to a new partition a simple `MSCK` query worked (and keep in mind I am NOT deleting anything)!
Now, my so called Team Lead in the PR for the latest (major) release tells me to change it to an `ALTER TABLE`. I was like fine, but I did not add the s3 location to it, because it was NOT NEEDED. TL asks me to add location as well. I try to convince this person that it's not needed, but I lose. So there it is in production, all wrong.
Today I notice that the table is all fucked up. I bring this up in the stand up. The main boss asks me to look into it, which I do. Figure out what the issue is. This TL looks at it and says you need to change the location. I put my foot down.
"NO. What I need is to remove the bloody location. IT'S NOT NEEDED!"
TL's like, "Okay. Go ahead"
Two things:
1. It's your fault that there's this problem in production.
2. Why the fuck are you looking into this when I was clearly told to do so? It's not like you have nothing to do!1 -
Someone: Let's use this XY.
---
Where XY is a new service, like Slack / Jira / ...
---
Yeah. Let's just add another workflow without any planning, thinking etc..
Not that we did that a thousand times already and it always ended in an ever growing pile of shit.
Sheesh 🙄
These pointless discussions...1 -
Worst: being forced back into the loud distracting office, to add on to the badness the covid restrictions were not taken very seriously
Best: getting a new full time remote job and an awesome company with some awesome team mates
Bonus is I now work from home fully but can still hang out with my great former coworkers -
Second job
Was the lead dev on an ios/android project. I knew that i was not gonna spend much time there and was using them to add shit to the portfolio. my app is in the playstore and seems to be working fine, can't get credit for it and can't bitch about it either since i burned all bridges with that company. the app is a trucking logger logistics ba type of deal for a local company.
i was paid $400 dllrs a week. Yeah I know, ain't shit in the U.S much less Texas. But the thing gave me perspective:
Android development sucks big balls and ios is way easier and nicer on devs.2 -
Dear BOSE, how can you make a "smart" speaker so dumb and complicated? Why require to use an app that needs frequent updates and takes up so much storage space for ... what exactly?
Dear Spotify, why not add features to the web player if your app does not run on older devices? Which native feature would your app need that is missing on iOS 13?
Dear companies making money due to the fact that some real artists make real music that real people love to listen to, how come your apps and gadgets always make me nostalgic about actual records and make me tune in to an actual radio station at the end of the day? At least you keep showing us not to rely on digital technology and rather go visit actual live concerts to listen to live music in the real world more often!2 -
I really hate PHP frameworks.
I also often write my own frameworks but propriety. I have two decades experience doing without frameworks, writing frameworks and using frameworks.
Virtually every PHP framework I've ever used has causes more headaches than if I had simply written the code.
Let me give you an example. I want a tinyint in my database.
> Unknown column type "tinyint" requested.
Oh, doctrine doesn't support it and wont fix. Doctrine is a library that takes a perfectly good feature rich powerful enough database system and nerfs it to the capabilities of mysql 1.0.0 for portability and because the devs don't actually have the time to create a full ORM library. Sadly it's also the defacto for certain filthy disgusting frameworks whose name I shan't speak.
So I add my own type class. Annoying but what can you do.
I have to try to use it and to do so I have to register it in two places like this (pseudo)...
Types::add(Tinyint::class);
Doctrine::add(Tinyint::class);
Seems simply enough so I run it and see...
> Type tinyint already exists.
So I assume it's doing some magic loading it based on the directory and commend out the Type::add line to see.
> Type to be overwritten tinyint does not exist.
Are you fucking kidding me?
At this point I figure out it must be running twice. It's booting twice. Do I get a stack trace by default from a CLI command? Of course not because who would ever need that?
I take a quick look at parent::boot(). HttpKernel is the standard for Cli Commands?
I notice it has state, uses a protected booted property but I'm curious why it tries to boot so many times. I assume it's user error.
After some fiddling around I get a stack trace but only one boot. How is it possible?
It's not user error, the program flow of the framework is just sub par and it just calls boot all over the place.
I use the state variable and I have to do it in a weird way...
> $booted = $this->booted;parent::boot();if (!$booted) {doStuffOnceThatDependsOnParentBootage();}
A bit awkward but not life and death. I could probably just return but believe or not the parent is doing some crap if already booted. A common ugly practice but one that works is to usually call doSomething and have something only work around the state.
The thing is, doctrine does use TINYINT for bool and it gets all super confused now running commands like updates. It keeps trying to push changes when nothing changed. I'm building my own schema differential system for another project and it doesn't have these problems out of the box. It's not clever enough to handle ambiguous reverse mappings when single types are defined and it should be possible to match the right one or heck both are fine in this case. I'd expect ambiguity to be a problem with reverse engineer, not compare schema to an exact schema.
This is numpty country. Changing TINYINT UNSIGNED to TINYINT UNSIGNED. IT can't even compare two before and after strings.
There's a few other boots I could use but who cares. The internet seems to want to use that boot function. There's also init stages missing. Believe it or not there's a shutdown and reboot for the kernel. It might not be obvious but the Type::add line wants to go not in the boot method but in the top level scope along with the class definition. The top level scope is run only once.
I think people using OOP frameworks forget that there's a scope outside of the object in PHP. It's not ideal but does the trick given the functionality is confined to static only. The register command appears to have it's own check and noop or simply overwrite if the command is issued twice making things more confusing as it was working with register type before to merely alias a type to an existing type so that it could detect it from SQL when reverse engineering.
I start to wonder if I should just use columnDefinition.
It's this. Constantly on a daily basis using these pretentious stuck up frameworks and libraries.
It's not just the palava which in this case is relatively mild compared to some of the headaches that arise. It's that if you use a framework you expect basic things out of the box like oh I don't know support for the byte/char/tinyint/int8 type and a differential command that's able to compare two strings to see if they're different.
Some people might say you're using it wrong. There is such a thing as a learning curve and this one goes down, learning all the things it can't do. It's cripplesauce.12 -
So, it's not my job, but I needed to add some new gsuite groups for our client. That's completely fine, so they sent me their logins. I logged in and, in five minutes, I was kicked out. Because they got an email saying that someone logged in to his account. I still cannot believe what just happened.
-
fucking flutter.
i'm trying to make a simple app. it would be an easier to do both natively.
for fucks sake flutter, add some functionality. flutter recently got out of beta but it's not fucking done. no native webviews, no native push notifications. fuck that.
however, i do have to give credit where credit is due. coming into flutter i expected a different feel of the app on iphone and android. it was exactly the same, and it was smooth too. in that respect, i love flutter.
also guys, i have an app (not finished yet) i built with flutter and i would like some constructive criticism for changing the ui. only android right now though, i can't afford ios.
dictive.app/download6 -
I had a conversation that almost became an argument with a someone I manage the other day. It revolved around how we should do just the basic parts first as that's what the business needs quickly and the code base is in a bad state right now so I didn't want to build new features on a poor foundation, particularly as those new features might not be forwards compatible and might have no way of fixing.
Once basic is in, refactor and cleanup, add secondary features. Their point was to just do it all at once in a big bang. It devolved into them getting angry and telling me to leave them out of all future discussions because now we "aren't ever doing the secondary features", just give them the task and leave them alone.
I let this go, but now I've found out they went to another high up person on the team and presumably lied to them about what was said.
What to do?5 -
Every meeting that contains one or more of the following points:
- "I don't think it belongs in the meeting, but"
- "Didn't get the meeting notes"
- "When's the food coming?"
- "I know we've said no technical discussion, but..."
- "Why is he so strict, this is no fun meeting at all :("
- "I think it's unfair to include risk assessment, you blame US before XY is finished"
- "The admins / the Team XY / ZX didn't talk with us, so we don't talk with him / her / them..."
- "Why are we here?"
- "Why is it so bad when production is down?"
- "I didn't know we do security / audit checks... Why hasn't anyone told us?"
- "Not happening. I'm against it"
- "I don't want to work with XY - he doesn't do it like I want it"
...
I could add thousand more things here.
I had countless meetings where I really thought that I was an alien who got broadcasted in a comedy reality TV soap...9 -
Is part of being intermediate/fluent in a tool, language or framework that you've just unwillingly memorized all the error messages you've come across?
'Hey I got error X' -> Just change Z and C and it will work
'Do you know what this stacktrace is trying to tell me?' -> Yeah you forgot a space
'What does this mean?' -> Just add the host to the hostfile
Not that it immediately makes you an expert ofcourse2 -
Fuck accessibility.
No WAIT, before you call me an asshole hear me out.
So when you use CSS grid to create layouts you're supposed to not use the features it has (reordering items) too much, and instead keep the HTML structured the way it's supposed to be read.
When you add a picture of a cat you're supposed to put a alt="Brown cat sitting on a chair" there.
Also you should test for all kinds of sight disabilities and use high contrast colors.
All that for likely <1% of your users.
What would be the alternative? HTML is a markup language, and not supposed to be directly read by humans. Invest the time ONCE for screenreaders to understand CSS positioning and read content in a sensible order. Use image recognition to describe pictures (with selectable levels of detail). Let the browser modify colors on the fly for better readability.
Don't spend time and money to solve a problem 100000 Times that could be solved once.
Fuck accessibility.28 -
Great... I was hired to make a store system for this newborn startup... which isn't very tough, given I know PHP. Now they want me to build a social media for designers, just like Instagram, to encourage them to share their designs in an attempt to increase sales. And I'm the only Dev in the startup of ten.
Well, initially, I was not very pleased, but as I researched on how would I even do that, I realised it would really help my skill set, not to mention the points I'll be able to add to be resumé.
So far I've looked up how I'll have to use JSON/XML, coupled with PHP. I chose to learn Angular.JS for frontend dynamicity.
Any advice/help for this novice? Or any better frameworks I could use? (Don't say ruby-our web hosting site does not support it.)2 -
Designer: These form elements should not be textboxes; they should be dropdown menu's.
Me: No problem. Done.
Designer: Could you make X the only selectable option in field A and Y the only selectable option in field B?
Me: I sure can.
Me: Implements a dropdown menu with only one option, knowing that asking questions would label me as "difficult" and "technical". Uploads to production, decides to take a smoke break.
My coping mechanism: Maybe you should also add an Animator to the IK targets on your character controller in Unity instead of depending on a slerped IK weight value.4 -
CircleCI:
- Ensuring work has meaning: "Let's make yet an other dashboard webapp that going to replace all of our dashboard webapps which we made to replace all of our dashboard webapps"
-Solving interesting problems: "Let's make this with java 15 instead of java 14!!!! Also add graphql to ADD interesting problems nobody had since the nineties!"
- Gain meaningful value from talent: 'Bitbucket and the whole pipeline died fourth time this week, I'm going to drink a coffee or two..."
- Developers in flow: "Joe went to have a lunch around 11:00, you probably should not look for him until 14:30."
- Bring buying decisions closer to the engineering team: "The boss tried to bring up the pros and cons between aws and azure... The police eventually had to break the ensuing fight in the meeting room. The survivors reported things got truly out of hand when someone mentioned line-endings"
- Bring leadership closer to the engineering team: "There was yet an other agile coached hired, when she asked how should we measure velocity one of the lead devs managed to actually wake up and told her that the wifi is still pretty fucking slow" -
At work we've been having problems with printers... Like anyone that has to deal with printers.
They kept disappearing and reappearing for users on every log on.
We got a support contact with Microsoft because it was group policy doing it.
Their final solution (after weeks of remote sessions and long phone calls) is to install pstools on every machine, and run about 7 commands as the system user to delete and then re add registry keys.
ON EVERY LOG ON AND LOG OFF. WTF...
This is an educational institution where "computer hacking" is taught... It's not gonna take long before someone realises that pstools is installed...rant printersareevil microsoft printers group policy aaaaaaaaaaaaaaaaaaaaaaaaa kill me now please windows group policies are useless1 -
This story was related to me while I was in university.
So a long time ago, (in a galaxy far far away). This student was working as an intern at some tech company. He was running some queries, everything was fine. He decides that's good enough and heads for lunch.
When he comes back the query does not work. He notices the others around him start to stand up asking if anyone has a connection.
Turns out that an intern, at another building, basically deleted everything. I'm guessing they did not add this internship to their resume. -
"The goal is not to make your user interface as realistic as possible. The goal is to add those details which help users identify what an element is, and how to interact with it, and to add no more than those details. " - Lukas Mathis
-
That moment the client asks to add a single link to a header and you think: "easy enough". But then you notice their CSS.
Not a single f*cking class is used in the entire header, everything is done using :nth-child selectors etc... 🤬
Also, did I mention, the CSS is used for several headers, so adding an element to the header and modifying the CSS might break any other header in the application.
And this after they mentioned last week that they don't use a library like Bootstrap because it is too cumbersome.
I'm so mad right now, have been trying to fix this for half an hour. A task like this shouldn't take more than five minutes!6 -
I hate the word "Proactive"
What does that even mean? You add the prefix pro- to the word "active" and you get the same thing! Why not just say active?!
We're talking an active approach
We're taking a proactive approach
See, they mean the same thing and the first version doesn't make you sound like a douche.12 -
Is it me or software subscriptions make developers lazy?
There is a great photo editing software: Capture One. Every year they release a new major version, so users need to buy an upgrade. In the past developers packed a bunch of big changes into major update, also they released 3 minor updates yearly, and every minor update brought some cool features. But then they added subscription model which was cheaper then perpetual model. And at the same time major updates became not that cool. Developers started to add enterprise features needed by museums, features involving other camera brands users, changes targeted at newbies and so on. For perpetual model users most of these changes are not worth 80-255 EUR yearly (depends on license type and offs) but is ok for subscription model users because they continue using the software and even small updates and enhancements are fine for them.
Not every major update is that weak but many of them are not worth upgrade. And developers are not motivated to do more cool stuff because subscription model users will continue paying for their subscriptions.1 -
I'm getting more and more fed up with my fellow colleagues who encounter errors in the execution of their code and come to me like bumbling idiots..." I don't know ow what's wrong ... It's not working"
DID YOU READ THE FUCKING ERROR MESSAGE? I GUARAN-DAMN-TEE IT TELLS YOU EXACTLY WHAT'S WRONG! YOU KNOW WHAT...EVEN IF ITS NOT 100% CLEAR GOOGLE IT. BET YOU FIND THE ANSWER
To add insult to idiocracy...I recently over heard grumblings of being displeased at current level - fuck off you lazy ass child - if you can't read an error and Google for the damned solution in today's era search engines and developer assistance, you don't deserve to call yourself a "Senior Developer"
People like to act like there's some great secret to becoming a competent developer...I'm posit over half is simple reading comprehension2 -
tl;dr never heard about rubber duck debugging before devrant
i didnt worked with Yii fw in the past but we bouth a site written in Yii and i wanted to add a form but could not pass the model to the view so i went for a smoke with my roommate to think about it
"i have the view, i have the model, the action but dont know how to pass the model variable because its an existing view..."
"...it should be passed to the render function in the existing index action but thats written somewhere else, so if i could pass it there..."
"...i can write the action there and then i should pass the variable to the render function in the index action and goddamit, so thats how you do it, thanks mate!"
he stared at me like wtf? o.O
room mate debugging ftw!1 -
Had to be appcelerators titanium (weirdly I think this app was built with it).
I used it in the early days, before they had the foresight to add a date-time picker for Android.
It was a horrible unforgiving place, bugs on top of bugs, horrible documentation, incorrect instructions, and hacky workarounds posted as official installation instructions.
I'm not sure if it's gotten any better now, but I did give it a go again 2 years to update an app for someone. They made so many breaking changes, which is fine, but the new outcome offered less features and required more boilerplate code. I then spent (literally) 3 hours trying to get the Android simulator to run the app. Titanium just kept timing out and throwing incomprehensible errors. I eventually gave up and told my friend I updated it, it compiles but I can't test it.
Will never touch it again, and will never be used in any team I work for. Just awful.1 -
Not really random, still Dev related but still!
I'm working on a few large games at the moment, I have a habit of trying to build massive world's that feel lived in and organic, obviously I never finish them because I obsessed over the tiniest things.
So to try and help I thought of an idea, a detective game where you investigate 1 single murder and have one house you can look through, but you have to piece together what happened organically from a clue and false path filled household.
Just want some other opinions on it and whether it sounds alright, or if you have something to add to it? ¯\_(ツ)_/¯6 -
*Earlier today, asked a colleague to add exception handling for some (around 20) source files.*
*Just now, he walked over to my desk and this is the conversation that took place between us*
He: Hey, I've handled exceptions in those source files. But now the build is failing.
Me: Let me check. *pulled up the code and saw compilation errors 😠*
Me: Hmm, there are compilation issues. Did you try running those in your local machine?
Him: No, should I?
Me: *still trying to figure out why on earth the code is not compiling* Ah, you should have. That would have saved us some time.
Him: Oh, I see. Adding exception handling was an easy task, so I didn't bother to run it.
Me: *After seeing curly braces being missed out or added all over the files, I lost my fucking mind😡😠*
Me: Hey, don't worry. I'll take it from here 😊. *IN MY MIND: Thanks for being an ass hole and doubling my work on a day before a long weekend 😠😡🤬*2 -
I hate quotes/estimates so damn much
Quote too high and we don't win the work
Quote too low and I screw myself/other devs over
And then there's the fact that most initial quotes for an entire project are based off nothing but a few marketing slides from the potential client; we do re-estimate after winning the work and nailing down what the client actually wants, but obviously it can't be too far from the initial quote
And then there are other people on the company (not devs, obviously) who like to casually expand the scope without checking how much time it'll add4 -
To all developers working on publicly visible APIs or writing public documentation.
DON’T BE A DICK !
Do not just put a screen capture of your curl request which takes 10 minutes to write by hand.
Do not show me list of arguments as an image.
Have AT LEAST one executable demo project (Any language)
And, it’s 2020, add a fucking proxy generator.
How hard can it be?10 -
Approaching the limit of what TI-BASIC can do without busting out the modern calcs. Doing a simple operation on the whole 95x63 1bpp graph mode screen, say, turning all pixels on or off, takes over a minute. Add any sort of calculation to that...
I'm already using BASIC-callable machine code snippets to scroll the screen one pixel (which are nigh instantly finished,) and i'm so fucking tired of scrolling effects...
God, adding sound is gonna be a nightmare...
EDIT: for reference, dev machine is a TI-84+ Silver Edition. Not one of the ones with the eZ80 and backlit color screens, the greenish Z80 1bpp screened one. The one that's an 8MHz Zilog that TI decided to make multitask. The one where oscillating the screen at an integer division of full framerate fries it in seconds? -
So, in opengl 4.x, there are no primitives for circle, and the only ways to draw an almost perfect circle are following
Draw a triangle fan and fk up your memory for a circle
Draw a rectangle and use the fragment shader and distance equation to discard the bit that is not used
But you will need to add an if statement and potentially increase the frame time (from what i have heard)
And it will be more complicated than just using a triangle fan14 -
to add a bit of fancyness i print the scripts name and 'by' my 'artists name' whenever scripts are executed. today i got a call 'it says error on line 1, what did i do wrong?' i am still laughing tears. did not consider this programmers joke to have an impact irl.1
-
I really don’t get it, how can most people just so easily accept shortcomings and not even try for a second to improve the situation?
It drives me crazy ...
story:
I’m debugging an issue with a colleague over screen sharing, both of us have huge 4k screens. Colleague sets a breakpoint, popup opens „do you want to switch to debug perspective“, clicks on yes for the umpteenth time. Breakpoint halts, IDE is full of open and unrelated panels, he doesn’t even see the whole line if code but still grabs the scrollbar every friggin time and scrolls left, right, left, right, ...
changes some code, popup that hot code reload didn’t work, clicks ok for the umpth time here as well, although it has a don’t show again checkbox, like every frigging dialog in eclipse.
how can people work like this, it’s driving me nuts. Am I the only sane dev here??
Other colleague has weird message in the browser console (angular). I ask whats the problem and if he can’t just set a breakpoint to analyze the situation. No thats not possible, he says, instead he’s going to add a return statement to check how far the code execution goes ...
I wonder sometimes if I‘m already dead and have to suffer in dev hell for an unknown reason ... 🤔 -
Any Symfony expert here? I've got quite a tricky question, that I'd love to disqus with another dev.
It's about twig within symfony. I'd like to add a custom node parser, but not for an own tag, but to set some value on each template if it's not set (which can't be done with globals in this case!). I've thought about using a visitor, but from my understanding it gets executed to late, as it requires (probably) to modify the twig AST at compile/parse time.4 -
Built a Svelte app year ago and it's broken today.
This is not the case with Windows. You can still run a app built on 1999 today.
Opened an issue on their repo requesting that they should add backwards compatibility.
No later than 5 seconds. It got closed and locked with this comment,
"Welcome to development when you don't write your entire stack yourself by hand.
Please open helpful bug reports or don't open any at all."
This is what every FOSS project got as defense. They think since they work for free, they can do what the fuck they want.
The defense is false because they put their OSS project on their resume and in return they get hired for full time work or consulting.
I fucking sue you Svelte if I had money to hire expensive lawyers. This time you are just lucky.38 -
Once again lost source of retoorscript. Wasn't that mad about it, there was some stuff that could've been better anyway.
I wrote a whole new interpreter in 48 hours or so.
It supports user defined functions and native functions that you can add to the VM yourself.
I did spend extra effort to make it faster than python. Who says python is slow never wrote a language.
It has garbage collection and it doesn't contain leaks.
Sad thing is that I have to write the string manipulation functions again. That's a lot of effort.
In the screenshot, obj is not existing, this is how you declare vars, just using it. Works directly as an object. It does keep all his properties if I would assign a value later to obj. Numbers can be property names for some reason.
It would be possible to write a webapplication with it. This requires a decent stdlib. A lot of work.
Other stuff that I'll still have to add:
- loops
- arrays
- if / else
The goal is to make the most easy understandable and easy to extend interpreter ever.
You can just do VM_register(vm, "name", ptr_to_your_function) to add any methods.
Ideas are very welcome17 -
I'm trying to stand up a docker container to read a storage queue with dotnet and invoke ffmpeg to convert some videos. For a whole day I fought with this wrapper (FFMpegCore) which kept throwing file not found errors on the ffmpeg binary itself. Locally (windows) it worked fine.
I spent a ton of time trying to install the Debian package, trying to add it to the path manually, trying to just use the wrapper just to generate the arguments I wanted (I'm not an ffmpeg pro, so the fluent API the wrapper has is super useful) and running it manually, nothing worked. Finally, I realized it wasn't getting to the part where I ran it manually: just using the fluent API to get the arguments was invoking ffmpeg and throwing.
I took away the wrapper completely, start ffmpeg manually and it works...
Ay carumba. Things just can't be easy.2 -
Started playing Skryim again. Playing a pretty big modpack with some really cool mods called: Lost Legacy. It has alternate skills like Pugilist and Unarmored. I can literally punch a bitch with a one shot to death. For some reason this is very satisfying. I wonder what level of my psyche this appeals to. Probably something really animalistic.
These two skills meld really well with playing a mage with no armor. Unarmored skill actually levels faster if you cast an armor spell. So it benefits mages. I also don't have to fumble with weapons with Pugilist.
I had to add Sofia as my follower. Her wit while I punch people to death just fits. I feel like my character is a grumpy old mage that just goes berserk and kills people with his bare hands when upset. Do not disturb my circles, bitch!
I like to name my characters with phonetic names that might mean something else. On the surface it looks like an RPGish character name. But contains another meaning, often vulgar. This character is no different. I have named him: "Rehkuuf". An old Breton bitch of a magic user. Whose only care is learning and acquiring power. I imagine this character doing anything to this cause. Definitely a ends justifies the means kind of person. I am thinking of making him notorious in at least one hold. Not sure which one. So every time I return to the hold I have to kill every guard. Punch a bitch time!
One goal I just thought of: Punch a dragon to death.1 -
Get told a colleague finished work on a new web service thing on Friday.
So I fire up SOAP UI. Get an error due to problems with a sql statement. Look through code, issues already fixed so I build the project ct add the new dll to the app, another error, this time a column included in a select statement that doesn’t exist in the table being queried.
Colleague is on holiday, there are no comments in the code and there’s no source control.
Boss wants to know if the column needs to be added, or whether colleague added it and then decided not to use it.
I think I have an idea what it is meant to happen, but my only exposure to this project is as a 30 minute intro, and we didn’t look at any of these parts.
And sadly I left my crystal ball at home today fml -
Anti-features need to be fought with fire (metaphorically speaking).
This means they must be eliminated, not just made optional.
Why? Because an optional anti-feature is just one step away from a mandatory anti-feature.
For example, "secure" booting: https://youtu.be/vvaWrmS3Vg4?t=750 (Jody Bruchon)
Another example are disguised remote kill switches, such as add-on signing ( https://digdeeper.club/articles/... ). It started as optional and people were able to opt out, and everyone accepted it because no one expected what would come next.
All that was left was removing the ability to opt out, and then Mozilla has control over which extensions users are allowed to use.
For years, this feature sat dormant and users did not know of its existence. But in early May 2019, the metaphorical thread snapped and an expired certificate remotely disabled all extensions, wasting millions of man-hours of productivity.
From the digdeeper.club article:
"The funny thing is, the whole point of the extension prison was allegedly to increase security - and yet today, all security addons got disabled because of it! Shows how freedom always has to trump over security or it ends up in a disaster like this."
Evil needs to be nipped in the bud before it can flourish.2 -
Oh god why!?
Somehow I decided that it would be nice to have a proper spell&grammar checker in VS Code for me and my friends to write our reports in Latex with.
Decided I wanted multiple language support, so I turned to language tool.
GOD is this thing slow as a very unmotivated snail!
3s to process 9 phrases!? And then add one second to pack the results in a JSON string!? An option that I'm still very grateful exists, but why the fuck would you disallow line-by-line processing, which you expressly recommend for IDEs, and which cuts processing time by 30%, when JSON output is asked!?
Well, serves me right for thinking for even a second that a Java program could have decent performance...
This whole thing is starting to look like it's not gonna be nearly as fun ss I anticipated it to be.2 -
Guys. please help.
I’m trying to build something with multiple crud pages using and angular and rails.
For some reason when I attempt to go one of the routes it fails and goes straight to the backup(otherwise).
It’s the patients/new route that isn’t working. Everything else seems fine so I’m not sure what else to add to the question. I’ve tried changing things around to narrow down the problem and I’m almost convinced it’s from the routes. The button works fine when I link to other pages.
fml. I’ve been up for too long. I can link to the Stack overflow question WHICH NO ONE WANTS TO ANSWER if you need an idea,
https://stackoverflow.com/questions... -
Summary of My Experience With Recruiters
1. They do everything until they get a phone talk. They also go cold turkey if they don’t have what you want, no politeness if you are not useful to them.
2. They are OK with your highball salary range at first
3. Once they got that you are hireable, they show their true nature
3a. Trying to lower my forever salary expectation to guarantee an offer and their one time bonus
3b. They scare you implying I would be fired from job anyways, if I don’t like some aspects of the current job
3c. They call you multiple times a week with no scheduling beforehand
3d. They lecture me on why salary shouldn’t be a big reason for job change(bitch don’t even…)
3e. They say shit like I want you to get this job(dude, you say that to every job seeker)
I will add more if I remember. What are your other bad experiences4 -
Dear Windows, we have to talk. I love you, you know that, and I know that your market share has been shrinking in recent years and you're shit scared of becoming irrelevant but for the love of god:
- STOP asking me every god damn few weeks if I want to change my browser settings - NO I FUCKING DONT WANT TO USE BING, FUCK OFF
- STOP trying to be like an app and add pointless new "features" that nobody cares about and just do your fucking job, which is to be a PLATFORM which is stable, never changes and that gets out of my fucking way
- STOP reinstalling apps I uninstall, Im NOT FUCKING INTERESTED IN PAINT 3D, FUCK OFF
FUCK, ME,2 -
! rant
So I finally released my first app on the play store. Well actually it's more of a widget to keep track of stock prices, exchange rates, crypto etc.
Would really appreciate some feedback or suggestions.
https://play.google.com/store/apps/...7 -
Am I the only one who when studying for an exam has the urge to copy all the slides by hand? And I mean not typing, good old handwriting. Then scrible in them and add own notes, write a summary and then try to recall it all.
It doesn't seem very efficient but I do not feel complete or even remotely prepared if I haven't done this. Although I did pass exams in the past without doing all of this...2 -
we have an unused variable and IDE is not happy about it
Crook: delete the unused variable
Boss: comment the variable out
The Godfather: add 'export' before the variable so IDE is happy2 -
! rant.
Just noticed this interestingly weird yet annoying thing Facebook does to force you to look at their advertisements !!
The first post in your news feed is something that is decided by their "ADVANCED ML+AI+... " algorithms.
The next post in your news feed is always an advertisement..usually tagged as "Sponsored".
After this, there is an insanely long delay in loading the subsequent post in your news feed, which in turn does not allow you to scroll further down and forces you to keep looking at the sponsored post in your news feed!
Noticed this on my Mac + FF 57.0.1
Makes me love devrant even more. Thanks for keeping it add free! -
If you are going to maintain empty directories in your git repo then use the strategy of placing a file inside the directory called .gitkeep. Searching on this filename will lead you to a discussion of the same topic (hopefully, maybe not). Which includes a lengthy discussion on how the semantics of the file name is somehow more important than the answer of keeping the directory in the repo. My favorite part was someone claiming the file name .gitkeep was the standard way of maintaining a directory and others jumping on this person saying not it is NOT the standard way, and that in fact any filename would work. Misunderstanding that saying it was the standard probably only referred to placing a file and not choosing that exact name.
Basically it seemed to turn into an autists semantics fistfight in the comments.
https://stackoverflow.com/questions...
Someone is that discussion claimed .gitkeep would lead to confusion if it was a standard git filename. I then found this:
https://stackoverflow.com/questions...
Is it wrong to find so much humor in this?4 -
So my last rant was regarding a piece of code I found while clearing up an app. Here's the newest edition... a recent migration I found... a class within a migration creating records, this is not what migrations are for haha you don't add data using migrations jeez help me.8
-
Maxi-Rant, rest in the first comment!
Yay, I've caught up with my "watch later" list on YouTube! Next thing: Just quickly go through my subscribed channels and add old videos that I haven't seen yet to the watch later list so that I have more stuff to watch the next months. The easiest way to do that is to go to the "all uploads" playlist of the channel (that is luckily always linked now, it used to be hidden sometimes) and use "add all to" to get them on my playlist. Then sort out the stuff that I've already seen and turn on automatic sorting by date, easy. Yeah...
Firstly, in the new design there's no "add all to", I have to go to the old design. For my own playlists, there's a handy "edit" button to do that, but on other pages I have to do it manually. Luckily I have set Ctrl+Shift+1 as a shortcut for "&disable_polymer=true" long ago.
Next surprise: On "all uploads" playlists, there is no "add all to" button. It's on every single other playlist on YouTube, including "liked", "watch later", "favourites" and so on, just not there.
Fine, I'll just abuse my subscription playlist script that I already have by making a copy of it, putting the channel IDs in it and setting the last execution date to 1.1.2001. Little problem with that: Google apps scripts can run for at most 5 minutes and the YouTube API restricts it to add one video per second. So it doesn't work for more than 300 videos. I could now try to split it up by dates, but I didn't write the script myself and I don't know how it sorts the videos to add, so I'll just google for another solution instead.
Found one: Go to the video overview of the channel in the old layout, Ctrl+Shift+I, paste this little Javascript thing and it automatically clicks all the little clocks that add the video to the watch later list. Yay, that works! Ok, i'm restricted to 5000 videos, because that's the maximum size of a YouTube playlist, so I can't immediately add all 8000+, but whatever, that's a minor problem and I'll sort out later anyway. Still another little problem: For some reason I can't automatically sort the watch later list. Because that would be too easy.
But whatever, I'll just use "add all to" from there to add it to my creatively named "WL" list. If that thing is restricted by the same rate limit of 1 video per second, it should be done in about 1½ hours. A bit long, but hey, I'm dealing with 5000 videos. Waiting 2 hours... Waiting 3 hours... Nothing happens. It would be nice if it at least added them one by one, but no, it waits an eternity and then adds all at once. At least in theory, right now it does absolutely nothing.
Shortly considered running it for more hours or even days on my Raspberry Pi, but that thing already struggles when using Chromium normally, I shouldn't bother it with anything that has to do with 5000 videos.
Ok, what else can I do then? Googling, trying out different things, mainly external services that have their own concept of "playlists" and can then add them to an arbitrary playlist later...
Even tried writing my own Java program with the YouTube API, but after about an hour not even the example program in the YouTube API tutorial worked (50 errors and even more open questions, woohoo), so I discarded that idea.
Then I discovered "DiskYT". Everything looked like it would work and I'm still convinced that I can do it with that little pile of shit. Why is it a pile of shit? Well, for example the site reloads itself after a while, so it can at most add 700 videos to a playlist. Also I can't just paste the channel link (even though it recognises those links, but just to show an error message that it can't copy from channels). I can't enter/paste URLs, I have to drag them. The site saves absolutely nothing (should in theory work, but in practise it doesn't), so I have to re-drag everything on every try. In one network, the "authorise YouTube" button (that I have to press again on every computer) does absolutely nothing ("inspect" reveals that there isn't even any action bound to the button), in another network the page mostly doesn't work at all or the button to copy from playlists is suddenly gone or other weird stuff. Luckily I have the WiFi at home, there it works in theory. But just on my desktop PC, no other device, wow. I tried to run it on my new laptop, but it's so new that it still has the preinstalled OS and there I can't deactivate going to standby when closing the laptop, so while I expected it to add 5000 videos, it instead added 4 and went to standby. But doesn't matter, because it would have failed at about 700 anyway. Every time I try to use this website, I get new problems, but it seems to still be the best option, because everything else just doesn't do anything. This page at least got to 700 before.
Continuing in first comment!4 -
I feel fucking stupid about using a custom node system at work. It is designed to generate an xml file for configuration. However, when using a node I cannot add more to the node unless the node has data. So I gotta call a function to inject useless XML into the node for it to not be empty. I literally set the internal data to <key></key>. It is stupid and I hate it. Just let me create my node hierarchy damn it!
Is this some weird data pattern I should know about? Like what does preventing adding data to an empty structure do? I have the root node. Is that not enough. Remember, this is custom node system that is probably fucking 20 years old. The previous coders did a lot of walled garden shit that I also hate. Prevents reuse of code. This code might just be more of that shit.1 -
Anyone pair up their CS or SE degree with a second degree as an undergrad? What was it? Was it worth it? What made you decide to add a second degree?
I’m currently an undergrad and I’m really liking philosophy and English literature and enjoy the writing and critical thinking/discussions that comes with the classes, but I’m not sure if it’s worth getting a degree in it or not. If I do pursue it I’m definitely leaning more towards philosophy.2 -
So I know this sounds crazy, but I'm writing a GUI in Python to automatically generate HTML for me. I may add support for CSS, but I'm not sure yet. Anyways, I was trying to replace an object's dictionary with a dictionary I was building in the GUI class. I was trying to replace the dictionary or reference it some way, when I have a place in the element's constructor to handle this exact situation.... I just had to put the temporary dictionary into the constructor.2
-
Recently we noticed a part of our web application wasn't working. After some hours of looking into it (it's an old, convoluted application), it became clear another part of the application timed out trying to get a connection from the db connection pool.
We call db admins, they respond "oh yeah looks like the DB CPUs are at 100% load. I'll do something about it." and a short while later everything was working. So now I think, our hours of looking into it and a lot of people not being able to work could have been avoided if the DB admins had some form of alerting. But also we could improve our monitoring too, had we tracked calls made to our DB.
Question: Do you think I should call the DB guys, telling them they need alerting, or should I add tracing/monitoring around our DB calls, or both? Do you think I should consider any additional actions I haven't thought of?4 -
I have configured on my local desktop a pi.hole and Stubby. They were working fine and happy together, but after a comment from @FrodoSwaggins about local DNS server, I trying to add Unbound as well.
So, on my configuration, pi.hole points to unbound, which points to Stubby. Everything local, each one with their own ip@port listener, but it does not work.
If I point Unbount to an external DNS (Quad9, for exemple), it works. If I point pi.hole to Stubby, it works. But the 3 of them does not work.
Does anyone has any idea what could be happening?
Thanks!6 -
When you're using openapi generators and stuff for generating SDK code and let "the architect" handle the data structure and nomenclature, don't you hate having to add 33 (I counted) models, most of which are just the same class with different name or one property apart from each other, serialization of which gives request body overhead 56-132x (actual calculated results depending on the model complexity) the size of actual data you want to send, just to add support for one endpoint that needs just one model that started this whole madness?
I just had to add this one top level model reference and this happened to me. Those 33 models are not including the ones I already had included in my project so they didn't have to import them again.
For the love of <your_belief_here /> and all that's holy, never ever agree on generating code based on openapi if the person responsible for that is unexperienced. It will do more harm than good, trust me.
Before we decided to go with generated SDK my compiled product was a bit over 30KB, and worked just fine, but required a bit of work on each breaking API change. Every change in the API requires now 75% of that work and the compiled package is now over 8MB (750KB of which is probably my code and actually needed dependencies).
Adding an endpoint handler before? Add url, set method and construct the body with the bare minimum accepted by the server
Now? Add 33 models (or more), run full-project find&replace and hope it will work with the method supplied by the generated code, because it's not a mature tech and it's not always guaranteed it will work. -
(I'm not completely sure of what I'm saying here, so don't take this too seriously)
Settling on a language to write the api for ranterix is hard.
I'm finding a lot of things about elixir to be insanely good for a stable api.
But I'm having a lot of gripes with the most important elixir web framework, phoenix.
Take a look at this piece of code from the phoenix docs:
defmodule Hello.Repo.Migrations.CreateUsers do
use Ecto.Migration
def change do
create table(:users) do
add :name, :string
add :email, :string add :bio, :string
add :number_of_pets, :integer
timestamps()
end
end
end
Jesus christ, I hate this shit.
Wtf are create, add and timestamps. Add is somehow valid inside the create, how the fuck is that considered good code? What happens if you call timestamps twice? It's all obscure "trust me, it works" code.
It appears to be written by a child.
js may have a million problems. But one thing I like about CJS (require) or ESM (import) is that there's nothing unexplained. You know where the fuck most things come from.
You default export an eatShit() function on one file and import it from another, and what do you get?
The goddamn actual eatShit function.
require is a function the same way toString is a function and it returns whatever the fuck you had exported in the target file.
Meanwhile some dynamic langs are like "oh, I'll just export only some lang construct that i expect you to specify and put that shit in fucking global of the importing file".
Js is about the fucking freedom. It won't decide for you what things will files export, you can export whatever the fuck you want, strings, functions, classes, objects or even nothing at all, thanks to module.exports object or export statement.
And in js, you can spy on anything external, for example with (...args) => debugger; fnToSpyOn(...args)
You can spoof console.log this way to see what the fuck is calling it (note: monkey patching for debugging = GOOD, for actual programming = DOGSHIT)
To be fair though, that is possible because of being a dynamic lang and elixir is kind of a hybrid typed lang, fair enough.
But here's where i drop the shit.
Phoenix takes it one step further by following the braindead ruby style of code and pretty DSLs.
I fucking hate DSLs, I fucking hate abstraction addiction.
Get this, we're not writing fucking poetry here. We're writing programs for machines for them to execute.
Machines are not humans with emotions or creativity, nor feel.
We need some level of abstraction to save time understanding source code, sure.
But there has to be a balance. Languages can be ergonomic for humans, but they also need to be ergonomic for algorithms and machines.
Some of the people that write "beautiful" "zen" code are the folks that think that everyone who doesn't push the pretty code agenda is a code elitist that doesn't want "normal" people to get into programming.
Programming is hard, man, there's no fucking way around it.
Sometimes operating system or even hardware details bleed into code.
DSLs are one easy way to make code really really easy to understand, but also make it really fucking hard to debug or to lose "programming meaning".7 -
I am looking for some advice on common practices when doing a programming job for someone else.
So i took a pay-per-hour job from an acquaintance who wanted me to develop a little tool in a web environment. I finished the tool in 16 hours and now its time for me to hand it over. I will probably do more jobs like this for him in the future.
Is it common to add the guy as a collaborator on my git repo, even when there will be code from future projects on there, that will be in-progress and not yet paid for?
Should i develop on another repo/fork and only push 'public' code to a shared repo once my work is finished?
Should i share source code at all, or only share compiled/deployable project folders?
I am not familiar with the common practices in this aspect of the programming business; this was the first programming job i got.
Thank you for all your (future) replies!2 -
My manager wants me to add a caching layer on top of an API in 30 mins. Even to think about which part of the fucked-up system to cache will take more than 2 hours. How is anyone supposed to do it in 30 mins?
I just gave up after about 4 hours. Gonna sleep and start fresh tomorrow. Pretty sure, I'm not gonna finish it tomorrow either.3 -
I have a guy that will come in a few hours to discuss about an e-commerce website he wants to start his business. I've accepted to do it freelance.
Things are a little quick for my taste, but I know myself enough to know that if I don't jump head first, I'll back out and miss on an opportunity to add something valuable to my resume (and get a bit of money).
The thing is : I have nearly zero experience in 1) e-commerce websites and 2) client relationship and managing. So that will be a great challenge to me, but that's precisely what I need right now.
Anyway, I'm coming to you to ask a few questions : assuming his requirements are simple and common for an online shop, should I create it from scratch or would it be wiser to use a dedicated framework (Prestashop, Wix, etc.). If the latter, which one would you recommend, cost and efficiency-wise.
Still assuming simple and common requirements, how much time would it likely take, for an average developper (I'm no Linus Torvalds) working on average 8h a day ? More like 2-3 months, or more like 5-6 months ? I'm leaning more towards 2-3, but since I don't have experience in these kind of websites, I find a lot of user stories that might take me time to figure out.
Last but not least, what would be approximately an honest price, technical costs aside (domain, host, potential framework, etc.) for that kind of work. And for maintenance ?2 -
Question for Droid gurus here.
Is there any way to use different fonts in android for different languages ?
I have changed ttf to add urdu fonts but then I'm seeing boxes instead of emoji and symbols. Can I add it to urdu only.
On web we have CSS unicode-range in @font-face which sets a boundary for different fonts to be used for different unicode characters/ranges.
Can this be done in android system some way ?
I'm not talking about using it in an app but in whole droid.1 -
!rant, but funny
tl;dr I made something that was to protect me in case the customer doesn't pay, wanted to check if it's still there, messed up a little :D
>do an Android app project for almost 6 months
>issues with payment for it
> =.=
>firebase
>"Add new application"
>Remote Config
>add single integer variable
>back to app code
>if (integerFromFirebase != 0) navigateTo(new Fragment())
>mwahahahaha
>but they ended up paying me in the end
>huh...
>see another post on how to secure yourself if customer doesn't want to pay
>well, consider yours as more sophisticated
>hmm... wonder if they removed it
>firebaseconsole.exe
>change "enableJavaScript" (needed a legit name, so it can't be easily backtracked) to 1
>publish changes
>app still works fine
>mhhh... they removed it? really?
>can't fking believe it
>apkpure.com
>search for the app
>download apk
>unzip
>decompile dex file
>find the fragment
>can't find the code that navigates to blank fragment, but the config fetch is still there
>wtf
>look at the app
>restart it
>SHIT ITS NOT WORKING NOW XDDDDD
>changed the variable back to 0
>found out that the lambda in which I navigate to the blank fragment is in other .java file. New thing learned :v
>idk if I'm in trouble but I highly doubt it (console shows max 10 active users atm)
Was fun tho :v3 -
Thanks Windows 10 April update:
i'm not even mad for using my network on high priority when you were downloading the update or taking 1 freaking hour of my working time to finish the updates just to add spam to my lockscreen and an uglier task view but if you could please at least not f**k up all my Wifi, bluetooth and video driver it would be great!
Still having problem with bluetooth connection and i re-installed drivers several times! -
I'm sorry, but who thought eslint or any linters for that matter were a good idea.
Started a new vue project using the cli, installed tailwind... oh what's that you don't like the line length... get out of here. It's an SVG and using a class-based framework. The hell.
Any way of removing eslint? I just want to code and not get bs warnings because of an svg length or because I add one to many classes.16 -
How would you handle this:
You generate an id
You chech the db if it is not taken
If it is taken you generate a new one and check again.
You then save the new item with the generated id.
How do you ensure that between the time you checked and the time you added the item some other call did not try to also add an item with the same id.
Async mvc
C# and dotnet core with ef core15 -
We have an unit test that tests the average of a sequence of numbers generated randomly using a gaussian distribution. Of course it fails from time to time, it's random! Failing to fail, would mean that the generator is not generating random numbers, therefore failure means success, but success does not mean failure.
Wait, why did we add this test in the first place?rant gaussian distribution statistics random of course it fails it's random bitches normal fail equals success unit test -
So, I’ve been given the task of sorting the security out in an application plugging the holes and whatnot as to be honest it’s shocking haha. It doesn’t help that we automate security audits but that’s a different rant for another day.
We’re using devise for authentication (rails standard, ♥️ devise), we have no password resets through the login page, it has to be manually reset by ringing support, why who knows, even though it’s built into the gem and we allow the user to login using an username instead of an email because for whatever reason someone thought it was a bright idea to not have the email field mandatory.
So I hop onto a call with the BAs, basically I go that we need to implement password resets into the login page so the user can do it themselves and also to cut down support calls a ticket is already in place for it. So I go through the standardised workflow for resetting a password. My manager goes.
“I don’t think this will be very secure”
Wait.. what. Have you never reset a password before? It’s following the same protocol as every other app.
We go back and fourth and I said I’ll get it checked with security just to keep him happy.
The issue mainly is well we can’t implement password resets due to 100s of users not having an email on there account.. 🙃 so before we push this change we need to try and notice all users to set a unique email.
Updated the tickets. All dandy.
Looking at the PRs to see what security things have been done if any and turns out one of the devs in India has just written a migration to add the same default email to every user that doesn’t have an email present and yep it got merged. So I go revert the change but talk about taking a “we don’t care about security approach”.
Eventually we want to have the user reset their passwords and login using their email and someone goes a head and does that. Not to mention the security risk.
Jesus Christ I wonder why I bother sometimes.2 -
in JavaScript I would just call something what it is and then keep changing the data type as I get more data to add to it because you can
in rust because it's not dynamic types but static and everything is a static struct I need to find like 9 different names for all the different intermediary data types and holy shit I don't understand what to name everything and this is annoying me
I never understood why people complained about naming problems. I found it fun. now I hate it.
stats object. cool. well it converts an address to stats. an address has swaps. each swap was done on a mint. so I guess I make a MintStats object? wrong. because that's confusing.
swaps -> swaps divided by the mint they belong in -> stats for each mint swap set -> then you can add all the mint swap set stats to the address stats object
now what the fuck do you call all these
there's also something I called a MintAttitude and it's an enum. these types just keep growing out of trees. fuk. I don't like long names either. I should probably just call it Attitude but call it via mint::Attitude and get the same clarity result with far less redundancy (which I hate, another annoying thing)
swaps -> ??? mint history? -> MintStats -> then I have a "MintData" that has the history and stats wrapped in it -> MintsData that has many mints and their MintData -> then I can convert MintsData into AddressStats but what and I hate this and also I have a Mint object that does something totally different elsewhere. I hate this. data isn't even descriptive but to call something history when it also has stats seems imprecise.
brain spaghetti. classification part of my brain is shit. no historical training / experience either. I just see everything like vague blobs. bah. naming required clear delineations which is hard enough on its own to get used to5 -
My Friend(On getting an error in Javascript for not placing a semi-colon";") : If the computer knows that adding the semicolon would fix the code why would it not add it by itself instead of throwing an error.
Me: Because coaches don't play ;) -
I fucking hate entity framework.
It turns 10 mins of work into fucking hours of stress and bloat and shit.
It’s the one thing in dotnet that I cannot fucking stand.
Literally did a bit of work in 10 mins (using ef I might add), but because it’s not the”ef way” I need to create an extra table/class and then fuck about mapping the relationship in a complicated way to do what I had just done in only a few lines of code with one table.
Spend over an hour trying to get it to understand the relationship before I gave up for the day. Fuck it6 -
I think YouTube gave up on trying to send me ads.
I have an adblocker in my desktop but not on my phone. In all of my years using YouTube, I've only ever clicked on an add twice on purpose, and maybe a couple of times by accident. By now, even when I'm not using an adblocker, YouTube still doesn't send me ads! And for some reason it's lately been sending me ads of YouTube itself. It's a very annoying 5-second video with just the logo of YouTube. They're really just telling me "I don't have anything to promote to you, so I'll just make you waste 5 secs just cause."
However, every single time I get on incognito, I get one ad or maybe two per video. wtf2 -
yesterday, I just swapped my sim card for some time with another. Placed it back....and voila! I can't enable data connection. I lost all my apn settings. To add to this, neither is it auto fetching the apns, nor i can manually change it! It shows some fucking error "apn settings not available for this user". I have another phone with same android version (lollipop) and everything works smoothly on it. These guys just broke everything after giving an upgrade from kitkat. Auto brightness stops working after a few hours, random reboots.... This is it... bye bye stock rom!
-
A while back I was looking for a new job and was given an interview by one company who shall remain nameless. Before the interview, they asked me look through their current site, nothing unusual there, so I started browsing. Then I received an email with all the details I needed to access their production server. Apparently they wanted me to look through the code, unusual but I did so.
First thing all the passwords, including those belonging to members of the public were stored in plain text and many were still the default passwords which were based on the Id so were sequential.
I highlighted these issues at the interview and they then asked me to do a test, not the usual test though, they asked me to add some charts to their prod site. Needless to say that didn’t happen and I got another job elsewhere.1 -
When you spend hours in a messy codebase to fix a bug properly and add an integration spec to cover that specific case.
And even you do a round of testing on staging + providing screenshots, there is always someone on the team that will write in your PR, "It works, I tested the change on my machine".
I understand that some people are skeptical but to the point of not trusting integration tests + screeshots/recordings then please test it on staging or production next time because if it works on your machine doesn't mean it will work there ;)2 -
!dev at all, but I just had to share it with someone. I know I'm quite late to the party here, but hey, I might not be the only one walking in darkness here...
Anyway! I just came over this cover of Sound of Silence by Disturbed. It fucking floored me! How the fuck is a man supposed to keep up his dogma induced stonewall when someone creates something so fucking beautiful? This cover is truly an epic recording of what was already an amazing song, but not something you'd play on repeat.
Add some metal to the mix and man...! I can't hear it enough... Drives the wife crazy :D
Enjoy!
https://youtu.be/u9Dg-g7t2l4
PS! Do watch the video, crank up the volume and relax. Oh, and use real speakers or a decent headset at least somewhat capable of tickling your spine :P -
Oh yeah Google why don't you just change the parameter order of functions, remove entire functions between minor versions, and not put a single example on your API docs? And force devs to add 30 lines of boilerplate and start an http server so I can run the debugger? Fuck tensor flow, I'm moving to pytorch.2
-
Im trying my BEST to not be judgemental about my boss but damn the code's shit
It's written how a 1st year UGrad would, trying to add as many complicated shits to it as they can to show "see? I know this obscure way of writing code, cool eh"
Like they're ticking off a rubrics
There is no design language, barely any structure. MVC's Controllers go beyond 2.5k lines.
Everything is an Interface but with such horribly designed code, they just add on to the clutter
Oh and it somehow also uses ReactJS inside .cshtml, which was already out of fashion A DECADE AGO. -
Went to scan a file with the built in Win 10 scanner. It came up and said the file was excluded from scan. So it gave me a link to the exclusion directories of the virus scanner. I looked and it had the entire C drive as the last exclusion. I did not do this. I have specific directories on exclusion, but not the entire drive.
I got rid of this exclusion and scanned the entire drive. I didn't get any virus or worm hits.
Is this a sign of an infection?
It would have had to be changed with something that asked for permission to make administrative changes like an install. I honestly don't know what I would have installed that I gave permission to do this lately.
Is there a way to accidentally right click somehow to add a directory to the exclusion list?3 -
My new task: Improve performance of an archiving algorithm.
"We don't know what the cause of the performance issues is." I can tell you: Because it's overengineered bullshit! This is spaghetti inside spaghetti on top of spaghetti!
And it doesn't help that they don't want to know about different archiving algorithms, because I offered multiple alternatives, one 80% smaller than the other, but the other is 80% faster.
At least I'm instructed to throw it all away and rewrite it and not add even more to the garbage pile. I'm very happy about that. -
Two apps on Play Store have same title...
Searching for one of them...
Won't give desired results, directly jumps to unwanted one...
Have to add something to search that is not even present in title to find it...
How the hell does their search even work? I keep getting totally irrelevant results... Or an irrelevant app shows with no other results...1 -
Guys I need your help.
Im a guy used to java development, so used to nice assisting IDEs.
Turns out my boss has a very complex and not very organized server written in Dlang which im supposed to add a semi-complex functionality in.
So far I have a Linux-Mint VM running a docker container able to build the system. Now I'm really not used to editing code without an IDE and all IDEs I tried on windows or Linux dont seem to work (maybe due to minimal knowledge in Linux and D).
Furthest I got was to get Visual Studio set up with Visual D, but it wasnt able to import the dub
project giving weird unsearchable errors.
Is there anyone out there able to get me started with an IDE? The server is on a github-repository, is a dub project and has a few dependencies.
I'm just totally lost.5 -
Flutter may be great. I want to learn it, so i decided to make this small app in Flutter.
About 2 hours later, and I STILL HAVENT POSITIONED THESE FUCKING BUTTONS AS I WANT IT.
I calm down a bit, and decide to not give a shit about the position of those buttons.. Moving on to launch an URL when one of them is clicked.
Found sweet few lines of code i could copy/paste. Ans tadaa, didnt fucking work. Fuck. Googles a bit, turns out i forgot that hot reload is not for major changes, my bad.
I decide i want to add a few extra features, so fuck Flutter for now, im going back to Android Studio.
Reading Flutter is great, writing it with no knowledge of Dart is.. what the fuck did i even think.7 -
I am having an introspective moment as a junior dev.
I am working in my 3rd company now and have spent the avg amount of time i would spent in a company ( 1- 1.5 years)
I find myself in similar problems and trajectories:
1. The companies i worked for were startups of various scales : an edtech platform, an insurance company (branch of an mnc) and a b2b analytics company
2. These people hire developers based on domain knowledge and not innovative thinking , and expect them to build anything that the PMs deem as growth/engagement worthy ( For eg, i am bad at those memory time optimising programming/ ds/algo, but i can make any kind of android screen/component, so me and people like me get hired here)
3. These people hire new PMs based on expertise in revenue generation and again , not on the basis of innovative thinking, coz most of the time these folks make tickets to experiment with buttons and text colors to increase engagement/growth
4. The system goes into chaos mode soon since their are so many cross operating teams and the PMs running around trying to boss every dev , qa and designer to add their changes in the app.
5. meanwhile due to multiple different teams working on different aspects, their is no common data center with up to date info of all flows, products and features. the product soon becomes a Frankenstein monster.
6. Thus these companies require more and more devs and QAs which are cogs in the system then innovative thinkers . the cogs in the system will simply come, dimwittingly add whatever feature is needed and goto home.
7. the cogs in system which also start taking the pain of tracking the changes and learning about the product itself becomes "load bearing cogs" : i.e the devs with so much knowledge of the product that they can be helpful in every aspect of feature lifecycle .
8. such devs find themselves in no need for proving themselves , in no need for doing innovative work and are simply promoted based on their domain knowledge and impact.
My question is simply this : are we as a dev just destined to be load bearing cogs?
we are doing the work which ideally a manager should be doing, ie maintaining confluence docs with end to end technical as well as business logic info of every feature/flow.
So is that the only definition of a Software Engineer in a technical product?
then how come innovations happen in companies like meta Microsoft google open ai etc?
if i have to guess as a far observer, i would say their diversity in different fields helps them mix and match stuff and lead to innovative stuff.
For eg, the android os team in google has helped add many innovative things in google cloud product and vice versa.
same is with azure and windows . windows is now optomissed to run in cloud machines when at one point it was just a horrible memory hogging and slow pc OS
for small companies, 1 ideology/product/domain is their hero ideology/product/domain .
an insurance company tries to experiment with stuff related to insurances,health,vehicles,and the best innovations they come up with is "lets give user a discount in premium if they do 5000 steps a day for an year".
edtech would say "lets do live streaming for children apart from static videos"
but Android team at google said , "since ai team is doing so well, lets include ai in various system apps and support device level models" ~ a much larger innovation as 2 domains combined to make a product
The small companies are not aiming to be an innovative product, they are just aiming to be a monopoly product. and this is kinda sad2 -
I just saw this: Choosing between React Native and Flutter
Well fuck both, each has its ups and downs but native is the only thing that keeps mind clear, and I'm happy to do double the work than wasting time fixing dependency shit (RN you little bastard) and having to clone an entire project just to add support for Bearer tokens because it is not yet supported by Google out of the box (Flutter -_-)4 -
Enabling browser userscripts on Android is not an evident procedure for novice users.
It's annoying if people do want this functionality to change how web pages behave, e.g. they want to fix a broken banner on mobile that doesn't have max-width: 100% but instead crops off on the page.
At this current time, Firefox changed their engine so that it supports only a limited set of add-ons and you'd have to use a nightly build in order to enable other add-ons such as userscript ones.
Chrome doesn't accept add-ons/extensions.
And there's the JavaScript trick but again, not user-friendly.
It's just annoying.2 -
One of the worst practices in programming is misusing exceptions to send messages.
This from the node manual for example:
> fsPromises.access(path[, mode])
> fsPromises.access('/etc/passwd', fs.constants.R_OK | fs.constants.W_OK)
> .then(() => console.log('can access'))
> .catch(() => console.error('cannot access'));
I keep seeing people doing this and it's exceptionally bad API design, excusing the pun.
This spec makes assumptions that not being able to access something is an error condition.
This is a mistaken assumption. It should return either true or false unless a genuine IO exception occurred.
It's using an exception to return a result. This is commonly seen with booleans and things that may or may not exist (using an exception instead of null or undefined).
If it returned a boolean then it would be up to me whether or not to throw an exception. They could also add a wrapper such as requireAccess for consistent error exceptions.
If I want to check that a file isn't accessible, for example for security then I need to wrap what would be a simple if statement with try catch all over the place. If I turn on my debugger and try to track any throw exception then they are false positives everywhere.
If I want to check ten files and only fail if none of them are accessible then again this function isn't suited.
I see this everywhere although it coming from a major library is a bit sad.
This may be because the underlying libraries are C which is a bit funky with error handling, there's at least a reason to sometimes squash errors and results together (IE, optimisation). I suspect the exception is being used because under the hood error codes are also used and it's trying to use throwing an exception to give the different codes but doesn't exist and bad permissions might not be an error condition or one requiring an exception.
Yet this is still the bane of my existence. Bad error handling everywhere including the other way around (things that should always be errors being warnings), in legacy code it's horrendous.6 -
Sometimes I just have a crazy idea for an amazing feature I could add to a side project.
Then my brain goes into a fight with itself over this feature, one side saying "that's a lot of work, not worth it" and the other side "but then we could also do this and that and hey maybe we could even simplify other stuff a little bit" and in the process getting really fond of that feature. After some time, the idea is really optimized because the lazy side of my brain hates unnecessary work.
Anyway, I just came home, created a new branch and deleted a quarter of my code base which is now obsolete. -
Why is deployment such an opaque topic most of the time????
I have an index.js file to create a server in plain node.js and a package.json file. It builds and deploys successfully to Heroku master. But app does not work. I assume I need to add something to json file but what???5 -
Is it advisable to add an admin page to your website so you can easily make changes like updating images etc. Or should I not bother and just modify the code whenever I want to change something?1
-
!Rant
I'm helping a customer who calls in all the time for support. At the end of a call this exchange happens.
Customer: So I have this game...
*Points at a solitaire icon on his desktop*
Customer: If we open that up, there's this little thing here...
*Game opens and there's an ad in the bottom right corner*
Customer: Can you get rid of that?
Me: I can't, not in applications like this. This is the free version of the software and add are how they make their money. If you did want to play without ads, Microsoft has the Solitaire Collection for free
*Makes shortcut to Solitaire Collection on desktop*
Me: There you go -
You stupid tester first add you freaking requirements and not just put back stories on todo and say it's not finished. You are just testing how an web app works. We can also automate that process you know!!!!
-
Worst coding mistake was assuming that the NameCheap domain API was an update and not a replacement. I went to added a test sub domain to our company domain and it cleared out 40 unique sub domains taking down our sites and email until I could manually add them back.1
-
Any one running Symfony on a Docker container in production? I currently try to migrate our dev env to a docker compose setup (from a "monolith" vagrant vm). I'm atually not stuck at a Symfony specific thing, but on a, I guess Docker specific one(?), The issue is, I need to read and write with two users to one folder (in my case the /application/var/cache folder). Since I mount my whole code into the docker container (to use an IDE on the local files), I've got a volume (not mounted to the outside world) for that folder. (As far, as good). Now this folder is owned by root and root is also the user I get when I enter the container. When I then run a cli script, that writes to this folder, every thing works (as it's run by root) and the resulting entries in the cache dir are owned by root. Trouble starts when the php fpm process tries to write stuff in there too (as it's run by www-data).
If I add `USER www-data` (or create a new user foobar and add `USER foobar`) the container exits with status 0
So I guess the question is, is anyone running an Symfony app on Docker in Prod, if so how do you solve this? Or another question would be what is the best practice to do this? Sure on dev I could just `chmod 777` the whole folder or run the php-fpm process as root, but if that thing ever goes to prod, I wouldn't sleep very well... -
I spent the whole damn day trying to setup grpc-web, but this protocol is documented so damn poorly!
You manage to set grpc up for one language and it’s all cool, then you stupidly think that you are free to reuse the compiler you used for the nodejs version for your frontend part but nope! Our web module is now deprecated, please use this module instead!
“Ah yes just clone the repo and check out (…) and you can also check this link whic is in no way highlighted in the middle of a wall of text (…)”
*checking the other page*
Ah yes you need to install a package available only on your unix machine (great! Screw the devs in my team who use windows I guess, they’ll be happy to hear this!) and don’t forget to clone this repo to build your own plugin! And by that I ofc mean to compile it on your own!
- compiler error
After digging for an hour you find a requirement in an obscure issue opened and closed cause “ah yes we have a dependency not stated anywhere” *close issue and never add it to the project*
Fine, fine I can survive this bs
- another compiler error, no solution found after 2 hours
Honestly? Why the fuck do I need to compile this stuff? Just give me a damn npm package I can use? Goddamn it’s just transpiling, you don’t need access to my OS! (Aside for fs to save the files, and which btw is accessible via nodejs)
Now, I COULD download the latest realease as a precompiled, but… honestly?
I give up, I’ll do some shitty rest apis cause the customer’s not paying me enough for even THINKING to go trough this shit again when they’ll ask an iOS app. Or having colleagues asking me to help them understand how to do it.
Side note: also add typescript support to the web-code-generation ffs! Why does node have it and web don’t?5 -
ugh, company discussion on WhatsApp sucks. i want to take a leave from this new company i joinedbas i am bored the hell out
the company policy is that we got 16 pl 7 mandatory leaves and 8 emergency leaves. pretty good deal i guess. but as a new joiner, i am on probabtion for 6 months and I can't take either of those mandatory/paid leaves.
i was neck deep in work so could not get time to call my manager. plus had a 1 hour incredibly boring and frustrating call with another 50 yo tech lead from another team who was goin on an on like a 90 yo uncle with his wartime stories so could not think straight.
i sent my manager a "hey a***" at 7.08 pm on WhatsApp.
that's a great shoot oneself in the foot situation. i could not call because it's 7.08 pm, and don't wanna give an impression of a corporate non living dev who makes or supports making calls at odd hours. i also can't dele6 the message coz that would be more awkward
but i had went with the creepy hey text , and didn't wanna keep him waiting, so quickly add anothe message with the context : "i wanted to discuss a small leave related query, will call tomorrow"
another classic shoot oneself in the foot.
the probation guy wants to take leaves? he doesn't have any, what could he talk about it? oh right, i was gonna cheese him to give me an informal permission. but now i made it all formal.
noice :/9 -
In most businesses, self-proclaimed full-stack teams are usually more back-end leaning as historically the need to use JS more extensively has imposed itself on back-end-only teams (that used to handle some basic HTML/CSS/JS/bootstrap on the side). This is something I witnessed over the years in 4 projects.
Back-end developers looking for a good JS framework will inevitably land on the triad of Vue, React and Angular, elegant solutions for SPA's. These frameworks are way more permissive than traditional back-end MVC frameworks (Dotnet core, Symfony, Spring boot), meaning it is easy to get something that looks like it's working even when it is not "right" (=idiomatic, unit-testable, maintainable).
They then use components as if they were simple HTML elements injecting the initial state via attributes (props), skip event handling and immediately add state store libraries (Vuex, Redux). They aren't aware that updating a single prop in an object with 1000 keys passed as prop will be nefarious for rendering performance. They also read something about SSR and immediately add Next.js or Nuxt.js, a custom Node express.js proxy and npm install a ton of "ecosystem" modules like webpack loaders that will become abandonware in a year.
After 6 months you get: 3 basic forms with a few fields, regressions, 2MB of JS, missing basic a11y, unmaintainable translation files & business logic scattered across components, an "outdated" stack that logs 20 deprecation notices on npm install, a component library that is hard to unit-test, validate and update, completely vendor-& version locked in and hundreds of thousands of wasted dollars.
I empathize with the back-end devs: JS frameworks should not brand themselves as "simple" or "one-size-fits-all" solutions. They should not treat their audience as if it were fully aware and able to use concepts of composition, immutability, and custom "hooks" paired with the quirks of JS, and especially WHEN they are a good fit. -
Man I'm annoyed!
TL;Dr what does it mean "we're trying to reduce options to a minimum", why don't you go closed source!? why don't you remove themes!?
For anyone who uses rofi, they would know that a few months ago an update made it more compliant with the free-desktop spec, that it only uses the first .desktop file for the given Name tag.
I only found out about this recently as I was only able to update Manjaro recently, and it really annoyed me, cause it took me a while to figure out why tons of my desktop entries disappeared.
Turns out someone made an issue about this, and the given answer was: "that's against the spec". Ok, fine. But when I asked if they could add an option to still ignore that aspect of the spec (i.e. --show-duplicated), the response I got was: "going against the spec is a no-go". WHAT!?
There are so many things that have behavior that goes against the spec (ex. gnu-utils), why can't they add an option to do this!? An OPTION!?
When I decided to try (I don't know C yet) and make a PR, the first and last (it got locked afterwards!) comment I got was:
" As explained on #941, this is a no-go. We want to reduce the number of options to the minimum, and non-compliance to a well-defined and widely implemented spec is definitely not something we want."
Why are you so closed minded!? Yes compliance is amazing, but it's not a safety standard, it's okay if you *give an option* to go against the spec!!!!
WHAT THE HECK!?!?!? WHY!?!?!?
Why is a open source project closed to new features that are part if the scope of the project, and require minimal maintenance!?11 -
So I have replaced npm with yarn due to performance boost and the lockfile.
Never will there be problems with unexpected versions of dependencies!
Wait.
Why is my build writing a yarn.lock?
It turns out, if you want yarn to exit with an error code if it's out of sync with the package.json, you have to run it with:
$ yarn install --frozen-lockfile
Only then it will produce an error.
The default for it is to notice, oh, there is some new dependencies, let resolve this to the most current version I can fetch, and use that one, and write a new lockfile. Meaning you will get unknown futures of a depdency. O_o
That's totally going besides the purpose of having a lockfile in the first place. Why would anyone want this?
Action I do expect to touch the lockfile:
add / remove / upgrade
Action I do NOT expect to touch the lockfile:
install
Install should just install whatever is in there, and if it realizes it is out of sync, die with an error.
But that would make sense!
Who needs sensible defaults anyway!?5 -
On https://reactjs.org/docs/... it is declared that useEffect runs after render is done.
However... if you put into useEffect an expensive calculation or operation e.g. "add +1 to x billion times", it will get stuck after updating the data, but before the re-render is done.
This leads to inconsistency between the DOM and the state which I believe is a foundational point of react. Moreover, the statement that "useEffect runs after render" is false.
See also: https://stackoverflow.com/questions...
The solution is to add a timeout to that expensive operation, e.g. 50 ms so the re-render can finish itself.
The integrity of my belief in react has received a shrapnel today. Argh :D Guys, how this can be? It seems that useEffect is not being run after re-render.13 -
I just started playing terraria and holy shit, it puts minecraft to shame in so many aspects.
It actually makes you feel like the mc devs are some fucking lazy ass morons sitting on piles of cash.
Minecraft is 11 years old and it has 4 bosses and they are all underwhelming pieces of shit, jesus christ.
They can't even make mining fun for fucks sake. Work an half an hour or more to get a full set of diamond only to accidentally lose it to lava in the nether.
They added netherite? Holy shit I can't wait to see the new gear I can craft with it.
Pickaxe, axe, shovel, hoe, sword, helmet, chestplate, leggings, boots. Wow, netherite shovel, that's what the minecraft community needed.
How about an actual battle axe, knives? a baseball bat? Spells? Fucking something minecraft, come on, you can't just have 10 weapons man!
The lack of creative content and variety in minecraft is staggering. Adding a block of a different color and texture is not new content!!!
Also, fuck villagers and the sound they make and their faces. Worse character design ever. Not a single redeeming aspect. And fuck their trading system.
The trade system is horrible!!! One item at a time per character. No text from villagers. They don't have names!!!! They don't feel like villagers!!! They feel like robots!!!! Not a single one of them fights back!!!!! WHAT THE FUCK???? JUST ADD ONE THAT FIGHTS BACK YOU MORONS!!! NOT THAT WEIRD ASS GOLEM!!!
AND NO ONE GIVES TOO FUCKING SHITS ABOUT THE GOSSIP SYSTEM MC DEVS. NO OONEEEEE!!!
Terraria is not a perfect game, but it doesn't just try to be a good rpg, it actually is.
Meanwhile every 3d sandbox after minecraft will either be a filthy clone or not exist at all by fear of being labeled as such. Because of that I will keep on trashing on minecraft, even though I still play it a lot.11 -
So I'm a full time student. Yesterday I wasn't able to make it to work because i had a very important test the next day. I was told when I started this job I could come and go as I felt needed and never had a set schedule. I just go in when I can. So yesterday I emailed the HR lady ( who might I add is not who I report to and is not my boss) when I hit send, the email failed and it didn't go through and I didn't realize it. I get an email today and it's the HR lady telling me that I need to tell her wjen I wont be there and blah blah blah if this happens again I'll write you up. And so I emailed her back saying that I was sorry and had no idea the email did not send and shit and she was just an asshole about the whole situation. This lady is always on my ass every time I'm in there and for no reason other than to be a bitch. And what's even better is no one else will hire me and I can't find another job even though I am very qualified to what I am applying to. So fed up with this place2
-
I finally created a kotlin android app for a simple project idea, just personal usage. Beginner level. Quite a good and bad experience.
Functionality is done, just sucks with UI, as I'm not proficient enough with styling on android.
The result is a predefined purple action bar at the top, an almost white text section right below it with *very* light-grey textview descriptions (you can guess how visible they are on my phone...). Center is a big recyclerview, which in android studio has white background with dark grey text items, yet is black on my phone with white text items. At the bottom 3 text inputs and a centered purple "add" button.
... It's a mess as long as you don't know how to design and style on android studio.2 -
Am I an asshole for not wanting to learn infrastructure/AWS?
im sure it isnt rocket science, but somewhere from within, even if I try my body rejects it will every fibre of its being
manual bare metal servers, deployment scripts and firewalls? sure im all in
Containers, k8s tied to nginx on the said server? sure
Entire end to end as long as it doesnt involve AWS? done and dusted
But add AWS/Azure to the mix and I'm oil to water 😪7 -
Fuck maven. For fucks sake. If you want to install something in js project, you do yarn add ... and shit works. If you want to install on linux you do apt-get ... If you want to install ANYTHING on windows in fuckin 2020 you download it and it has an .exe.
But not maven. Oh nooooo. You need to do all the bullshit with configuration, set shitty paths and just pray for someone to shoot you.
Don't punish me for Windows. It's a God damn corporate policy not my sane choice...33 -
WHAT THA SHIT FUCK!!!
FUCKING HEROKU
so I've got an apl running on heroku and yes its a free account
Apparently apps running on free accounts are turned off after an hour of not receiving requests
Ok that's reasonable
So I did some digging and found out there are free solutions to keep your app running
Ok thats good even on heroku there is a free add-on for that
Ok I click on add add-on
AND FUCK SHIT!!!
a huge ass red notification flashes
"//some SH
Verify your account and provide your credit card details
"
IT FUCKING SAYS {FREE}5 -
Ubuntu 🤬
only releasing amd64 image !! , supporting an instruction set architecture does not mean code is optimised for other microarchitecture
i thought linux distributions are do less and do way better than others, so why so much bloatware!!!.
ideally best way is to compile your own kernel and add minimal gui support as required, too much work !!!
also just a heads-up if you are using Catalina use virtual-box 6.0.22
also vivado 2019.2 is suable with ubuntu 18.04 + lightdm , remove that gnome shit15 -
Best way to approach updatable custom cms?
I currently have to work with an old cakePHP 1.3 cms tailored for a specific customers. The guy I'm doing development for wants to upgrade and move to another framework and create a new cms. Because this is such a niche specific cms we want to add ability to update the cms from the admin panel, over the air - there are 70-100+ websites at all times up and running and updating them manually is not viable. And probably have modules that would be separate but easily installable from the admin panel. Whats the best approach here? Any good examples already working in the wild? First thing that popped into my mind is opencart with the ocmod for custom mods, the problem being updates for it.3 -
Anyone here banks with ING? I got fed up with their main color, rgb(255, 102, 0), and wrote an add-on for Firefox to change it to black. Their website looks much more professional in black, not to mention easier on the eyes3
-
I made a full html5 game that was an anonymous survey collection platform, it was meant as a solution for 2 problems: toxic work environments and gamifying boring processes the whole project was a gamification of business process to make it more engaging and add context, might not seem cutting edge but the devil is in the details i had to do lots of libraries and tools to make sure it is not exploited.
As for the startup the ceo fucked us all up and we ended disbanding, my only regret is that we actually had a revolutionary idea going on. -
Okay, so because my desktop has an APU (AMD A8-3850) and a dedicated GPU (AMD R9 380) in it, and i'm finally getting a (small, probably 240GB because budget) SSD for it, what Linux distro should I use? I'm planning on doing libvirt passthrough for Windows using my APU because fuck running it as a main anymore, it breaks too often. As far as I can tell, my options are as such, family-wise:
- Debian kernel: amdgpu doesn't like that I have an APU and GPU and refuses to see a screen (yes, even after all the Xorg configs and xrandr bullshit and kernel flags and...)
- RHEL: a lot of Red Hat-based distros (mainly Fedora) have packages that are broken out-of-repo and out-of-box recently, but maybe it'll like my hardware? (It's been a few Fedora releases since I last tried it, is this fixed? CentOS has such old packages that it's not even worth bothering with for my needs.)
- Arch kernel: go fuck yourself, i don't wanna take 1000 hours to get it running for a week, nor would the updates be any better than Windows' current problem (or even more so, as slightly more often than not Windows' broken updates just add annoyances and don't hose the system.)
did I miss any?25 -
Guys, sorry to ask this question, is there any app that could download a video while watching it? similar case to internet download manager, they add an extension for you in the browser once it detects that there is a video it will show you a small bar to download it, the thing is, this works perfectly on windows however i moved to Linux and IDM is not supported under linux OS unfortunately5
-
Rant
Okay so I was given a task to add an additional column to the reports in our timesheet system a couple of days ago.
This system hasn't been modified in several years and was not written especially well.
The report generated is shown in a Windows forms datagrid.
I spent 2 fucking hours trying to figure out how data was getting added to this shitting thing when I realised that it was being done by shitting index on the SELECT statement.
God, why didn't the original Witter just use a bloody databinding -
Me and my friend were doing a discord bot using an extensions that allow us to collaborate.
We were making the bot with Node JS and. Something so horrible happened.
While making a purge function wich should remove the last messages of the discord we met a problem. When you do !purge 1
It were removing 11 messages.
The problem were that in my code i were adding 1 (int) to a string (my amount of message to remove) so it result 11 as string....
This is JAVASCRIPT
I don't know if this were a bug but being able to add 1 (int) to 1 (string) it's fucking dumb. It should result an error not making it as string!1 -
I once did this project with Apache Tika, which also has a batch module to add concurrency (Tika by itself is not thread-safe).
However, there is maybe 2 pages of documentation which don't explain any of the classes etc, and no javadoc, so I had to figure everything out through trial and error. At the end it still threw an error but magically worked. Turns out it was not fast enough anyway. -
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 -
Anybody else getting annoyed with VSCode lately? I’m constantly getting updates to the editor and various plugins that add near-forced autocomplete suggestions, cursor hijacking, codelens and inlay hints (messes up spacing and layout), etc. It’s starting to drive me crazy! Just let me write my code! I love the syntax highlighting and autocomplete, but developer tools need to be optional, not have their off button buried behind some 5-layer JSON object that’s not documented anywhere!
I just want to write code, and I want my editor to be a tool, not an annoying little bee swarming my face all the time trying to get me to do things I don’t want to do! Microsoft and plugin devs need to stop enabling these obtrusive features by default and put them behind a “New Features” wizard or something!3 -
Work! Terribile doubt about our project 😭i will leave this company if we do not come up with an adult solution 😔
We are working for another Company, they asked to add a web app to their project.
We made frontend and backend, we make user auth to their api, then call their api (place order, get orders etc), passing their auth token to their services.
Which Means that our endpoints are not really protected (i think) and if we add an endpoint that does not use their api, the only way to secure them Is to take the token, validate It by calling for example get /order of the api and if It fails just discard the request....too slow?
my colleagues do not want to put a serious auth they Just want to use the company api and leave the rest open...
And the customer Just asked to use some other api functionality, but that api has another auth... How do we pur them togheter? The last api want the id of the user to do machine ti machine auth
It Is my 6th month here no one thaught me anything, i think i'll Just leave ..or am i Just experiencing the developer Daily work?😔7 -
So I did this little experiment PWA caching and service worker which caches entire website (js/css/html) [It's a small website]. Now I do not understand the concept of PWA caching entirely because when I 'Add it to Home screen' it becomes an app as expected but when I turn off the internet and then open the app it requires the internet.
What in fucking ass, why won't you just render those html pages which are cached ?15 -
So when installing an rpm there is a file collision check. When you add a file to an rpm package with cmake / cpack it unfortunately adds parent directories your file goes into, which will give you conflicts with other packages. But well you have that beautiful feature to exclude directories from being added:
CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
Now somehow it failed. Turned out it would not work if my path ended with a backslash. Brush my banana! Like "/etc/sysctl.d" is a different animal than "/etc/systclt.d/". - But at least that's nothing against the strangeness of the "mv" command in those respects. -
Me: Ok, Lets continue with this scratch project. We need to script in a Update Alert (A button we can press to shut down the game and alert players ingame that an update is here), Add upgrades, (Yadda yadda yadda), And Debug the......
Assistant #1: How about lets not worry about Debugging the game and focus on adding more scripts.
Lead Assistant: How about lets Debug AND add the updates just like the developer said.
Just a word to Assistant #1. Number one, Debugging to a game is like cleaning, grooming, and feeding yourself. If you dont do it, the game performance is to be considered "F.I.T.A" or "Fucked In The Ass". it wont get anywhere Fast, Let alone get anywhere at all. Number Two, Updates are important, I admit that, and im not saying they are less important than debugging, but if you add an ass load of updates before you debug, it will take more time to debug ALL of those other updates than just the few we already did. Plus it will only add more stress to the developers which in turn may make us miss(or make) more bugs in development.
Keep in mind that we are developing Scratch Projects that use the coding language "Blocky". -
Is there a debug tool in Visual Studio that acts like a global HashMap<String, object> that you can add random objects to so that you can verify which objects are the same instance between breakpoints and view the state of an object that you had access to but is not in scope at a given breakpoint? I'm debugging a GUI app right now and it's an enormous pain in the ass to track identities, I resorted to adding random properties and statics to classes just so I can express this basic ass persistent debugger state6
-
I want to manipulate CSV files with Python and I was using NumPy, what I want to do is 3 columns, with an undetermined number of rows, and I want to be able to remove, add and edit every value, this is my questions:
Should I use NumPy? (if yes, please tell me how, I've been searching on google and I couldn't find anything of help! If not, please tell me what I should use,)3 -
Helo everyone , I am planning on learning some new tools and languages side by side working on this project which would be an application for creating or managing some lists for any tasks or some web series and categorize them as on going or completed or planning for now and . I want to web scrap information about that task with some pictures and text information whenever you add an entry to make it catchy and informative.
For example if I add any series name like FRIENDS and label it as on going so to make that entry not look boring my app will add some pictures and texts from google using web scraping.
So which language and tools would be helpful for developoy such application ?
Thank you.
Ps: i am pursuing my undergraduate computer science engineering .
I have basics of python and c++ with some data structures as well as basics of Mysql data base.
I am planning to start web or android development by learning kotlin or JavaScript .7 -
Matomo, the free web analytics tool formerly known as Piwik, does not display referring search keywords (anymore?) without purchasing an add-on, which makes it less valuable than the good old webalizer. I should grab my old backups from 2001 and find a Perl script that crawls Apache server logs. Why must digital progress always mean Verschlimmbesserung?
> Use Search Keywords Performance to see all keywords behind 'keyword not defined'. All keywords searched by your users on Google, Bing and other search engines will be listed1 -
Being asked to build a website in a few days built specifically for a PowerPoint plugin that uses an IE emulator being shown in a slideshow at a remote site that your IT policy does not allow you to install in order to test - ok fine, annoying but fine.
Having to use someone taking a video of the site in the Powerpoint on a TV Screen to make changes... ok more annoying.. but whatever...
Having to work with a 14page branding guideline document to add images for a sponsor to a Powerpoint website that you cannot directly test.... erm...this is kinda awkward...but I guess...
Finding out the team you're working with has their own designer who has very specific rules for font etc. who noone involved until the day before go-live.... ... oh for...
Site goes live
Powerpoint at remote site breaks
you get asked wha'ts going on...
...f you... -
I have the following scenario with a proposed solution, can anyone please confirm it is a secure choice:
- We have critical API keys that we do not want to ship with the app because de-compiling will give access to those keys, and the request is done before the user logs in, we are dealing with guests
Solution:
- Add a Lambda function which accepts requests from the app and returns the API keys
- Lambda will accept the following:
1. Android app signing key sha1
2. iOS signing certificate sha1
- If lambda was able to validate them API keys are sent back.
My concerns:
- Can an attacker read the request from the original (non-tampered) apk and see what the actual sha1 value is on his local network?
- If the answer to the question above is yes, what is the recommended way to validate that the request received is actually from the app that we shipped and not from curl/postman/script/modified version of the app11 -
Not sure if it counts but spent the day setting up a pxe boot server for a laptop I have since usb 2 is fucking slow than setting up this file server implementation thing for Git Pages so I could just downloaded an updated mirrorlist without need to add it manually. Just to find out I need to figure out why I have no internet argh!
-
You know. In debian, albeit it didn't work great last time I used this tool, you could build source directly into a debian package, which included the source package.
Now this was not an easy wonderful thing. But in theory it made sense, and then if you needed to add something that would alter existing configuration etc, you could add these seperately or manually..
That I know, no such thing for rpms.
But thats not what annoys me.
AFTER ALL THIS TIME WHY IS THERE NO GRAPHICAL PACKAGE MAKER ?1 -
Event invitations sent from other people's Google calendar to my German GMX inbox: this still does not work! Google does not let my add my German GMX e-mail address as an alternate address in my account (only a red border around email input with no error text whatsoever) and any invitations to GMX end in your 404 robot page. Seriously, Google?! Seriously, GMX?! But you both have so many customers, why care about details anymore...1
-
Look at this beautiful perfectly targetted at that showed up under my rant over poker. I stated where I've played and what my conclusions about poker were. It repeats those parts in his story and advises a different poker site. This is targeting 2.0. It's not even annoying, it could've been useful actually. The annoying part of advertisement is repeating because we're just not that interested and they hope to get you on a weak moment. But imagine if the strategy was targeting so good, that it has a conversion rate of 20 - 30% that a user clicked on it. You won't be needing to have adblock and consider the ads even interesting. Maybe the future of advertisement is bright. Imagine that the mindset becomes "Oh, an add, interesting" and regularly clicking on it8
-
can you use elastic search as a search engine for your app ?
because i see several weak points in it.
the increased latency after every bulk uploading of docs, meaning u cant ensure fast response time for users
the inability to add synonyms without closing the index ? this is either downtime or ill have to replicate an index to update the original and then switch back to it !!
idk i feel i either must have wrong info or elastic is very inefficient. I might be wrong, not too experienced with it so if I am let me know of some good resources and workarounds that helped you3 -
Lads. I need your help.
I'm building a little web app project in class where a user can create their own micro-personal page similar to about.me, except a little more modular.
users can add cards to their page with a title, maybe an image, some text, and some buttons.
my question is: how can I represent such things in my database? I can think of how a json file representation might look, but not sure how that translates to SQL?
here's how I imagine it:
userProfileComponents ={
cards=[
{
title: sometitle
image: src
text: null
button: { icon: facebook, text: facebook}
},
{
title: another title
image: null
text: some stuff about me
button: null
}
]
I wouldn't want to create a table for each micro-page - cause that would scale like absolute shit. but I feel like cramming EVERYONES components in a component table would be hell on earth. any tips? thanks22 -
Why does devRant show I have 6 unread notifications?
I cleared the cache. Even downloaded the mobile app to check whether it was only a problem with the web-app.
No, that number is still there. The mobile app claims it is the comments section. I scrolled down to 2019 ( no, I haven't been all that active ) and still no unread notifications.
Why didn't you think of putting up an 'unread tab' when you were creating all those tabs on the mobile app? Please add an unread tab 🙏
Also, the read and unread markers in the dark mode could have a little more darker contrast difference in the dark mode. I don't know about light mode, because I don't use it ( but I could check once I get notifications from this rant; I'm turning light mode on for a brief while to check this )
I haven't had unread-anxiety before, but I guess I have it now ( not really though )23 -
me vs my job at mnc laggard part 9/n . previous @ https://devrant.com/rants/6602068/...
====
I think i have now realised why working at corporate MNC sucks: they are reluctant to make a good product for their end users.
- they first come up with feature without a proper planning and research.
- then they are in a rush to release it to live audience by ignoring the possible issues that could arise
- when they see it fail, they are like, okay with that and blame it as a failed experiment
- instead of removing/disabling it, they are okay to keep it remain alive in the app, even if it causes customer inconveneience.
- meanwhile, they put false reports for their higher managers as a success and when an enhancement/modification comes for that feature from the higher up, they again start the loop by pushing a new feature without proper planning and a rush
as a dev, it fuckin kills me. I joined in the middle of one of these ugly loops. The app has a camera feature where the camera will generate voices to take pictures and record video , like "goto next car view" , "close the bonnet and focus", etc while the user follows instructions.
the ticket for me was to just add a flash button to this camera. But the more i dive into it, the more i hate it:
- the existing camera implementation provides api for toggling a camera flash, but when i attached it with a ui button, it would not work
- the existing implementation will send images /videos as direct payload data, resulting in generating very large payload curls . our app has a curl logger and it starts crashing.
- the existing implementation also crashes at uploading videos.
So where does it trouble me?well, I have a ticket to add just a fucking button, but i will have to replace the whole camera module and start from scratch. also the crash causing loggers will need some workarounds, otherwise i could not check the apis. and my manager will be like "why are you taking so long to add a flashlight?" and i would be like "coz i wanna put this flashlight up your -2 -
I have a mini laptop ( i-ball CompBook Excelance). I want to add an extra monitor to it for coding purpose. Can I do it? Someone suggested me not to do so as monitor would require more power which this laptop will not be able to provide and would result in a short circuit. Is it so that I can't add a monitor to this kind of mini laptop? If it's possible then tell me the kind of monitor to add and it's procedure.
Also it has a 2gb sdRAM. Can I run Android Studio in that? Or can I add more RAM to it?
I know I have asked too many questions here! But please help me guys coz I think that this is the platform where I'll get answers to all my queries. The people I am surrounded with are not worthy to ask such questions. Please help!
Thanks in advance!1 -
Not exactly a rant but some annoyances
Whenever I copy paste code from kindle it does not space the code. Stack overflow says that kindle is using characters for space which are not present in UTF-8 which causes the issue and the find and replace option coes not work in vs code which the author is using. And if you copy from kindle whether you use the button or Ctrl + C it will add the book title and the author at the end. Who the fuck though this was a good idea.
Oh a table does not fit on the screen render whatever fits even if it is the top line of the table. This is probably not an issue and they cannot fix it and I shoild just deal with it.
The author introduces me to the language compiler and lists a command to what versions are available. I get an error which says the command is not found on windows. I dont find any solutions on google, so I go the next place and author says that he knows about it and shows a link to fix it and tells to folloe the instructions. But the link does not have any instructions and just has instructions to configure the compiler itself. The only releveant information was the path to the compiler which the author could have included there or said that was the only relevant information. The path was correct but I needed to install some stuff through Visual Studio2 -
want to dispatch an action from clicking a button, but dispatch() doesn't exist
add @connect to make dispatch() exist
other stuff crashes because @connect is actually a macro for a wrapper instead of the decorator it pretends to be
get locked in stalemate because both features kind of need to not crash -
User calls in and they can't install an Add-in through Outlook. But doesn't have the latest OS for Windows. It was downloaded but not installed. Would that cause that issue?3
-
last month i got a project signed to build an app to do few idiotic things, the whole point of it was for my client to earn money using google reward video (imagine). well i've worked on a lot of projects and this one seemed to be too simple. after checking Ionic website i saw lots of plugins among them where admobs-free and admobs-plus and even a paid version so i checked them out and it seemed to be pretty awesome, well. after a month i can only tell you this: DO NOT EVER USE IONIC. NEVER. you should constantly remove platforms and add it again and even so it gets messed up quickly. right now i just regret that i started this project with ionic and i cannot tell you how many bugs i ran into. JUST DON'T USE IT!