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 - "procedure"
-
This is a fun conversation I had:
Test Engineer: 😑 The test bench burst into flames.
Me: 😪😲 Do what now?
TE: 😐 The test bench burst into flames. It made a pretty impressive fire ball.
Me: 😮 . . . How are you so calm about this?
TE: 😐 Well it's not on fire now.
Me: 😶 Good point.
TE:😧 made me mad as hell though.
Me: 😕 why's that?
TE: 😬 Cuz I only had one damn step left in that test procedure and it was to turn the damn test bench off.
Me: 🤔 Correct me if I'm wrong but the test bench is off is it not?
TE: 😐 Well yeah.
Me: 🤔 and you caused it to be turned off by your actions no?
TE: 😕 . . . yeah . . .
Me:🤔 sounds like you turned it off to me.
TE: 😒
Me: 🙂
TE: 😐
Me: ☺
TE: 😑
Me: 😎
TE: 😐 but it won't turn on again.
Me: 🤔 do you have a requirement to be able to turn it on again after you turn it off?
TE: 😑 It's implied.
Me: 😐 not what I asked
TE: 😧 No not explicitly.
Me: 😎 sounds like you completed the test procedure.
TE: 😑
Me: 😎
TE: 😑
Me: 😎
TE: 😧 that's not how it works.
Me: 😎 doesn't it?
TE: 😑 No.
Me:😎
TE: *walks away* 😧😧😧
Me: *turns back to computer* well I was just trying to help YOU out 😒
I am the best at interpersonal communication.17 -
Oh, man, I just realized I haven't ranted one of my best stories on here!
So, here goes!
A few years back the company I work for was contacted by an older client regarding a new project.
The guy was now pitching to build the website for the Parliament of another country (not gonna name it, NDAs and stuff), and was planning on outsourcing the development, as he had no team and he was only aiming on taking care of the client service/project management side of the project.
Out of principle (and also to preserve our mental integrity), we have purposely avoided working with government bodies of any kind, in any country, but he was a friend of our CEO and pleaded until we singed on board.
Now, the project itself was way bigger than we expected, as the wanted more of an internal CRM, centralized document archive, event management, internal planning, multiple interfaced, role based access restricted monster of an administration interface, complete with regular user website, also packed with all kind of features, dashboards and so on.
Long story short, a lot bigger than what we were expecting based on the initial brief.
The development period was hell. New features were coming in on a weekly basis. Already implemented functionality was constantly being changed or redefined. No requests we ever made about clarifications and/or materials or information were ever answered on time.
They also somehow bullied the guy that brought us the project into also including the data migration from the old website into the new one we were building and we somehow ended up having to extract meaningful, formatted, sanitized content parsing static HTML files and connecting them to download-able files (almost every page in the old website had files available to download) we needed to also include in a sane way.
Now, don't think the files were simple URL paths we can trace to a folder/file path, oh no!!! The links were some form of hash combination that had to be exploded and tested against some king of database relationship tables that only had hashed indexes relating to other tables, that also only had hashed indexes relating to some other tables that kept a database of the website pages HTML file naming. So what we had to do is identify the files based on a combination of hashed indexes and re-hashed HTML file names that in the end would give us a filename for a real file that we had to then search for inside a list of over 20 folders not related to one another.
So we did this. Created a script that processed the hell out of over 10000 HTML files, database entries and files and re-indexed and re-named all this shit into a meaningful database of sane data and well organized files.
So, with this we were nearing the finish line for the project, which by now exceeded the estimated time by over to times.
We test everything, retest it all again for good measure, pack everything up for deployment, simulate on a staging environment, give the final client access to the staging version, get them to accept that all requirements are met, finish writing the documentation for the codebase, write detailed deployment procedure, include some automation and testing tools also for good measure, recommend production setup, hardware specs, software versions, server side optimization like caching, load balancing and all that we could think would ever be useful, all with more documentation and instructions.
As the project was built on PHP/MySQL (as requested), we recommended a Linux environment for production. Oh, I forgot to tell you that over the development period they kept asking us to also include steps for Windows procedures along with our regular documentation. Was a bit strange, but we added it in there just so we can finish and close the damn project.
So, we send them all the above and go get drunk as fuck in celebration of getting rid of them once and for all...
Next day: hung over, I get to the office, open my laptop and see on new email. I only had the one new mail, so I open it to see what it's about.
Lo and behold! The fuckers over in the other country that called themselves "IT guys", and were the ones making all the changes and additions to our requirements, were not capable enough to follow step by step instructions in order to deploy the project on their servers!!!
[Continues in the comments]26 -
And here comes the last part of my story so far.
After deploying the domain, configuring PCs, configuring the server, configuring the switch, installing software, checking that the correct settings have been applied, configuring MS Outlook (don't ask) and giving each and every user a d e t a i l e d tutorial on using the PC like a modern human and not as a Homo Erectus, I had to lock my door, put down my phone and disconnect the ship's announcement system's speaker in my room. The reasons?
- No one could use USB storage media, or any storage media. As per security policy I emailed and told them about.
- No one could use the ship's computers to connect to the internet. Again, as per policy.
- No one had any games on their Windows 10 Pro machines. As per policy.
- Everyone had to use a 10-character password, valid for 3 months, with certain restrictions. As per policy.
For reasons mentioned above, I had to (almost) blackmail the CO to draft an order enforcing those policies in writing (I know it's standard procedure for you, but for the military where I am it was a truly alien experience). Also, because I never trusted the users to actually backup their data locally, I had UrBackup clone their entire home folder, and a scheduled task execute a script storing them to the old online drive. Soon it became apparent why: (for every sysadmin this is routine, but this was my first experience)
- People kept deleting their files, whining to me to restore them
- People kept getting locked out because they kept entering their password WRONG for FIVE times IN a ROW because THEY had FORGOTTEN the CAPS lock KEY on. Had to enter three or four times during weekend for that.
- People kept whining about the no-USB policy, despite offering e-mail and shared folders.
The final straw was the updates. The CO insisted that I set the updates to manual because some PCs must not restart on their own. The problem is, some users barely ever checked. One particular user, when I asked him to check and do the updates, claimed he did that yesterday. Meanwhile, on the WSUS console: PC inactive for over 90 days.
I blocked the ship's phone when I got reassigned.
Phiew, finally I got all those off my chest! Thanks, guys. All of the rants so far remind me of one quote from Dave Barry:7 -
I worked on a greenfield project a couple of years ago. The company had an old solution written in Omnis (heard of it? Yeah, me neither) with an SQL database. My team was to create a completely new web based system... on top of the old database, so the customers could keep their existing stuff.
The dba was an intelligent man, one of the nicest people I've met, and over the course of fifteen years he had made a remarkably terrifying monstrosity of a database. Some years before me they wanted to "future proof" the system and make it "easier to switch to new technologies". So they moved the entire business logic into the database...
I used a tool to create a visualization of said database when we started. It had no views, only tables and sprocs. Look at it! Tables and sprocs are rectangles (well, dots) and any connections are drawn in grey lines. There were no foreign keys, so a tables only visualization only yielded a collection of independent rectangles without a single line.
Now, the stored procedures were bloody MASSIVE. A single procedure that only registered a new interested party and attached them to a property had 2500+ lines and over 150 parameters.
Also, this dba added features and fixed bugs by logging into the respective customers production server and writing SQL.
That database is the stupidest thing I've ever seen a developer do.35 -
!dev !rant - only very sad
I have been through the worst and saddest week of my life.
Sadly, it's getting worse every day.
I've been travelling around the world in my RV for years and haven't seen my parents for several years. Since I recently successfully completed a huge project and now have some spare time, I thought it would be nice to visit my parents. Everything went well. We were glad to see each other after a long time and had a nice day together. My father works as a security guard and had to go to work early in the evening. So I stayed alone with my mother.
In the evening my mother went to bed earlier than usual because she didn't feel well. I wished her a good night and wanted to surf the internet. But somehow I had a strange feeling (maybe a premonition) and after 5 minutes I went into her bedroom to bring her a glass of water and at this very moment she suffered a heart attack. I threw it all away and called 911 immediately. I shouted the address into the phone, screamed emergency, heart failure, unconscious while trying to start resuscitation at the same time. Fortunately, the ambulance was nearby, arrived in just a few minutes, pushed me aside and started the resuscitation procedure. It took more than an hour and dozens of electric shocks to even get a pulse.
The ambulance took her to the hospital for further medical treatment. I was in the hospital all night until at least she had a stable pulse.
As soon as I returned to my parents' house (the car was still warm, hardly 3 minutes have passed), my father, who had returned from work a few minutes earlier, suddenly suffered a thrombosis in his leg. The whole leg was slowly turning black. I immediately dragged him into the car and drove him as fast as I could to the hospital.
It's Sunday now. I haven't slept since Thursday and I've been in the hospital all the time. Both are in a coma, fighting for their lives. I thought it couldn't get any worse, my mother got sepsis and pneumonia today.
Now I have returned to my parents' house and pray that both of them will survive. Can't sleep even though I'm tired to death. Can't work, try to distract me somehow. Maybe I'll be able to sleep at least two hours. Then I'll go back to the hospital.
What a damn fuckin' week.46 -
Found this gem on GitHub:
// At this point, I'd like to take a moment to speak to you about the Adobe PSD format.
// PSD is not a good format. PSD is not even a bad format. Calling it such would be an
// insult to other bad formats, such as PCX or JPEG. No, PSD is an abysmal format. Having
// worked on this code for several weeks now, my hate for PSD has grown to a raging fire
// that burns with the fierce passion of a million suns.
// If there are two different ways of doing something, PSD will do both, in different
// places. It will then make up three more ways no sane human would think of, and do those
// too. PSD makes inconsistency an art form. Why, for instance, did it suddenly decide
// that *these* particular chunks should be aligned to four bytes, and that this alignement
// should *not* be included in the size? Other chunks in other places are either unaligned,
// or aligned with the alignment included in the size. Here, though, it is not included.
// Either one of these three behaviours would be fine. A sane format would pick one. PSD,
// of course, uses all three, and more.
// Trying to get data out of a PSD file is like trying to find something in the attic of
// your eccentric old uncle who died in a freak freshwater shark attack on his 58th
// birthday. That last detail may not be important for the purposes of the simile, but
// at this point I am spending a lot of time imagining amusing fates for the people
// responsible for this Rube Goldberg of a file format.
// Earlier, I tried to get a hold of the latest specs for the PSD file format. To do this,
// I had to apply to them for permission to apply to them to have them consider sending
// me this sacred tome. This would have involved faxing them a copy of some document or
// other, probably signed in blood. I can only imagine that they make this process so
// difficult because they are intensely ashamed of having created this abomination. I
// was naturally not gullible enough to go through with this procedure, but if I had done
// so, I would have printed out every single page of the spec, and set them all on fire.
// Were it within my power, I would gather every single copy of those specs, and launch
// them on a spaceship directly into the sun.
//
// PSD is not my favourite file format.
Ref : https://github.com/zepouet/...16 -
Worst dev team failure I've experienced?
One of several.
Around 2012, a team of devs were tasked to convert a ASPX service to WCF that had one responsibility, returning product data (description, price, availability, etc...simple stuff)
No complex searching, just pass the ID, you get the response.
I was the original developer of the ASPX service, which API was an XML request and returned an XML response. The 'powers-that-be' decided anything XML was evil and had to be purged from the planet. If this thought bubble popped up over your head "Wait a sec...doesn't WCF transmit everything via SOAP, which is XML?", yes, but in their minds SOAP wasn't XML. That's not the worst WTF of this story.
The team, 3 developers, 2 DBAs, network administrators, several web developers, worked on the conversion for about 9 months using the Waterfall method (3~5 months was mostly in meetings and very basic prototyping) and using a test-first approach (their own flavor of TDD). The 'go live' day was to occur at 3:00AM and mandatory that nearly the entire department be on-sight (including the department VP) and available to help troubleshoot any system issues.
3:00AM - Teams start their deployments
3:05AM - Thousands and thousands of errors from all kinds of sources (web exceptions, database exceptions, server exceptions, etc), site goes down, teams roll everything back.
3:30AM - The primary developer remembered he made a last minute change to a stored procedure parameter that hadn't been pushed to production, which caused a side-affect across several layers of their stack.
4:00AM - The developer found his bug, but the manager decided it would be better if everyone went home and get a fresh look at the problem at 8:00AM (yes, he expected everyone to be back in the office at 8:00AM).
About a month later, the team scheduled another 3:00AM deployment (VP was present again), confident that introducing mocking into their testing pipeline would fix any database related errors.
3:00AM - Team starts their deployments.
3:30AM - No major errors, things seem to be going well. High fives, cheers..manager tells everyone to head home.
3:35AM - Site crashes, like white page, no response from the servers kind of crash. Resetting IIS on the servers works, but only for around 10 minutes or so.
4:00AM - Team rolls back, manager is clearly pissed at this point, "Nobody is going fucking home until we figure this out!!"
6:00AM - Diagnostics found the WCF client was causing the server to run out of resources, with a mix of clogging up server bandwidth, and a sprinkle of N+1 scaling problem. Manager lets everyone go home, but be back in the office at 8:00AM to develop a plan so this *never* happens again.
About 2 months later, a 'real' development+integration environment (previously, any+all integration tests were on the developer's machine) and the team scheduled a 6:00AM deployment, but at a much, much smaller scale with just the 3 development team members.
Why? Because the manager 'froze' changes to the ASPX service, the web team still needed various enhancements, so they bypassed the service (not using the ASPX service at all) and wrote their own SQL scripts that hit the database directly and utilized AppFabric/Velocity caching to allow the site to scale. There were only a couple client application using the ASPX service that needed to be converted, so deploying at 6:00AM gave everyone a couple of hours before users got into the office. Service deployed, worked like a champ.
A week later the VP schedules a celebration for the successful migration to WCF. Pizza, cake, the works. The 3 team members received awards (and a envelope, which probably equaled some $$$) and the entire team received a custom Benchmade pocket knife to remember this project's success. Myself and several others just stared at each other, not knowing what to say.
Later, my manager pulls several of us into a conference room
Me: "What the hell? This is one of the biggest failures I've been apart of. We got rewarded for thousands and thousands of dollars of wasted time."
<others expressed the same and expletive sediments>
Mgr: "I know..I know...but that's the story we have to stick with. If the company realizes what a fucking mess this is, we could all be fired."
Me: "What?!! All of us?!"
Mgr: "Well, shit rolls downhill. Dept-Mgr-John is ready to fire anyone he felt could make him look bad, which is why I pulled you guys in here. The other sheep out there will go along with anything he says and more than happy to throw you under the bus. Keep your head down until this blows over. Say nothing."11 -
I might have posted this before. But I am going to post it again. Because emojis.
Me: 😁 Software lead I have finished coding the thing.
SL: 😀 Cool, good job. That is going to really help out the analysts.
Software Manager: 😐 hey I noticed you have coded a new thing and pushed it to integration.
Me: 😁 Yes.
SM: 😐 Well how do you know when it's done?
Me: 😑 . . . When you run it and it does the thing?
SM: 😐 Did you write test steps?
Me: 😕 Yeah . . . they're in the issue ticket.
SM: 😐 Yeah but how do you know those are right?
Me: 😕 Because I wrote the thing and the test steps?
SM: 😐 did you put any steps in our acceptance test procedure?
Me: 😕 No.
SM: 😐 why not?
Me: 😧 Because the acceptance test procedure tests requirements. There is no requirement for this functionality.
SM: 😑 Then why did you do it?
Me: 🤔 Because it was an internal request from the analysis team. There is no customer impact here.
SM: 😑 I really think we should write a requirement.
SL: 🤔 But what requirement is he going to attach this to?
SM: 😑 We don't have to attach it to a requirement. We can just test it once and remove it.
Me: 😒 SM, you know we never remove anything from the acceptance test procedure.
SM: 🙂 We do sometimes.
SL: 🤔 When was that I have worked here for twenty years and we have never removed a test from that document.
SM: 😑
SL: 😒
SM: 😑
SL: 😒
Me: 🤐
SM: 😧 I really think there should be an acceptance test written.
SL: 😧 Looks like you're writing an acceptance test.
Me: 😒 Alright as long as y'all're payin'. Shit I was just tryin' to save y'all money.
*acceptance test written and sent to peer review*
Peer: 😐 The requirement tested section doesn't have any requirements spelled out.
Me: 😅 No.
Peer: 🤔 Why?
Me: 😓 Because there is no requirement associated with this test.
Peer: 🤔 Then why are we adding an acceptance test?
Me: 😡 WELL AIN'T THAT A GOOD GOD DAMN QUESTION!?6 -
I have this guy who screams and keeps on slamming the table in a meeting room (there is only the project developer inside), about how important to LTRIM RTRIM in sql, combining multiple insert into 1 stored procedure, making a big deals of small feature since we’re on a tight schedule, bla bla bla
Worse retard ever
I almost punched him12 -
I'm convinced code addiction is a real problem and can lead to mental illness.
Dev: "Thanks for helping me with the splunk API. Already spent two weeks and was spinning my wheels."
Me: "I sent you the example over a month ago, I guess you could have used it to save time."
Dev: "I didn't understand it. I tried getting help from NetworkAdmin-Dan, SystemAdmin-Jake, they didn't understand what you sent me either."
Me: "I thought it was pretty simple. Pass it a query, get results back. That's it"
Dev: "The results were not in a standard JSON format. I was so confused."
Me: "Yea, it's sort-of JSON. Splunk streams the result as individual JSON records. You only have to deserialize each record into your object. I sent you the code sample."
Dev: "Your code didn't work. Dan and Jake were confused too. The data I have to process uses a very different result set. I guess I could have used it if you wrote the class more generically and had unit tests."
<oh frack...he's been going behind my back and telling people smack about my code again>
Me: "My code wouldn't have worked for you, because I'm serializing the objects I need and I do have unit tests, but they are only for the internal logic."
Dev:"I don't know, it confused me. Once I figured out the JSON problem and wrote unit tests, I really started to make progress. I used a tuple for this ... functional parameters for that...added a custom event for ... Took me a few weeks, but it's all covered by unit tests."
Me: "Wow. The way you explained the project was; get data from splunk and populate data in SQLServer. With the code I sent you, sounded like a 15 minute project."
Dev: "Oooh nooo...its waaay more complicated than that. I have this very complex splunk query, which I don't understand, and then I have to perform all this parsing, update a database...which I have no idea how it works. Its really...really complicated."
Me: "The splunk query returns what..4 fields...and DBA-Joe provided the upsert stored procedure..sounds like a 15 minute project."
Dev: "Maybe for you...we're all not super geniuses that crank out code. I hope to be at your level some day."
<frack you ... condescending a-hole ...you've got the same seniority here as I do>
Me: "No seriously, the code I sent would have got you 90% done. Write your deserializer for those 4 fields, execute the stored procedure, and call it a day. I don't think the effort justifies the outcome. Isn't the data for a report they'll only run every few months?"
Dev: "Yea, but Mgr-Nick wanted unit tests and I have to follow orders. I tried to explain the situation, but you know how he is."
<fracking liar..Nick doesn't know the difference between a unit test and breathalyzer test. I know exactly what you told Nick>
Dev: "Thanks again for your help. Gotta get back to it. I put a due date of April for this project and time's running out."
APRIL?!! Good Lord he's going to drag this intern-level project for another month!
After he left, I dug around and found the splunk query, the upsert stored proc, and yep, in about 15 minutes I was done.1 -
Rant && story time
When I was in first grade of high school (age of 15) we had a class of informatics. Nothing unusuall, you say, but this teacher was ummm ... Let's just say special. Most of his classes looked like this:
TEACHER: Ok, class, today we are going to learn/work with <insert a name of a software here>. # And then he sat behind his desk, falling silent for the rest of the lesson. We had to look up the software ourselves, and learn to use it. Or not.
Next lesson, he just said:
TEACHER: Continue your work from the last time.
And on the third lesson of each cycle, there was grading in place. He walked through the class and if he saw you working with the software, you got a 5 (that is A for our western friends), but if you were doing something completely different, you got a 1 (that is F). That just ment that you had to open the program and wave the mouse around while he was looking at your screen, and you got a guaranteed 5.
And then the cycle repeated.
However, this is not the story about the teacher in general, it's a story about one specific event involving him.
Around the beginning of the year (calendar one, not school one; that is middle of the school year) a programming competition took place.
The first stage (school competition), was easy; I got 45 points out of 50 (I was second-best on the whole school, of all years (students from 15 to 20 years of age).
A few weeks later, second stage (national competition) took place. However, when I got to the registration dosk, things got weird.
I patiently waited in line, but when I got to the front, the assistant asked me for year and school.
ME: I come from SCHOOL_NAME and go to first year.
ASSISTANT1: All students who go to SCHOOL_NAME need to go to that separate line.
It seemed strange, but I walked over anyhow. Maybe there was enough students from our school so that new line opened for us.
ME: I go to first year. # I assumed I don't have to tell the name as the line was only for our school.
ASSISTANT2: Ok, but you need to go to that row. *points to the row wherexI just came from* # WTF is going on now?
ME: Ummm, I just came from there, and they told me to come here.
ASSISTANH2: Oh, you go to SCHOOL_NAME?
ME: Yeah
ASSISTANT2: Ok then. What is your name? # Thank Knuth, one mistery less
ME: My name is SELF.NAME
After a short search through the envelopes:
ASSISTANT2: Here you go # Both the fact that my name was completely misspeled and the procedure it took us to finally get to the correct envelope are a story for a different time.
Skip forward some 10 minutes, to the lecture hall where they just told us all the instructions and started to divide us into classrooms
ASSISTANT3:
for CLASSROOM, STUDENT_LIST in STUDENT_DIVISION:
for STUDENT in STUDENT_LIST:
STUDENT.invite(CLASSROOM)
At the end, only a few people, including me, remained.
ASSISTANT3: Is there anyone not from SCHOOL_NAME? # Umm, yeah, WTF is going on now?
Noone replied.
ASSISTANT3: OK, you all, come with me now, we will find you a classroom.
From there on, competition went fine, I came in second, got a new phone as a prize, no complaints.
However, later on, I realized what was the reason for all that weird behaviour.
Signup date for the second part was on LAST_SIGNUP_DATE, which was at least two weeks before the competition, and signups had to be done untill 1600 that day.
Our teacher signed us up at 2200. ON THE FUCKING DAY BEFORE THE COMPETITION. OF COURSE THEY HAD NOTHING PLANNED FOR US, NO ENVELOPES, NO COMPUTERS, NOTHING, IF WE WERE SIGNED UP LESS THAN FUCKING 12 HOURS BEFORE THE COMPETITION INSTEAD OF 2 WEEKS EARLIER. THE ONLY REASON WE GOT TO COMPETE WAS BECAUSE SOME PEOPLE DIDN'T SHOW UP AND WE USED THE PC'S MENT FOR THEM. IF EVERYONE SHOWED UP WE FUCKING COULDN'T COMPETE.
And from that moment on, I always signed myself up for all of the competitions; better safe than sorry.rant lazy fuck. last minute competition signups you thought you knew what last-minute means? high school teacher2 -
Why is the contributing manual of your open source project more thoughtfully cultivated than your code style guide and testing procedure?
Why the fuck do you care about the message in my PR, or even merge vs rebase of commits, when your spaghetti-tomatosource is so richly saturated with critically minced bugmeat?
Why are you standing there, shouting at me about your convoluted rules, in your little brown uniform? Why do I feel like the enemy when I contribute a useful fix, something which makes the code work better?
You know what, fuck all of you, you jilted acetous neckbeards, I will deploy my secret weapon, I will bypass the power you hold over your tiny fascist digital dominions.
If you play it like this, I will summon the nefarious vile side of Open Source. I will usurp your throne. I will stab out your crying eyes, rip out your conceited tongue, impale your lonely heart.
Tremble before me! I wield the almighty, legendary Fork!
The king is dead, long live the king!5 -
Few phrases you should not say at Job:
1. That's not my job
2. We've tried that before
3. There's no budget for that
4. I told you so
5. That doesn't follow procedure
Comment if you have more.36 -
Fucking hell, the devs before write a query that pulls 30ish column for a report. When I break it down MANUALLY, since it’s a spaghetti on top of another spaghetti, you only need 6. Fuck you, did you dropped your head when you was a kid? Fuck sake, and every query is written in stored procedure even though you’re using an entity libraries19
-
Motherfucking WordPress coupled with motherfucking sales people.
If you promise the client something, please fucking relay it via the correct process (i.e the fucking ticketing system that took me a month to write for the company - it's seriously just a click away on your desktop.). "I told your boss" is not a fucking apt excuse.
My boss forgets, and well, doesn't give a fuck about procedure either.
Now you phone my boss and he phones me, on a fucking Sunday evening, telling me that the client was promised a website by tomorrow morning at 10AM. You tell me this at fucking 9PM.
Why didn't you tell me earlier? How the fuck am I supposed to shit out something I would be proud of in a few hours? Nevermind me fucking up my sleeping routine; how the fuck?
Conversation went like this:
"xyz was promised this site by sales person fuckTwit, I need this live by Monday morning. I have sent you a few images. Make it in WordPress, client says they want a 'tangy looking theme'.
Me: it's a bit unrealistic requesting this, is there no way we can extend the time so I have time to create this?
Also, what do you mean by 'tangy'?
Boss: don't know. Make it happen. No excuses.
What the fuck is a tangy theme? When I become a webDev at the company? More importantly, fucking WordPress?!
Now I'm sitting on this shit, tired as a manatee in mating season, and using goddamn WordPress.
I have to halt my irritation, because I get severely irritated when I'm tired, I have to restrain myself from telling the involved parties tomorrow to install the FuckYourself WordPress plugin, coupled with a resignation letter.
Same sales person got me in shit a while ago, because I refused to give him access to the network to download fucking cartoons. Sales director went and moaned that his bitch (the sales person) needs this for a presentation. Yeah fucking right.
Go Snorkelling in a sewer truck you egotistic, megalomaniacal, indecent, outrageous, horrible motherfucker of a person.
Time to develop a fucking website with, oh, a company profile pamphlet.
Times like this I keep telling myself, "my time will come, my time will come".14 -
Guy I work with: Hey can I borrow you for a minute
Me: sure. What do you need?
Him: so this is a project me an the other dev worked on
Me thinking: Well I know he did it all and sent you the project so don't tell me you worked on it
Him: so we use it to do this and this and send an email to this new account I made because (2 minute explanation)
Me thinking: I don't care. Just tell me what your issue is! I already know what it is and does from what you told me the last time when you showed me. Which took an hour of my time.
Him: so he sent me this code which is called <Descriptive name> and in the method we have variables call <descriptive name> and it returns a <variable name>
Me thinking: You mother fucker! I don't give a shit what your method is named, what it the variable names are, and you don't need to read through every line of code to me! Just from the descriptive name you just said I know what it does! What the fuck is your issue!?
Him: we also have these other methods. This one is called <Descriptive name> which does...
Me: are you fucking seriously going to read me your code line by line and tell me what you named your variables AGAIN!?
Him: and we named this one <descriptive name>
Me: you mother fucker...
Him: and it calls this stored procedure. (Literally opens the stored procedure and shows me) and it is called...which has parameters called... And it is a select query that inserts
45 minutes later after he finishes explaining all 3 pages of his code and his 5 stored procedures that the other dev wrote...
Him: So anyway, back to this method. I need to know where to put this method. The other dev said to put it in this file, but where do you think I should put it in here? Should I place it after this last one or before it?
Me thinking: You fucking wasted my fucking time just to ask where to place your mother fucking method that the other dev sent to you in a project with only 3 files, all less than 500 lines of code with comments and regions that actually tell you what you should put there and 5 small stored procedures that were not even relevant to your issue! Why the fuck did you need to treat me as a rubber ducky which would fly away if you did have one because you didn't have an issue, you just didn't know where to put your fucking code! FUCK YOUR METHOD!
Me: Where ever you want
Him: Well I think it won't work if I placed it before this method.
I walked away after that. What a waste of time and an insult to my skills and really unchallenging. He's been coding for years and still can't understand anything code related. I'm tired if helping him. Every time he needs something he always has to read through and explain his shit just to ask me things like this. One time he asked me what to name his variable and another his project. More recently he asked why he couldn't get his project he found online to work. The error clearly stated he needed to use c# 7. His initial solution was to change his sql connection string. 😑
He should just go back to setting up computers and fixing printers. At least then he would never be in the office to bug me or the other dev with things like this.7 -
Gotta keep that code DRY...
"It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter." -- Nathaniel S. Borenstein, computer scientist1 -
I've found sites like Udemy/Khanacademy/Codecademy/Brilliant/Edx to be very useful — possibly more useful than expensive education.
But they still need:
1. Better correction/update mechanisms. Human teachers make mistakes and material gets outdated, and while online teachers are rectified faster than classroom teachers, the procedure is still not optimal. Knowledge should be a bit more like a verified wiki.
2. Some have great interactive coding environments, some have great videos, some have awesome texts, some have helpful communities. None has it all. In the end, I don't want to learn a new language by writing code in my browser. It could all be integrated/synced to the point where IDEs have plugins which are synced to online videos, with tests and exercises built in, up to a social network where you could send snippets for review and add reviews to other people's code.
3. Accreditation. Some platforms offer this against payment, but I think those platforms often feel very old school (pun intended), with fixed schedules, marks and enrollments. Self paced is a must.
4. Depth is important. Current online courses are often a bit introductory. We need more advanced courses about algorithms, theoretical computer science, code design, relational algebra, category theory, etc. I get that it's about supply/demand, but we will eventually need to have those topics covered.
I do believe that for CS, full online education will eventually win from the classroom — it's still in its infancy, but has more potential to grow into correct, modern education.10 -
An application based on a single MySQL stored procedure that contained all the application business logic inside of it (plus a poor webapp that simply called it). The stored procedure had 97 (yes, NINETY SEVEN) parameters... and about half of them were boolean flag used for enabling/disabling another parameter. I think that Uncle Bob could follow you holding an AK-47 if he saw that. The saddest part is that the shit was written by a guy having a PhD in computer science, and he knew that was bad, but the boss asked him to do it in that way. The guy left the company before I joined it and I had to maintain that crap. Guys, the first time I saw it I thought that should be a joke. Code generated by decompilers was easier to read, maybe even Brainfuck. I tried complaining with the boss but she said that the system was wonderful and very efficient. This was one of the reasons I moved to another company after some months.3
-
Most satisfying bug I've fixed?
Fixed a n+1 issue with a web service retrieving price information. I initially wrote the service, but it was taken over by a couple of 'world class' monday-morning-quarterbacks.
The "Worst code I've ever seen" ... "I can't believe this crap compiles" types that never met anyone else's code that was any good.
After a few months (yes months) and heavy refactoring, the service still returned price information for a product. Pass the service a list of product numbers, service returns the price, availability, etc, that was it.
After a very proud and boisterous deployment, over the next couple of days the service seemed to get slower and slower. DBAs started to complain that the service was causing unusually high wait times, locks, and CPU spikes causing problems for other applications. The usual finger pointing began which ended up with "If PaperTrail had written the service 'correctly' the first time, we wouldn't be in this mess."
Only mattered that I initially wrote the service and no one seemed to care about the two geniuses that took months changing the code.
The dev manager was able to justify a complete re-write of the service using 'proper development methodologies' including budgeting devs, DBAs, server resources, etc..etc. with a projected year+ completion date.
My 'BS Meter' goes off, so I open up the code, maybe 5 minutes...tada...found it. The corresponding stored procedure accepts a list of product numbers and a price type (1=Retail, 2=Dealer, and so on). If you pass 0, the stored procedure returns all the prices.
Code basically looked like this..
public List<Prices> GetPrices(List<Product> products, int priceTypeId)
{
foreach (var item in products)
{
List<int> productIdsParameter = new List<int>();
productIdsParameter.Add(item.ProductID);
List<Price> prices = dataProvider.GetPrices(productIdsParameter, 0);
foreach (var price in prices)
{
if (price.PriceTypeID == priceTypeId)
{
prices = dataProvider.GetPrices(productIdsParameter, price.PriceTypeID);
return prices;
}
* Omitting the other 'WTF?' code to handle the zero price type
}
}
}
I removed the double stored procedure call, updated the method signature to only accept the list of product numbers (which it was before the 'major refactor'), deployed the service to dev (the issue was reproducible in our dev environment) and had the DBA monitor.
The two devs and the manager are grumbling and mocking the changes (they never looked, they assumed I wrote some threading monstrosity) then the DBA walks up..
DBA: "We're good. You hit the database pretty hard and the CPU never moved. Execution plans, locks, all good to go."
<dba starts to walk away>
DevMgr: "No fucking way! Putting that code in a thread wouldn't have fix it"
Me: "Um, I didn't use threads"
Dev1: "You had to. There was no way you made that code run faster without threads"
Dev2: "It runs fine in dev, but there is no way that level of threading will work in production with thousands of requests. I've got unit tests that prove our design is perfect."
Me: "I looked at what the code was doing and removed what it shouldn't be doing. That's it."
DBA: "If the database is happy with the changes, I'm happy. Good job. Get that service deployed tomorrow and lets move on"
Me: "You'll remove the recommendation for a complete re-write of the service?"
DevMgr: "Hell no! The re-write moves forward. This, whatever you did, changes nothing."
DBA: "Hell yes it does!! I've got too much on my plate already to play babysitter with you assholes. I'm done and no one on my team will waste any more time on this. Am I clear?"
Seeing the dev manager face turn red and the other two devs look completely dumbfounded was the most satisfying bug I've fixed.5 -
TFW your client's git policies are so draconian that the dev teams use "develop" as trunk, and completely ignore the release process.
I wrote up 50 pages of git standards, documentation and procedure for a client. Bad indian director 9000 decides the admin (also Indian) who specializes in Clearcase and has no git or development experience is more qualified to decide and let's him set the policy.
FF to today:
- documentation, mostly contradictory, is copy pasted from the atlassian wiki
- source tree is the standard
- no force pushing of any branches, including work branches
- no ff-merge
- no rebasing allowed
- no ssh, because he couldn't figure it out...errr it's "insecure"
- all repos have random abbreviated names that are unintelligible
- gitflow, but with pull requests and no trust
- only project managers can delete a branch
- long lived feature branches
- only projects managers can conduct code reviews
- hotfixes must be based off develop
- hotfixes must go in the normal release cycle
- releases involve creating a ticket to have an admin create a release branch from your branch, creating a second ticket to stage the PR, a third ticket to review the PR (because only admins can approve release PRs), and a fourth ticket to merge it in
- rollbacks require director signoff
- at the end of each project the repo must be handed to the admin on a burned CD for "archiving"
And so no one actually uses the official release process, and just does releases out of dev. If you're wondering if IBM sucks, the answer is more than you can possibly imagine.11 -
So when @dfox and @trogus cross 500++ on their rants, do they just take a stressball for themselves or go through the emailing procedure ?
Asking for a friend...6 -
Got really pissed off writing a stored procedure the other day because the reason behind it is absolute bullshit.
Gave sproc to QA for peer review before release.
QA: why are the variables called @FuckThisShit and @ThisIsBollocks?
Whoops, guess I was more angry than I thought 😂3 -
During a recruitment procedure I was provided a IDE to solve some programming questions. The computer had a bunch of fuck all anti virus including avast, mcafee, it stopped every execution and scanned it for like 10sec.
McAfee fucking deleted the program for no reason giving a malicious code alert on a normal c++ program.
I called the sys Admin to inspect, guess what he did.
Fucking uninstall McAfee. Woow.7 -
Ticket: “feature [x] doesn’t work”
Me: “I’ll need more details: how do I reach feature [x]? In which of the three projects you assigned me is that?”
Manager: “the design is in the ticket”
Me, in my head: “can you effin listen to what I told you before giving air to your mouth?”
Me, in person: “yeah I just need to know which project this refers to and how to reach it”
Manager: “but you have to open the ticket as a separate page!”
Me: “sure!” *waits 15 min, opens a ticket for more details, assigns it to manager, flags as blocking, flags the other one as blocked*
5 mins later: details are given and I can proudly fox it by remembering the manager they have to login in order to see feature [x]
Later in the workweek:
Manager at 8:00 URGENT FEATURE! MUST BE DELIVERED BY EOD
Me, 10:00 “can jump on it, need authorisation for [a procedure]
Me, 11,12,13,15,16,17:30: pings for an answer
Manager, 17:58 “ah sorry didn’t see, we can do it tomorrow”
Is this the matrix? Am I being stopped from developing cause I am randomly accessing matrix’s code without knowing it? Is this the Truman show? And most importantly: can I please take part to a manager hiring session? I am curious to see how tf you hire such peculiar people.10 -
One developer to me:
I will need access to root account on that new machine you just installed so that I can install/configure all the stuff and so you won't have to do it.
Me - I can't give you root. Not even sudo, this will be a production machine, I need to have a clean track of it.
D - but I will give it (root) back to you once I'm done.
Me - look pal, root access is like virginity. I can give it away but I will never be able to get it back.
D - But you can remove my access later. And, talking about virginity, there are operations that "restore" virginity ;)
Me - yes, and I can take access to root from you afterwards, which would be similar to the procedure you are referring to. But it won't change the fact that the server was already fucked. -
I've been away, lurking at the shadows (aka too lazy to actually log in) but a post from a new member intrigued me; this is dedicated to @devAstated . It is erratic, and VERY boring.
When I resigned from the Navy, I got a flood of questions from EVERY direction, from the lower rank personnel and the higher ups (for some reason, the higher-ups were very interested on what the resignation procedure was...). A very common question was, of course, why I resigned. This requires a bit of explaining (I'll be quick, I promise):
In my country, being in the Navy (or any public sector) means you have a VERY stable job position; you can't be fired unless you do a colossal fuck-up. Reduced to non-existent productivity? No problem. This was one of the reasons for my resignation, actually.
However, this is also used as a deterrent to keep you in, this fear of lack of stability and certainty. And this is the reason why so many asked me why I left, and what was I going to do, how was I going to be sure about my job security.
I have a simple system. It can be abused, but if you are careful, it may do you and your sanity good.
It all begins with your worth, as an employee (I assume you want to go this way, for now). Your worth is determined by the supply of your produced work, versus the demand for it. I work as a network and security engineer. While network engineers are somewhat more common, security engineers are kind of a rarity, and the "network AND security engineer" thing combined those two paths. This makes the supply of my work (network and security work from the same employee) quite limited, but the demand, to my surprise, is actually high.
Of course, this is not something easy to achieve, to be in the superior bargaining position - usually it requires great effort and many, many sleepless nights. Anyway....
Finding a field that has more demand than there is supply is just one part of the equation. You must also keep up with everything (especially with the tech industry, that changes with every second). The same rules apply when deciding on how to develop your skills: develop skills that are in short supply, but high demand. Usually, such skills tend to be very difficult to learn and master, hence the short supply.
You probably got asleep by now.... WAKE UP THIS IS IMPORTANT!
Now, to job security: if you produce, say, 1000$ of work, then know this:
YOU WILL BE PAID LESS THAN THAT. That is how the company makes profit. However, to maximize YOUR profit, and to have a measure of job security, you have to make sure that the value of your produced work is high. This is done by:
- Producing more work by working harder (hard method)
- Producing more work by working smarter (smart method)
- Making your work more valuable by acquiring high demand - low supply skills (economics method)
The hard method is the simplest, but also the most precarious - I'd advise the other two. Now, if you manage to produce, say, 3000$ worth of work, you can demand for 2000$ (numbers are random).
And here is the thing: any serious company wants employees that produce much more than they cost. The company will strive to pay them with as low a salary as it can get away with - after all, a company seeks to maximize its profit. However, if you have high demand - low supply skills, which means that you are more expensive to be replaced than you are to be paid, then guess what? You have unlocked god mode: the company needs you more than you need the company. Don't get me wrong: this is not an excuse to be unprofessional or unreasonable. However, you can look your boss in the eye. Believe me, most people out there can't.
Even if your company fails, an employee with valuable skills that brings profit tends to be snatched very quickly. If a company fires profitable employees, unless it hires more profitable employees to replace them, it has entered the spiral of death and will go bankrupt with mathematical certainty. Also, said fired employees tend to be absorbed quickly; after all, they bring profit, and companies are all about making the most profit.
It was a long post, and somewhat incoherent - the coffee buzz is almost gone, and the coffee crash is almost upon me. I'd like to hear the insight of the veterans; I estimate that it will be beneficial for the people that start out in this industry.2 -
Coffee at 7 am.
Coffee at 1 pm.
Coffee at 7:30 pm.
Sleep at midnight.
Wake up at 6:30.
Repeat.
Do you have a better procedure for maximising performance?
I have a deadline next Monday...14 -
I'm so close to giving up. Yesterday, I travelled 4 hours in one direction for a job interview for a graduate position as a web developer. As I arrived at the interview, I was welcomed by a senior dev and one of the HR people.
I sit down and they start explaining how everything will commence(standard procedure stuff) and afterwards hand me the technical test. At this time I am super calm cause I did my homework, checked out their products, their websites and knew right away what I was going to work on. As I turn the page, I see at the top with huge fucking capital letters "JAVA OOP test".
I take a minute and look back at them, like wtf is happening. Turns out that they are looking for a java dev. They picked me for the role because I had literally 1 fucking sentence in my CV and where I have said that I studied java in one semester of uni. FYI my entire portfolio, cv and cover letter are focused on JS, html, css both for client and server side.
As the fucking HR guy stood there and asked me "is there something wrong", I felt broken inside. For the first time in my fucking life I felt like I was done and couldn't continue anymore. I felt like this is some bitch-slap from karma about something but I still can't figure out what. I just walked out of there being unable to realize what happened.
I just feel like I should end my developer career before it has even started, just go do business analysis or something. Why the fuck would someone put a job description entirely talking about Angular, Less/SASS, bootstrap and jQuery and then say that is a Java dev OOP role. Who the fuck allows those people to take good salaries yet still deliver the up most shittiest quality service.
Before the interview, I checked out their websites which are simply horrendous with the comparability of a fucking baked potato. Idk really what to do, I don't mean to sound as a whiny little b.... but as I walked out of their office, I felt broken inside. Sorry for the long rant.8 -
English teacher :prepare a recipe of your favorite meal
Me :yeah sure
Title :how to prepare md5 seasoned with salt.
Procedure :
$salt="*+3256_$@";
$userpass="12345aeiou";
$md5hash=md5($userpass.$salt);
echo $md5hash;3 -
I suddenly realized all the technical debt shit I told my boss would happen years ago given the way things were done/heading then... Just occurred pretty much all at once last week in the form of critical production issues...
The teams like:
-we need real time server process monitoring
-structured logging for apps
-containerization so one app didn't affect others
Me thinking: yes.... I told you so like 3/4 years ago when I first joined the team and kept repeating so much I got tired of saying at every annual review...
This is exactly what happens when you let technical debt grow and have no free time for developers to look into and fix then while they were small and not critical production processes... Or properly document and peer review them... (Got a shit pile of projects that no one knows how to use or even exists because the devs left the team) and they'll have a lot more when I finally leave... Hopefully this year.... If I can find another role and not need another medical procedure... (Doubtful)3 -
Biggest challenge I overcame as dev? One of many.
Avoiding a life sentence when the 'powers that be' targeted one of my libraries for the root cause of system performance issues and I didn't correct that accusation with a flame thrower.
What the accusation? What I named the library. Yep. The *name* was causing every single problem in the system.
Panorama (very, very expensive APM system at the time) identified my library in it's analysis, the calls to/from SQLServer was the bottleneck
We had one of Panorama's engineers on-site and he asked what (not the actual name) MyLibrary was and (I'll preface I did not know or involved in any of the so-called 'research') a crack team of developers+managers researched the system thoroughly and found MyLibrary was used in just about every project. I wrote the .Net 1.1 MyLibrary as a mini-ORM to simplify the execution of database code (stored procs, etc) and gracefully handle+log database exceptions (auto-logged details such as the target db, stored procedure name, parameter values, etc, everything you'd need to troubleshoot database errors). This was before Dapper and the other fancy tools used by kids these days.
By the time the news got to me, there was a team cobbled together who's only focus was to remove any/every trace of MyLibrary from the code base. Using Waterfall, they calculated it would take at least a year to remove+replace MyLibrary with the equivalent ADO.Net plumbing.
In a department wide meeting:
DeptMgr: "This day forward, no one is to use MyLibrary to access the database! It's slow, unprofessionally named, and the root cause of all the database issues."
Me: "What about MyLibrary is slow? It's excecuting standard the ADO.Net code. Only extra bit of code is the exception handling to capture the details when the exception is logged."
DeptMgr: "We've spent the last 6 weeks with the Panorama engineer and he's identified MyLibrary as the cause. Company has spent over $100,000 on this software and we have to make fact based decisions. Look at this slide ... "
<DeptMgr shows a histogram of the stacktrace, showing MyLibrary as the slowest>
Me: "You do realize that the execution time is the database call itself, not the code. In that example, the invoice call, it's the stored procedure that taking 5 seconds, not MyLibrary."
<at this point, DeptMgr is getting red-face mad>
AreaMgr: "Yes...yes...but if we stopped using MyLibrary, removing the unnecessary layers, will make the code run faster."
<typical headknodd-ers knod their heads in agreement>
Dev01: "The loading of MyLibrary takes CPU cycles away from code that supports our customers. Every CPU cycle counts."
<headknod-ding continues>
Me: "I'm really confused. Maybe I'm looking at the data wrong. On the slide where you highlighted all the bottlenecks, the histogram shows the latency is the database, I mean...it's right there, in red. Am I looking at it wrong?"
<this was meeting with 20+ other devs, mgrs, a VP, the Panorama engineer>
DeptMgr: "Yes you are! I know MyLibrary is your baby. You need to check your ego at the door and face the facts. Your MyLibrary is a failed experiment and needs to be exterminated from this system!"
Fast forward 9 months, maybe 50% of the projects updated, come across the documentation left from the Panorama. Even after the removal of MyLibrary, there was zero increases in performance. The engineer recommended DBAs start optimizing their indexes and other N+1 problems discovered. I decide to ask the developer who lead the re-write.
Me: "I see that removing MyLibrary did nothing to improve performance."
Dev: "Yes, DeptMgr was pissed. He was ready to throw the Panorama engineer out a window when he said the problems were in the database all along. Didn't you say that?"
Me: "Um, so is this re-write project dead?"
Dev: "No. Removing MyLibrary introduced all kinds of bugs. All the boilerplate ADO.Net code caused a lot of unhandled exceptions, then we had to go back and write exception handling code."
Me: "What a failure. What dipshit would think writing more code leads to less bugs?"
Dev: "I know, I know. We're so far behind schedule. We had to come up with something. I ended up writing a library to make replacing MyLibrary easier. I called it KnightRider. Like the TV show. Everyone is excited to speed up their code with KnightRider. Same method names, same exception handling. All we have to do is replace MyLibrary with KnightRider and we're done."
Me: "Won't the bottlenecks then point to KnightRider?"
Dev: "Meh, not my problem. Panorama meets primarily with the DBAs and the networking team now. I doubt we ever use Panorama to look at our C# code."
Needless to say, I was (still) pissed that they had used MyLibrary as dirty word and a scapegoat for months when they *knew* where the problems were. Pissed enough for a flamethrower? Maybe.6 -
When you spend a few days getting a monolithic LAMP app working in Docker so we don’t have to follow a 12 page install procedure... only to have your senior say “that’s not the way we do things around here”7
-
I'm coming off a lengthy staff augmentation assignment awful enough that I feel like I need to be rehabilitated to convince myself that I even want to be a software developer.
They needed someone who does .NET. It turns out what they meant was someone to copy and paste massive amounts of code that their EA calls a "framework." Just copy and paste this entire repo, make a whole ton of tweaks that for whatever reason never make their way back into the "template," and then make a few edits for some specific functionality. And then repeat. And repeat. Over a dozen times.
The code is unbelievable. Everything is stacked into giant classes that inherit from each other. There's no dependency inversion. The classes have default constructors with a comment "for unit testing" and then the "real" code uses a different one.
It's full of projects, classes, and methods with weird names that don't do anything. The class and method names sound like they mean something but don't. So after a dozen times I tried to refactor, and the EA threw a hissy fit. Deleting dead code, reducing three levels of inheritance to a simple class, and renaming stuff to indicate what it does are all violations of "standards." I had to go back to the template and start over.
This guy actually recorded a video of himself giving developers instructions on how to copy and paste his awful code.
Then he randomly invents new "standards." A class that reads messages from a queue and processes them shouldn't process them anymore. It should read them and put them in another queue, and then we add more complication by reading from that queue. The reason? We might want to use the original queue for something else one day. I'm pretty sure rewriting working code to meet requirements no one has is as close as you can get to the opposite of Agile.
I fixed some major bugs during my refactor, and missed one the second time after I started over. So stuff actually broke in production because I took points off the board and "fixed" what worked to add back in dead code, variables that aren't used, etc.
In the process, I asked the EA how he wanted me to do this stuff, because I know that he makes up "standards" on the fly and whatever I do may or may not be what he was imagining. We had a tight deadline and I didn't really have time to guess, read his mind, get it wrong, and start over. So we scheduled an hour for him to show me what he wanted.
He said it would take fifteen minutes. He used the first fifteen insisting that he would not explain what he wanted, and besides he didn't remember how all of the code he wrote worked anyway so I would just have to spend more time studying his masterpiece and stepping through it in the debugger.
Being accountable to my team, I insisted that we needed to spend the scheduled hour on him actually explaining what he wanted. He started yelling and hung up. I had to explain to management that I could figure out how to make his "framework" work, but it would take longer and there was no guarantee that when it was done it would magically converge on whatever he was imagining. We totally blew that deadline.
When the .NET work was done, I got sucked into another part of the same project where they were writing massive 500 line SQL stored procedures that no one could understand. They would write a dozen before sending any to QA, then find out that there was a scenario or two not accounted for, and rewrite them all. And repeat. And repeat. Eventually it consisted of, one again, copying and pasting existing procedures into new ones.
At one point one dev asked me to help him test his procedure. I said sure, tell me the scenarios for which I needed to test. He didn't know. My question was the equivalent of asking, "Tell me what you think your code does," and he couldn't answer it. If the guy who wrote it doesn't know what it does right after he wrote it and you certainly can't tell by reading it, and there's dozens of these procedures, all the same but slightly different, how is anyone ever going to read them in a month or a year? What happens when someone needs to change them? What happens when someone finds another defect, and there are going to be a ton of them?
It's a nightmare. Why interview me with all sorts of questions about my dev skills if the plan is to have me copy and paste stuff and carefully avoid applying anything that I know?
The people are all nice except for their evil XEB (Xenophobe Expert Beginner) EA who has no business writing a line of code, ever, and certainly shouldn't be reviewing it.
I've tried to keep my sanity by answering stackoverflow questions once in a while and sometimes turning evil things I was forced to do into constructive blog posts to which I cannot link to preserve my anonymity. I feel like I've taken a six-month detour from software development to shovel crap. Never again. Lesson learned. Next time they're not interviewing me. I'm interviewing them. I'm a professional.9 -
Today I come across something interresting in SQL Server.
I was optimizing a report query and in the SSMS windows runned in 10 seconds for 3000 rows.
Put it to a stored procedure took me 5 minutes for getting 100 rows.
I was like WTF?
After some research I found out that the problem was that I was using the Stored Procedure parameters in the query.
Created local variables for the parameters and poof... 10 seconds again.
So if you are creating Stored Procedures in SQL Server DO NOT USE THE PARAMETERS FROM THE PROCEDURE. CREATE LOCAL VARIABLES.5 -
This happened when I got my first IT support job. Naturally as a 1st line support you get to do the fun and not at all tedious thing of resetting passwords.
So I take a ticket from one of our HR people where they say that 3 new employees can't access a certain system.
Without going into too much detail here I reset the passwords according to our procedures and be done with it.
But at the end of the day it turns out that one of those 3 new employees was the new CEO, and he was known to be not the most pleasant of people to work with.
So ofc there was a chain of emails with the words "How can someone not know who I am" in there somewhere.
Had a nice stressful weekend wondering if I'll still have a job after Monday and we had a whole new password reset procedure created because of that.2 -
Me: Are you sure you want this in the acceptance test procedure?
Lead: Yes.
Me: I'm just saying, we don't have any requirements for this feature so it doesn't really belong there.
Lead: Just put it in.
Me: Are you sure? It's a lot of work for something that isn't even required to be there.
Lead: Go do it.
Me: Okay.
*I do the work and it goes to peer review*
High ranking person from another team: I don't see any requirements traceability. Why is this in here if there are no requirements?
Me: WELL AIN'T THAT A GOOD GODDAMN QUESTION!?3 -
Employee: we have 15 years of Stored Procedures
Boss: just because we been doing it for 15 years doesn’t mean we should continue.
Boss coming in clutch.3 -
OMFG I don't even know where to start..
Probably should start with last week (as this is the first time I had to deal with this problem directly)..
Also please note that all packages, procedure/function names, tables etc have fictional names, so every similarity between this story and reality is just a coincidence!!
Here it goes..
Lat week we implemented a new feature for the customer on production, everything was working fine.. After a day or two, the customer notices the audit logs are not complete aka missing user_id or have the wrong user_id inserted.
Hm.. ok.. I check logs (disk + database).. WTF, parameters are being sent in as they should, meaning they are there, so no idea what is with the missing ids.
OK, logs look fine, but I notice user_id have some weird values (I already memorized most frequent users and their ids). So I go check what is happening in the code, as the procedures/functions are called ok.
Wow, boy was I surprised.. many many times..
In the code, we actually check for user in this apps db or in case of using SSO (which we were) in the main db schema..
The user gets returned & logged ok, but that is it. Used only for authentication. When sending stuff to the db to log, old user Id is used, meaning that ofc userid was missing or wrong.
Anyhow, I fix that crap, take care of some other audit logs, so that proper user id was sent in. Test locally, cool. Works. Update customer's test servers. Works. Cool..
I still notice something off.. even though I fixed the audit_dbtable_2, audit_dbtable_1 still doesn't show proper user ids.. This was last week. I left it as is, as I had more urgent tasks waiting for me..
Anyhow, now it came the time for this fuckup to be fixed. Ok, I think to myself I can do this with a bit more hacking, but it leaves the original database and all other apps as is, so they won't break.
I crate another pck for api alone copy the calls, add user_id as param and from that on, I call other standard functions like usual, just leave out the user_id I am now explicitly sending with every call.
Ok this might work.
I prepare package, add user_id param to the calls.. great, time to test this code and my knowledge..
I made changes for api to incude the current user id (+ log it in the disk logs + audit_dbtable_1), test it, and check db..
Disk logs fine, debugging fine (user_id has proper value) but audit_dbtable_1 still userid = 0.
WTF?! I go check the code, where I forgot to include user id.. noup, it's all there. OK, I go check the logging, maybe I fucked up some parameters on db level. Nope, user is there in the friggin description ON THE SAME FUCKING TABLE!!
Just not in the column user_id...
WTF..Ok, cig break to let me think..
I come back and check the original auditing procedure on the db.. It is usually used/called with null as the user id. OK, I have replaced those with actual user ids I sent in the procedures/functions. Recheck every call!! TWICE!! Great.. no fuckups. Let's test it again!
OFC nothing changes, value in the db is still 0. WTF?! HOW!?
So I open the auditing pck, to look the insides of that bloody procedure.. WHAT THE ACTUAL FUCK?!
Instead of logging the p_user_sth_sth that is sent to that procedure, it just inserts the variable declared in the main package..
WHAT THE ACTUAL FUCK?! Did the 'new guy' made changes to this because he couldn't figure out what is wrong?! Nope, not him. I asked the CEO if he knows anything.. Noup.. I checked all customers dbs (different customers).. ALL HAD THIS HARDOCED IN!!! FORM THE FREAKING YEAR 2016!!! O.o
Unfuckin believable.. How did this ever work?!
Looks like at the begining, someone tried to implement this, but gave up mid implementation.. Decided it is enough to log current user id into BLABLA variable on some pck..
Which might have been ok 10+ years ago, but not today, not when you use connection pooling.. FFS!!
So yeah, I found easter eggs from years ago.. Almost went crazy when trying to figure out where I fucked this up. It was such a plan, simple, straight-forward solution to auditing..
If only the original procedure was working as it should.. bloddy hell!!8 -
I might have told this in other rants, but this thing (requested from the client) is one of the worst thing I've ever done.
So we were developing a website to find the stores of a certain brand across the country, specifically: Italy.
In Italy, a lot of towns have accents and apostrophes in their name.
Client managers wanted ALL DATA to be capitalized, including letters with accents, but the client management was using Windows and Windows doesn't simply let you enter capital letters with accents from the keyboard, so the client requested to make a procedure to turn every apostrophe into an accent, therefore a town named like "CA' DEL BOSCO" would be "CÀ DEL BOSCO" (which is wrong) as they just couldn't bother copy-pasting from Word.
An important thing to notice is that most Italian towns with apostrophes don't have accents and most towns with accents don't have apostrophes, and that specific routine couldn't figure out what to exactly, so we ended up having all the stuff messed up.
The feature was a total SHIT, but the client was extremely happy with it, so we didn't even bother arguing with that.4 -
FUUUU!!!!!! 3h of colleagues work gone in sconds.. & yes, actually it is all my fault, even though I was not aware of being a totall ass at that time..
What happened?! You know the ctrl+s shortcut?! Yes? Weeeell...doesn't go well with oracle sql developer and packages.. o.O
I was totally unavare that I was typing in ctrl+s ctrl+s all the time. I know I do that with c# code.. Anyhow, when I first moved to sql developer from other tool I noticed that compile thingy.. Oooops, ok, let's remove that shortcut to not stab yourself absentmindenly and overwrite other peoples work.. OK that's taken care of, shortcuts removed and I go back to work..
It's been almost 6 months since the move & first incident and today I guess I did the same.. ctrl+s.. But this time I wasn't so lucky.
Coworker pissed off, that is not my procedure. When did you compile?! Someone overwrote my code..
Wasn't me.. Then I started thinking about ctrl+s.. OMFG!! I check this on another package, it compiled. O.o I almost died. I check the shortcuts. They are back! And even after removing them the package still compiled.. FML!! 😭😭😭😭
I removed them again & closed the tool. Reopended.. BACK!! We're back to fuck your life up!! Fuuuuuuu!!
Now I worry wtf else I fucked up without notice.. o.O hopefully not much.. I hope.. O.O boss will kill me...
BTW anyone knows how to really get rid of this feature?! Cuz for me its a bug (since I am buggy and press ctrl+s all the time.. )6 -
Google has a password reset procedure so intense, that even if I can sign into my recovery account and give them the code from there, use 2 factor auth and give them the code from there, tell them my recovery phone(s) number(s), give them my mother's father's mother's late cousin twice removed daughter's maiden name, and whatever other security measures were set in place, I can't get a fucking password reset. Thanks Google, fuck you.3
-
Oh fucking Huawei.
Fuck you.
Inventory:
- Honor 6x (BLN-L22C675)
- Has EMUI4.1 Marshmallow
- Cousin brother 'A' (has bricking XP!)
- Uncle 'K'
- Has Mac with Windows VM
Goal:
- Stock as LineageOS / AOSP
Procedure (fucking seriously):
- Find XDA link to root H6X
- Go to Huawei page and fill out form
- Receive and use bootloader code
- Find latest TWRP
- Flash latest TWRP
- TWRP not working? Bootloops
- XDA search "H6X boot to recovery"
- Find and try modded TWRP
- TWRP fails, no bootloop
- Find & flash TWRP 3.1.0
- Yay! TWRP works
- Find and download LineageOS and SuperSU
- Flash via TWRP
- Yay! Success.
- Attempt boot
- Boot fails. No idea why
- Go back to TWRP
- TWRP gives shitload of errors
"cannot mount /data, storage etc."
- Feel fucked up
- Notice that userdata partition exists,
but FSTAB doesn't take
- Remembers SuperSU modded boot
image and FSTABS!
- Fuck SuperSU
- Attempt to mod boot image
- Doesn't work (modded successfully
but no change)
- Discover Huawei DLOAD
Installer for "UPDATE.APP" OTAs
Note: Each full OTA is 2+ GB zipped
- Find, download, fail on 4+ OTAs
- Discover "UPDATE.APP Extractor"
Runs on Windows
Note: UPDATE.APP custom format
Different per H6X model
- Uses 'K''s VM to test
- My H6X model does not have
a predefined format
- Process to get format requires
TWRP, which is not working
- FAIL HERE
- Discover "Firmware Finder"
Windows app to find Huawei
firmwares
- Tries 'K''s VM
- Fails with 1 OTA
- Downloads another firmware ZIP
- Unzips and tries to use OTA
- Works?!
- Boots successfully?!
- Seems to have EMUI 5.0 Nougat
- Downloads, flashes TWRP
- TWRP not working AGAIN?
- Go back to XDA page
- Find that TWRP on EMUI 5 - NO
- Find rollbacks for EMUI5 -> EMUI4
- Test, fail 2-4 times (Massive OTAs)
- DLOAD accepts this one?!!!
- I HAVE ORIG AGAIN!!!
- Re-unlock and reflash TWRP
- Realise that ROMs aren't working on
EMUI 4.1; Find TWRPs for EMUI5
- Find and fail with 2-3 OTAs
Note: Had removed old OTAs for
space on Chromebook (32GB)
- In anger, flash one with TWRP
instead of DLOAD (which checks
compatability)
- Works! Same wasn't working with
DLOAD
- Find and flash a custom TWRP
as old one still exists (not wiped in
flash)
- Try flashing LineageOS
- LineageOS stuck in boot
- Try flashing AOSP
- Same
- Try flashing Resurruction Remix
- Same
- Realise that need stock EMUI5
vendor
- Realise that the firmware I installed
wasn't for my device so not working
- FUCK NO MORE LARGE DLs
- Try another custom TWRP
- Begin getting '/cust mounting' errs
- Try reflashing EMUI5 with TWRP
- Doesn't work
- Try DLOADing EMUI5
- Like before, incompatability
- DLOAD EMUI4
- Reunlock and reflash TWRP
- WRITE THIS AS A BREAK
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRRRRRRRRRRRRRRRRRRRRRRRGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHH7 -
Just pushed a 400+ line stored procedure in production. It's fucking magic and is probably never gonna be touched because no one will understand it and because "it works".5
-
Not an enemy yet, but I’ve just debated with a senior dev that said stored procedure is faster, safer, and works better than entity framework
I agree with faster (only a bit) but the rest is just bs23 -
How’s this for a horror story? Adding a new feature to a 6,000 line and 100% undocumented stored procedure in a 20+ year old Oracle database.2
-
nearly cried.
I had been working on this file for the last 4 or so hours.
And accidentally deleted it with NerdTree (mdy).
300 loc. poof.
scoured internet for recovery procedure.
and.......
... to no avail. just about to give up.
here comes the climax: .....
It was stillllll...... in the NEOVIM. BUFFER.
vim got my back.
praise you vim lord.
#vim_pope3 -
Spent 3 hours not understanding why the exact same procedure on Linux worked while not in windows. Ended up installing Linux on the windows computer.5
-
CAN SOMEONE PLEASE TELL ME HOW TO TRANSLATE PULL REQUEST TO GERMAN?
According to one of my teachers I have to translate this in a coding guideline otherwise other devs might not be able to follow the procedure...
I asked him how he would translate it and he could not give me a proper answer... describe it he said...
How the fuck does it improve my guidelines if I describe PR!!!
And if your not capable of doing it better how should I know I have to do it!
Sorry I looked at an old exam and got triggered when I saw the correction21 -
My girlfriend needed a flash drive to back up her Chromebook. I took an old 7g I had and formatted it to exfat (standard procedure here, nothing special). She plugged it in and had some issues with it, so I told her to see erase the drive from her Chromebook. Chromebook said it would delete all 4 terabytes (4tb) from the drive. Lol. Don't know how that happened, and was tempted to try it to see how it went, but did not want to mess up her laptop or wait days for a supposed 4 TB drive to format.
Tl;dr: girlfriends Chromebook thought a 7gb flash drive was 4tb6 -
Things that only happen on Windows:
1. Windows updates itself with a security-update
2. On next reboot, upgrade procedure fails and reverts changes
3. Repeat
You cannot prevent the update, you cannot shutdown or reboot without the update and it takes around 30 minutes to install and revert every time during boot.
There is a saying; "Insanity is doing the same thing over and over again but expecting different results." I therefore officially proclaim insanity of my Windows installation.5 -
Came across a gem today...part of a stored procedure that sits under our erp software. This explains a lot7
-
Today was a manic-depressive kind of day. Spent the morning helping some developers with getting their code to run a stored procedure to drop old partitions, but it wasn't working on their end. It was a fairly simple proc. But working with partitions is a little like working with an array. I figured out that they were passing the wrong timestamp, and needed to add +1 to delete the right partition. Got that sorted out, and things were good. Lunch time.
After lunch I did some busy work, and then the PO comes up at about 2PM and says he's assigned some requests to me. The first was just attaching some scripts. Easy. The second, the user wants a couple of schemas exported ... at 6PM. I've been in the office since 6:45AM.
While I'm setting up some commands to run for the data export, a BA walks up and asks if I'm filling in for another DBA who is out for a few weeks. Yep. There's a change request that hasn't been assigned, and he normally does the work. I ask when it's due. Well, the pre-implementation was supposed to be done in the morning, but it wasn't, and we're in the implementation window ... half way through. I bring up the change task, and look at. Create new schema and users. That's all it says. The BA laughs. I tell I need more to go on. 10 minutes later he sends an email with the information. There's only two hours left in the window, and I can only use half of it, because the production guys have to their stuff, and we're in their window. Now I'm irritated, because I'm new to Oracle, and it's an unforgiving mistress. Fortunately, another DBA says he'll do it, so that we can get it done in time. But can't work it either, because Dev DBAs don't have access to QA, and the process required access for this task. Gets shelved until the access issue is resolved. It's now after 4:15PM. I'm going to in traffic with that 6PM deadline.
I manage to get home and to the computer by 5:45PM. Log in. Start VPN. Box pops on screen. Java needs to update. I chose skip update. Box pops up again. It won't let me log in until Java is current. Passed.
I finally get logged in, and it's 6:10PM. I'm late getting the job started. I pull up Putty and log into the first box, and paste my pre-prepared command in the command line and hit error. Command not found. I'm tired, so it's a moment to sink in. I don't have time for this.
I log into DBArtisan and pull up the first data base, use the wizard to set the job, and off it goes. Yay. Bring up the second database, and have enter the connect info. Host not found. Wut? Examine host name. Yep, it's correct. Try a different method. Host not found. Go back to Putty. Log in. Past string. Launch. Command not found. Now my brain is quitting on me. Why now? It's after 6:30PM. Fiddle with some settings, reset $Oracle home. Try again. Yay. It works. I'm done. It's after 7PM.
There is nothing like technology to snatch the euphoria of a success away from you. It's a love-hate thing, but I wouldn't trade it for anything else. I'm done. Good night.3 -
OBS is advertised as the expert's screen recording and streaming tool, every list on the internet makes it out to be some incredibly difficult program not recommended for newbies.
It's also the only linux screen recorder that works out of the box on Pipewire, records both microphone and system sounds and all configuration was to
1. select recording as my main use case in the setup wizard which is a very verbose English popup, then accept all defaults
2. add a new source, following the instructions written in the box which are also the only instructions on screen after application launch
3. set the output directory (optional) by going to File > Settings > Output > Recording Path, all of which were the first items I guessed. If I had not done this, it would've written everything to my home folder which is a bit dumb but not confusing at all
4. click Start Recording
5. click Stop Recording when done
Some newbie-oriented screen recorders have a more complicated setup procedure than this super advanced experts' tool don't touch without safety gloves and a degree in video engineering.11 -
from the same guy that altered a table without warning: deleted a stored procedure without telling anyone14
-
Our new IT support college (I've been the support for like almost 2 years into the company and then I moved onto another project) asked me about how to configure a printer over LAN. I explained him the whole procedure and after he asked me what does the gateway IP means, I explained him that it's a router, switch or another device that know how to forward packets on to other networks and gave him an example like 192.168.100.1 and told him that usually is the router's/switch IP address and is the same IP address as the static IP of the printer but with .1 at the end instead of the last number set. After that he asked me: "Like this? 192.168.100.25.1?"3
-
Six or seven years ago, I worked for a large financial organization as part of a very large effort to convert server assets from physical to virtual. The consultants on site were in bed with the vendor of a terrible piece of software designed for that purpose. After a couple weeks on the job I'd had it, and sat down in between sessions of "validating" the conversion procedure, and started writing my own software for converting Linux servers. After a couple days it was working great, and they wound up adopting my software as the default method for Linux conversions.
Years later, I'm interviewing for my current job and one of the interviewers tells me he used my converter some time later and loved it. Pretty sure it's what swung the interview for me. -
Not the worst, but probably the only one I can sort of explain & not get into trouble for NDA breach..
Umm.. here it goes.. wrong id returned from db procedure, tried to do something on db with that id and got exception that the id doesn't exist. Instead of checking why the procedure returns nonexistent id, he just wrapped everything in try catch without any logs.. & of course, didn't tell anyone about this.. o.0
I know, I know, code review could have prevented this, but holy fuck..
Guy's cv had more experience than I have now, so at the time, I didn't think I'd have to check every line of code he wrote, especially not for shit like this.3 -
Why would someone in their right mind change a piece of code that was working fine (and it wasn't a complete mumbo jumbo in styling, logic, transparency, was in line with how the project was coded etc..) to use dapper just to call a stored procedure?! Dafaq is wrong with people!?
Or is it just me & I'm overreactig again?!
I hate when people add more stuff to projects that are already overbloated with fw/techologies to do something so trivial.. like adding 6827646 js fw so you can use one function in each (or are simply still there because they didn't know how to use it and left it in project) which could easily be achieved with our own fw we use...wtf?! O.o
// me cringing, cussing etc..4 -
Teammember left. I did his three tickets yesterday. Before that I created and applied new rescue procedure for broken deploys on production and deployed the app manually. Took me about 6 hours to do this right, find the cause, and solve it, and document what I did. After that my teamleader bought me a launch :)
It wasn't his, my former teammate responsibility to bring back prd to life, it was me being good and engaged employee. His tickets, on the other hand, were his duties. Took me one hour to code them. He was working on them for two weeks. I can't wait for the performance review, im definitely going to ask for a nice rise :)1 -
I tought I'll buy a new laptop last week.
Went to the mediamarkt. I've choosen one with hdd. That was cheaper and I have a nice ssd at home, so I tought I'm gonna change that so I've asked the salesman about the hdd. I mean if I take it out and replace it with an ssd, it'll invalidate my warranty? Said yes. But they gladly change it to me if I bring my ssd in for a dirt-cheap €79. I said you are defenetly lost your mind. It takes 5 screws and around 5 minutes.
Anyway. I've choose an another one with ssd. But there was a sticker on it too, means it is prepared to use out of the box. It means as always, the windows is full with advertises, demos and annoying settings. And I don't use windows anyway. Ohh and it costs €29. I wanted one without this thing. Said ok, he'll check it. Comes back and said these modells are all prepared with this. I've asked him to show me a product which is 'clean'. He replied "actually all our laptops came prepared".
So I went mad and left them. This whole procedure takes more than an hour with one lesson: never go there again to buy a computer.
But at the end I've found a solution. Configurable laptops with 2 year warranty even if you upgrade it. Thats what I'll buy soon. I've had enough of big brands bullshits about unnecessary features and other bullshit. I'll buy what I need, not more, not less.
I'll write down the brand if anyone interested.26 -
about 6 years ago I was working for a large consulting company on a government project. I put in a change for a stored procedure that hard coded the partition to 0, except 0 didn't exist on production, just on test. several thousand government employees couldn't access it for a day. 😞
-
Me: *pulls down the quick settings drawer and taps Bluetooth*
phone: *forgets everything about having multiple CPU cores and threads - the process responsible for all user input and drawing the ui grinds to a halt*
me: *sighs* oh, fuck, not this shit again *sets phone down*
*several minutes pass*
*watchdog decides that the UI is stuck and kills it, forcing the phone to soft-reboot*
phone: *boots up after a minute of loading*
me: *checks if Bluetooth is on*
*Bluetooth still off*
me: *tries to tap Bluetooth again*
*the procedure repeats*11 -
IHateForALiving: gentlemen, my unit tests are randomly falling. Sometimes the login procedure just fails for no apparent reason, did any of you encounter this problem?
The very fucking smart colleague®: DID YOU REMEMBER TO PLACE YOUR AUTHORIZATION HEADER
Of course
The authorization header.
To fucking log in.
Because you have to be logged in before you can log in.
That's the standard, of course.3 -
Oh my motherfucking God...
How the fuck can a dumb IDE be so fucking slow? I entered the office at 8:15. And I am still unable to checkout a motherfucking previous version of an android app in git and get Android studio to build it, because the fucking gradle is so damn slow it freezes the GUI. WHAT. THE. FUCK. Android studio get you shit together and maybe, just maybe don't be such a dick!!!
You need 5 min to open that project and another 10 to build it ONLY FOR ME TO REALIZE THAT I HAVE TO REPEAT THAT WHOLE PROCEDURE BECAUSE I NEED A DIFFERENT APP VERSION FROM THE GIT REPO FUCK YOU YOU SHITFACED STUPID COCKSUCKING CUNT, SHIT FUCK ARRRRGH!!!
Sincerely,
Me.
Edit: now it's 9:35 btw6 -
i asked my senior "why we need a develop branch" and his reply was "-_-" , literally an emoji.
Ok ,well this might be a stupid question, but i have been in this organisation for 6 months and all this time these guys have not been able to make a proper release. either they miss commits while cherry picking, or they end up reverting stuff, or they are delaying the releases due to QA disapprovals, backend issues or management issues.
i proposed a simpler vcs :
1. `uat` is the source of truth
2. for every release we create a temporary branch `release-x.y.z` from `uat`
3. then we develop every feature in a branch cut from `uat` as `feat-abc`, code in it , and merge it back to `release-x.y.z`
4. finally we merge `release-x.y.z` into `uat`
where is develop branch supposed to be cut?
which branch is supposed to be cut from develop?
which branch is supposed to merge into develop?
where is develop supposed to be merged?
no one has answers to these fucking questions. but still they wanna confuse the whole team of 15+ android and ios devs about how to use which procedure
fml :/10 -
Riddle:
Alice and bob want to communicate a secret message, lets say it is an integer.
We will call this msg0.
You are Chuck, an interloper trying to spy on them and decode the message.
For keys, alice chooses a random integer w, another for x, and another for y. she also calculates a fourth variable, x+y = z
Bob follows the same procedure.
Suppose the numbers are too large to bruteforce.
Their exchange looks like this.
At step 1, alice calculates the following:
msg1 = alice.z+alice.w+msg0
she sends this message over the internet to bob.
the value of msg1 is 20838
then for our second step of the process, bob calculates msg2 = bob.z+bob.w+msg1
msg2 equals 32521
he then sends msg2 to alice, and again, you intercept and observe.
at step three, alice recieves bob's message, and calculates the following: msg3 = msg2-(alice.x+alice.w+msg0)
msg3 equals 19249. Alice sends this to bob.
bob calculates msg4 = msg3-(bob.x+bob.w)
msg4 equals 11000.
he sends msg4 to alice
at this stage, alice calculates ms5.
msg5 = (msg4-(alice.y)+msg0.
alice sends this to bob.
bob recieves this final message and calculates
the sixth and final message, which is the original hidden msg0 alice wanted to send:
msg6 = msg5-bob.y
What is the secret message?
I'll give anyone who solves it without bruteforcing, a free cookie.18 -
Wrote a SQL stored procedure today to do a complicated query. Decided to make it so that I could pass multiple records into the stored procedure in comma separated format, but the damned thing would only pull the first record. The query worked fine outside the procedure but it wouldn't pull anything more than the first record. After deleting and recreating and spending 30 minutes trying to figure out what was wrong I realized I changed the length of the wrong parameter. Set the correct one to varchar max and it was all good. 30 minutes of my life I will never get back.🐘💨1
-
What are the chances of this? Right when I finally got the fucking stored procedure to work, and were to test it...7
-
Best way to avoid procrastination : We tend to avoid commitments or to do large tasks as even visualizing them seems tiring and the longer it takes, the vulnerable we are to distractions
So I use this simple trick
I break my task into numerous sub tasks. For example if I need to finish a feature before day end, I would first list down all the cases I can think of in order and write them down using actual pen and paper.
I then start implementing them step by step.
I mark them checked once done.
It gives me a sense of achievement as I see those checks besides the sub tasks and I can also take breaks between steps.
So all it takes is just first five minutes of planning.
I had to do the above procedure, for this post as well.
Hope it helps fellow developers
:) -
Since my first post was a success, here's another shameless hack-- in this case, ripping a "closed" database I don't usually have access to and making a copy in MySQL for productivity purposes. That was at a former job as an IT guy at a hardware store, think Lowes/Rona.
We had an old SCO Unix server hosting Informix SQL (curious, anyone here touched iSQL?), which has terminal only forms for the users to handle data, and has keybindings that are strangely vi based (ESC does commit changes. Mindfsck for the users!). To add new price changes to our products, this results to a lengthy procedure inside a terminal form (with ascii borders!) with a few required fields, which makes this rather long. Sadly, only I and a colleague had access to price changes.
Introducing a manager who asks a price change for a brand- not a single product, but the whole product line of a brand we sell. Oh and, those price changes ends later after the weekend (twice the work, back at regular price!)
The usual process is that they send me a price change request Excel document with all the item codes along with the new prices. However, being non technical, those managers write EVERYTHING at hand, cell by cell (code, product name, cost, new price, etc), sometimes just copy pasted from a terminal window
So when the manager asked me to change all those prices, I thought "That's the last time I manually enter all of this sh!t- and so does he". Since I already have a MySQL copy of the items & actual (live) price tables, I wrote a PHP backend to provide a basic API to be consumed to a now VBA enhanced Excel sheet.
This VBA Excel sheet had additional options like calculating a new price based on user provided choices ("Lower price by x $ or x %, but stay above cost by x $ or x %"), so the user could simply write back to back every item codes and the VBA Excel sheet will fetch & display automatically all relevant infos, and calculate a new price if it's a 20% price cut for example.
So when the managers started using that VBA sheet, I had also hidden a button which simply generate all SQL inserts for the prices written in the form, including a "back to regular price" if the user specified an end date, etc.
No more manual form entry for me, no more keyboard pecking for the managers with new prices calculated for them. It was a win/win :)1 -
Xiaomi's bootloader unlock procedure is So. Fucking. Tedious. I have no words... oh wait, I do. HIDING THE PERMISSION BEHIND A HUNDRED DEVICE-SIDE SWITCHES WON'T MAKE IT ANY SAFER, IT WILL ONLY MAKE MODDERS ANGRY. Why do you need a third switch besides OEM unlock and USB debugging anyway? If I toggled OEM unlock it's obvious what I'm trying to do and every other option should change to comply with that intent. Don't roll your own Android if you know fuckall about UX.9
-
Weird!! Just from the dentist's and all through the procedure all I could think of is why my python code is throwing a typeError. I mean I should have been sharting myself.1
-
Can someone tell me how a mid level developer with a PhD from EU country is unable to work independently, conduct investigation by himself without too much hand-holding?
Is he too allergic to use google search?
Or is it me that have too much expectation? He's been in our team for 3 months, he should be able to search docs/procedure/files by himself now. Is it me that are too workaholic nerdy and he's just a normal person?
🤔
Thankfully he's the nicest person in our team, but I am getting fed up having to answer his questions many times.12 -
A dev found a bug I created where I set a SQL parameter name to @OrderID instead of the expected @Order. The standard is @OrderID, there is one stored proc where it's @Order.
Oops...I didn't catch it because the integration test didn't cover that area of the code. My mistake...I should have checked...I take complete responsibility for the screw up.
He let me know by email..
"When refactoring, from now on check the stored procedure parameters, there are a few that don't follow the standard."
I was like "from now on..."? ...wow....bold comment from someone responsible for code that doesn't check for nulls, doesn't log errors, and relies on exceptions for flow control. You wouldn't even have known about the error if I didn't modify your code to log the error (the try..except returned false)
I really wanted to reply ...
"Fixed. From now on, when you come across those easily found bugs, go head and fix it, write a test, and move on. Don't send a condescending email to me, my boss, your boss, all the DBAs, and the entire fracking order processing team. Thanks."
But..I thanked him for finding and letting me know...we're a team..blah blah blah..
Frack..people suck.1 -
Just reminiscing about the time I needed to recover my ldap password and the procedure consisted of an asthmatic tech support dude showing it to me in a giant spreadsheet.
-
Trying to switch my job. Applied for a well known company. Gave an interview today. I don't fucking get the obsession of these developer recruiters so fixated on data structures and algorithms. I know it's a massive part of computer science but guess there is no fucking room left to innovate in there. There are legitimate researcher teams working for implementation of these barebones inside system foundations. No general software developer gives a fuck about this piece of shit discipline of study. You wanna know why they propagate this as the panacea to test people because it's fucking easy. Give a project to somebody as interview procedure, it'll take time to bring out an interesting problem and an interesting solution to that. Sorry to say but all these data structure enthusiasts are nothing better than board game enthusiasts.
Also why can't you refer existing solutions to create your solution. I've seen some good problems which actually require you to think. But again those are heavy and can't be tested so you're left with reversing a fucking linked list with O(1) auxillary space. Fuck me ig.
Moreover, what the fuck is wrong with the moral policing internet crowd. Its so sad. I've hardly seen anybody rant about this piece of shit system put in place to push the absolute dead-end nutcases up the ladder. Every other search for it returns a Quora link with some Indian guy complaining about his interviews and in the comments you have the same scholars sitting in their data structure throne imparting knowledge about how data structure holds the fabric of reality together.
I don't hate data structures and algorithms as a subject. It is cool and quite extensive but once you try to make that as a metric of all the knowledge in the world, you've lost my drift. Maybe I'm just angry with the state of things. Maybe I'm just angry with token Quora crowd.4 -
Same procedure as last year? Same procedure as every year for the last truly static website holdouts: change the year in the template, re-compile, upload.2
-
During one of our 'pop-up' meetings last week.
Ralph: "The test code the developers are checking in is a mess. They don't know what they are doing."
ex.
var foo = SomeLibrary.GetFoo();
Assert.IsNotNull(foo);
Fred: "Ha ha..someone should talk to HR about our hiring practices. These people are literally driving the company backwards."
Me: "I think unit testing is complete waste of time."
- You could almost see the truck hit the wall and splatter watermelon everwhere..took Ralph and Fred a couple of seconds to respond
Fred: "Uh..unit testing is industry best practice. There is scientific evidence that prove testing reduces bugs and increases code quality"
Ralph: "Over 90% of our deployments are rolled back because of bugs. Unit testing will eliminate that."
Me: "Sorry, I disagree."
- Stepping on kittens wouldn't have gotten a worse look from Fred and Ralph
Fred: 'Pretty sure if you ask any professional developer, they'll tell you unit testing and code coverage reduces bugs.'
Me: "I'm not asking anyone else, I'm asking you. Find one failed deployment, just one, over the past 6 months that unit testing or code coverage would have prevented."
- good 3 seconds of awkward silence.
Ralph: "Well, those rollbacks are all mostly due to server mis-configurations. That's not a fair comparison."
Me: "I'm using your words. Unit tests reduces bugs and lack of good tests is the direct reason why we have so many failed deployments"
Boss: "Yea, Ralph...you and Fred kinda said that."
Fred: "No...we need to write good tests. Not this mess."
Me: "Like I said, show me one test you've written that would have prevented a rollback. Just one."
Ralph: "So, what? We do nothing?"
Me: "No, we have to stop worshiping this made up 80% code coverage idol. If not, developers are going to keep writing useless test code just to meet some percent. If we wrote device drivers or frameworks for other developers maybe, but we write CRUD apps. We execute a stored procedure or call a service. This 80% rule doesn't fit for code we write."
Fred: "If the developers took their head out of their ass.."
Me: "Hey!..uh..no, they are doing exactly what they are being told. Meet the 80% requirement, even if doesn't make sense."
Ralph: "Nobody told them to write *that* code."
Boss: "My gosh, what have you and Fred been complaining about for the past hour?"
- Ralph looks at his monitor and brilliantly changes the subject
Ralph: "Oh my f-king god...Trump said something stupid again ..."
At that point I put my headphones on went back to what I was doing. I'm pretty sure Fred and Ralph spent the rest of the day messaging back-n-forth, making fun of me or some random code I wrote 3 years ago (lots of typing and giggling). How can highly educated grown men (one has a masters in CS) get so petty and insecure?7 -
i hate myself for having a better idea to write a procedure or a function after getting it done. *comments the first set of code, just to be sure.*1
-
I hate those questions like "where do you see yourself on five years?" Or "tell me a time when you had to [insert leadership activity here]" where the obvious answers are something inane and managerial.
I also hate those questions that come up a lot when I say I know SQL where they ask me to do some inane, unnatural SQL thing in a statement rather than a procedure or a function.
Also see these: https://devrant.io/rants/136331/...
https://devrant.io/rants/132198/... -
Bad: Delete your production database
Good: Have a backup
Bad: Can't reimport it because your backup procedure uses scheme that are no longer supported for import by your cloud provider
Good: Backup are plaintext and somehow easy to parse
Bad: Spending the rest of the day writing scripts to reinsert everything.
End of the story: everything is up and running, 8hours of efforts1 -
Do you all remember the dark ages of DVDs when honest customers made a worse deal than pirates because legitimate media was packed with unskippable advertising and PSAs about piracy?
Well, looks like video game publishers are on their best way to recreate that mistake. Why do games nowadays need to be forcefed with storage-consuming, unappealing and technically nonessential launchers that all look and do the same? And why for God's sake do very old and offline-only games need to go through this sodomizing procedure?
prime example: GTA 3 was released back in 2001 and capable of running on Windows 98SE/2000/XP. There's a Steam-only release out there that requires you to install community-made patches if you want the game to run smoothly on modern hardware. Steam itself as a requirement for this atrocity to even launch the executable dropped support for XP more than two years ago. If you'd wanted to play this game on original hardware, you would rely on a real DVD that was made back then, but there are even better options if you know what I mean.
When a multimillion-dollar industry relies on communities of volunteering enthusiasts to make its products work, it won't receive a trace of my empathy when customers and non-customers alike try to download their games from more reliable and honest sources.2 -
Well... I can think of several bugs that I found on a previous project, but one of the worst (if not the worst, because the damage scope) it's one bug that only appears for a couple of days at the end of every month.
What happens is the following: this bug occurs in a submodule designed (heh) to control the monthly production according the client requirements (client says "I want 1000 thoot picks", that submodule calculates the daily production requirements in order to full fill the order).
Ideally, that programming need to be done once a week (for the current month), because the quantities are updated by client on the same schedule, and one of the edge cases is that when the current date is >= 16th of the month, the user can start programming the production of the following month.
So, according to this specific case, there's an unidentified, elusive, and nasty bug that only shows up on the two last days of every month, when it doesn't allow to modify/create anything for the following month. I mean, normally, whenever you try to edit/create new data, the application shows either an estimated of the quantities to produce, or the previous saved data. But on those specific days it doesn't show any information at all, disregarding of there's something saved or not.
The worst thing is that such process involves both a very overcomplicated stored procedure, and an overcomplicated functionality on the client side (did I mentioned that it dynamically generates a pseudo-spreadsheet with the procedure dataset? Cell by cell), that absolutely no one really fully understands, and the dude that made those artifacts is no longer available (and by now, I'm not so sure that he even remember what he done there).
One of the worst thing is that at this point, it's easier to handle with that error rather to redesign all of that (not because technical limitations, but for bureaucratic and management issues).
The another worst thing (the most important none) is that this specific bug can create a HUGE mess as it prevents the programming of the production to be done the next day (you know, people tends to procrastinate and start doing things at the very end of the day/week/month)... And considering that the company could lose a huge amount of money by every minute without production, you can guess the damage scope of this single bug.
Anyway, this bug has existed since, I don't know, 2015 (Q4?) and we have tried so many things trying to solve it, but that spaghettis refuse to be understood (specially the stored procedure, as it has dynamically generated queries). During my tenure (that ended last year) I spent a good amount of time (considering what I mentioned on the last rant, about the toxic environment) trying to solve that, just giving up after the first couple of weeks.
Anyway... I'm guessing that this particular bug will survive another 4-ish years, or even outlive the current full development team... But, who knows ¯\_(ツ)_/¯ ? -
I'm currently between jobs and have a few rants about my previous job (naturally). In retrospect, it's somewhat therapeutic to range about the sheer brainfuckery that has taken place. Enjoy!
First, let me set the scene: legacy B2B web app made with LEMP stack and sencha ext.js 3 + 4 (don't ask) and a lot of madness. Let's call that app "Alpha".
Alpha is a self made CMS build for typical ERP stuff. Yes, a self made CMS: entities are containers, containers have types and fields and values. Like so many legacy PHP apps, it does not have a dedicated FE: the HTML is rendered on the server and then spewed out to the browser.
Easy right? Coding like it's 1999! But there was a twist: Because everything is basically a container, the HTML-templates are saved in the DB. Along with the nessary JS and the CSS. And the translation variables. Why? Because fuck you! That's why. Who needs a git history anyways.
For some reason, Alpha was kinda slow.
There was also an editor, that allowed you to modify templates (web, mail, pdf) on the fly in prod. Because templates contain repeating data (header/footer), one template could contain additional templates. Much confusion. You could change templates via migration (slow, boring) or just ctrl-c/ctrl-v that sucker (fast, much excitement).
Did I mention Alpha was slow?
On with the rant: e-mails! How do they work? Noone knows. How to send mails asynchronous in PHP? Witchcraft is the only possible answer to that riddle. Here is your enterprise™ solution:
1. create mail
2. insert mail into DB
3. WAIT UP TO 59 SECONDS FOR A FUCKING CRON TO SEND MAIL
Why? "Because that way, we can resend mails in case the network is down :)"
Same procedure for the SOAP-API (db-queue + cron). You read that right: all requests to various other systems are processed once a minute.
Alpha slow.
Alpha was only one of several systems. Imagine a bunch of monolithic php apps, interconnected via SOAP, REST and GraphQL like a godamn intergalactic orgy. Image having to debug that cluster fuck.
Let's say there is a bad request. These things happen. No biggie. Remember the db-queue? Let's try to send the bad request a second time! And a third time! Still no luck? How odd. Let's create a specific file in a specific directory: a LOCK-file. Now, "the db-queue is on hold and no request gets processed :)"
Golly gee thanks Alpha.
Anyhow, did you know that MySQL has a join limit of 61 tables?3 -
I thought I'd seen the worst possible code.
Until I saw this stored procedure. It was forming a string of JSON by concatenation of double quotes and queries in between.
No wonder it took upwards of 200 seconds to insert just one record.2 -
Weeks ago, a change went into production. For some reason, we can't implement our own changes or create new databases in production, we have to have a whole different department do it. This would be great except for one thing:
THEY CAN'T THINK FOR THEMSELVES. I've had to tell them how to run scripts I wrote. I've had to tell them how to fix problems that arise.
Back to that script ran three weeks ago or so. It didn't add permissions to allow me, the system and application developer to see the stored procedure, much less run it. Application can't run it. Thankfully the application works without it.
Fast forward to tonight. My change that I'm attempting to implement is the creation of the stored procedure, because nothing could see it, I assumed it didn't exist... reasonable, right? Database folks tells me it exists. They then tell me they can't give me nor the application permissions because it doesn't ask for it in the change plan.
Excuse me.... WHAT FUCKING WORLD DOES IT MAKE SENSE TO CREATE SOMETHING AND HIDE IT FROM THE CREATOR LET ALONE THE APPLICATION SO IT CAN'T USE IT?! FUCKING THINK. WHY WOULD I WASTE MY FUCKING TIME TO TALK TO YOU OFFSHORE PIECES OF SHIT AT 10PM WHEN I'D RATHER PLAY VIDEO GAMES.
I'm so fucking done with enterprises. Someone with reasonable job security at a startup, please hire me. You will probably pay me more fucking money than this company does anyway.
Now on to my second change of the night. Thankfully I don't have to rely on anyone outside of me... so I won't be wasting my fucking time. -
Honestly, school is useless for me as of right now. I know I should be well rounded and stuff, but do I honestly need to know the symptoms of cervix cancer while going into a tech career? My eyes have been set on tech for my whole life, ever since I left the womb, and I know that if I do switch careers, it'll be from comp sci to cyber security not from IT to med school...
I feel like I could really be devoting my time towards something better than writing a 5 page essay on a healthy food choice.
Every night I think to myself, "You know what, I'm going to lock myself in a room and write bash scripts all day" but then I wake up in the morning, and remember I have to take a quiz on reproductive systems, learn about the procedure of organ donations for driver's ed, write 2 paragraph definitions of vocab words, and read a book about communism.
The most useful thing I learned last year, was how to efficiently navigate the java API, and that's something you don't even learn, you just encounter it. Schools need to start having more specific specialties and stop enforcing knowledge of pointless topics.
I'm not saying to remove all core classes and stuff, I'm saying why waste space in our brains with something we won't use ever again? I get it, some people don't know what career they're looking for yet so you can't make them choose, but it honestly sucks some serious ass that I can't learn what I want to at school, and as a matter of fact, I can't even learn at home, because they're filling my schedule with pointless work because they feel that they have to fill our time somehow.
Point of this long ass rant is: Why lock yourself in a room and learn about something if it isn't something you want to learn about? The space in our brain is finite enough, why can't it be filled with things we're interested in rather than things that will only be used to get good grades in the future then overwritten with useful knowledge. Same thing with time. We have a very finite amount of time in a day, and now that I think of it, a lifetime. Why spend it on something that doesn't, and never will, make your life enjoyable?7 -
A loooong time ago...
I've started my first serious job as a developer. I was young yet enthusiastic as well as a kind of a greenhorn. First time working in a business, working with a team full of experienced full-lowered ultra-seniors which were waiting to teach me the everything about software engineering.
Kind of.
Beside one senior which was the team lead as well there were two other devs. One of them was very experienced and a pretty nice guy, I could ask him anytime and he would sit down with me a give me advice. I've learned a lot of him.
Fast forward three months (yes, three months).
I was not that full kind of greenhorn anymore and people started to give me serious tasks. I had some experience in doing deployments and stuff from my other job as a sysadmin before so I was soon known as the "deployment guy", setting up deployments for our projects the right way and monitoring as well as executing them. But as it should be in every good team we had to share our knowledge so one can be on vacation or something and another colleague was able to do the task as well.
So now we come to the other teammate. The one I was not talking about till now. And that for a reason.
He was very nice too and had a couple of years as a dev on his CV, but...yeah...like...
When I switched some production systems to Linux he had to learn something about Linux. Everytime he encountered an error message he turned around and asked me how to fix it. Even. For. The. Simplest. Error. He. Could. Google. Up.
I mean okay, when one's new to a system it's not that easy, but when you have an error message which prints out THE SOLUTION FOR THE ERROR and he asks me how to fix it...excuse me?
This happened over 30 times.
A. Week.
Later on I had to introduce him to the deployment workflow for a project, so he could eventually deploy the staging environment and the production environment by hisself.
I introduced him. Not for 10 minutes. I explained him the whole workflow and the very main techniques and tools used for like two hours. Every then and when I stopped and asked him if he had any questions. He had'nt! Wonderful!
Haha. Oh no.
So he had to do his first production deployment. I sat by his side to monitor everything. He did well. One or two questions but he did well.
The same when he did his second prod deploy. Everythings fine.
And then. It. Frikkin. Begins.
I was working on the project, did some changes to the code. Okay, deploy it to dev, time for testing.
Hm.
Error checking out git. Okay, awkward. Got to investigate...
On the dev server were some files changed. Strange. The repo was all up to date. But these changes seemed newer because they were fixing at least one bug I was working on.
This doubles the strangeness.
I want over to my colleague's desk.
I asked him about any recent changes to the codebase.
"Yeah, there was a bug you were working on right? But the ticket was open like two days so I thought I'll fix it"
What the Heck dude, this bug was not critical at all and I had other tasks which were more important. Okay, but what about the changed files?
"Oh yeah, I could not remember the exact deployment steps (hint from the author: I wrote them down into our internal Wiki, he wrote them done by hisself when introducing him and after all it's two frikkin commands), so I uploaded them via FTP"
"Uhm... that's not how we do it buddy. We have to follow the procedure to avoid..."
"The boss said it was fine so I uploaded the changes directly to the production servers. It's so much easier via FTP and not this deployment crap, sorry to say that"
You. Did. What?
I could not resist and asked the boss about this. But this had not Effect at all, was the long-time best-buddy-schmuddy-friend of the boss colleague's father.
So in the end I sat there reverting, committing and deploying.
Yep
It's soooo much harder this deployment crap.
Years later, a long time after I quit the job and moved to another company, I get to know that the colleague now is responsible for technical project management.
Hm.
Project Management.
Karma's a bitch, right? -
Architect: "Inline sql is just as performant as a stored procedure and since it is in code its safer and easier to maintain."
Me, inside my head: "I bet I could do the pencil trick on him from 'The Dark Knight' and it wouldn't hurt him as much as suck the world into the small hole in the front of his head since it is clearly a vacuum which was meant to destroy the earth. This is an obvious plant by the lizard people as a test to see if we could identify them. Killing him would be a..."
Architect: "I mean isn't it still a best practice."
Me, out loud and deadpan: "No, that is wrong and it was never a best practice. "
Me, inside my head: "Crisis averted."4 -
I have a complex about my nose. I was about to bite the fucking bullet and do something about it. Literally just waiting for the procedure room to be ready, when I kept asking myself wtf I was doing. Then looked at my nose again and realized that it really wasn't that big a deal. Not when compared to dealing with internal bleeding and pain for weeks, plus a painful procedure.
Even after all these years, all these accomplishments, all this experience, I'm still a dumb fuck.
Now then, I'll go put some of the money I didn't waste to good use. Like videogames, hookers, and blow. Probably just the former.5 -
Today we reached 30 "dev-ghosting" episodes since the beginning of the year.
What is "dev-ghosting"?
It's every time a developer decides to completely disappear from a recruitment procedure instead of just texting "Hey, I am no longer interested in your offer".
You can call them as many times as you want, even if they were supposed to be at your office 2 hours ago for negotiating the salary after dozens of "I'd love to join your company as soon as possible": they are gone.
Forever.1 -
Fuck, I knew that my code for my thesis would at some point become bad and very unmaintainable. Workaround here and there, everything put together "to fix later", just to make it all work "for now". I know what my code does where and when but my tech debt has reached a critical point, where a new idea and new procedure cannot be simply be added. Well, time to refactor and modularize as much as possible😪
Wish me luck that the whole project doesn't brake. Oh and of course so many different changes that I don't know what to put in git and in which order to do so.12 -
F*ck JavaFX. I mean, how a GUI framework doesn't have a standart navigation procedure? It is not even possible to create a page by constructor. In many other framework when I wanted to pass a data to a page, I just had to write
"new MyPage(SomeClass someObject)"
but in javafx I have to first create a constructor, link the fxml file to it then show the page.
Actually I am not angry. It is a big mistake to wait a good GUI framework from a company that has a website something like that in 2018.1 -
Corporate life blunts your edge, wants you to follow procedure and process. Then out of nowhere they complain that you're like robots, Think outside the box! Innovate!
Pathetic leeches😢3 -
Huge mistake on a customer billing procedure.
That procedure was generating a file for automatic billing requests from our customer bank to his customers banks.
That procedure was shifting the bank coordinates by one byte right making all payment requests invalid and rejected.
That month the customer got nothing from invoices (more or less 80k euros).
Side note; only one payment was accepted because the guy entering the invoice on the system shifted the bank coordinates by mistake, so the procedure fixed it.
:/ -
Holy shiiittttt I finally got 64bit NASM working on windows with cmake. Cmake documentation is fkn bad man.
I’ve got a c++ file that calls a procedure in an assembly file that calls win32 APIs to show dialogs and other cool shit. Compiling was working fine, linking turned out to be a bit of a pain in the ass, but figuring out how to enable NASM in cmake was a nightmare. Why is the cmake docs so horrific 🥺1 -
User :
i've just done testing the system, based from one of the testing data i inserted, the procedure still isn't correct
Me :
- Desperately looking for whats wrong in the procedure -
User :
Oh, nevermind, the testing data itself is not correct
Also ME :
ASDJAHSGDUqa QY(^E*Q^w^EQV%&ABDYDTA^R6b ^#E%&W QE& !!!!!!!!!!!!!1 -
Something I discovered at work today:
A sub procedure that takes three arguments:
A table name
Column list
Where clause
It concatenates all of those values together and executed the dynamically generated query.
Why??????????6 -
Our parents keep reminding us about the time change that happens every half a year. To remember that the clocks need to be adjusted. And we, the children, keep reminding them, that most devices are already connected to the internet and use the time servers for reference. Which surprises our parents every time. 🙃18
-
So back to the stories of the gentleman with his master's degree who's job I wasn't qualified for. Hope you all enjoy this gem I found in his stored procedure.
Select distinct *
From(
Select * from a inner join b on a.id=b.id
Union
Select * from a full join b on a.id=b.id
Where b.id is null
)
An inner join unioned to a full join where you exclude null values in right table creates a.....left join you fucking idiot!5 -
The fuck? I'm trying to automate login for an asp.net website from a C# console app using HttpWebRequests. I used Fiddler to see how the login happens and how the browser obtains the session and auth cookies from the server. When I replicate the same procedure from C#, I am able to get both cookies withoth a problem, but when I try to use them to get data about the user, I get a 500 ISE. What the actual fuck? I've double-checked every single header and the URLs and it's doing literally the same thing as chrome: Get asp session id (POST)-> get an auth cookie (POST username and passwd) -> interact with the site using the session id and auth cookie (GET). And obiviously I don't have access to the server logs... :/2
-
Woke up to a migraine... Went to work (this wasnt the best idea), got sent home for the rest of the day. Riding a bike while your brain feels like it wants to exit your skull is not the best thing. Then it proceeds, puking is sometimes a sign for me that the worst part is over. Then head movement headache for some more hours and everything is fine again. Timespan of the whole procedure is about 10 to 12 hours.
At least I have a version of migraine with a temporary vision restriction beforehand according to the doctor some years ago. If I would listen to that signs I could prepare better...4 -
Thursday: Made an appointment with doctor for (painful because no anesthesia) outpatient procedure. Sent message to team slack saying appointment would interrupt part of my day.
Friday: Boss decides to launch website. Launched.
Saturday: Fixed many broken things.
Sunday: Fixed more broken things.
Monday morning: Texted team about fixing more broken things WHILE BEING OPERATED ON!!!!!!!!!
Monday afternoon and evening: STILL WORKING ON MORE BUG FIXES!!!!!!!5 -
Code review today and the senior says "Avoid comments. Putting the procedure in a well named function where it can modify those class properties will work just as well."
ARE YOU KIDDING ME? YOU ARE GOING TO PREFER CODE OVERHEAD OVER COMMENTS? I AM SO TRIGGERED RIGHT NOW I CAN'T17 -
I have a few projects on the go at work at the moment which could be successful, but only time will tell:
1. We have a requirement to monitor or SQL servers for any long running queries (anything that runs longer than 3 minutes). Company didn’t want to pay for enterprise grade solution so as the only SQL Developer I created a small system that involves a database, 2 tables a stored procedure and scheduled job. It goes off every 10 minutes queries some system tables etc and write the results to the tables. Still waiting for it to be deployed to one of the test servers. I have plans for a web front end in the future.
2. My company currently use source safe for version control. They’ve lost the admin password so only 1 person can log in. I’m running he project to plan the migration to GitLab. It’s getting close to completion and soon someone is going to be tasked with creating 100s or projects etc.
3. We use an ERP system which is huge with thousands of tables, but no FKs or anything like that. The current data dictionary is a spreadsheet, as a side project I’m creating a web app so that this information is easily available and searchable.
All 3 projects have the potential to be successful, for my team at least, but stuck waiting for other people to do their stuff first. -
When entering a one-holer restroom, someone didn't lock the door, and you have already seen more than you wanted to see. What are your options to react?
1. Say "excuse me" and quickly leave.
2. Chew them out loudly as you walk out.
3. Make really loud horse noises and leave.
4. Use the sink.
I have had this happen to me twice at my current work place. Now, when opening the door I have this procedure:
1. Open door a crack to see if the room light is on.
2. If light is on wait a few seconds for audible notification of occupation.
3. If unoccupied continue to enter.
If you are in the one-holer using the restroom and someone tries the door you also have options:
1. Stay silent Dark Brotherhood style.
2. Laugh maniacally really loudly.
3. If door opens scream like a girl.3 -
I've now spent 4 hours trying to understand this piece of shit stored procedure.
3475 lines of pure shit with 3 levels down nested sub-selects.
FML!1 -
Random guy messages me on WhatsApp that he needs help, that his friend told him I'm good at blah blah blah.........
the issue: he paid for some random php bitcoin thingy blah blah, sent me a link to the site, pretty straightforward instructions on how to use it. I explained everything to him and he says he wants to tweak the php script before he puts it out.
me: then do it
him: how do I start?
me(in my head): did you not think of this before paying for the script?!
also me: oh well, download xampp, good for beginners, easy to setup.
him: not working! please help me
I knew from the onset that he was a windows user.
he started by running it without admin privileges
I had no idea and kept solving problems that didn't exist until I asked him to snap the log, after explaining how to run a software as administrator, we Solved it
port 80 was taken. had to go through the process of changing the ports, I had to validate every single change.
going through the procedure of reinstalling because he installed to some crappy directory. after all the headaches and then redoing all the processes stated above, it still doesn't work.
one final solution left and I am dropping him like a hot potato. I must have close to a hundred pictures of someone's screen on my phone.
little question: when he types localhost on his browser windows IIS page thingy pops up. I was thinking of changing the server name to localserver: new port address6 -
It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter.
-
I'd been with the company for maybe two weeks, pushed some changes and updates to a client's site on a Friday afternoon as instructed by my boss, checked everything over and it's all fine.
Come Monday morning and this client is seriously miffed, not all of the changes had applied and the site was a mess all weekend. Turns out a bug with the caching plugin meant what we were getting in the office was different to outside.
Meetings were held and a new QA procedure was put in place.undefined i'm getting fired new guy oops unhappy client wk50 don't deploy changes on friday caching problem -
Sus!
yesterday I bought a cool domain in namecheap, I was very lucky to find short and good one for my case.
Today (at weekends!!!!) I receive a letter:
>Hello **redacted name**,
>
>We are contacting you from the Namecheap Risk Management Team regarding your '**redacted name account**' account.
>
>Unfortunately, your Namecheap account was flagged by our fraud screening system as requiring verification and was locked.
>
>Please follow the instructions below to get your account verified:
>
>- take a color photo of the credit card used for the payment at **redacted link**
>
>Please make sure all of the edges of the credit card are visible, and that we can clearly see the card holder's name, expiration, and last four digits of the card number. The screenshots or images of the card cannot be accepted for verification. >If the submission does not meet these requirements, we can either request to submit the details again or permanently suspend your account.
>
>- provide a valid phone number and the best time to call you (within normal business hours, US Pacific time).
>
>If we do not hear back from you within 24 hours, we will be forced to cancel your orders.
>
>We apologize for any inconvenience that may result from this process. This extra verification is done for your security and to ensure that orders are legitimate. This industry, unfortunately, has a high rate of fraudulent orders, and this sort of >verification helps us drastically reduce fraud and ensure our customers remain secure. Such documents are used for verification only and are not provided to third parties in any way. Account verification is a one-time procedure, after your account >is verified, you will never face this issue again.
>
>Looking forward to your reply.
>
>---------------
>Dmitriy K.
>Risk Management
> Namecheap, Inc.
what if I did not notice it in 24 hours? It is the weekend for god's sake! People usually rest until monday.
They would what, cancel order and scalpel it to super high price?!
I have some doubts if the request is trully having anti fraudulent origins.
What if I used digital visa card? How was I supposed to photo it?
And the service they provided for photoing accepts only photos from web camera. I was lucky that I bought recently web camera with high enough amount of pixel power and manual focus. What if I did not?
That's all really SUS!
The person can not notice the letter within 24 hours time frame until the morning, when it would be already too late.10 -
Why can't Debian just pull their heads out of their collective asses just ONCE and standardize the DEP-5 license syntax with SPDX, which the rest of the world is already using? Do they get sexually aroused over having years long discussions about topics with solutions readily apparent in under five minutes to the average third-grader?
Also, how do they stay relevant with such an absurdly high positive correlation between authority within the project and unwarranted condescension towards anyone inquiring about how to catalyze a change in policy or procedure?
Seriously, if I wanted to be insulted thrice within every sentence and treated like a self-evident waste of skin and air, I'd go spend time with my family! Arghhh!13 -
OK what the actual fuck is going on within this company.
TL;DR: Spaghetti Copy/Pasted code that made me mad because it's just a mess
I just looked into a code file to search for a specific procedure regarding the creation of invoices.
I thought "Oh this is gonna be a quick look-through of like 1000 lines MAX" turns out this script is 11317 fucking lines long and most of it's logic is written there multiple (up to 6-7 times). And I'm not talking about a simple 10 lines or something. No! Logic of over 300 lines.. copy & pasted over .. and over .. and over?! I mean what the fuck did this guy drink when he wrote this.
Alsooo 10000 of those 11317 lines is ONE FUNCTION.. I kid you not! It's just a gigantic if / else if construct that, as I said before, contains copy-pasted code all over the place.
Sadly my TL thinks that code cleanup / optimization is "not necessary as long as it works" like wtf dude. If anyone wants to ever fix something in this mess or add a new feature they take a few hours longer just to "adjust" to this fucking shit.
This is a nightmare. The worst part: This is not the only script that has shit like this. We got over 150 "modules" (Yeah, we ATTEMPTED something OOP-ish but failed miserably) that sometimes have over 15000 lines which could be easily cut down to 1/3 and/or splitted into multiple files.
Let's not start about centralization of methods or encoding handling or coding standards or work code review or .. you get the point because there's a character limit for one rant and I guess I'd overshoot that by a lot if I'd start with that. Holy shit I can't wait until my internship is over and I can leave this code-hell!!2 -
By Boss insists to do branch merge in a Skype meeting after work time.. he has nothing to do with development but he insists to be with us and lead the procedure..
He thinks this is how Devops works..2 -
Colleague: I'll write a stored procedure that does fully qualified database table path names to access data from the other databases and then do business logic with all of it in the same proc.
Me: That will be 600 lashings.4 -
They keep training bigger language models (GPT et al). All the resear4chers appear to be doing this as a first step, and then running self-learning. The way they do this is train a smaller network, using the bigger network as a teacher. Another way of doing this is dropping some parameters and nodes and testing the performance of the network to see if the smaller version performs roughly the same, on the theory that there are some initialization and configurations that start out, just by happenstance, to be efficient (like finding a "winning lottery ticket").
My question is why aren't they running these two procedures *during* training and validation?
If [x] is a good initialization or larger network and [y] is a smaller network, then
after each training and validation, we run it against a potential [y]. If the result is acceptable and [y] is a good substitute, y becomes x, and we repeat the entire procedure.
The idea is not to look to optimize mere training and validation loss, but to bootstrap a sort of meta-loss that exists across the whole span of training, amortizing the loss function.
Anyone seen this in the wild yet?5 -
Is there ever any reason for SINGLE Hibernate SQL query/template to join like 10 different tables, do math, and come out to like 30 lines?
This is not a stored procedure, it's a single SELECT2 -
When you spend 3h trying to fix a procedure on MySQL and the problem was a f***** variable name. I felt so bad and sad :'(1
-
Fuckin McAfee tried installing it and asks me for a restart. After that the application fails to open up a process is clearly running in the background however nothing to show.
Tried the have you turned it off and on again procedure atleast 5 times but nothing.
Finally tried contacting McAfee support. Asks me to give them remote access via their application. The link stayed there like a dummy. Clicking it opened nothing. After the chat got disconnected 3 times.
Then when i try reinstalling it it says we are in the middle of an installation and we'll open that up. It opens a fuckin take a tour box and ypu can fuckin click anywhere and everywhere on the window but it stays there sitting, waiting, watching
Fuckin intel and fuckin McAfee get your shit together2 -
10 hours ago I was trying to install manjaro on my laptop. I have run into problems with the nvidicancer drivers, as one would expect, but at least I had a working OS. I was following a video tutorial that instructed me to tweak some grub settings, and I was able to do it with no problem.
Now on the other hand, I am following the EXACT SAME procedure (same partition, same installer, same settings),but after I update-grub,everything freezes including the command itself.
How is it possible that doing the exact same procedure at different times of the day gives me two different results? Is my laptop sentient and simply "not in the mood" anymore, or what the fuck?7 -
Okay. So finally I moved into a new pc. Because I never worked in a company, I have absolutely no idea what is the proper standard workflow of developing a website. My work flow was the same in past 12 years, how I have learned in the school: Used xampp, developed everything, used git only locally, when stuff was ready I fired up Filezilla and uploaded everything, and used ssh to make the final adjustments. When I have made some changes, I just uploaded the files I have touched, in the same way, optimized if it was necessary, done. I wonder if someone can clarify me how a proper workflow looks like for php/laravel, mysql, nothing fancy. Is using xampp still okay? Or what is the industry standard procedure?2
-
Working on a piece of code, first created in 1994 and has had constant changes and modifications till 2014
I need to take it and turn it into a procedure library and new methods and classes and I have 3 weeks to do it.
Worst off I'm a junior programmer and I only have 9 months experience with the language5 -
Silly question: what is the main difference between a procedural programming paradigm and a functional paradigm?7
-
The procedure of introducing new coworkers here is still not clear to me.
I hear a new person is introduced behind me, so i thought i had to shake a new hand soon. But no.
I probably get an impersonal email in about a week when he/she has been working here for 4 days. -
Non-IT
Can't afford laptop
Want to make an app from scratch by coding , compiling from my Android mobile.
Is it possible??
What would you suggest me?
Which language would be better to start with.
step by step procedure would be helpful.
Do's and don't!!!
Or this attempt look silly/lame?!22 -
I have just slept for a minimum of 5 hours. It is 7:47 PM atm.
Why?
We have had a damn stressful day today.
We have had a programming test, but it really was rather an exam.
Normally, you get 30 minutes for a test and 45 minutes for an exam.
In this "test" we have had to explain what 'extends' does and name a few advantages of why one should use it.
Check.
Read 3 separate texts and write the program code on paper. It was about 1 super class and 1 sub class with a test class in Java.
Check.
Task 3: Create the UML diagram of the code from above. *internally: From above? He probably means my code since there is no other code there. *Checks time*. I have about 3 minutes left. Fuck my life.*
Draws the boxes. Put the class names in each of them. A private attribute for the super class.
Teacher: Last minute!
Draw the arrow starting starting from the sub class to the super class.
Put my name on each written paper. And mentally done for the day. Couldn't finish the last task. Task 3.
During this "test", I heard the frustrations of my classmates. Seemed like everyone was pretty much pissed.
After a short discussion with the teacher who also happens to be the physics professor of a university nearby.
[If you are reading this, I hope that something bad happens to you]
The next course was about computer systems. Remember my recent rant about DNS, dhcp, ftp, web server and samba on ubuntu?
We have had the task to do the screenshots of the consoles where you proof that you have dhcp activated on win7 machine etc. Seemed ok to me. I would have been done in 10 minutes, if I would be doing this relaxed. Now the teacher tells us to change the domain names to <surnameOfEachStudent>.edu.
I was like: That's fine.
Create a new user for the samba server. Read and write directories. Change the config.
Me: That should be easy.
Create new DNS entries in the configs.
Change the IPv6 address area to 192.168.x.100-200/24 only for the dhcp server.
Change the web server's default page. Write your own text into it.
You will have 1 hour and 30 minutes of time for it.
Dumbo -ANGRY-CLIENT-: Aye. Let us first start screenshotting the default page. Oh, it says that we should access it with the domain name. I don't have that much time. Let us be creative and fake it, legally.
Changes the title element so that it looks like it has been accessed via domain name. Deletes the url and writes the domain name without pressing Enter. Screenshot. Done. Ok, let us move to the next target.
Dhcp: Change lease time. Change IP address area. Subnet mask. Router. DNS. Broadcast. Optional domain name. Save.
Switches to win7.
ipconfig /release
ipconfig /renew
Holy shit it does not work!
After changing the configs on ubuntu for a legit 30 minutes: Maybe I should change the ip of the ubuntu virtual machine itself. *me asking my old self: why did not you do that in the first place, ass hole?!*
Same previous commands on win7 console. Does not work. Hmmm...
Where could be the problem?
Check the IP of the ubuntu server once again. Fml. Ubuntu did not save when I clicked on the save button the first time I have changed it. Click on save button 10 times to make sure it really is saved now lol.
Same old procedure on win7.
Alright. Dhcp works. Screenshot.
Checks time. 40 minutes left.
DNS:It is your turn. Checks bind9 configs. sudo nano db.reverse.edu.
sudo nano db.<mysurname>.edu.
Alright. All set. It should work now.
Ping win7 from ubuntu and vice versa. Works. Ping domain name on windows 7 vm. Does not work.
Oh, I forgot to restart the bind9 server on ubuntu.
sudo service bind stop
" " " start
Check DNS server IP on win7. It looks fine.
It still doesn't work. Fuck it. I have only 20 minutes left. Samba. Let us do this!
10 minutes in. No result. I don't remember why. I already forgot why I have done for it. It was a very stressful day.
Let us try DNS again.
Oh shit. I forgot the resolver!
sudo nano /etc/resolv.conf
The previous edits are gone. Dumb me. It says it in the comments. Why did not I care about it. Fuck it.6 minutes left. Open a yt video real quick. Changes the config file. Saves it. Restarts DNS and dhcp. Closes the terminal and opens a new one. The changes do not affect them until you reopen them. That's why.
Change to win7.
Ping works. How about nsloopup.
Does not work.
Teacher: 2 minutes left!
Fuck it.
Saves the word document with the images in it. Export as pdf. Tries to access the directories of the school samba server. Does not work. It was not my fault tho. Our school server is in general very slow. It feels like they are not maintained and left alone like this in the dust from the 90s.
Friend gets the permission to put his document on a USB and give the USB to the teacher.
Sneaky me: Hey xyz, can you give me your USB real quick?
Him: sure.
Gets bombed with "do you want to format the USB?" pop-ups 10 times. Fml. Skips in a fast way.
Transfers the pdf. Plug it out. Give it back.
After this we have had to give a presentation in politics. I am done.6 -
What's your thoughts on stored procedures(of DBs)?
What are the pros and the cost you found or perceived?
When they are opportune?
Overusing them more than a programming language is an abuse?
I was introduced to a software started initially by economy\finance people which knew a little bit programming, nonetheless their doing became messy though time and at a certain point hired a team of 4 people(from my company) to deal with it, but the approach of the two programmers to build most of the framework on calling stored procedures or queries makes me want to puke, there are almost no layers of separation of concern in place x_x3 -
"Can you go through this hours-long process to reproduce an issue i saw and debug it? I don't have bandwidth."
"Sure, but I'm pretty sure the issue is actually due to your recent changes in [related feature], and I'm pretty busy myself."
"No, that's not how that works. Please figure out the real issue." (Strongly implying it was my fault)
*Goes through hours-long process to reproduce* (yes this procedure could be improved but this is a rant not a planning meeting)
*Of course, it was his change*
"Oh. Well, it's not really a priority." -
We had a production outage directly caused by our team not following a change procedure correctly. Now we're under a microscope and in a "get well" program.
They took over the daily standup for this high priority program and are organizing efforts in confluence instead of jira.
Now we have a confluence doc of what everyone is working on with someone changing the text status in a table by hand every morning along with the comments in a note section...3 -
Pulled my hair out over one today (and a week ago when I first saw the issue)
Setting up development environment. Created test user and test database and used mysqldump to copy data over.
MySQL was executing a function as the wrong user. Checked my config files, checked my config reader, checked my database connection, checked checked checked. Checked everything twice, I felt like Santa.
Changed the password in the config file to make sure it was logging in right. It threw an error still but not one I had expected so I figured the login still worked (My bias was that I thought the config file was not working or the mysql library was caching authentication. Both were wrong but this blinded my debugging. Foolish, I have forgotten my training)
Logged into the database directly via client. *didn't bother executing the function because I was only testing auth*
Think
Think
Think
Search entire project for database username. It's gotta be hard coded by accident SOMEWHERE.
It's not.
Why
Why
Why
Wait.
-- Flashback to how the test db was created -- What's actually in this damn script?
DEFINER `production_user` CREATE PROCEDURE `old_db`.`procedure_name`
Two issues: definer is old user (this is the error I was seeing) and its creating the procedure on the old db (this would be the next error I would have found if I kept going)
Fuck mysqldump. Install mysqldbcopy. Works
Put hair back in head. -
Algorithms class assignment..
"Prove that the merge procedure cannot run in place".
Searching google...
There are multiple merge procedures (though super complicated) that run in place.
What's the use of this class if we can't be practical because we must be theoretical, but we can't mention real theoretical stuff because it's so complicated??
I mean we are being told something that is just wrong..
I really hate this fucking professor. She went to Oxford and now thinks she's the smartest person in the universe.. -
C is a procedure oriented language
C++ is a object oriented language
Then my question is the what is java?16 -
I wrote a stored procedure and declared the input as varchar instead of varchar(100). everything seemed to be working. later on we noticed that the procedure only saved the first character of the input (a user form). unfortunately we found out first when the monthly form reports where issued. a whole month of incomplete forms from our users. the client wasn't happy.2
-
My team was asked to point to a mock service in our QA env. Standard procedure is to copy the line in our QA property file that has the service URL, comment one out, and change the other to the mock service. Then, push the code and deploy to QA.
What did someone do? He didn't touch the property file. He found where we were defining the configuration for our http requester, removed the property reference, and HARD CODED the mock URL.
Wait, it gets better. The mock service does not function the same way the real service does. We need to send an additional query param to the mock service (that has a value already being sent in a header) so they modified ANOTHER file where the actual request is being made.
He made the changes, deployed to QA, and didn't check in any code.
What is going to happen next time when we deploy to QA with the latest code? Oh look, we'll be pointing to the real service again.
I explained this to my architect, and included that this messed up mock service they were calling is our 2nd mock service (no idea why they made a new one) and he simply deleted the stupid 2nd mock service. Screw that!
And...now requests to QA don't work 😂 -
so there was this issue regarding our company's system which tends to be a problem for sometime now, its a recurring issue caused by the data that the users needs to encode to the system
today another issue arised, our senior supervisor, not knowing that this issue was already recurring and there is already a documented step procedure on how to address it, suggested or come up with a another solution which would task one of our co-developer to push a temporary code to production during business hours just to accommodate the issue and rollback the code after
take note that its during business hours and more than a hundreds of branches of the company are using the said system
what was he thinking !!
thankfully one of our colleagues voiced out explaining that this issue was already recurring and already has a procedural solution, but still our brainy-know-it-all-stubborn-close-minded heck of a supervisor insisted that the solution has computational impact and still insisted that they push a temporary code to the production, what an idiot!!
fast forward our colleagues ended up standing their ground, even if our supervisor is highly doubtful at them, and executed the already established solution instead of pushing a temporary code to the production which was such a bullshit idea
damn those close minded people they shouldn't have reach that position in the first place!! -
Does anyone else's job just hate documentation? I have wasted most of the day trying to get our new build to work because I keep hitters snags that aren't documented. Hour release was delayed 6 hours because our QA doesn't have any kind of written procedure or checklist and missed bugs in something that is usually problematic, and I am being forced to stay online by a micromanaging boss that needs to realize he's not an engineer anymore. And I am supposed to have a feature done by today, but this clusterfuck consumed all of the resources I need. I'm polishing the ol' resume. Anyone looking for a remote .net dev?1
-
I just spent 6 hours searching for the reason my code ONLY works when stepping through the breakpoints. Turns out I just had to add a single line of code to my procedure (chartObject.Activate) to make it work. I'd be lost without those 3 year old posts on some shady Excel VBA forums.
Thanks for documenting that, Microsoft! -
At a FIFTH interview call and waiting.
Scheduled at 4pm, just got to know the HR himself is in a fucking meeting. So procedure would resume at 5pm. Like seriously?
Why do these big corps not give a fuck about applicants' time. Why schedule at 4pm in the first place.
Also scheduling at 4pm so I miss another work day at my current company...
No value for our time :(1 -
Tell boss you want to resign in a good manner.
Boss tells you it will take you a very long time to leave.
Tell boss that is way to long.
Boss persists his not so kind requests.
Check your contract and local laws.
Dilemma: Tell him he’s being unrealistic and demand a normal procedure/Do the time and cry about every missed opportunity for a career upgrade. What would you do?9 -
We have Python. A very fast to use language.
We have a package warehouse with a lot of packet, PyPI.
Why for the rage of the Gods the upload procedure of a new package to PyPI need to be so LONG and not easily understood??2 -
I was already done with the company that couldn't make up their mind about JS. I got a mail:
They're stopping the procedure because they're looking for someone that also enjoys coding in their spare time. In other words: work 80 hours a week. -
Spent several weeks on a stored procedure and its a masterpiece. Works perfectly and looks amazing with well commented code @rowseyej helped a little.2
-
VBScript.
Hey look, this arg is declared as ByRef, but when you called that procedure you put it in parentheses, so it was passed by value! Yeah, makes perfect sense, and soooo easy to debug... -
Thought about startup.. Strange but literally saying no single coin had in my pocket.. Still have love for startup.. But u know what no project no idea no team.. Still struggling for startup.. Fortunately few days back got proposal of govt project.. One min game literally coin replaced his face.. But after some days grant procedure issue pending sucks.. Still have love for startup.. Suddenly got a thought can I do it after grant but I know I have devRant support.. So still continue to love for startup ;-)
Just few days are remaining and waiting for it.. -
I maintain and develop a FOSS repository on GitHub and I intend to migrate from Electron to Flutter.
What is the proper procedure for this?
I want to keep the name and community but it also feels a bit messy.
Do I just wipe everything old on the main branch and keep a branch that reflects the newest Electron version or do I move to a new repository and start over?
Tips and feedback is appreciated!4 -
Angular and MVC really slows shit down, doesn't it?
I added 1 (one) page which displayed two data grids,straight out of a database procedure. Here's the head count:
- 13(!!!!!) New files
- 5 old ones modified
- Build process on both server and client side (Visual Studio build and ng build)7 -
Fuck Oracle, fuck you oracle! The stupidest shittiest worst nightmare company with the most user-unfriendly, productivity-killing, illogical, stupid pile of software garbage products ever! And unfortunately I want to extends my worm-fucks to all Oracle employees and maintainers and to the whole fucking community of shit that made up oracle-community and to every conscious being who ever liked, enjoyed or have found the slightest genuine interest of any product tagged "oracle".
I installed the pile of shit a.k.a Oracle 18c and imported a dumb file locally, everything was working in the slightest amount of the word (fine) before it turns to nightmare. I created a C# client to call a stored procedure in that shit of a database engine. I kept getting error related to the parameter types, specifically one which is custom type of Table of numbers. It turns out that the only of doing this is through that shit they called (unmanaged driver), the "managed" doesn't support custom types. So I had to install another package of shit they call (odbc universal install) "universal my a$$ by the way", at that moment, where everything just crashed and stopped working. I spent 3 hours trying to connect to the fucking database to no avail. I shockingly found a folder in my desktop folder called (OracleInstallation) and all windows services related to oracle installation "suddenly" got somehow (re-routed) to that folder.
In conclusion, fuck oracle.4 -
Friday
> Mister IHateForALiving, we have an automated procedure which downloads files from a website. You should update it and use the new webservice instead.
Sounds cool, just send me the documentation
> Oh yeah, have this example of a request
... Dude, this thing has 10 parameters. None of them are named, and 7 of them are actually nulled. How do I fill this thing?
> IDK
Oh, ehm... Let's ask the client then!
> NONONONO, we told the client this update was live at least 3 months ago, we can't begin asking questions now
Ouch. How much time do I have to make sense of this mess?
> The new supplier should take charge by the end of the month, I'd like this to be live by Tuesday
Needless to say, it's not going well, but that ain't none of my business1 -
This depends mainly on the programming language with which I want or have to develop a project.
I like to use Behat for PHP and other simple things. At the moment I only have clients who want to implement projects in PHP. God knows why.
For more complicated things I like to use yeoman, but I have to say that there are also a lot of horrible generators, so I follow the official instructions more often.
Otherwise, the usual procedure:
1) git init
2) Planning of features and functions (if not already specified by the client)
3) Select frameworks (mostly necessary)
4) Start programming
5) Commit often
6) Commit often
7) Commit often -
So yesterday evening when going to bed I wanted to sleep asap.
Therefore I used a 'tactic' called count to ten and then start over again. This is supposed to be relaxing so you stop thinking about other things an you get sleepy faster.
It usually works...
...But then my brain decided to write a program for said procedure in my mind. I actually started thinking:
int count=0;
While ( ! isAsleep() ){
think(count);
count++;
If( count == 10 ){
count = 0;
}
}
It didn't really help me falling asleep...1 -
Finding a stored procedure to copy code out of because I didn’t have the brainpower or willpower to write the same code again.
Ironically, finding the sProc probably took more time than actually rewriting it.....1 -
Getting Back Lost, Hacked or Stolen Crypto - Go to OMEGA CRYPTO RECOVERY SPECIALIST / HACKER
I lost my crypto to an online investment scam, After a successful recovery procedure, OMEGA CRYPTO RECOVERY SPECIALIST was able to retrieve my $125,000 worth of lost cryptocurrency. After my recuperation, I experienced an amazing sense of relief and appreciation. OMEGA CRYPTO RECOVERY SPECIALIST's professionalism and knowledge really impressed me, and I would heartily suggest them to anyone who has been duped by cryptocurrency frauds. But I also want to caution others about investing in cryptocurrencies and advise them to conduct due diligence before making any decisions. Because the cryptocurrency market is still mostly uncontrolled.
Visit; (omegarecoveryspecialist. co m
(Mail; omegaCryptos @ consultant. co m
WhatsAp; +1 (701, 660 (04 759 -
I need advice fellow developers, am I stubborn?
So I lost an argument in my team regarding constant vs variable directly in a method for stored procedure names.
I separated names of procedures into their own StoredProcedureConstants file because it makes it very easy to see all procedures used in a project and refactor their names if necessary. Argument against was that you loose time creating a constant. Am I silly if I am alergic to seeing quotation marks stuff without its designated purpose throughout the code?
Their way is adding var procedureName = "cc.storeProcedureName" directly in a method. I just can't find my peace with it. To me this is a magic string.
Am I being unreasonable?3 -
Git Merge 1 of branch to master: COMPLETE
Git Merge 2 of branch to master: (code change on branch, no change to master, exactly the same conditions, command, and procedure as before) FAILED - CONFLICT
Guess I’ll just die?3 -
In the other day i was restarting my windows machine like a normal procedure but it was taking too much time. I waited and sudently in the middle of the restart I got a blue screen and the PC restarts.
I am like OK....... Well at least boots up :)
I need to tell my boss that we need to change to linux. -
I just fucking rage quit SSMS...
Was trying to call a long named stored procedure and started typing the name when suddenly, autocomplete pops up with the name of the procedure.
I'm like hell yeah, I press tab to complete it, it appends the name to what I already wrote...
I delete it, start writing again, pops up again, I press down to select it and press enter, it appends it again.
*Ragequit*
Who the fuck QA'd that?1 -
Hmm most incompetent co-worker? That would be the guy with a degree in IT who couldn't create a stored procedure without needing a team leader to tell him which keys to press. We were not his first employer and allegedly he had experience...
Perhaps this would be fine, learning curve and all that, for the first few weeks but when a simple select statement was still causing problems alarm bells rang loud. He got attached to the test team for a week before being sat down with the boss.... -
I wanted to know what is the worst mistake you make on database.
I have actually implements the logic of token access control on database and not on business logic layer.
The database have a login procedure which accept username and password. That login procedure actually hash the password and try to authenticate user.
If it is a correct user , it generate a token. In other to use other procedure on database , you must provide a token. By using that token , the procedure know who is it and what permission is granted to that user.4 -
Spent a few hours optimising a procedure...
It's almost quitting time now, my procedure is returning wrong results in more time...
I hate "productivity" on Friday... -
!rant,
Belonging to the last 3 of the intake procedure, tomorrow a final test and then im a php dev maybe WOHOO -
I have to build a database migration that generates user handles. The user handles are unique within an organization. The user can change them. The auto generated handles are either the first name + last name, or the business name depending on which user type it is. Unless it would be a duplicate. Duplicates auto increment if the handle is taken. The character limit for a user handle is the same length as first name plus last name so I have to check for possible overflow if I add digits. I also have to see if the generated name is in the DB already because a user could have custom entered the result of the auto generation.
This has to be programmed async. The DB driver is using a transaction but multiple calls have to be made to check if the generated handle exists for that organization. Also I have to check the migration script itself for possible duplicates. 3/4 of the users have a handle and with the scale there will definitely be duplicate names.
My idea is if there is a collision, use a UUID and let the users pick something nicer next time they log in. Business says “Reeeeeee!!!! The users shouldn’t see a UUID!!! You can do this!!!” Absurd uniqueness requirements. Absurd backfill procedure. Absurd business rules.2 -
When i wrote my first data structure (linked list) in c.
When I first learnt and used the concept of subqueries.
And way before that when i made a static website teaching c and made JavaScript output the result of c code i was explaining.
Also in my first job when i was debugging a shitty 2k plus lines stored procedure for days to realize that it was giving a wrong output just because a single variable was unassigned (null) -
Client asks if we could proceed with migration today, or on monday
We agree on today and proceed to spell out the procedure, if it's okay
Client replies that they would prefer to migrate on monday, and asks how long the downtime will be, and whether it would be possible to migrate without downtime.
Why, of course, but only if your frickin infrastructure didn't consist of a *single* machine!
Ugh, why me... -
So it's been happening for a while now. My dual boot system just appears to have a feature: it auto boots into Ubuntu on restart.
And, I don't why but since 17.10 artful update whenever I press either up or down arrow keys while boot it shows me the log of whole procedure which is kinda nuts; I mean why would they wanna do that, this isn't '90s.
Do reply if I'm not alone.3 -
Same procedure as every night. I don't know why but I can't sleep at the moment. I went to bed at 9pm today because I was fucking tired and woke up at 11pm again - totally awake and refreshed but I know I will be fucked tomorrow because of not enough sleep... I am actually thinking about doing today's work now instead of in 9 hours.
-
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 -
Despite not having any real C# experience to speak of, I've been put on a short and rather intense enhancement project that was written with .net framework and MVC.
Yesterday I had to add a new method to call a stored procedure. The file I had to add it in was over 6k lines long. Most files, not including entities, are well over 1k - including the views.
Can't say I'm enjoying working on this project so far.
(Did I mention the clients have a tendency to change requirements mid sprint?)1 -
So PHP PDOs... nothing fucking works. It's that or the lovely MariaDB implementation, I know that the query is correct and I've tried a stored procedure as well. The query itself ran once to add one user and never again while anything I try now doesn't return any result. I'm going to install Percona and see if it's the implementation or me.8
-
"What tools are needed for eyelash extensions? (eyelash glue, eyelash extension tweezers, etc.)
When applying eyelash extensions, just as important as the extension process itself is choosing the right tools. They not only make the master’s work easier, but also affect the quality and durability of the eyelashes. In this article we will look at what tools are needed for eyelash extensions.
The first and, of course, the most important tool for eyelash extensions is eyelash glue. This glue provides reliable and long-lasting adhesion between natural and artificial eyelashes. It should be hypoallergenic, safe for the skin around the eyes and water resistant. Only correctly selected glue can guarantee safety and beautiful extension results. Therefore, it is important to choose high-quality eyelash glue https://stacylash.com/collections/... that meets all requirements.
The second necessary tool is eyelash extension tweezers. They allow the technician to conveniently and accurately separate natural eyelashes, which facilitates the process of applying and fixing artificial eyelashes. It is important that the tweezers are of high quality, with narrow and sharp tips to ensure precise capture and separation of eyelashes.
The third important tool is tweezers. Tweezers allow the technician to conveniently and accurately place and fix artificial eyelashes on natural ones. It is important that the tweezers have good grip and grip accuracy to ensure precision and accuracy of the extension process.
The fourth necessary tool is a special eyelash brush. It is used to comb eyelashes before the procedure and to remove excess glue after extensions. The brush should be soft, but at the same time securely hold the eyelashes.
The fifth tool is special overhead eye pads. They are used to protect the skin around the eyes and lower eyelashes during the eyelash extension procedure.
So, for successful eyelash extensions you need high-quality eyelash glue, tweezers, tweezers, an eyelash brush and false eye pads. The correct selection and use of these tools will ensure the safety of the procedure and high-quality results. Don’t forget that only a professional approach and high-quality tools can make your look as expressive and attractive as possible."2 -
When I use a stored procedure called AdminSetSettingGently I think about this:
http://albinoblacksheep.com/flash/... -
I got a report of a relatively simple WinForms app created by a senior (!!) developer who left just as it was released taking 3 minutes to load.
Step through it.. Narrow it down to one stored procedure.
Open said query, every join is a left join.
None needed to be a left join.
Change them all to inners, app now loads in 5 seconds.
Left Joins: For when people can't be assed to learn SQL basics. -
A c# remote procedure library.
Made years ago when i had no real science and engineering knowledge.
https://github.com/scrapes/... -
"Like ... phenomena united by Einstein's formula E = mc², procedure and data are to some extent two different ways of viewing the same thing."
-
Recruiter contacted me for interview. I asked them what is the procedure of interviews and how many are there gonna be.
Recruiter listed 5 fucking interviews.
1. HR interview: 30-45 min
2. Technical 1: 60 min general coding live session
3. Technical 2: 60 min backend coding live session
4. Technical 3: 60 min system design coding live session
5. Hiring manager interview: 30 min
All that for $20.3125/hour, with possibility of being more or even less depending on how well i do on these 5 interviews10 -
What's the best way to deal with constant dread? I deployed code after following every procedure, got every kind of thumbs up from QA and now it's my fault our 2012 admin site borked. Should I point out all the obvious flaws (again), or should I give up on our stagnant-ass developers and systems?
The fear of showing off anything new is crippling. I wrote up a Pyton API to hook into our current pipeline over lunch breaks but am worried if I even raise it as an option it'll just be cast aside and lost to time, regardless of business value. -
First run of an import procedure in the production environment.
Spent all morning with an "Unsupported media type" error.
Finds out that the provided password was wrong and that the Webservice always return that message when there's an error.
Any type of error... -
System.OutOfMemoryException was thrown trying to execute a stored procedure in the database. I think it might be time for some optimizations again. ... but no before coffee
-
So I go to a GDG for VRView tonight, and generally had a great time. I arrived on time, got set up, crushed the coding exercise, and helped a couple of people out with their code.
As is standard procedure with these kinds of events, there was a giveaway at the end - a sealed Daydream View. The guy running the event picked the winner randomly. I was #6, due to the fact that a guy came in literally 20 minutes before we wrapped. Guess who won the VR set? Yep, the dude who came in late, and sat immediately to my right, making him person #5. I'm pretty sure the words "greifer" and "twatwaffle" ran through my head as I packed up to leave. -_- -
I'm doing a code review and, it's not unheard of to have lowercase SQL im our codebase even though most of it is uppercase. For this reason I decided to let the lowercase SQL slide even though it makes me cringe so much... That is, until I came to one procedure that was uppercase and in this revision it is lowercase :O I want to die a gruesome way which would be very nice compared to this :O
-
If you are falling to stored procedures for every performance optimizations
Concludes You haven't started well.. -
[Prestashop question / rant]
Yes, it's not StackOverflow here, neither is it prestashop support forum - but I trust u people most :)
Proper solution for working with big(?) import of products from XML (2,5MB, ~8600 items) to MySQL(InnoDB) within prestashop backoffice module (OR standalone cronjob)
"solutions" I read about so far:
- Up php's max execution time/max memory limit to infinity and hope it's enough
- Run import as a cronjob
- Use MySQL XML parsing procedure and just supply raw xml file to it
- Convert to CSV and use prestashop import functionality (most unreliable so far)
- Instead of using ObjectModel, assemble raw sql queries for chunks of items
- Buy a pre-made module to just handle import (meh)
Maybe an expert on the topic could recommend something?3 -
I'm doing the recommended math tasks. Since I can't trust the prof's solutions (he does errors here and there), I watch YouTube videos, Khan Academy videos, compare the results of the prof with the results of online step calculators such as wolfram alpha and find new rules I've never heard of before.
The prof doesn't really comment every step about why he's doing what. He just provides the solution and I have to reverse engineer from his solution up to the original state of the equation. Repeating the same procedure for the online calculator results as well.
I have to say that "Oh, boy, did I learn so many valuable things..." Stuff that I should have learned when I was at least doing my A levels (Abitur).
It is as if I am opening the gates to a new world. Not even exaggerating. Ok, maybe a bit. Ok, maybe a bit more, but no bit more than that.9 -
I need some help with parking a domain in ovh.com webhosting. It's a real pain in the ass so any input is strongly appreciated. I kinda figured out what todo already, but still need some clarification.
Normally after buying a webhosting all I would need to do is login to my domain registrar's website and in the control panel just change nameservers to webhosting nameservers and that's all. Webhosting provider would take care of the rest (subdomain creation, e-mail creation and etc.) But because OVH are assholes, they support this type of domain parking only for domains registered at OVH.
For external domains, procedure is as follows:
For the configuration to function, you will need to make the following adjustments with the current provider:
Insert a TXT record for the domain ovhcontrol.mydomain.com with the value jwyPolzgrZyIShzaQItqw
Point the A record of your domain mydomain.com to 51.244.97.19
Point the A record of your domain www.mydomain.com to 51.244.97.19
So basically I had to login to registrars cPanel and first of all I had to park my domain back to my registrar (I had to switch to default nameservers which are provided by domain registrar)
Only then I got advanced access to dns zone in order to add the required records above.
When I open my domain registrars dns zone cpanel this is what I see:
http://prntscr.com/nekx40
So basically, as I understand, I just need to add these required records like this?
http://prntscr.com/nekxjc
Am I correct?
So basically my OVH webhosting doesn't deal with dns zone at all, I will have to use my own registrar for adding subdomains?
What about e-mail addresses? OVH doesnt allow me to create emailboxes for "externally" parked domain addresses. Will I have to search for some e-mail provider, and add some additional records?
Any input/help would be appreciated.1 -
My late 2015 iMac won’t get past the progress bar on the startup. I’ve tried every combo keypress/restart procedure I can dig up in multiple Google searches. Starting to get worried I’ll have to completely wipe and reinstall. Online Apple support is not helpful. Genius Bar in my area is not taking appointments still due to COVID. And money is always too tight to buy anything other than another used Mac. Anyone got a surefire way to get back to a login screen? At least to ensure my backup is up-to-date before I wipe it and start over?6
-
Just Started learning unsupervised learning algorithms, and i write this: Unsupervised Learning is an AI procedure, where you don’t have to set the standard. Preferably, you have to allow the model to take a chance at its own to see data.
Unsupervised Learning calculations allow you to make increasingly complex planning projects contrasted with managed learning. Albeit, Unsupervised Learning can be progressively whimsical contrasted and other specific learning plans.
Unsupervised machine learning algorithm induces patterns from a dataset without relating to known or checked results. Not at all like supervised machine learning, Unsupervised Machine Learning approaches can’t be legitimately used to loss or an order issue since you have no proof of what the conditions for the yield data may be, making it difficult for you to prepare the estimate how you usually would. Unsupervised Learning can preferably be used to get the essential structure of the data. -
The application I work on starts throwing timeout errors for about every third user. Lead developer cannot figure out what happened. DBA is out of town and cannot be reached. I do a quick Google search and run the stored procedure sp_updatestats. Timeouts stop and there is a big performance boost on the application. Everyone congratulates me on fixing the problem, and now I'm reading up on MS SQL Server Statistics and wondering about what other magical tools everyone else knows about that me and my team are clueless on...
-
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 -
Does anyone know how to publish MS Teams app to the app source so that anyone can install it? MS Teams docs are shit and can't figure out the procedure for the submission. It's been 2 days since I reached out to their support team and no response yet.
-
New to wordpress.
Wordpress gods,
How would i send a mail using 'wp mail smtp' plugin? I completed the procedure and test mail was successful. How would i call this from UI. No tuts saying anything about that i guess4 -
TMW you're dating a nurse and between her criticism of medical procedure and your own criticism of the portrayal of technology and "hacking" you can't sit through any movie without finding it flawed.
-
Not so awful I suppose as long as it's produces quality output
Still only interested in davinci
Question
When chatgpt recognizes stateful requests "modify the part of the procedure Jojon where it updates storeitem to add a column verifiedbyhuman and set it's value to true" is chatgpt feeding everything at once to do davinci ?1 -
- Have the app running perfectly on heroku.
- App does some serious calculations which, depending on amount of data, takes a long time to process
- Heroku timesout after request takes longer than 30 secs...
- Need to move from heroku to aws... No devops experience...
- Damn... 🙃
Any suggestions? The procedure cannot be put into a worker queue so thats out of the equation.2 -
I have scheduled job in ssms , but on scheduled time stored procedure are not executing, but when I run it manually that time it is executing correctly.
Can anyone help me resolve this problem1 -
Why a dropdownlist depending on a dropdownlist from a complex type(Stored Procedure) from EF CF approach is that hard to handle in MVC1