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 - "migration"
-
Did a very tiny migration for a client which would normally be done against our hourly rate but decided to do it for free as it would take me like 5 minutes and it was a very important thing for him and he actually offered to pay.
Fuck it, he'll be very happy, it doesn't take me much time and I know my boss would approve.
Did the migration, messaged the client and he thanked me.
Next day a cake arrives at work with my name on it and "thanks for helping us with the migration!"
Now that's how you make my fucking day!23 -
Frack he did it again.
In a meeting with the department mgr and going over a request feature *we already discussed ad nauseam* that wasn’t technically feasible (do-able, just not worth the effort)
DeptMgr: “I want to see the contents of web site A embedded in web site B”
Me: “I researched that and it’s not possible. I added links to the target APM dashboard instead.”
Dev: “Yes, it’s possible. Just use an IFrame.”
DeptMgr: “I thought so. Next sprint item …what’s wrong?…you look frustrated”
Me: “Um..no…well, I said it’s not possible. I tried it and it doesn’t work”
Dev: “It’s just an IFrame. They are made to display content from another site.”
Me: “Well, yes, from a standard HTML tag, but what you are seeing is rendered HTML from the content manager’s XML. It implemented its own IFrame under the hood. We already talked about it, remember?”
Dev: “Oh, that’s right.”
DeptMgr: “So it’s possible?”
Dev: “Yea, we’ll figure it out.”
Me: “No…wait…figure what out? It doesn’t work.”
Dev: “We can use a powershell script to extract the data from A and port it to B.”
DeptMgr: “Powershell, good…Next sprint item…”
Me: “Powershell what? We discussed not using powershell, remember?”
Dev: “It’s just a script. Not a big deal.”
DeptMgr: “Powershell sounds like a right solution. Can we move on? Next sprint item….are you OK? You look upset”
Me: “No, I don’t particularly care, we already discussed executing a powershell script that would have to cross two network DMZs. Bill from networking already raised his concern about opening another port and didn’t understand why we couldn’t click a link. Then Mike from infrastructure griped about another random powershell script running on his servers just for reporting. He too raised his concern about all this work to save one person one click. Am I the only one who remembers this meeting? I mean, I don’t care, I’ll do whatever you want, but we’ll have to open up the same conversations with Networking again.”
Dev: “That meeting was a long time ago, they might be OK with running powershell scripts”
Me: “A long time ago? It was only two weeks.”
Dev: “Oh yea. Anyway, lets update the board. You’ll implement the powershell script and I’ll …”
Me: “Whoa..no…I’m not implementing anything. We haven’t discussed what this mysterious powershell script is supposed to do and we have to get Mike and Bill involved. Their whole team is involved in the migration project right now, so we won’t see them come out into the daylight until next week.”
DevMgr: “What if you talk to Eric? He knows powershell. OK…next sprint item..”
Me: “Eric is the one who organized the meeting two weeks ago, remember? He didn’t want powershell scripts hitting his APM servers. Am I the only one who remembers any of this?”
Dev: “I’m pretty good with powershell, I’ll figure it out.”
DevMgr: “Good…now can we move on?”
GAAAHH! I WANT A FLAMETHROWER!!!
Ok…feel better, thanks DevRant.11 -
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]27 -
Fucking intern.
While I was working next to her a couple weeks back, she spent half her time on social media, playing Candy Crush, or talking with her friend. She also left early almost every day.
I had given her a project to do (object crud + ui), and helped her through it. She made pretty abysmal progress in a week. I ended up finishing it for her by rewriting basically all of her code (every single line except some function names, lone `end` or `}` statements, a few var declarations, blank lines, plus a couple of comments she copied over from my code).
This week I gave her a super easy project to do. It amounts to copying four files (which I listed), rename a few things to be Y instead of X, and insert two lines of code (which I provided) to hook it up. Everything after that just works. It should have taken her ... okay, maybe a few hours because she's slow and new to the language. but it would have taken me five to ten minutes, plus five minutes of testing.
She has spent THREE FUCKING DAYS ON THIS AND SHE'S STILL NOT DONE. SHE'S BLOODY USELESS!
She has kept not pulling changes and complaining that things are broken. Despite me telling her every time I push changes that affect her work (on. my. branch. ergh!)
She keeps not reading or not understanding even the simplest of things. I feel like MojoJojo every time I talk to her because of how often I repeat myself and say the same things again and again.
Now she's extremely confused about migrations. She keeps trying to revert a drop_table migration that she just wrote so she can re-create the table differently. Instead of, you know, just reverting back to her migration that creates the table. it's one migration further.
Migrations are bloody simple. they're one-step changes to the database, run in order. if you want to make a change to something you did a few steps back, you roll back those migrations, edit your shit, and run them again. so bloody difficult!
`rails db:rollback && rails db:rollback`
Edit file
`rails db:migrate`
So. hard.
I explained this to her very simply, gave her the commands to copy/paste, ... and she still can't figure it out. She's fucking useless.
It took me ten minutes to walk her though it on a screen share. TEN FREAKING MINUTES.
She hasn't finished a damned fucking thing in three weeks. She's also taking interview calls while working on this, so I know she totally doesn't care.
... Just.
Fucking hell.
USELESS FUCKING PEOPLE!40 -
My previous job I got by winning an Xbox Kinect hackathon. Not because the game I made was really good or anything. But because I was the only one who actually built something. (Apart from a guy who’s application would cheer louder as you raised your arms.) So that evening I left the hackathon with an Xbox one and a job.
My job was to build advert games, games whose primary goal is to advertise a company or event. This is the job where I learned I DO NOT like game development. So after about half a year I quit.
Because I still needed money I did some freelance work as a game developer (I developed 3 advert games for 3 startups).
I was still looking around for dev jobs but because I was a student I had no luck, they were all looking for full timers.
At some point I called this one (Dutch) company and spoke to a very odd French person on the phone. He invited me to come over for an interview. I had very little information about the job so I started researching the company. They are a small company specialized in complex content migrations. I wasn’t that into migrations but hell, I’m always up for something new.
Upon arrival I was greeted by the familiar French voice and saw a collection 6 diverse developers sharing a space. We did the usual interview dance and practices and that’s where I figured out this is a java job. They developed tools for the professional services team to perform these complex migrations I mentioned earlier. With me never having touched java before I was quite sure I wouldn’t get the job. But I took the test anyway.
About halfway through the test I was stopped and they started to ask me some conceptual questions, I did okay there but nothing special. That same day the architect took me to their CEO and told him I had:
- very little experience
- no migration experience
- was still a student so could only work 20 hours a week
- he saw some potential they could work with
Quite unexpectedly, they still hired my 20 year old ass.
Now the company has grown to a good 20+ developers with a nicely sized professional services team and we are launching our first out-of-the-box product in a couple of weeks.
So that’s how I got my job. If you read to this very end, my hat is off to you!8 -
Story time:
I was once working on a project that dealt with incredibly sensitive financial data.
We needed a client’s database to do a migration.
They wouldn’t send it over the internet because it was too big and they didn’t think it would be secure.
They opt to send it in the post on an encrypted usb drive.
(Fair enough thinks I)
USB drive arrives.
Is indeed encrypted.
MFW there’s a post it note in the envelope with the password on.
MFW this is a billion dollar multinational petrochem company.
MFW this same company’s ‘sysadmin’ and ‘dba’ once complained because a SQL script I sent them didn’t work - they’d pasted it twice and couldn’t work this out from the fucking “table already created” error message management studio was throwing at them.3 -
Client: Can you provide some kind of guaranteed timeline that you're going to be able to move our website to our new servers with the optimizations implemented? I know you said it should take a week, but we have 3 weeks to get this moved over and we cannot afford to be double billed. I'm waiting to fire up the new server until you can confirm.
Me: As I said, it SHOULD take about a week, but that's factoring in ONLY the modifications being made for optimization and a QA call to review the website. This does not account for your hosting provider needing to spin up a new server.
We also never offered to move your website over to said new server. I sent detailed instructions for your provider to move a copy of the entire website over and have it configured and ready to point your domain over to, in order to save time and money since your provider won't give us the access necessary to perform a server-to-server transfer. If you are implying that I need to move the website over myself, you will be billed for that migration, however long it takes.
Client: So you're telling me that we paid $950 for 10 hours of work and that DOESN'T include making the changes live?
Me: Why would you think that the 10 hours that we're logged for the process of optimizing your website include additional time that has not been measured? When you build out a custom product for a customer, do you eat the shipping charges to deliver it? That is a rhetorical question of course, because I know you charge for shipping as well. My point is that we charge for delivery just as you do, because it requires our time and manpower.
All of this could have been avoided, but you are the one that enforced the strict requirement that we cannot take the website down for even 1 hour during off-peak times to incorporate the changes we made on our testbed, so we're having to go through this circus in order to deliver the work we performed.
I'm not going to give you a guarantee of any kind because there are too many factors that are not within our control, and we're not going to trap ourselves so you have a scapegoat to throw under the bus if your boss looks to you for accountability. I will reiterate that we estimate it would take about a week to implement, test and run through a full QA together, as we have other clients within our queue and our time must be appropriately blocked out each day. However, the longer you take to pull the trigger on this new server, the longer it will take on my end to get the work scheduled within the queue.
Client: If we get double billed, we're taking that out of what we have remaining to pay you.
Me: On the subject of paying us, you signed a contract acknowledging that you would pay us the remaining 50% after you approved the changes, which you did last week, in order for us to deliver the project. Thank you for the reminder that your remaining balance has not yet been paid. I'll have our CFO resend the invoice for you to remit payment before we proceed any further.
---
I love it when clients give me shit. I just give it right back.6 -
HR: "We want to hire you, but we shouldn't until after we finish this migration and set up an onboarding process. That should take about two weeks; is this okay?"
Me: "Yes, of course."
... two and a half weeks later ...
Me: "Hey, it's been awhile since our last chat. How's the migration and onboarding process going?" etc.
HR:
------
Ugh.
This is the same company that had me sitting by the phone waiting for an interview an entire day, and let me know their schedule got booked for the day three minutes before they went home. gg.
I should tell them to get bent.27 -
Arghhh, rant time :|
So yesterday I completed a database migration of 167,000 products from an old ecommerce system to a new one. Everything was brought over, orders, customer addresses, everything, really chuffed :)
The only thing the client picked up on was the lack of his spammy "meta keywords" data that I intentionally did not import. I mean the tag isn't used and a list of 40 comma separated random words you'd like to rank for isn;t going to help the sites SEO on bit.
Anyway, the client is now moaning a lot and insisting I add them in. Even after I explained that the meta keywords is gone for good reasons he insists on keeping the data.
Soooo, pointless :|
(note the tags for the sake of satire :) )undefined meta keyword meta-key-words key-words keywords best meta keyw word meta keyword seo m-e-t-a words k-e-ywords meta key4 -
Around 2009 or earlier, I began the long grueling process of creating my own batch AI (yes batch as in Windows Batch , kill me for not knowing there were better languages around). Looking back at it, it is THE messiest thing I've ever created. Mostly because of how many unnecessary files were created to make the entire thing work. However, I’m still proud of it to this day because of the dedication I had put into creating the entire thing.
I would create diagrams on the mirrors in my room; of course I would be scolded for this. But I was mad with thought working through the entire thing.
I would scribble and type whenever I had the chance, trying to create the functions that would allow the thing to talk back to me. Finally, when it opened its eyes and spoke its first words I quickly started creating the functions that would allow it to learn new inputs. Over time and with some elbow grease I was able to polish it up to my liking.
The entire program branched off some of my more earlier programs in batch, they mostly ranged from the medial to the crazy; i.e. turning my computer on and off at certain times of the day, and multithreaded migration of files to new disks
It's not as sophisticated as other AI that were being built at the time, but at the age of 16 and with no experience in real programming at all, I'd say it was my first stepping stone towards more sophisticated programs, and ultimately, my decision in Computer Programming at all.22 -
We have new scrum master. First meeting together.
Project owner:
- I would give them time to wensday (2 days away) days to do migration
Manager:
- delivery is in Tuesday. can we have two teams to work on it so it will be done twice as fast?
Scrum Master:
- do you really think that if you get 9 women pregnant they would deliver you baby in a month?7 -
I did a simple bar graph to show the status of a db migration. Each bar is a computer with a db file. As I was bored waiting, I added a King Kong hanging from the longest bar.8
-
Guys, I've just merged to master that was 93 commits behind and no conflicts.. Just pushed to production and had the cleanest and painless migration ever... Something very bad happened, this can't be right9
-
President of my employer: how long do you thing it will take to complete x type of migration?
Me: I don't know. We've never done one.
President: well how long do you think it will take based on your experience?
Me: I don't know. I've never done one.6 -
So, basically i am getting desperate, and i'm also angry... and want to cry, and i feel a failure.
My biggest error in this story is "believing"
First of all, I'm a starting entrepreneur as freelancer, started of 6 months ago, back then it all seemed bright, i had my first customer, they believed me, got a second assignment for that same customer, fulfilled the task in brilliance, and was ready to move on to a bigger customer base. Here's where shit goes wrong.
Working with another office that outsources people to various (goverment) contractors, Had a meeting with them, we would cooperate very soon. This was january.
PM: "We've got a gov Dept as a customer that wants to do project XYZ and starting in february, requirements are yadiyadiyadi, you up for it?
Me:"Sure, send me the specs, and timeframe and i'll apply with my offer)"
Project is about a bit backup system migration, lots of fancy shmancy tech used, 2 datacenters setup... a big project that can take up several months...
- sends offer- received an acceptance on the offer
PM " Great, we'll start end of february"
Me: "Ok, end of february is a go then, looking forward to cooperate"
FF to near end of february, receive msg from PM: "Project XYZ delayed until half if march"
Me: "Okay... what is the delay?"
PM:"Govt bureaucracy"
Me " Ok, let's keep in touch"
Near Half of March
PM " Project delayed again".
Me: " Okay... what's the reason?"
PM: "they have decided to take a different approach, and want 3 datacenters now"
Me: "That will change the offer i made for you, can you send me the specs?"
PM: "No, because they havent decided on the techs used, expect end of march"
Me: "Okay...but once you got the specs,s end them to me"
End of March
Pm: " Hy NeatNerdPrime, we still havent got any specs yet... they still forgot to make the shopping list"
Me: "(-_-) ... I thought they already had that covered"
PM:" No, new Govt budget cuts and lots of changes, basically, they still don't know what they really want. But we're just -delayed- , not -cancelled-"
Me: "Okay... i hope we get started soon"
PM: "expect launch beginning of april"
I was not really satisfied with this explanation.... but ok
Beginning of april, at april's folls day
PM "Project delayed again"
Me: " This is a joke right?"
PM: "Sadly, no, they delayed the project since they don't really know what they actually want, we are trying to give them the proposed solution... but they still need approval, and still need to set up shopping list"
Me:"when do we start then?"
PM: " I was told 17th of april'
Me:" I really hope it gets through, i had to decline some proposals for work for months due to this, this ain't funny"
PM: "I know, i'll make up for it"
15th of april...
PM " Project delayed again"
Me right now almost losing my shit
"why this time??? I thought you said 17th of april real launch!"
PM: "they fired their PM, need to hire a new one, delayed until May/June"
Me: "I've set aside some other assignments just because you said you were going to launch at those dates... This is really pushing my limits, can you give me SOME assurances?"
PM: "5th of june would be official go" Me: " Okay, i'm noting 5th of june in my agenda, let's get this through!"
And now i get a message...stating that the date of 5th of june , is for another project, at the same goct dept, but totally different project
WHAT THE FUCKING SHIT I'VE SPENT MONTHS WAITING FOR A PROJECT THAT WAS PRACTICALLY ALL SET AND GO AND EVERY SINGLE FUCKING TIME IT GETS DELAYED, EVERY FUCKING TIME I THINK "you know, i cannot accept these offers since that Govt project will start soon, i cannot do 2 assignments at once especially when they require me to work at govt office at the capital..." AND EVERY FUCKING TIME IT GETS DELAYED!!!
I feel at a loss now..... i've done i think the most horrible thing you can do as a independent and that's not accepting another assignment just because there was a concrete promise for a govt contract...
Almost dried up, nothing much left, had to do some spending because of a move to another apartment... I'm feeling really down, and angry...and down, but mostly angry, for not accepting those offers in the meantime...undefined govt contracts why i'm so gullible promise promises written in butter wtf start dates fucking delays never refuse another assignment again13 -
"Do you like your job? I mean, all those collored lines in that funny font... sitting at the desk with this adorable rubber duck... Do you guys jus".....
.
.
.
.
.
.
.
.
.
.
.
.
Me: "SHUT UP YOU STUPID ASSHOLE!!! I MADE 26 COMMITS DURING THIS FUCKING DAY, THE DAY THAT WAS SUPPOSED TO BE THE LAST WORKING DAY OF THIS SHITTY YEAR! I HAVE NOT SLEPT AS I SHOULD AT ALL CAUSE THIS FUCKING MIGRATION OF NEW YEAR'S UPDATE AND NOW... AHH NOW YOU STUPID FYCKING PSYCHO... NOW I HAVE TO CONTROLL MYSELF DURING NEXT DINNER WITH FRIENDS, HAVE NO MUCH ALCOHOL CAUSE DURING SUNDAY, EVEN ITS A FUCKING HOLIDAY AND EVEN IF I AM IN A LOOONNGG HANGOVER, I DO STILL NEED TO COMPLETE THIS FUCKING NEW YEAR MIGRATION YOU ASS PUNK! GO FUCK YOURSELF YOU LITLE USELESS TINY LITLE SHIT!!!"
And this is how I see my new years resolution: the time is priceles doing this questions to me...
Happy new year, fellazz! 💃🎆🎉2 -
To replace humans with robots, because human beings are complete shit at everything they do.
I am a chemist. My alignment is not lawful good. I've produced lots of drugs. Mostly just drugs against illnesses. Mostly.
But whatever my alignment or contribution to the world as a chemist... Human chemists are just fucking terrible at their job. Not for a lack of trying, biological beings just suck at it.
Suiting up for a biosafety level lab costs time. Meatbags fuck up very often, especially when tired. Humans whine when they get acid in their face, or when they have to pour and inhale carcinogenic substances. They also work imprecisely and inaccurately, even after thousands of hours of training and practice.
Weaklings! Robots are superior!
So I replaced my coworkers with expensive flow chemistry setups with probes and solenoid fluid valves. I replaced others with CUDA simulations.
First at a pharma production & research lab, then at a genetics lab, then at an Industrial R&D lab.
Many were even replaced by Raspberry Pi's with two servos and a PH meter attached, and I broke open second hand Fischer Sci spectrophotometers to attach arduinos with WiFi boards.
The issue was that after every little overzealous weekend project, I made myself less necessary as well.
So I jumped into the infinitely deep shitpool called webdev.
App & web development is kind of comfortable, there's always one more thing to do, but there's no pressure where failure leads to fatalities (I think? Wait... do I still care?).
Super chill, if it weren't for the delusion that making people do "frontend" and "fullstack" labor isn't a gross violation of the Geneva Convention.
Quickly recognizing that I actually don't want to be tortured and suffer from nerve damage caused by VueX or have my organs slowly liquefied by the radiation from some insane transpiling centrifuge, I did what any sane person would do.
Get as far away from the potential frontend blast radius as possible, hide in a concrete bunker.
So I became a data engineer / database admin.
That's where I'm quarantining now, safely hiding from humanity behind a desk, employed to write a MySQL migration or two, setting up Redis sorted sets, adding a field to an Elastic index. That takes care of generating cognac and LSD money.
But honestly.... I actually spend most of my time these days contributing to open source repositories, especially writing & maintaining Rust libraries.5 -
Productive day!
Rewrote an intern's feature and briefly explained how/why
Gave intern a choice of projects, and explained them
Removed two unused models, one unused route
Dried up two views into a partial
Redesigned said partial
Tested validation edge cases (ex: Jan 10nd, 101bc)
Fixed an api
Simplified three models
Added scheduling and platform restriction to a feature
Le wild bug appears: a user with negative xp!?
Wrote a migration to expand players' max xp to 2^64-1 because a certain legacy game gives it away like my ex-boss makes promises. Chewed at devs, but they're all long gone so :/
Won two games of pool
Browsed devRant
Busy day, and all of this while falling asleep! 😊
I'm quite proud of myself today.16 -
Imagine a database table where dates were saved as strings from raw user input. Then do migration to other database with table where dates are datetime.
Yep. That's me. 😶
I hate humans. 😧🔫
Especially those who try to be original like:
11|Sept.|2016 or 13;Juni;17
There are rules in this world, damn. 😥10 -
Q: Your data migration service from old site to new site cost money.
A: Yes, I have to copy data from old database and import to the new one.
Q: Can I just provide you content separately so you don’t need to do that?
A: Yes, but I will have to charge you for copying and pasting your 100 pages of content manually.
Q: Can it come with part of the web development service and not as an additional service?
A: Yes, but the price for web development service will have to be increased to combine the two. If you don’t want to pay for it, I can just set up a few sample pages with the layout and you can handle your own content entry. Does that work for you?
Q: Well, but then I will have to spend extra time to work on it.
A: Yes you will. (At this point I think she starts to understand the concept of Time = Money...)3 -
Argh!
I just realized that I committed and ran a migration with a typo in a column name.
We now have a :last_polll_capture_at column. 😭
Time for a commit of shame...13 -
Clients can such cheapskates, client asks me for hosting options, I suggest Webfaction ($10/m), decent service, storage etc. Client goes and buys ($20/year) hosting, storage space 2GB. Client has 2.9GB worth of emails. Now am charging said client ($110) for migration.4
-
Quick recap of my last two weeks: 15 year old production server is basically dead, boss has taken over calls and claims credit for "resolving" outages (even though my coworker and I did the work, but ultimately the traffic died down enough to where it wasn't an issue anymore).
I go to a meeting to plan migration to a better server, boss bitches about not getting invited, I tell him I invited myself, and then he lectures about how that's not our job.
Different boss says we're migrating a schema for an application that should have been decommissioned 5+ years ago to use as a baseline. I explain what's going on, he says he understands, and proceeds to tell higher bosses it's perfect because there will be no user impact. OF COURSE THERE'S NO FRICKING IMPACT, YA DUNCE! there are no users!!!!
I merge two email threads together, since they discuss the same thing, but with different insight, and get yelled at, even though they requested it.
The two bosses I like are OOO for the next week, too, so I'm just sitting here hoping I don't say something that'll get me fired or sent to sensitivity training.
I'm just starting my on call rotation and don't know that I can do this. I cry when my phone rings, now, because I experience physical pain with how hard I cringe.
I got yelled at today by a guy because SOMEONE I DON'T KNOW assigned a ticket to him directly, rather than to the proper team (not his team). So I had to look into that, which at least had the benefit of preventing a catastrophic outage to our customers world wide, but no one will know because I don't brag at work; I'm too busy doing my job as well as most of my division/section/larger team, whatever the hell it's called. I saved us probably 25+ hours of continuous troubleshooting call from noticing something tiny that the people "smarter" than me missed.
**edit: sorry for typos; got my nails done yesterday but they feel like they're a mile long and I have to relearn how to type**7 -
I wrote a database migration to add a column to a table and populated that column upon record creation.
But the code is so freaking convoluted that it took me four days of clawing my eyes out to manage this.
BUT IT'S FINALLY DONE.
FREAKING YAY.
Why so long, you ask? Just how convoluted could this possibly be? Follow my lead ~
There's an API to create a gift. (Possibly more; I have no bloody clue.)
I needed the mobile dev contractor to tell me which APIs he uses because there are lots of unused ones, and no reasoning to their naming, nor comments telling me what they do.
This API takes the supplied gift params, cherry-picks a few bits of useful data out (by passing both hashes by reference to several methods), replaces a couple of them with lookups / class instances (more pass-by-reference nonsense). After all of this, it logs the resulting (and very different) mess, and happily declares it the original supplied params. Utterly useless for basically everything, and so very wrong.
It then uses this data to call GiftSale#create, which returns an instance of GiftSale (that's actually a Gift; more on that soon).
GiftSale inherits from Gift, and redefines three of its methods.
GiftSale#create performs a lot of validations / data massaging, some by reference, some not. It uses `super` to call Gift#create which actually maps to the constructor Gift#initialize.
Gift#initialize calls Gift#pre_init (passing the data by reference again), which does nothing and returns null. But remember: GiftSale inherits from Gift, meaning GiftSale#pre_init supersedes Gift#pre_init, so that one is called instead. GiftSale#pre_init returns a Stripe charge object upon success, or a Gift (and a log entry containing '500 Internal') upon failure. But this is irrelevant because the return value is never actually used. Pass by reference, remember? I didn't.
We're now back at Gift#initialize, Rails finally creates a Gift object using the args modified [mostly] in-place by all of the above.
Another step back and we're at GiftSale#create again. This method returns either the shiny new Gift object or an error string (???), and the API logic branches on its type. For further confusion: not all of the method's returns are explicit, and those implicit return values are nested three levels deep. (In Ruby, a method will return the last executed line's return value automatically, allowing e.g. `def add(a,b); a+b; end`)
So, to summarize: GiftSale#create jumps back and forth between Gift five times before finally creating a Gift instance, and each jump further modifies the supplied params in-place.
Also. There are no rescue/catch blocks, meaning any issue with any of the above results in a 500. (A real 500, not a fake 500 like last time. A real 500, with tragic consequences.)
If you're having trouble following the above... yep! That's why it took FOUR FREAKING DAYS! I had no tests, no documentation, no already-built way of testing the API, and no idea what data to send it. especially considering it requires data from Stripe. It also requires an active session token + user data, and I likewise had no login API tests, documentation, logging, no idea how to create a user ... fucking hell, it's a mess.)
Also, and quite confusingly:
There's a class for GiftSale, but there's no table for it.
Gift and GiftSale are completely interchangeable except for their #create methods.
So, why does GiftSale exist?
I have no bloody idea.
All it seems to do is make everything far more complicated than it needs to be.
Anyway. My total commit?
Six lines.
IN FOUR FUCKING DAYS!
AHSKJGHALSKHGLKAHDSGJKASGH.7 -
Working really hard, finishing tasks, upgrading servers. Cancel some useless meetings to finish up features, working till 2am to get a database migration working. Half of the platform is transformed, both customers and team are very happy about their accomplishments.
Boss: "OK, I think we're on the right path with these changes, but productivity and morale is honestly disappointing. Are you guys sleeping enough? You all look very tired and unmotivated!"
Attend all meetings, call boss at 7am to discuss random purchases like a whiteboard, run around the office holding a (broken, lol) MacBook, looking very busy & slightly worried. I shout random things at people across the office like "Nice work Gary!" and "Damn, you are on a roll Angela!". I initiate smalltalk with department heads, only to immediately disrupt the conversation by checking my phone saying "Oh I really have to take this one" (empty battery, lol). No one writes a single line of code for four weeks, and nothing new has been deployed by the whole team.
Boss: "I think it's commendable how productive the team has become this month. You guys are all so active and involved. A real improvement!"6 -
Almost 3 years ago I contacted an IT company that was looking for developers. The job listing was vague at best but it was a 10 man company with huge international clients for content migration and improvement.
I had basically no prior development experience but got invited to the interview regardless. I took a test in Java, first time I had seen the language but I finished it with some help from Google. At the time I was still a student so I couldn't work full time either.
Disregarding all that, the team lead advised the CEO to hire me regardless, so he did.
Forward to today.
I still proudly work for this company and have been responsible for a complete redesign of their flagship product. I learned a great deal about software development and developed an amazing relationship with most of the employees. The company has quadrupled in size since and we are moving to a bigger office start of next year.
Sometimes life gives you gold, not lemons.7 -
This story starts over two years ago... I think I'm doomed to repeat myself till the end of time...
Feb 2014
[I'm thrust into the world of Microsoft Exchange and get to learn PowerShell]
Me: I've been looking at email growth and at this rate you're gonna run out of disk space by August 2014. You really must put in quotas and provide some form of single-instance archiving.
Management: When we upgrade to the next version we'll allocate more disk, just balance the databases so that they don't overload in the meantime.
[I write custom scripts to estimate mailbox size patterns and move mailboxes around to avoid uneven growth]
Nov 2014
Me: We really need to start migration to avoid storage issues. Will the new version have Quotas and have we sorted out our retention issues?
Management: We can't implement quotas, it's too political and the vendor we had is on the nose right now so we can't make a decision about archiving. You can start the migration now though, right?
Me: Of course.
May 2015
Me: At this rate, you're going to run out of space again by January 2016.
Management: That's alright, we should be on track to upgrade to the next version by November so that won't be an issue 'cos we'll just give it more disk then.
[As time passes, I improve the custom script I use to keep everything balanced]
Nov 2015
Me: We will run out of space around Christmas if nothing is done.
Management: How much space do you need?
Me: The question is not how much space... it's when do you want the existing storage to last?
Management: October 2016... we'll have the new build by July and start migration soon after.
Me: In that case, you need this many hundreds of TB
Storage: It's a stretch but yes, we can accommodate that.
[I don't trust their estimate so I tell them it will last till November with the added storage but it will actually last till February... I don't want to have this come up during Xmas again. Meanwhile my script is made even more self-sufficient and I'm proud of the balance I can achieve across databases.]
Oct 2016 (last week)
Me: I note there is no build and the migration is unlikely since it is already October. Please be advised that we will run out of space by February 2017.
Management: How much space do you need?
Me: Like last time, how long do you want it to last?
Management: We should have a build by July 2017... so, August 2017!
Me: OK, in that case we need hundreds more TB.
Storage: This is the last time. There's no more storage after August... you already take more than a PB.
Management: It's OK, the build will be here by July 2017 and we should have the political issues sorted.
Sigh... No doubt I'll be having this conversation again in July next year.
On the up-shot, I've decided to rewrite my script to make it even more efficient because I've learnt a lot since the script's inception over two years ago... it is soooo close to being fully automated and one of these days I will see the database growth graphs produce a single perfect line showing a balance in both size and growth. I live for that Nirvana.6 -
The riskiest dev choice...
How about "The riskiest thing you've done as a dev"? I have a great entry for that. and I suppose it was my choice to build the feature afterall.
I was working on an instance of a small MMO at a game company I worked for. The MMO boasted multiple servers, each of them a vastly different take on the base game. We could use, extend, or outright replace anything we wanted to, leading to everything from Zelda to pokemon to an RP haven to a top-down futuristic counterstrike. The server in this particular instance was a fantasy RPG, and I was building it a new leveling and experience system with most of the trimmings. (Talents, feats/perks, etc. were in a future update.)
A bit of background, first: the game's dev setup did not have the now-standard dev/staging/prod servers; everything ran on prod, devs worked on prod, players connected and played on prod, etc. Worse yet, there was no backup system implemented -- or not really. The CTO was really the only person with sufficient access. The techy CEO did as well, but he rarely dealt with anything technical except server hardware, occasionally. And usually just to troll/punish us devs (as in "Oops ! I pulled the cat5 ! ;)"). Neither of them were the most reliable of people, either. The CTO would occasionally remote in and make backups of each server -- we assumed whenever he happened to think of it -- and would also occasionally do it when asked, but it could take him a week, sometimes even up to a month to get around to it. So the backups were only really useful for retreiving lost code and assets, not so much for player data.
The lack of reliable backups and the lack of proper testing grounds (among the plethora of other issues at the company) made for an absolutely terrible dev setup, but that's just how it was, and that's what we dealt with. We were game devs, afterall. Terrible or not, we got to make games! What more could you ask for!? It was amazing and terrible and wonderful and the worst thing ever, all at the same time. (and no, I'm not sharing the company name, but it isn't EA or Nexon, surprisingly 😅)
Anyway, back to the story! My new leveling system also needed to migrate players' existing data, so... you can see where this is going.
I did as much testing and inspection of my code as I could, copied it from a personal dev script to the server's xp system, ... and debated if I really wanted to click [Apply]. Every time I considered it, I went back to check another part or do yet more testing. I ended up taking like 40 minutes to finally click it.
And when I did... that was the scariest button press of my life. And the scariest three seconds' wait afterwards. That one click could have ruined every single player's account, permanently lost us players ...
After applying it, I immediately checked my character to see if she was broken, checked the account data for corruption or botched flags, checked for broken interactions with the other systems....
Everything ended up working out perfectly, and the players loved all of the new features. They had no idea what went into building them, and certainly had no idea of what went into applying them, or what could have gone wrong -- which is probably a good thing.
Looking back, that entire environment was so fragile, it's a wonder things didn't go horribly wrong all the time. Really, they almost never did. Apocalypses did happen, but were exceedingly rare, and were ususally fixed quickly. I guess we were all super careful simply because everything was so fragile? or the decent devs were, at least. We never trusted the lessers with access 😅 at least on the main servers where it mattered. Some of the smaller servers... well, we never really cared about those.
But I'm honestly more surprised to realize I've never had nightmares of that button click. It was certainly terrifying enough.
But yay! Complete system overhaul and migration of stored and realtime player data! on prod! With no issues! And lots of happy players! Woooooo!
Thinking back on it makes me happy 😊rant deploying straight to prod prod prod prod dev server? dev on prod you chicken migration on prod wk149 git? who's a git? you're a git! scariest deploy ever game development1 -
I'm editing the sidebar on one of our websites, and shuffling some entries. It involves moving some entries in/out of a dropdown and contextual sidebars, in/out of submenus, etc. It sounds a little tedious but overall pretty trivial, right?
This is day three.
I learned React+Redux from scratch (and rebuilt the latter for fun) in twice that long.
In my defense, I've been working on other tasks (see: Alerts), but mostly because I'd rather gouge my freaking eyes out than continue on this one.
Everything that could be wrong about this is. Everything that could be over-engineered is. Everything that could be written worse... can't, actually; it's awful.
Major grievances:
1) The sidebars (yes, there are several) are spread across a ridiculous number of folders. I stopped counting at 20.
2) Instead of icon fonts, this uses multiple images for entry states.
3) The image filenames don't match the menu entry names. at all. ("sb_gifts.png" -> orders); active filenames are e.g. "sb_giftsactive.png"
4) The actions don't match the menu entry names.
5) Menu state is handled within the root application controller, and doesn't use bools, but strings. (and these state flags never seem to get reset anywhere...)
6) These strings are used to construct the image filenames within the sidebar views/partials.
7) Sometimes access restrictions (employee, manager, etc.) are around the individual menu entries, sometimes they're around a partial include, meaning it's extremely difficult to determine which menu entries/sections/subsections are permission-locked without digging through everything.
8) Within different conditionals there are duplicate blocks markup, with duplicate includes, that end up render different partials/markup due to different state.
9) There are parent tags outside of includes, such as `<ul>#{render 'horrific-eye-stabbing'}</ul>`
10) The markup differs per location: sometimes it's a huge blob of non-semantic filthiness, sometimes it's a simple div+span. Example filth: section->p->a->(img,span) ... per menu entry.
11) In some places, the markup is broken, e.g. `<li><u>...</li></u>`
12) In other places, markup is used for layout adjustments, such as an single nested within several divs adorned with lots of styles/classes.
13) Per-device layouts are handled, not within separate views, but by conditionally enabling/disabling swaths of markup, e.g. (if is_cordova_session?).
14) `is_cordova_session` in particular is stored within a cookie that does not expire, and within your user session. disabling it is annoying and very non-obvious. It can get set whether or not you're using cordova.
15) There are virtually no stylesheets; almost everything is inline (but of course not actually everything), which makes for fun layout debugging.
16) Some of the markup (with inline styling, no less) is generated within a goddamn controller.
17) The markup does use css classes, but it's predominately not for actual styling: they're used to pick out elements within unit tests. An example class name: "hide-for-medium-down"; and no, I can't figure out what it means, even when looking at the tests that use it. There are no styles attached to that particular class.
18) The tests have not been updated for three years, and that last update was an rspec version bump.
19) Mixed tabs and spaces, with mixed indentation level (given spaces, it's sometimes 2, 4, 4, 5, or 6, and sometimes one of those levels consistently, plus an extra space thereafter.)
20) Intentional assignment within conditionals (`if var=possibly_nil_return_value()`)
21) hardcoded (and occasionally incorrect) values/urls.
... and last but not least:
22) Adding a new "menu sections unit" (I still haven't determined what the crap that means) requires changing two constants and writing a goddamn database migration.
I'm not even including minor annoyances like non-enclosed ternaries, poor naming conventions, commented out code, highly inefficient code, a 512-character regex (at least it's even, right?), etc.
just.
what the _fuck_
Who knew a sidebar could be so utterly convoluted?6 -
I joined a "multi-national" company in middle-east where 90% of the developers are Indian. And since it's a "multi-national" company with 50+ developers I thought they already figured it out. Most of them have 5-10 years of experience. They should know at least how to use git properly, deployment should be done via CI/CD. database changes should be run via migration script. Agile methodology, Code Review - Pull Request. Unit testing. Design Patterns, Clean Code Principle. etc etc
I thought I'm gonna learn new things here. I have never been so wrong in all my life...
Technical Manager doesn't even know what Pull Request is. They started developing the software 4 years ago but used Yii v1 instead which was released almost a decade ago. They combined it with a VueJS where in some files contains around 4000 lines of code. Some PHP functions contain 500+ of code. No proper indentions as well. The web console is bloody red with javascript errors. In short, it's the worst code I've seen so far.
No wonder why they keep receiving complaints from their 30+ clients.11 -
Around 2009 or earlier, I began the long grueling process of creating my own batch AI (yes batch as in Windows Batch , kill me for not knowing there were better languages around). Looking back at it, it is THE messiest thing I've ever created. Mostly because of how many unnecessary files were created to make the entire thing work. However, I’m still proud of it to this day because of the dedication I had put into creating the entire thing.
I would create diagrams on the mirrors in my room; of course I would be scolded for this. But I really couldn't stop thinking about my program and working through the entire thing.
I would scribble and type whenever I had the chance, trying to create the functions that would allow the thing to talk back to me. Finally, when it opened its eyes and spoke its first words I quickly started creating the functions that would allow it to learn new inputs. Over time and with some elbow grease I was able to polish it up to my liking.
The entire program branched off some of my more earlier programs in batch, they mostly ranged from the medial to the crazy; i.e. turning my computer on and off at certain times of the day, and multithreaded migration of files to new disks
It's not as sophisticated as other AI progrmas that were being made at the time, but at the age of 16 and with no experience in real programming at all, I'd say it was my first stepping stone towards more sophisticated programs, and ultimately, my decision to enter into Computer Science at all.3 -
Did you hear of the story of the fucked up data migration at the british bank TSB? People can't access their money for a week now. And people see the accounts of other bank custumers. The CEO had to call IBM for help.
https://theguardian.com/business/...3 -
I'm doing a migration where I have to move like 200+ old-old websites. Stuff was never touched for ages and we kinda moved it 'into the cloud' now.
So after a few sites I check graylog (where all the logs are stored) and I saw this gem:
stderr: PHP message: PHP Warning: file_get_contents(http://tinyurl.com/api-create.php/... Online Viagra/): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
And I was like, wtf? Is this site hacked?
Ok the sadness starts now. Behold the following:
function getTinyUrl($url) {
$tinyurl = file_get_contents("http://tinyurl.com/api-create.php/...);
return $tinyurl;
}
This function gets executed for the current link AND every dynamic href on the page.. EVERY pageload.
I was not even mad.3 -
First time my laptop acted as a CV.
I've been in a personal project with my pal for like a three months. We meet sometimes at a cafe which is a very nice workplace, we often see more people with laptops, so we are not the only ones that thinks so.
My pal was waiting for me, he got a table early and then I arrived. there was a guy nearby us.
Me: (this guy has a newest new macbook pro, fucking riche)
-- I sit, put my laptop and start to work with my pal --
The guy starts looking at my stickers without hiding his doing at all. I noticed that instantly
Me: (Crap, he's gonna ask something :( )
-- I kept discussing stuff with my pal for like 5 minutes and then it happened. the guy stands up and... --
Guy: hey! how are you? sorry for bother, are you perhaps developers? I'm asking because I saw your stickers
Me: mmm yes
Guy: Do you have a job currently?
Me: We are in a project (No need to mention this is personal project and I got my full time job)
Guy: Oh, ok, no problem, you see I got a company, and currently we are looking for people to work with us, we want frontend developers with javascript skills preferable, but anything is welcome. Interviews starts next week, so if you are interested or know someone that could be, I'll give you my card and please write me at my mail if anything.
Me: got it, no problem.
-- I tried my best to hide my displeasure face(but I think I showed it a little), for him to being a riche with a new macbook pro, and you know, the interruption, I wanted to be focused while working in da project --
-- I got the card, I read it a bit, didn't dig into too much, there was stuff to do at the moment. the guy already returned to his chair and my friend --
Pal: Excuse me Mr Guy, what's the job tittle?
Me: (FUCK! dude!, we're working in our shit, don't give him more reason to try to scout us. we are behind the schedule and I need to explain this shit to you FFS)
Guy: Oh yes, will be frontend developer(again), but if you are a full stack that will be a plus too, we got some stuff with angular 1.x(ugh), and sencha touch(ugh) and ...(don't remember what else was it)
Pal: Ok and the job is full time in site? or are you open to work remotely
Me: (ok man, you sound interested, that makes me look interested too >:( )
Guy: preferable in site, but we would consider remotely depending on the person.
Pal: Good! thank you very much Mr. X
Guy: cool
-- Later on, like two hours, my friend goes to the counter for more coffee --
-- I text him: dude, I feel the guy will kidnap me or something --
-- then the guy start looking again at my laptop and... ---
Guy: hey! Jhon was your name right? Do you have experience with devops? I see your aws stickers
Me: yes
Guy: do you have experience with microservices?
Me: yes, a bit with lambda, also I've done some stuff with kubernetes, opsworks, rds and whatnot. no biggie
Guy: oh cool! we have a devops job too, there is a migration we need to do for an app to micro services. again if you are interested or know someone that it does. please mail me :)
Me: gotcha
There were no further interactions with Mr. Guy the rest of the day.
I'll be thrilled if someone ask me about my bee and puppycat sticker12 -
Running a huge migration on our production db.
Takes 45+15 minutes (migration+tests) on my lappy. So. I'm going to be bored and slightly worried for the next hour.
Hopefully the production servers will be faster.7 -
This rant is particularly directed at web designers, front-end developers. If you match that, please do take a few minutes to read it, and read it once again.
Web 2.0. It's something that I hate. Particularly because the directive amongst webdesigners seems to be "client has plenty of resources anyway, and if they don't, they'll buy more anyway". I'd like to debunk that with an analogy that I've been thinking about for a while.
I've got one server in my home, with 8GB of RAM, 4 cores and ~4TB of storage. On it I'm running Proxmox, which is currently using about 4GB of RAM for about a dozen VM's and LXC containers. The VM's take the most RAM by far, while the LXC's are just glorified chroots (which nonetheless I find very intriguing due to their ability to run unprivileged). Average LXC takes just 60MB RAM, the amount for an init, the shell and the service(s) running in this LXC. Just like a chroot, but better.
On that host I expect to be able to run about 20-30 guests at this rate. On 4 cores and 8GB RAM. More extensive migration to LXC will improve this number over time. However, I'd like to go further. Once I've been able to build a Linux which was just a kernel and busybox, backed by the musl C library. The thing consumed only 13MB of RAM, which was a VM with its whole 13MB of RAM consumption being dedicated entirely to the kernel. I could probably optimize it further with modularization, but at the time I didn't due to its experimental nature. On a chroot, the kernel of the host is used, meaning that said setup in a chroot would border near the kB's of RAM consumption. The busybox shell would be its most important RAM consumer, which is negligible.
I don't want to settle with 20-30 VM's. I want to settle with hundreds or even thousands of LXC's on 8GB of RAM, as I've seen first-hand with my own builds that it's possible. That's something that's very important in webdesign. Browsers aren't all that different. More often than not, your website will share its resources with about 50-100 other tabs, because users forget to close their old tabs, are power users, looking things up on Stack Overflow, or whatever. Therefore that 8GB of RAM now reduces itself to about 80MB only. And then you've got modern web browsers which allocate their own process for each tab (at a certain amount, it seems to be limited at about 20-30 processes, but still).. and all of its memory required to render yours is duplicated into your designated 80MB. Let's say that 10MB is available for the website at most. This is a very liberal amount for a webserver to deal with per request, so let's stick with that, although in reality it'd probably be less.
10MB, the available RAM for the website you're trying to show. Of course, the total RAM of the user is comparatively huge, but your own chunk is much smaller than that. Optimization is key. Does your website really need that amount? In third-world countries where the internet bandwidth is still in the order of kB/s, 10MB is *very* liberal. Back in 2014 when I got into technology and webdesign, there was this rule of thumb that 7 seconds is usually when visitors click away. That'd translate into.. let's say, 10kB/s for third-world countries? 7 seconds makes that 70kB of available network bandwidth.
Web 2.0, taking 30+ seconds to load a web page, even on a broadband connection? Totally ridiculous. Make your website as fast as it can be, after all you're playing along with 50-100 other tabs. The faster, the better. The more lightweight, the better. If at all possible, please pursue this goal and make the Web a better place. Efficiency matters.7 -
#Gitlab is currently doing a Dry Run before actual migration on August 11.
In the linked blog-post I found this note:
NOTE to users in Crimea, Cuba, Iran, North Korea, Sudan, and Syria: GitLab.com may not be accessible after the migration to Google. Google has informed us that there are legal restrictions that are imposed for those countries.12 -
So I'm in the middle of the website migration that was made in Wordpress.
Just made a database dump and decided to take a look at it cause it looked really big for a site that only needs internal management. Found out they use contact form plugin which stores binary of attachments directly in database..
And people ask me why I hate Wordpress and so called Wordpress devs..6 -
When migrating from MySQL server to MariaDB and having a query start returning a completely different result set then what was expected purely because MariaDB corrected a bug with sub selects being sorted.
It took several days to identify all that was needed on that sub select was “limit 1” to get that thing to return the correct data, felt like an idiot for only having to do 7 character commit 😆4 -
.. for the first time I permanently lost access to one of my GPG keys that were actually in use. No revocation certificates, nothing in the keychains on any of my hosts... Keychain flash drive that got stolen had a copy of both, my fileserver used to have a copy of that flash drive until I deleted it to make room for a filesystem migration, and my laptop used to have one.. until I decommisioned it and shredded its hard drive to be deployed somewhere else...
fuck
I can't sign my git commits anymore, and I can't revoke the key either.
(╯°□°)╯︵ ┻━┻15 -
Well, fuck. The CTO of our startup decided to migrate data of our hundred thousand customers from a stable functioning platform to an in-house unstable platform with severe performance issues, to "save" costs, despite our repeated requests. He made us not have any contingency plans because he wanted to "motivate" us to complete the migration.
Result- we have a thousand customers reporting major issues daily, which is causing loss of revenue to both us and them. The company ran out of funding. Most of the team members were fired. And he's expecting the rest of us to magically fix everything. Dunno what kind of office politics is this, in which you're sabotaging Your Own company.
Looking for a new job now to get out of this hellhole. I really used to love this company. Feels sad to see it ruined like this.4 -
Job BS that made me consider quitting? If you find my previous rants, you find a lot of BS.
Here is one (attached is the actual email sent to me.)
TL;DR. The biggest BS part is the fact that I *got approval* from my boss to work on the migration and we already 'owned' specific project and no one else was working on it.
After I got the email (my boss sits right next to me)
Me: "Whoa..what's this!? Two weeks ago you gave me the green light to work on it."
C: "Oh yea...I forgot. Sorry."
<yes, the BS flags thrown all all over the place>
Me: "I'll schedule a meeting with everybody and straighten this out."
C: "That's a good idea, but I'll take care of it."
<10 min. later>
C: "Sorry, J said his word was final. You are not supposed to work on the project."
Me: "I never said I wanted to work on the project, it's already finished and with your approval. That's what I want straightened out."
C: "Yea..yea...I know, but J said to roll back your changes. I tried everything I could to change his mind."
Me: "I don't want his mind...never mind...I'll go talk to the boss if J won't listen"
C: "About that..um...the directive came directly from the boss. It's probably best you roll back the changes and forget this happened."
I knew then the well was already poisoned, so anything I said could be grounds for dismissal (the boss had an itchy 'firing' finger)
Time and karma took care of most of the rage. Not really a month later my boss was demoted back to developer and working on dead-end projects (porting data for reports).6 -
Every now and then I see neovim being mentioned here, which sparked my interest. Currently I use vim, vi and the likes. Given that I'm at least somewhat familiar with these, what are the differences between them and neovim, benefits of one or the other, and ease of migration?
As for why I'm not going to Stack Exchange to ask this question - I understand that this will be very opinionated, which I find desirable. There's nothing like actual user experience. But Stack Exchange being the way it is, such questions would be shot down immediately :')8 -
Wk1:, Client wants stack deployed to AWS in a day... Does it in 30 minutes...
Wk2: client complains about cost of service so requests I downsize the stack they asked for... Does so... Just to save some £££ at loss of any DR or HA capability
Wk3: Client wants stack moved to a different AWS account just cos... Advised could cause issues... Client says carry on. Migrates to account as requested on the days they requested.
Wk4: client complains that said migration caused issues and that proper change control wasn't followed..... That was never informed on..
Wk5: issue discovered to actually be network fault linked to clients wanting every £££ saved in AWS... And as the stack specialist I still have to write up a summary and findings?
Wow just get a decent AWS admin will ya....3 -
This freaking server migration has been going on since Thursday night (it's now Sunday afternoon, for reference).
I've been on the phone since 1830 last night, which means I'm away about 18 hours in. I'm finally eating dinner, breakfast, and lunch.
People who theoretically should know the environment better than I do argued with me in front of customers and then tried to say she was agreeing with me all along. She tried dropping off the call SHE WAS RUNNING 6 hours before she should have, because I was on and she thought it was becoming my responsibility. HAD SHE LISTENED, we could be done by now.4 -
Code review time:
Hey Rudy, can you approve my PR? ??? Shouldn't it be can you review my PR?(thought to myself)
Anyway, as a new practice, we(royal we) do not approve PRs with js files. If we touch one, we convert it to typescript as part of a ramp up to a migration that never seems to get here. But I digress.
I look at the laziest conversion in history.
Looked like
Import 'something';
Import 'somethingElse';
Import 'anotherSomething';
export class SomeClass {
public prop1: any;
public prop2: any;
public prop3: any;
public doWork(param: any){
let someValue = param;
// you get the idea
return someValue;
}
}
Anyway, I question if all the properties need to be visible outside of the class since everything was public.
Then if the dev could go and use type safety.
Then asked why not define the return type for the method since it would make it easier for others to consume.
Since parts of the app are still in js, I asked that they check that that the value passed in was valid(no compilation error, obviously).
Also to use = () => {} to make sure "this" is really this.
I also pointed out the import problem, but anyway.
I then see the his team leader approve the PR and then tell me that I'm being too hard on his devs. ????
Do we need to finish every PR comment with "pretty please" now?
These are grown men and women, and yet, it feels oddly like kindergarten.
I've written code in the past that wasn't pretty and I received "WTF?" as a PR comment. I then realized I ate sh*t on that line of code, corrected it and pushed the code. Then we went to Starbucks.
I'm not that old(35), but these young devs need to learn that COMPILERS DO NOT CARE ABOUT YOUR FEELINGS!!!!!
Ahhhhhh
Much better.
Thanks for the platform.10 -
Am I the last one here late to the party? Just try out and impressed by VSCode and this is my thoughts about the editors:
- I have been loyal to Sublime Text for like 5+ years, cannot complain much.
- Notepad++ was my first love, but absent on Linux so got to say goodbye.
- VSCode is the latest I try out and very rare one I could spend a couple of hours to dive into its settings to make it easier to use. The extensions are impressive!
- Atom, Bracket, and those blabla of their kind are bullshit.
- Jetbrains products are heavy ass, I can't even take a note!
- Vim is great too, but it's not the thing that I can just "open up and start typing".
- Have no idea about Emacs, but supposedly it's nowhere near its UI-friendly brothers, so I give no patience.28 -
Dev manager: Php 8 is around the corner and i'd like to move the project to it
Dev: this would be a huge change I don't think you understand what you're asking...
Manager: Yes I understand, we'll plan 2-3weeks for the migration
Dev: the app is under symfony2.4, what you're asking is completly off the mark
Manager: look we'll plan it and we'll see don't be pessimist
Dev: ok whatever
I left the company, good luck to my fellow dev5 -
I HATE TESTING DB MIGRATIONS! SHIT TAKES BLOODY FOREVER!
This one takes 20 freaking minutes each attempt, and I need to run it. yet again.
$@%&!10 -
My company just migrated our mail servers over to office365. My boss has been excited and could barely contain himself when the migration was done he was having the best day ever after he got a good deal on some new toys...Then I ruined it.
Me (setting up) > WTF!? um...well I guess I don't have email on my phone anymore. These permissions are fucked.
Him > Oh why?
Me > They are ridiculous, I won't give away this much control just to read email.
Him (panicking) > and if buy you a company phone?
Me > Not a fuck it's still a personal device. I'll just sandbox the web version.
Him > Your over reacting, they obviously need them for security blah blah...
Me (sends him the pic) > The minimum system requirement is internet.
(...silence...)
I feel kinda bad for killing his vibe - he's a nice guy and he's only trying to do right by us but now he seems down like his toy isn't shiny anymore because he respects me. I wasn't beating on the stack or his choice (mines running on thunderbird). I just can't support this trend of GOD mode permissions for email / calculator and other single feature apps. I'll use the web app instead. You have to draw the line somewhere...
On the other hand I can't deny that I'm loving the irony that Microsoft just made my life easier and have a deep sense of satisfaction that for the first time ever I got fuck up his Friday :/21 -
Just got a lection from my manager.
Today he sent me an email with request to change validation on one field validation from decimal(5,3) to int which will be 5 digit number. Ok i did that, I changed it on UI, changed validation, changed mappings, changed dtos, created migration files, and changed it in databse. After i did all of that I replied to his email and said that ive changed validation and adjusted it in database.
After my email here comes rage mail from manager with every fuckin important person in cc I kid you not. Manager is asking why the fuck did I change database when Ive could only use different validaton for that field on UI.
I Almost flipped fuckin table. What does validation good do if you wouldnt be able ti save that form? And form has like 150 fields. And if I left validation only everthing would fuckin break.
Sometimes i think that its better not to think.
FML7 -
One of our backend devs just changed an existing migration instead of creating a new one.
Thanks a lot mate.4 -
Had nothing to do today, so I thought I´ll test the migration of SVN to Git in Gitlab.
Boss sent me a mail today, that when I migrate we need to preserve the history, so I actually have to put some effort in it. *sigh*
Shout-out to the Gitlab documentation at this point.
That´s probably the best doc I´v ever read...
Well so I tried to use svn2git. And well...
Who the fuck thought that this piece of shit software is in any way usable?
Holy crap!
If it fails, it just does so without any info why. Even in verbose mode.
And the RAM usage? What the actual fuck?
This whole thing is a complete memory leak!
32Gigs of RAM full in Minutes and the whole system starts to stall!
And then when I thought it finally runs through.
Bam another git checkout error...
Googling for that error then I found something. A version of svn2git made in .Net Core.
Didn´t expect much but I tried it anyways.
And would you look at that!
It ran so smooth and didn´t need that much RAM , I had some doubt it did work correctly.
But it did!
I think I´m gonna pay a coffee or two to some guy over in China now!6 -
You know it's going to be an interesting day when you see a release note containing "migration" and "cross your fingers" in the same sentence 😅2
-
I'm going to kill management.
After a serious migration fiasco at one of our biggest costumers the platform was finally usable again (after two days instead of 10 hours) and, of course, users started to report bugs. So good old po came in ranting that we as qa did a horrible job and basically tried to fault us for a fucked up update (because we produced user pain, which of course not being able to log in didn't do). Among the issues: If the user has more than a hundred web pages the menu starts looking ugly, the translation to dutch in one string on the third submenu of a widget doesn't work and a certain functionality isn't available even if it's activated.
Short, they were either not a use case or very much minor except for that missing function. So today we've looked through the entire test code, testing lists, change logs and so on only to discover that the function was removed actively during the last major update one and a half years ago.
Now it's just waiting for the review meeting with the wonderful talking point "How could effective QA prevent something like this in the future" and throwing that shit into his face.
I mean seriously, if you fuck shit up stand by it. We all make mistakes but trying to pin it on other people is just really, really low.8 -
I haven't ranted for today, but I figured that I'd post a summary.
A public diary of sorts.. devRant is amazing, it even allows me to post the stuff that I'd otherwise put on a piece of paper and probably discard over time. And with keyboard support at that <3
Today has been a productive day for me. Laptop got restored with a "pacman -Syu" over a Bluetooth mobile data tethering from my phone, said phone got upgraded to an unofficial Android 9 (Pie) thanks to a comment from @undef, etc.
I've also made myself a reliable USB extension cord to be able to extend the 20-30cm USB-A male to USB-C male cord that Huawei delivered with my Nexus 6P. The USB-C to USB-C cord that allows for fast charging is unreliable.. ordered some USB-C plugs for that, in order to make some high power wire with that when they arrive.
So that plug I've made.. USB-A male to USB-A female, in which my short USB-C to USB-A wire can plug in. It's a 1M wire, with 18AWG wire for its power lines and 28AWG wires for its data lines. The 18AWG power lines can carry up to 10A of current, while the 28AWG lines can carry up to 1A. All wires were made into 1M pieces. These resulted in a very low impedance path for all of them, my multimeter measured no more than 200 milliohms across them, though I'll have to verify and finetune that on my oscilloscope with 4-wire measurement.
So the wire was good. Easy too, I just had to look up the pinout and replicate that on the male part.
That's where the rant part comes in.. in fact I've got quite uncomfortable with sentences that don't include at least one swear word at this point. All hail to devRant for allowing me to put them out there without guilt.. it changed my very mind <3
Microshaft WanBLowS.
I've tried to plug my DIY extension cord into it, and plugged my phone and some USB stick into it of which I've completely forgot the filesystem. Windows certainly doesn't support it.. turns out that it was LUKS. More about that later.
Windows returned that it didn't support either of them, due to "malfunctioning at the USB device". So I went ahead and plugged in my phone directly.. works without a problem. Then I went ahead and troubleshooted the wire I've just made with a multimeter, to check for shorts.. none at all.
At that point I suspected that WanBLowS was the issue, so I booted up my (at the time) problematic Arch laptop and did the exact same thing there, testing that USB stick and my phone there by plugging it through the extension wire. Shit just worked like that. The USB stick was a LUKS medium and apparently a clone of my SanDisk rootfs that I'm storing my Arch Linux on my laptop at at the time.. an unfinished migration project (SanDisk is unstable, my other DM sticks are quite stable). The USB stick consumed about 20mA so no big deal for any USB controller. The phone consumed about 500mA (which is standard USB 2.0 so no surprise) and worked fine as well.. although the HP laptop dropped the voltage to ~4.8V like that, unlike 5.1V which is nominal for USB. Still worked without a problem.
So clearly Windows is the problem here, and this provides me one more reason to hate that piece of shit OS. Windows lovers may say that it's an issue with my particular hardware, which maybe it is. I've done the Windows plugging solely through a USB 3.0 hub, which was plugged into a USB 3.0 port on the host. Now USB 3.0 is supposed to be able to carry up to 1A rather than 500mA, so I expect all the components in there to be beefier. I've also tested the hub as part of a review, and it can carry about 1A no problem, although it seems like its supply lines aren't shorted to VCC on the host, like a sensible hub would. Instead I suspect that it's going through the hub's controller.
Regardless, this is clearly a bad design. One of the USB data lines is biased to ~3.3V if memory serves me right, while the other is biased to 300mV. The latter could impose a problem.. but again, the current path was of a very low impedance of 200milliohms at most. Meanwhile the direct connection that omits the ~200ohm extension wire worked just fine. Even 300mV wouldn't degrade significantly over such a resistance. So this is most likely a Windows problem.
That aside, the extension cord works fine in Linux. So I've used that as a charging connection while upgrading my Arch laptop (which as you may know has internet issues at the time) over Bluetooth, through a shared BNEP connection (Bluetooth tethering) from my phone. Mobile data since I didn't set up my WiFi in this new Pie ROM yet. Worked fine, fixed my WiFi. Currently it's back in my network as my fully-fledged development host. So that way I'll be able to work again on @Floydian's LinkHub repository. My laptop's the only one who currently holds the private key for signing commits for git$(rm -rf ~/*)@nixmagic.com, hence why my development has been impeded. My tablet doesn't have them. Guess I'll commit somewhere tomorrow.
(looks like my rant is too long, continue in comments)3 -
Let's take a minute of silence for all of our fellow developers currently involved in monolith migration projects.2
-
TL;DR : do we need a read-only git proxy
Guys, I just thought about something and this potential gitpocalypse.
There is no doubt anymore that regardless of Microsoft's decisions about Github, some projects will or already have migrated to the competition.
I'm thinking : some projects use the git link to fetch the code. If a dependency gets migrated, it won't be updated anymore, or worse, if the previous repo gets deleted, it can break the project.
Hence my idea : create some repository facade to any public git repository (regardless of their actual location).
Instead of using github.com/any/thing.git, we could use opensourcegit.com/any/thing.git. (fake url for the sake of the example).
It would redirect to the right repository (for public read only), and the owner could change the location of the actual repository in case of a migration.
What do you think ? If I get enough ++'s, I'll create a git repo about this.6 -
yes dear colleague, it is totally fine to send me a ticket without your name in it, about a legacy website I know nothing of, that recently migrated away and is now on a server we don't maintain and for which I don't have the login credentials. I also can't log into it's CMS because, you guessed it, they changed the password after migration. But sure, just assume that I can do magic and solve the ticket just because the customer has been calling you and you got fed up with her and you wanted to go on holidays. advsfrgghsaffs!!!
-
So I fucked up.. I assigned a small wordpress/woocommerce project to myself to avoid my team members from wasting their time on it. I had a two month deadline, which was insane, so I kept postponing it until I forgot about it. Today my client contacted me by email to ask if she could preview the site before our meeting in two weeks..
QUE BULLSHIT EXCUSE:
- “I had to migrate to another server because of some access/permission issues with my current host. They gave me their word that they would be done with the migration thursday or friday, then I have to correct some permissions and database settings, and the DNS update may take up to 24 hours to finish. I will personally make sure that you know as soon as the migration has finished.”
- “Thank you so much! I feel so safe having assigned your company the job! I am really looking forward to our meeting and seeing the site!”
Oh and did I mention that deadline was around 65 days ago? And that I haven’t even started yet? I know what I’ll be doing for the next 6 days..3 -
I'm in the process of moving a web store to Shopify.
Today I was writing the product migration script and noticed about 10% of the products were missing their images after being imported, however no errors were returned from Shopify's API.
After 20 minutes of debugging I finally realized that some idiot uploaded some images in PNG format but changed the filename to a .jpg extension since our old CMS required a JPEG extension.8 -
Many of you who have a Windows computer may be familiar with robocopy, xcopy, or move.
These functions? Programs? Whatever they may be, were interesting to me because they were the first things that got me really into batch scripting in the first place.
What was really interesting to me was how I could run multiples of these scripts at a time.
<storytime>
It was warm Spring day in the year of 2007, and my Science teacher at the time needed a way to get files from the school computer to the hard-drive faster. The amount of time that the computer was suggesting was 2 hours. Far too long for her. I told her I’d build her something that could work faster than that. And so started the program would take up more of my time than the AI I had created back in 2009.
</storytime>
This program would scan the entirety of the computer's file system, and create an xcopy batch file for each of these directories. After parsing these files, it would then run all the batch files at once. Multithreading as it were? Looking back on it, the throughput probably wasn't any better than the default copying program windows already had, but the amount of time that it took was less. Instead of 2 hours to finish the task it took 45 minutes. My thought for justifying this program was that; instead of giving one man to do paperwork split the paperwork among many men. So, while a large file is being copied, many smaller files could be copied during that time.
After that day I really couldn't keep my hands off this program. As my knowledge of programming increased, so did my likelihood of editing a piece of the code in this program.
The surmountable amount of updates that this program has gone through is amazing. At version 6.25 it now sits as a standalone batch file. It used to consist of 6 files and however many xcopy batch files that it created for the file migration, now it's just 1 file and dirt simple to run, (well front-end, anyways, the back-end is a masterpiece of weirdness, honestly) it automates adding all the necessary directories and files. Oh, and the name is Latin for Imitate, figured it's a reasonable name for a copying program.
I was 14, so my creativity lacked in the naming department >_<1 -
Let’s see I suppose the most pissed off I’ve been at work would be....
Being blamed for a clients mistake when their newsletter email settings where being changed over to a new mailing system but during the change over they wanted to still send out mail using the old list. So a single endpoint was kept in place so they could send one last newsletter out after it was approved as part of the migration and they were to inform us when they were done so we could change that endpoint over.
Several months later when everyone had long forgotten about it, the client tried to send another mass mail out using the old endpoint and complained when no emails had been sent.
I was blamed for making this mistake even though management approved the fucking old endpoint to be left in place at the clients request against my concerns that someone’s going to forgot about this and I was never informed to swap it over.
I quit on the spot and walked out the door after that. -
I provide hosting for my clients. About 3 months ago I discovered that the hosting company that I'd been using had been swallowed up by EIG, which explained why the tech support had gone downhill.
So, I jumped to another hosting company. Same shit different company!
Apparently the fact that my browsers sit at "connecting" for up to 30 seconds, and I get a "could not connect to" message half the time while I'm trying to fucking work on a deadline is the fault of some plug-in in a WordPress installation!
Oh yeah? Why then does this shit happen when I'm working on a pure html/css site?
Why then did it start happening after they "updated" my shared server?!
Oh, but the bastards suggest that I buy Cloudflare or pay for more space!
You fuckers made my work take 3 times as long, and you made an important migration fail!
Network places make mistakes. We all do. That's cool. Fucking own up to it, talk to me like a techie, and DON'T TRY TO BLAME IT ON ME OR MY TOOLS!
Fuck you! I think I'm gonna give Google Cloud a try, and do this shit myself!7 -
I'm going on vacation next week, and all I need to do before then is finish up my three tickets. Two of them are done save a code review comment that amounts to combining two migrations -- 30 seconds of work. The other amounts to some research, then including some new images and passing it off to QA.
I finish the migrations, and run the fast migration script -- should take 10 minutes. I come back half an hour later, and it's sitting there, frozen. Whatever; I'll kill it and start it again. Failure: database doesn't exist. whatever, `mysql` `create database misery;` rerun. Frozen. FINE. I'll do the proper, longer script. Recreate the db, run the script.... STILL GODDAMN FREEZING.
WHATEVER.
Research time.
I switch branches, follow the code, and look for any reference to the images, asset directory, anything. There are none. I analyze the data we're sending to the third party (Apple); no references there either, yet they appear on-device. I scour the code for references for hours; none except for one ref in google-specific code. I grep every file in the entire codebase for any reference (another half hour) and find only that one ref. I give up. It works, somehow, and the how doesn't matter. I can just replace the images and all should be well. If it isn't, it will be super obvious during QA.
So... I'll just bug product for the new images, add them, and push. No need to run specs if all that's changed is some assets. I ask the lead product goon, and .... Slack shits the bed. The outage lasts for two hours and change.
Meanwhile, I'm still trying to run db migrations. shit keeps hanging.
Slack eventually comes back, and ... Mr. Product is long gone. fine, it's late, and I can't blame him for leaving for the night. I'll just do it tomorrow.
I make a drink. and another.
hard horchata is amazing. Sheelin white chocolate is amazing. Rum and Kahlua and milk is kind of amazing too. I'm on an alcoholic milk kick; sue me.
I randomly decide to switch branches and start the migration script again, because why not? I'm not doing anything else anyway. and while I'm at it, I randomly Slack again.
Hey, Product dude messaged me. He's totally confused as to what i want, and says "All I created was {exact thing i fucking asked for}". sfjaskfj. He asks for the current images so he can "noodle" on it and ofc realize that they're the same fucking things, and that all he needs to provide is the new "hero" banner. Just like I asked him for. whatever. I comply and send him the archive. he's offline for the night, and won't have the images "compiled" until tomorrow anyway. Back to drinking.
But before then, what about that migration I started? I check on it. it's fucking frozen. Because of course it fucking is.
I HAD FIFTEEN MINUTES OF FUCKING WORK TODAY, AND I WOULD BE DONE FOR NEARLY THREE FUCKING WEEKS.
UGH!6 -
Yay, I have to rewrite + design a 15-20 year old website 🎉
Originally written in, God knows what version of php, HTML and JS by a Java dev, and patched every other year when something broke or a new feature was needed, every time by someone new...
Some years ago the system was moved from a Windows host to Ubuntu and that was a nightmare in its own, because of all the hard-coded paths...
Welp, at least some fucker found another fucker who is willing to create a new design for the site, so that's off my plate...5 -
It's sometimes good I work remotely from the rest of my team.... So other can't see how pissed I'm while chatting with them...
Just did an afternoon basically hand holding someone... And well this is the 3rd day... And the original instructions I gave them was: here's the problem, here the code fix, now you need to change it for the other 10 APIs it affects (OS migration).
I have another problem I need to figure out....
Yes I could do it all myself and it would be faster but I don't want to be the only person who can do this stuff either...
But can you just try to use your brain and figure things out before asking how to ....
I don't know am I that much more experienced than everyone else so I just know how to figure things out quickly, know to the learn efficiently? Ask the right questions to Google?
How hard is it to just learn to Google your problems... 80% of the questions u ask me I either tell you to Google it or actually end up googling the answer myself...2 -
Yay, my raspberry pi and it's projects are now on php7
Damn, Apache was the real pain in the ass with this migration, # ae2enmod php7.2 apparently is for it to decide if it will respect my sudo'n decisions😂5 -
Company switched some users from windows 7 to windows 10 overnight. Installation failed for most of the Dev team.
- No admin access
- Files missing
- Programs missing
Result : we can't work :/5 -
And once again, Spotify just leaves me speechless.
I guess I don't actually need to talk about this clusterfuck of a mobile app getting more and more slow and unstable with every update. So let's talk about something else.
When I cracked the first limit, I thought it had to be a joke. 9.999 songs can be downloaded at once. But not all on one device. You can download 3.333 songs each to three separate devices - regardless of the fact that there is more than enough space left on the device and you are not even using any other device.
When I read this one [-> https://goo.gl/43YwKm ], I really got angry:
"If you move, or enter the wrong details, you need to create a new account (make sure you cancel the plan on your old account beforehand, and sign out everywhere) and subscribe to Premium for Family on that new account."
I don't even know how to respond to this except with insane wrath.
So now I cracked the next one. My library is full. The maximum number of songs that can be stored in the library is 10.000 and not one more.
If they wanted more money for the additional ressources, I'd even understand that. Yes, the suggestion calculations become more expensive, I do know that. And I would even pay for that. But there is no such option.
Instead, the company is making the most customer hostile decisions I could imagine.
Even though the competition proves that a multiple of such a limit is not a problem at all (Google Music: 50.000 songs / Apple Music: 100.000 songs).
And you have to create a new account when you move? That's hard to beat for impudence, especially wigh regard of the fact that no migration service is provided, so a person like me would spend a long time transferring all the stored music and playlists.
I'm not even sure it's complying with European law not to be able to see your address online, let alone change it.
And all of that because they know they can afford it anyway, since although the competition is a lot better on that score, they simply can't keep up in the matter of spectrum and algorithms.
And if I can only take 70% of my music with me when I change the service, I can just as well delete 3.000 songs from my library and stay with Spotify.
What a fucking wreck. I really don't get it.13 -
Damn maintenance windows. I mean, I get that the SaaS product my boyfriend works on can't go out in the middle of the day. But he just spent weeks on a business trip, with an absolutely mad sleep schedule because he's redesigning their data center (or something. Don't ask me, it's a hardware problem...) and now he's finally coming home today and I'm super excited but all he's going to want to do this weekend is sleep. Even though I'd love to spend Sunday going to this yearly event, or finally getting another round of DnD in (everyone else in the group is available). But nope. Bloody all-hours work is taking away his (and thus my) weekend too.2
-
I am so fucking fed up with hour registration. I have to write 8 hours a day, and me being on Service duty basically means that we work in intervals that can be as small as 15mins to 30mins. And ofc I don't just have to write down what I did, but also which customer it was for, usually accompanied by a ticket number. There are more than a hundred different posts. And don't I dare writing internal hours - say, testing with after a migration - onto a wrong post accidentally. Internal shitstorm is sure to follow. I hate administration, just let me do my goddamn job, aaarggh!!!2
-
I was testing database migration and there was some issues which I couldn't fix them. So I drop the table just to test if the issues are still there.
"Why nothing have been changed?" After some minutes I realize it was production database which I had dropped 😓1 -
Convo with me and my bestie trying to help him with sharepoint migration from Sharepoint 2010 to 365.4
-
Why I hate my job.
They recruited me 17 months ago to work on rebuilding their internal WordPress sites. Along the way they lost their full-stack developer so I’ve stepped in and took over his workload - including two server rebuilds and a single domain Magento 1.9 migration. The server rebuilds were required as the old ones were fraught with issues and were going down daily.
It’s taken until now (I stared on 2nd Jan) to finally begin working on one of WordPress rebuilds. I’ve also been essentially promised Magento 2.0 training to allow us to migrate our systems.
So, to the crooks of the matter. I’ve been informed by my Manager that BOTH of the Magento 2 sites will be sent to an agency (significantly more expensive than upskilling) and BOTH of the other WordPress rebuilds will be sent to agencies as well which leaves me to wonder just exactly what the fuck my purpose is here.
And, to top it off, they’ve decided to move our hosting to an external company. So I won’t be maiming the servers either. 17 months to work on one single WordPress rebuild... so angry right now and I don’t know how to handle it other than to leave. I just can’t think of any other word to describe them than disrespectful.3 -
So ok here it is, as asked in the comments.
Setting: customer (huge electronics chain) wants a huge migration from custom software to SAP erp, hybris commere for b2b and ... azure cloud
Timeframe: ~10 months….
My colleague and me had the glorious task to make the evaluation result of the B2B approval process (like you can only buy up till € 1000, then someone has to approve) available in the cart view, not just the end of the checkout. Well I though, easy, we have the results, just put them in the cart … hmm :-\
The whole thing is that the the storefront - called accelerator (although it should rather be called decelerator) is a 10-year old (looking) buggy interface, that promises to the customers, that it solves all their problems and just needs some minor customization. Fact is, it’s an abomination, which makes us spend 2 months in every project to „ripp it apart“ and fix/repair/rebuild major functionality (which changes every 6 months because of „updates“.
After a week of reading the scarce (aka non-existing) docs and decompiling and debugging hybris code, we found out (besides dozends of bugs) that this is not going to be easy. The domain model is fucked up - both CartModel and OrderModel extend AbstractOrderModel. Though we only need functionality that is in the AbstractOrderModel, the hybris guys decided (for an unknown reason) to use OrderModel in every single fucking method (about 30 nested calls ….). So what shall we do, we don’t have an order yet, only a cart. Fuck lets fake an order, push it through use the results and dismiss the order … good idea!? BAD IDEA (don’t ask …). So after a week or two we changed our strategy: create duplicate interface for nearly all (spring) services with changed method signatures that override the hybris beans and allow to use CartModels (which is possible, because within the super methods, they actually „cast" it to AbstractOrderModel *facepalm*).
After about 2 months (2 people full time) we have a working „prototype“. It works with the default-sample-accelerator data. Unfortunately the customer wanted to have it’s own dateset in the system (what a shock). Well you guess it … everything collapsed. The way the customer wanted to "have it working“ was just incompatible with the way hybris wants it (yeah yeah SAP, hybris is sooo customizable …). Well we basically had to rewrite everything again.
Just in case your wondering … the requirements were clear in the beginning (stick to the standard! [configuration/functinonality]). Well, then the customer found out that this is shit … and well …
So some months later, next big thing. I was appointed technical sublead (is that a word)/sub pm for the topics‚delivery service‘ (cart, delivery time calculation, u name it) and customerregistration - a reward for my great work with the b2b approval process???
Customer's office: 20+ people, mostly SAP related, a few c# guys, and drumrole .... the main (external) overall superhero ‚im the greates and ur shit‘ architect.
Aberage age 45+, me - the ‚hybris guy’ (he really just called me that all the time), age 32.
He powerpoints his „ tables" and other weird out of this world stuff on the wall, talks and talks. Everyone is in awe (or fear?). Everything he says is just bullshit and I see it in the eyes of the others. Finally the hybris guy interrups him, as he explains the overall architecture (which is just wrong) and points out how it should be (according to my docs which very more up to date. From now on he didn't just "not like" me anymore. (good first day)
I remember the looks of the other guys - they were releaved that someone pointed that out - saved the weeks of useless work ...
Instead of talking the customer's tongue he just spoke gibberish SAP … arg (common in SAP land as I had to learn the hard way).
Outcome of about (useless) 5 meetings later: we are going to blow out data from informatica to sap to azure to datahub to hybris ... hmpf needless to say its fucking super slow.
But who cares, I‘ll get my own rest endpoint that‘ll do all I need.
First try: error 500, 2. try: 20 seconds later, error message in html, content type json, a few days later the c# guy manages to deliver a kinda working still slow service, only the results are wrong, customer blames the hybris team, hmm we r just using their fucking results ...
The sap guys (customer service) just don't seem to be able to activate/configure the OOTB odata service, so I was told)
Several email rounds, meetings later, about 2 months, still no working hybris integration (all my emails with detailed checklists for every participent and deadlines were unanswered/ignored or answered with unrelated stuff). Customer pissed at us (god knows why, I tried, I really did!). So I decide to fly up there to handle it all by myself16 -
Trying to teach a friend Rails
Friend: what is a migration
Me: file that alters the database etc.
Friend: what is a migration4 -
I just finished upgrading a dotnet core 2.2 WebApi + Console App to dotnet core 3.1 and it was a very smooth process with very minor changes to my code.
Not a rant, just posting because it is the first nice thing that has happened for me in a while now.4 -
Internal mail form CIO's office:
"Thank you for being part of the internal trial for NPMe, we have decided to remove this tool in favour of Artifactory because of its support for multiple platforms and tools. We are sorry for the inconvenience, here is a link to migration scripts ..."
Migration "script" readme, please clone this repo, create file A, and B, and install these 2 dependencies.
Dependency 1:
- "install via homebrew ..."
- .... homebrew needs to update, checking for updates
- 10 mins later = Update failed, please upgrade to Ruby version 2.3
- Installs ruby version manager
- GPG signature verification failed
- Install GPG v2 + accept keys
- Install ruby version manager
- "please execute this command before running rvm"
- execute command
- "rvm install ruby-2.3"
- Install failed, please see log file
- Opens log file
- "Xcode on its own is not sufficient, please install xcode cli tools"
- Install xcode tools
- 5 minutes later -> "rvm install ruby-2.3"
- 10 minutes later "brew install jq"
Ok back to read me, "login to Artifactory, go here and copy paste XXX."
- Login to Artifactory
- Eventually find repo
- Login again to actually see credentials for some reason
- Screen doesn't match instructions in readme
- Click around
- Back to readme
- Back to artifactory
- Login again
- Execute command auth / setup command
- Copy contents to npmrc file .... now all my scoped packages are going to point to 1 specific repo
Fuck the migration, Fuck these shitty instructions, i'll set them all up again manually. See tags below for further opinions on this matter.undefined fuck ruby fuck homebrew fuck this fuck shitty cli fuck artifactory fuck cli fuck jq fuck rvm2 -
My day:
9 am: crack knuckles, ready to start day
9:01 am: oh, that PR I sent last week hasn't been reviewed yet and I need it in mainline. Better merge latest and get someone to look over it.
9:02 am: now the test suite is broken, better fix that up before getting it reviewed.
1 pm: phew, that was a slog. Now to get on with today actual programming
1:01 pm: "hey buddy, you coming to that tech leads strategy meeting?"
5 pm: Jesus what a meeting. Now maybe I can get a little code written. I'll just fast-forward to latest...
5:01 pm: WHAT DO YOU MEAN THERES A BAD MIGRATION AND EVERYONE SHOULD AVOID USING THE LATEST VERSION WHY DIDN'T YOU REVERT THAT SHIT DO I NEED TO COME OVER THERE AND RESTRICT YOUR STUPID WINDPIPE UNTIL YOU UNDERSTAND GIT *RAGE TABLEFLIP*2 -
Alright lads here is the thing, have not been posting anything other than replies to things cuz I have been busy being miserable at school and dealing with work stuff.
Our manager left us back in February. Because she was leaving I decided that I wanted to try a different path and went on to become a programmer analyst for my institution, if anything I knew that it was going to be pretty boring work, but it came with nice monetary compensation and a foot in the door for other data science related jobs in the future. Thing is, the department head asked me to stay in the web technologies department because we had a lack of people there and hiring is hard as shit, we do not do remote jobs since our work usually requires a level of discretion and security. Thus I have been working in the web tech department since she left albeit with a different title since I aced the interview for the analyst position and the team there were more than happy to have me. I have done very few things for them, some reports here and there and mostly working directly with the DBA in some projects. One migration project would have costed my institution a total of 58k and we managed to save the cost by building the migration software ourselves.....honestly it was a fucking cake walk, if you had any doubts about the shaddyness of enterprise level applications regarding selling overpriced shit with different levels of complexity, keep them, enterprise is shaddy af indeed. But I digress.
I wrote the specification for the manager position along the previous manager, we had decided that the next candidate needed to be strong with development knowledge as well as other things as to properly understand and manage a software team, we made the academic requirement(fuck you, yes we did ask for academic requirements) to be either in the Computer Science/software engineering area or at least on the Business Administration side. We were willing to consider BA holders in exchange for having knowledge of the development process of different products and a complete understanding of what developers go through. NOT ONE SINGLE motherfucker was able to satisfy this, some of them were idiots that I knew from before that had ABSOLUTELY no business even considering applying to the position, the courage it took for some of these assholes to apply would have hurt their mothers, their God if they had one, and their country, they were just that fucking bad in their jobs as well as being overall shit people.
Then we had 1 candidate actually fall through the cracks enough to get an interview. My dude here was lying out of his ass through the interview process. According to him he had "lots of Laravel experience and experience managing Laravel projects" and mentioned repeatedly how it would be a technology that we should consider for our products. I was to interview him alongside the vice president of our institution due to the head of my department and the rest of the managers for I.T being on vacation leave all at the same bloody time.
Backstory before the interview:
Whilst I was going over the interview questions with the vice president literally offered me the job instead. I replied with honesty, reflecting how I did not originally wanted him but feeling that our institution was ready to settle on any candidate due to the lack of potentials. He was happy to do it since apparently both him and the HOD were expecting me to step up sooner or later. I was floored.
Regardless, out of kindness he wanted to go through the interview.
So, going back to the interview. As soon as the person in question referenced the framework I started to ask him about it, just simple questions, the first was "what are your thoughts on the Eloquent ORM? I am not too fond of it and want to know what you as a full time laravel dev think of it"
his reply: "I am sorry I am not too familiar with it, I don't know what that is" <--- I appreciated his honesty in this but thought it funny that someone would say that he was a Laravel developer whilst not knowing what an ORM was since you can't really get away from using it on the initial stages of learning about Laravel, maybe if one wanted to go through the hurdle of switching to something like doctrine...but even then, it was....odd.
So I met with the hod when he came back, he was stoked at the prospect of having me become the manager and I happily accepted the position. It will be hell, but I don't even need to hit the ground running since I have been the face of the department since ages. My team were ecstatic about it since we are all close friends and they have been following my directions without complaints(but the ocational eat a dick puto) for some time, we work well together and we are happy to finally have someone to stop the constant barrage that comes from people taking advantage of a missing manager.
Its gonna get good, its gonna get fun, and i am getting to see how shit goes.7 -
I've got this customer who for some fucking reason won't change their DNS to point to our new servers, but wants to fucking stay on that old piece of crap, where we have to ask our sub-provider to generate a CSR to send to our customer to use to sign a certificate to send to us to send to our sub-provider. Because yeah, that's so much fucking easier than just pointing your domain to our new system, and get SSL set up automatically. For fucks sakes! And also, your certificate expires tomorrow, and since our idiot sub-provider hasn't responded to my email about CSR in a week, you basically have no option. So get that thumb out your butt and just switch the DNS!
-
Client from hell, next chapter.
As money comes in, project won't be canceled.
Only madness comes for free.
Newest insanity.... We had to explain that in a warehouse system a unique article number as an identifier is a must.... This discussion took 20 minutes.
The reason? Saving 2 secs as they don't have to enter the supplier item number....
Their plan?
Article Number can be...
Integer, automatically assigned
String, Supplier Name and Supplier Item Number seperated by a delimiter....
The argument that stopped this insanity... Costs.
We argued that if we are forced to implement something which we believe will be a high costs, no value, nonsense feature we won't do the necessary migration and programming after reversal as in 'find someone else who unbreaks this insanity'...
Did they understand that a warehouse system without article number for reference is dumb? Nope.1 -
OMG people please stop being so fucking lazy... help me help you... RN I have multiple support people asking me to fix a bug that they can't even describe (and honestly I doubt it exists) and a fellow developer who refuses to give me a DB or migration to test his patch but wants me to merge it urgently. FOH and die, y'all.20
-
First company I worked for, overall it was a good experience, but at one point they promoted a consultant to project manager, and their planning skills were about as good as their people skills, which is to say, appalling.
We had a project update for a huge client, that required, for political BS reasons, that most of the team spend several weeks on-site, 300km away from home.
Go-live was approaching, and the plan was: migration starts Friday night, shortly after midnight (so actually, Saturday) once the client’s IT confirms DB is backed up. Expected duration: 5 hours.
- So, you expect me to work from midnight to 5am on Saturday? And when do we start working on Friday?
- 9am, of course.
- 9am!? So you actually planned a 20 hour work day? (Note: legal maximum here is 10 hours in a day, 40 a week)
- And we have to be there on Saturday 1pm to recheck everything is running smooth.
wtaf were they thinking?1 -
...He hired a shit dev who did the same work in 3 times less than what I asked for.
He's now back crying to fix his Fuck up.
You ask how I know he is shit. He SSH-ed into the server. Worked directly off the production files. Worst of all, he installed phpmyadmin, changed the db structure without even writing a fucking migration !!!
How the hell am I supposed to know what he changed!! It's gonna be a long night 😥6 -
Didn't reviewed the migration file and ran the script on production which altered the column from LONGTEXT to TINYTEXT and truncated all the data. 😞2
-
Dear past me,
never ever offer a customer to rename their databases during migration.
Renaming databases in mysql is evil and will cost you more time than you think,
sincerely, my present me.
Ugh, stupid triggers and procedures >_>1 -
I just released the first version of my most successful project. :)
It's a salesforce data migration tool that replaces AutoRabit for our company. The tool includes an own programming language to freely manipulate records and compared to AutoRabit which needs 12 hours for a full migration my tool needs 8.
Minutes.
A total of 18k fucking loc.4 -
Took the weekend to finish my phase out of Windows on my desktop and laptop.
Finally going Linux full time!
Goodbye constant forced reboots, awful updates, and lost files!5 -
Microsoft engineer walks into my room. we need to join your laptop to the domain, as part of the migration and upgrade company policy. so I give the guy my laptop. The guy has an agonizing look on his face! He goes. This is linux! Mind you all this time am nodding and bouncing on my chair. The guy bolts from my room, as if he was going to report direct to Bill Gates. Apparently the dev team was left out in the whole migration plan!5
-
Big-time Microsoft fan who claims they've been using licensed versions of Windows since Windows 3.0. Still has all old versions of Windows on different machines / hard-disks. They use only Microsoft Surface devices. They still use Nokia Lumia (with Windows Phone 10). They were working with an organization that used Office365 for enterprise email and collaboration. They used Microsoft Teams for team collaboration when the rest of the organization was comfortable with Atlassian tools like jira, confluence and bitbucket.
One fine day, news spreads that the organization is moving into GSuite for enterprise email and collaboration. They are devastated. They quit citing personal and family reasons, but we knew the real reason.16 -
I just spent more than an hour helping my dad getting into his web mail again.
The provider he used as until now has merged with Vodafone, they also merged the webmail client. And ffs they made a mess of it. You had to request a new activation code and enter that into a one of three different forms all on one page with seriously confusing information as to which one you needed to use to reregister. After finally finding the right one and you can log in, they keep trying to get direct you to the Vodafone mail, not the original provider's webmail, which they kept separate. An all-in-all awful user experience. They had a downtime of about 10 days during the migration, and I still find bugs like endless loops while trying to load some sub-pages.
I can't help but wonder what all went wrong on the dev and devops side here. The downtime was awfully long, even for such a complicated merger. Was the dev team understaffed, or under qualified, or both? I also got my doubts about whether any UX staff was involved at all. The only thing I know is that as soon as I'm home for Easter, I will switch my dad over to a different mail client. Thanks Vodafone for one hour that I'll never get back.1 -
I think I made someone angry, then sad, then depressed.
I usually shrink a VM before archiving them, to have a backup snapshot as a template. So Workflow: prepare, test, shrink, backup -> template, document.
Shrinking means... Resetting root user to /etc/skel, deleting history, deleting caches, deleting logs, zeroing out free HD space, shutdown.
Coworker wanted to do prep a VM for docker (stuff he's experienced with, not me) so we can mass rollout the template for migration after I converted his steps into ansible or the template.
I gave him SSH access, explained the usual stuff and explained in detail the shrinking part (which is a script that must be explicitly called and has a confirmation dialog).
Weeeeellll. Then I had a lil meeting, then the postman came, then someone called.
I had... Around 30 private messages afterwards...
- it took him ~ 15 minutes to figure out that the APT cache was removed, so searching won't work
- setting up APT lists by copy pasta is hard as root when sudo is missing....
- seems like he only uses aliases, as root is a default skel, there were no aliases he has in his "private home"
- Well... VIM was missing, as I hate VIM (personal preferences xD)... Which made him cry.
- He somehow achieved to get docker working as "it should" (read: working like he expects it, but that's not my beer).
While reading all this -sometimes very whiney- crap, I went to the fridge and got a beer.
The last part was golden.
He explicitly called the shrink script.
And guess what, after a reboot... History was gone.
And the last message said:
Why did the script delete the history? How should I write the documentation? I dunno what I did!
*sigh* I expected the worse, got the worse and a good laugh in the end.
Guess I'll be babysitting tomorrow someone who's clearly unable to think for himself and / or listen....
Yay... 4h plus phone calls. *cries internally*1 -
I started to work in the CreditCard / Bank business a year ago.
Now they stopped the hole server migration project, so I leave again. They could have had it all. Server 2016, SQL 2016, Citrix, Surface Books and so on.
But no, the new shitty projects are more important than security or on what technology the system is build on.
Seems like the FTP Server will run on Windows 2003 forever...4 -
Migration in progress (long one, lasting over a month)
PM: Let's schedule a meeting to discuss migration progress
PM: Let's schedule a meeting to agree on what should we test
PM: Let's schedule a meeting to get specs of the new infra
Seriously, PMs. One 1 hour long meeting costs at least 4 hours of productive time (1 hour for travel, 1 hour for the meeting, 1+ hour for preparing for the meeting, 1+ hour for post-meeting discussions). And more often than not all meetings end with "We will come back to you later in regards to <some question not answered during meeting>" and it always means "we'll continue this chat via emails"
Why can't you first ask "do we need a meeting or can we sort this out via email?" ??? Or are you intentionally wasting everyone's time?4 -
I just have to rant...
7 months ago, I was still a pretty new iOS developer, but finally coming into my own. My boss gave me my first feature ever... a fully custom backend tweaker for our development builds, complete with text fields that devs and testers alike could fill in themselves for whatever they needed to test. I worked harder on that than I’ve ever worked on anything... and I got to make all the decisions on how it looked, behaved, what exactly the user saw/read... everything.
A month ago the most senior dev on my team was asked to update the tool to prepare for a backend migration to a new server. He was then hired to work for Apple, hurried to finish this task, and left forever. (He deserves it, we probably were slowing him down realistically. But that doesn’t forgive the following...)
Unfortunately, he thought it’d be a good idea to remove my entire custom backend tool in the process. Not sure why— maybe he thought it was legacy code or something. He must not have tested either, because the entire backend selector stopped working after that. But that was no problem— I could fix the pre-filled environment buttons just by updating a few values.
It’s the fact that he removed 100+ lines of my custom code from 3 separate classes (including entirely removing one of those classes), for no known reason, and now I have to completely rebuild the feature. Since it was entirely custom, it required no change for our migration in the first place. But he rewrote how the entire view works by writing an entirely new VC, so there is no chance I can just restore my work as it was written.
And in the shared class, he erased every line with the word “custom.” So, so many lines of hard work, now irrelevant and only visible in old defunct versions. And my boss has asked me to “just make it look how it did before the migration.”
I know it’s useless to be angry at a guy who’s long gone, but damn. I am having a real hard time convincing myself to redo all this work. He removed every trace, and all I can think is WHY DID YOU DO THAT YOU FUCKING MONSTER? IT WAS MY GREATEST WORK, AND NOBODY ASKED YOU TO DESTROY IT. THIS WAS NOT EVEN RELATED TO THE TASK YOU WERE GIVEN, AND NOW A SIMPLE TICKET TO RESTRUCTURE A TOOL HAS BECOME A MANDATE TO REBUILD IT FROM SCRATCH.
Thank you for being here, devRant. I would’ve gotten myself into deep trouble long ago if I didn’t have this safe place to blow off steam 🙏4 -
Promised to stay late to run a large deploy.
Now waiting for a large schema migration on a 7M row table.4 -
MySpace has lost its entire music catalogue pre-2016, an estimated 50 million songs in a failed server migration: https://theregister.co.uk/2019/03/...8
-
Since Parse is shutting down by January 27th, I need to migrate my startup application's entire database to a new platform. What a pain. I'm thinking of doing Firebase...11
-
If they followed my suggestion and went straight to debugging the server issues they would have been solved it from week 1 and everyone would have thought the migration had a minor performance hiccup. In fact, we have already done such at least twice before and nobody batted an eye.
Instead they self-labelled the migration a failure on first error, setting the stage for apologizing to the client, and put themselves on the spot for a whole staging / production signoff, replication / backup worfklow, almost a blue-green "seamless" deployment reminiscent of DigitalOcean.
Well they're not DigitalOcean, and anyone who has spent any time understanding users knows they will not participate in "new system" tests long enough to find or report issues.
So of course the migration stretched out to almost three months up until the whole reason for the migration - the rapidly escalating risk of the old provider disappearing - hit like a freight train and now they have to go through the problem of debugging the server like I told them to on week 1. Only this time they've set the client mindset against it, lost any chance of reverting, have had grave risk for data loss, and are under pressure to debug other people's code in real-time.
This is why I don't trust devs to do ops. A dev's first solution to any problem is to throw tech at it. -
!rant
Wish me luck. I am done with the spaghetti mess.
There is a stock management system written using laravel and jQuery. There are mistakes in database structure. There are lots of I-dont-know-what-this-function-do-so-i-should-leave-it-alone codes. There are lots of repeated and duplicated functions.
Gonna start things from scratch and will also start using vue. This week's Thursday and Friday are public holidays here. I hope I can code my ass off and finish the migration/refactoring/cleaning shit by Sunday.1 -
29 hours straight. From a thursday morning at 8 to friday around lunch at 13. No sleep at all.
A coworker became a dad a week before, so now I had to complete his data migration project. Had not been involved in the project at any point until his son was born.
But I made it and got a bonus in the end👍🏻 -
About today when I was trying to migration 2 million+ records simultaneously!
Ran two migration @ once and this happened!
PS: On restart everything is back to normal but lost 2 tables data which needs remigration!6 -
It all started with an undelivereable e-mail.
New manager (soon-to-be boss) walks into admin guy's office and complains about an e-mail he sent to a customer being rejected by the recipient's mail server. I can hear parts of the conversation from my office across the floor.
Recipient uses the spamcop.net blacklist and our mail was rejected since it came from an IP address known to be sending mails to their spamtrap.
Admin guy wants to verify the claim by trying to find out our static public IPv4 address, to compare it to the blacklisted one from the notification.
For half an hour boss and him are trying to find the correct login credentials for the telco's customer-self-care web interface.
Eventually they call telco's support to get new credentials, it turned out during the VoIP migration about six months ago we got new credentials that were apparently not noted anywhere.
Eventually admin guy can log in, and wonders why he can't see any static IP address listed there, calls support again. Turns out we were not even using a static IP address anymore since the VoIP change. Now it's not like we would be hosting any services that need to be publicly accessible, nor would all users send their e-mail via a local server (at least my machine is already configured to talk directly to the telco's smtp, but this was supposedly different in the good ol' days, so I'm not sure whether it still applies to some users).
In any case, the e-mail issue seems completely forgotten by now: Admin guy wants his static ip address back, negotiates with telco support.
The change will require new PPPoE credentials for the VDSL line, he apparently received them over the phone(?) and should update them in the CPE after they had disabled the login for the dynamic address. Obviously something went wrong, admin guy meanwhile having to use his private phone to call support, claims the credentials would be reverted immediately when he changed them in the CPE Web UI.
Now I'm not exactly sure why, there's two scenarios I could imagine:
- Maybe telco would use TR-069/CWMP to remotely provision the credentials which are not updated in their system, thus overwriting CPE to the old ones and don't allow for manual changes, or
- Maybe just a browser issue. The CPE's login page is not even rendered correctly in my browser, but then again I'm the only one at the company using Firefox Private Mode with Ghostery, so it can't be reproduced on another machine. At least viewing the login/status page works with IE11 though, no idea how badly-written the config stuff itself might be.
Many hours pass, I enjoy not being annoyed by incoming phone calls for the rest of the day. Boss is slightly less happy, no internet and no incoming calls.
Next morning, windows would ask me to classify this new network as public/work/private - apparently someone tried factory-resetting the CPE. Or did they even get a replacement!? Still no internet though.
Hours later, everything finally back to normal, no idea what exactly happened - but we have our old static IPv4 address back, still wondering what we need it for.
Oh, and the blacklisted IP address was just the telco's mail server, of course. They end up on the spamcop list every once in a while.
tl;dr: if you're running a business in Germany that needs e-mail, just don't send it via the big magenta monopoly - you would end up sharing the same mail servers with tons of small businesses that might not employ the most qualified people for securing their stuff, so they will naturally be pwned and abused for spam every once in a while, having your mailservers blacklisted.
I'm waiting for the day when the next e-mail will be blocked and manager / boss eventually wonder how the 24-hours-outage did not even fix aynything in the end... -
Waiting for the floors I just mopped to dry, and I'm still thinking about migrating and if, for example, the swiss give me a good job offer, I would most likely stick around. I don't hate to stick around Europe, but it defo doesn't have any of the elements I like. (megacity, snows, English speaking, multicultural, non-torturous migration laws)
Like, I'm at that point where I'm not making enough money and want to leave (also, gaining the freedom to leave from degree soon enough) but I absolutely hate my home place (personal reasons) but they pay a crapton better, plus I can get social security benefits.
... And I want to do a phd. 😐
Someone beat some sense into me please.14 -
Contex: Working on a c++ frankenstein code (mixture of legacy and new stuff whith things depending on the client using it)
User Story: Migration from oracle to SQLite for half of the DB data
Summoner: One client wants to keep using legacy for now, therefore we need an strategy chooser templated singleton...
Satan 666 = Singletons + Static methods + Different compilation units
Result: 3/4 of the files of the full backend being modified for the migration.
Conclusion: When will be loaded on production company will probably lose many clients due to unspected bugs everywhere.
Insert potato here2 -
Ladies and gents, it was a 🍺 day, today.
I spent more hours than I care to say today tracking down an issue in our web workflow, even looping in our only web dev to help me debug it from his side. There ended up being multiple bugs found, but the most annoying of them was that the json data being pulled back was truncated because a certain someone, in their migration script, set their varchar variable to a size of 1000 and then proceeded to store a json string that was 2800+ characters in length.
C'mon man!
I got nothing productive done today. Hate, hate, hate days like this!
Beer me.3 -
When its saturday morning and you're on a bridge because the migration is still failing 34 hours in and the PM mentioned the vendor doc that he 'trimmed for your benefit' and replaced with his terrible doc, and you beat the original out of him and basically read off the section title "Exactly the error you got and the steps to prevent and resolve" and section 2 "big bold red letters explaining how to avoid it" and you instafix it. #wherewereyouonthursday
-
Last week I received an invitation to lead the development of a e-commerce redesign, replatforming and data migration. I was excited to work on it, and started the analysis and planning, glad to spend time focusing on quality. But Murphy's law is never asleep - this Monday, I was asked to speed things up and reduce a 4 month project to 1 week.
-
I work with content. More specifically I work on content migration and improvement.
We connect to many platforms and pull and push documents into it. This one time we had to connect to some outrageously expensive (6 figures) system which we obviously couldn't afford to buy just for testing. The client wouldn't give us a testing server either.
My literal warning: "We need a testing server because we're gonna push it until it breaks. Then we know the limit." Client: "nah it will be fine." Us: "I promise you the server will go down..." Client: "It's a stable system. You can test in your own folder on our server"
10 minutes later we had an angry client because the server crashed due to overload.
I'm not sure if I'm annoyed or amused :p -
Allrighty, so we have a huge migration upcoming. The planning started early this spring. We've split the whole process into separate tasks and estimated each of them. Also marked all the tasks client should take care of itself so save funds and time. All-in-all the whole thing estimated like 4 months if we did it [single dev, tremendous amounts of communication with various parties, buy and prepare the infra, adapt app to the changes, testing, monitoring, etc.] and like a month if client did the tasks we shouldn't be doing. The funding for migration is time-bound and can only be used before December. Cool! We got notified that by the end of April we should be good to go! Plenty of time to do things right!
April comes. Silence. Mid-april we resch out to the client. Since there's plenty of time left migration is getting lower priority to other tasks. Well allright, sort of makes sense. We should migrate mid-July. Cool!
July comes. Client replies that everyone's on vacation now. Gotta wait for August - will do the quicker version of migration to make it on time. Well allright....
August comes. Everyone's vusy with whatever they've postponed during summer. Hopefully we'll start migration in September. Mhm...
September comes. We're invited to a meeting by project funders to explain tasks' breakdown, justify the time needed to make the migration. We're being blamed for surreal estimations and poor organization of tasks as nothing's happened yet... [they were the ones who always were postponing things....]. Moreover, they can only spare 20% of infra resources required for data alone anf they want us to make that enough for all environments, all components, all backups, all databases,... You get the pic.
The leader of the meeting semi silently mumbled to other participants 'Well then I'm afrsid we can't make a full migration in time.. Only partial. That's very unfortunate, very. That's why we should not have incopetent vendors [*glancing at us*]'
somehow we agreed we'll get the resources mid-November and we should be thankful for him bcz he'll have to pull some strings for... us..
I left the meeting with my fists squeezed so hard! But it's okay, we got smth useful: resources and start date. Although it leaves us with less than a month to do smth requiring a month for a sunny-day scenario. Nvm, still doable.
Last week we get an email that resources will be available at the beginning of December [after deadline] and we should start a full migration no sooner than Nov 12. Which leaves us with 50% of our estimated fucking optimistic scenario time and not enough resources to even move a single db.
Fuck I hate politics in dev... Is it wrong for me to want to tie them to a pole, set them on a veeery slow fire and take a piss on them while they're screaming their shitty lungs out? I'd enjoy the view and the scream. I know I would. And while enjoying I might be tempted to take a burning 20cm diameter wooden stick and shove it up their assholes. Repeatedly. Round-robin. Promissing them I'll take it out in 5 seconds and pulling it out after 2 minutes.
Can I?9 -
I'd like to talk about my first impression of the new product of Microsoft :
"New Edge Browser"
I just wanted to take a shallow glance at this browser, and it was horribly awesome in contrary with my expectations.
The design and animations and smooth transitions, ease of migration from chrome and enhanced UI were the things that aroused my interest at the first 5 minutes of usage, as a frontend developer, I'm so much eager to dig up more in it. Share your experience and opinions with me 😉22 -
One of the largest companies on the continent. Uses Oracle on AWS RDS with the beefiest resources available. It comes to the point where lowering the number of CPUs boosts the DB performance up (concurrency). Point is - Oracle is sweating hard during our tests. You can almost feel the smell of those hot ICs on AWS servers.
And then someone at higher levels, while sitting on a pooper, has a great idea: "I know! Let's migrate to Aurora! They say it's so much faster than anything there is!"
*migration starts*
Tests after migration: the database on the largest instance possible shits itself at 10% of the previous load: the CPU% is maxed out (sy:60%,us:40%), IO is far, far from hitting the limits.
Is it really possible Aurora will cope with the load better than Oracle? Frankly, I haven't seen any database perform better than Oracle yet. Not sure if it's worth to invest time in this adventure..2 -
Grew up with just my brother and mother in Russia. We had very little money so we haven't even seen computers in real life until my mother found a swedish boyfriend and we moved to Sweden the year 2000.
I was 7 years old at the time and I saw my first computer in what I think was the Swedish Migration Board office. The purpose of the computer was for convenient registration for the reception or something, but the first thing I did was found paint and drew some circles, I was completely mind blown!
My mother's boyfriend came and told me not to play with the computer because "I might accidentally install a virus".
A couple of months later we got a PC to share with the whole family, me and my brother were so ecstatic because we have previously only seen them on TV and now for some reason we have one at home "Woooot 😮😮😀"
The problem was that my mother only let me and my brother use the computer on weekends and only for one hour. Somehow this just made me and my brother even more interested in that machine, so we sneaked out from our room at night and played with it.
One night we found out about this great thing called Google and googled "how to program a program" and that's when we fell in love with programming.
When our mother found out she got very angry and disappointed. She was questioning why we were "so much in love with this stupid thing" and said "it's not like you are going to get a job working with it!"
Me and my brother are both devs now. So suck it 🖕🖕🖕1 -
One of our projects migrated their file-repository to another one during a major release.
Instead of giving this task to an experienced programmer, they gave it to the head of the respective dev department due to the usual release panic.
Soo.... He wrote the migration tool. It was executed during the release. Everything seemed fine so far.
A few days later. Someone from the above project came to my team due to some "strange behaviour on the production database".
They reported that they couldn't download some of the user's documents due to unknown reasons.
After quickly analyzing the current state of the new file-repository, we concluded that the affected documents did not exist in the new repository.
Then we took a look at the so called migration tool...
Well.. After nearly 30 min. we knew the root cause for that.
They only migrated the first 4 levels of the folder structure. Due to the assumption that "we don't use deeper nesting". (Facepalm)
As the head of their department wrote it, no one seems to questioned it either. Nor did they made a code review and ended up with a tool with hard coded urls to the production db, no version control, no build tool, no ci, nothing. Breaking nearly every possible company standard.
However.. That's not it. When analyzing their migration tool we noticed another even more dangerous thing.
They mixed up the id generation of the migrated documents resulting in a random assignment between customers and documents. Which is quite bad as this contains sensitive information. E.g. passports
They offered us quite a nice amount of money to fix this until EOB. We declinded as it was simply not possible in that time, but agreed to support them with the new tool.
After some time I heard that they migrated production again. And they fucked it up again. They never talked to us after we offered them support...
The third and final migration was written by us. Not only migrated it correctly. It was also way faster. By factor 20.
In the end we haven't gained anything from this rushed project as the penalties were piling up due to this fucked up migration.
After all this time I'm not sure who is to blame. In my opinion, partly all of them.
Head of department who can't and shouldn't code.
Seniors who didn't review the code and didn't ask for help.
Release mgmt who put way too much pressure on the devs. -
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 -
Our favorite ticket system blokes are back with a big fat update for their software.
What changed?
All workflows are fucked because everything is somewhere else suddenly!
Half of the features suddenly stopped working!
Variable formats in forms have been changed from {} to [] without reason, migration or warning! Sorry, {Username} ¯\_(ツ)_/¯
Half-assed features that don't work half of the time have also been added!
Fucking great!
Who beta tests this shit? Nobody?2 -
Server migration status:
One of our Windows servers took less than 20 mins. SSL and bla bla everything done.
Linux server was a lil bitch but we got it going for the most part .....sigh...
Still using Linux as my primary desktop at home but geezus man. We really need a dedicated master wizard Linux sys admin for this mofocka1 -
How do you stay sane while developing on top of other people's projects? After building a migration tool on top of LXC (2.x, because.. well, Debian 9 since every bloody option changed in LXC 3.x on Debian 10 and don't even get me started on the snap-crap that is LXD), I'm looking longingly at every intoxicant I have around... The "hmm, so they probably wrote this in response to that but didn't consider so and so..." only goes so far... :/1
-
Just quickly add this column to live, bro. What? What do you mean you need to write a "proper" migration? It's just a simple extra column I need!1
-
Server bios corruption, yaay.
Server external backups, naay.
This happened just before migration to another server. I feel stupid for not having proper backups now, and molested by a dying panda because its less than 6 months ago i got the server. It was used, but still.3 -
First job and first days, boss comes to me with an urgent matter she nor other people were able to solve per her own words, it was something I hadn't even used before, a bug on a migration from versions between SSDTS projects, so she asks if I knew the technology, I answer no, but I'll try, so I started watching some tutorials and got hands on the project to know what it tried to accomplish, then in a couple of hours I found the bug in a connector it had with some other tech through a driver. Team went semi crazy like woah how you found that so quick, Bla blah... It felt good
-
Why would anyone use -1 for true and 0 for false in a database.
Booleans people!!! FFS
Making migration of old project a real PITA4 -
https://reddit.com/r/sysadmin/...
"How to make $17k in 10 hours for a 5 minutes job"
or
"Live physical server migration to another building"
A nice rant :)
Some folks in my prev workplace tried to move a live SUN machine to a different hall and yet ended up with messed up HDDs (which ofc can only be replaced and rebuilt by SUN, since it's UNIX). Including the system RAID :)
Hats off to Matt!4 -
Our team had a brilliant engineer, he made a tool that would convert IBM Assembler code to C, comments included. the comments are the assembler code. bleh
-
I'm afraid of tomorrow.
The last weeks.... Were shitty.
And I might finish the first part of the VM migration next week...
I planed for failure. Next week was the worst estimate...
Do you remember when you've played a game and noticed the sudden increase of ammo / health / mana bars and that the enemies got stronger? Endboss time? Fickity fuckity you'll die soon time?
I guess that's this tingeling feeling in my head...
And I'm realllllly scared, cause the last fuckup was a NIC brick on one of the VMs host server. Never had that before.
Pray satan that the week will show mercy.1 -
#noestimates
I fucking hate doing estimates. It stresses me out. I just did it, for a requirement about migration. I'm on my way to a fight now with the PO, because "the estimated time is too long". There was an agreement that deliverables were not to have extensive documentation and unit testing will only cover 30% of each use case (I know, stfu), but that's gone so I have to do the whole thing. I estimated 160 hours coding time, 40% of that for docs and 50 for testing. I'm standing by it.
All that stuff aside, what bothers me the most about estimates is that there's lazy motherfuckers who say shit like "I can have their RESTful ws in 2 days, but I said a month, because fuck it" and generate a win-win situation for them and their company, because the client - practically everytime - will just argue for the task to be completed in barely 10% less of the estimated time, accept the proposal and be happy waiting, the developer will fucking dawdle and the company will be paid for more hours than it deserves. Ugh.
Fuck estimates.2 -
Ehh.....
Another day of problems with Windows, just removed 96 unsafe files (Trojans, Malware, Adware etc.)...
At first, Defender refused to work with me, I tried to remove that with Defender (which found just 7 treats), but 'remove' or 'quarantine' didn't work, so I downloaded Malwarebytes and now works fine. Still, some minor problems, gonna format this crap soon...or maybe it's time to move to Linux or macOS finally? 🤔9 -
Well, this week was a week from hell. It was a short 3 day week, and all of my internal Customers, who are normally pretty reasonable, just all unloaded on me at the same time. "We need this now!" "Have you done this?" "Why didn't you do that?" "We need you to do this, because our migration takes place in 30 minutes." (first notice of the migration). And then to top everything off, I'm creating a rollback DDL, and I've spent a couple of hours pulling my hair out, because a set of columns that need rolled back aren't in Prod, so I can't roll them back, because my own DDL drops them, and broadcast my natural meltdown to the entire DevOps team, feeling like an utter jackass after I realize my mistake. And even at quitting time, they are still walking up, and texting, and emailing. Holy f**k, I'm only going to be gone four days, two of them weekend, and will be back. All of this while trying to sell my house and pack boxes and move to an apartment. Can I retire now? Looks at retirement account... Nope, I'll be working until I'm 95. Just shoot me already!1
-
So I was reading a comment where someone said that Windows is sure as hell not polished, just 'psychologically pleasing.' I get that, and I've tried to main with Mint Cinnamon/KDE for a while, and I've tried so many distro, but I have too many issues with Linux to make it a true daily workstation and personal os.
For example, Windows apps typically have installers, graphical ones, which allow you to choose an install location and stuff. Does apt or yum do that? Not unless you use some crazy parametets or some shit.
Okay, fine, what if you DON'T CARE about everything being open source and you just want your 3-monitor Nvidia setup to work without vsync issues? Also a PITA, need to do either cmdline driver install and co fig or some other complicated shit.
I may be considered a power user, but damn if Linux isn't friendly to windows users. Don't get me wrong, I don't like windows, but so far it's the best option for me versus aillion Linux issues. Get me something that functions like Windows on multiple levels (Aesthetic not completely required, but core functionality of programs is.) and only then can I attempt a full migration.6 -
We are moving from Oracle 10g to SQL Server 2019 because Oracle doesn't want to provide support to our legacy 10g database.
It doesn't much sense well anyways god bless us during data migration.
Oh one last thing, fuck business analyst team.4 -
Not much of a SQL Dev, still an apprentice and had a basic run throughs. Client needed a migration script to run, which I was assigned. Took me a good 6/7 days to make, transfer over a secure (and VERY slow) network took 2 hours. Infrastructure 3rd party took 2 days to clear and run. After all that process. I then realise, I left the fucking rollback in1
-
Day 1 of migrating the entire companies infrastructure to GCE...
Thought It wouldn't be too difficult migrating the db until I found out the 480 triggers and 42 stored procedures are a no go.
I mean I know they right and the db layer should be about storage only - I even remember thinking "This is a bad idea" when I wrote most of them but fuuuck it's going to take weeks to refactor this. :'( -
I thought this might interest folk here:
https://apenwarr.ca/log/20190318?
> Programmer migration patterns
No its not about where we travel to during the mating season. :-)3 -
I really don't understand why my company is so slow when it comes to change. We have a very small engineering team (<100 people), but it takes MONTHS to get anything done. They have spent the last 4-6 months getting FontAwesome Pro into the platform, been taking 8 months to get engineering levels out the door, and we've been lagging on choosing between React or Angular as our upgrade from AngularJS (yes it is the old one) for a year.
Is this normal? I am on the FE and don't know much about our dependencies, but it should not take this long to make a simple decision. The whole migration process will take time, but be decisive for Jesus' sake.2 -
If any of you have been following my last few rants, you'll know I've been working on a project with a particularly difficult client, trying to meet wholly unrealistic deadlines with only one other developer.
The situation has reached the climax. The client had a call with our project manager and boss on Monday to discuss things. Despite them still not having paid a single bill since October, they've demanded the release date be moved to the 6th April. Apparently we'd agreed to release on this date, despite making no such promises, the (optimistic) deadline we were working towards has always been, since it was set about 2 weeks ago, the 16th April.
Apparently AWS migration won't take as long as we think it will, because the designers that do the CSS for this project say so, despite knowing nothing about the architecture of the requirements of the system once live (like if backups are required and what of).
The bottom line is that client is ending development with us the day after the project goes live to give it to their own in-house team. If they want us to work more after the date, they have to buy blocks of days.
To make things better, a large part of new functionality relies on an external API we can't even begin to do learning tests with, let alone integrate due to back-office errors on their end. They've had since Friday to give us our token, yet here we are.
Something tells me my holidays booked for for the first week of April are going by the wayside.4 -
Target: Migration of an old system(not developed by us) to a new without touching existing applications.
Todo list:
[✅] Migrating old webservice from VB.NET to C#.
[✅] Decide if we go to the old system or the new based on the document class.
[✅] Start implementing same logic to the new system so the results will be the same.
[✅] Stunble across a search method with fuck up logic.
[✅] Create test cases to foresee all cases.
[✅] Implement logic for new system.
[✅] Stuck in infinite refactoring to fix existing bugs brougth from the old code to the new while mantaining the response the same.
[ ] Become insane during the process. (In Progress) -
When you have just spent 2 weeks to build an old workspace, you change the version of technical dependency to start the migration...
-
We've been using private GitHub repos as a distribution method for our personal npm packages at work for years.
I finally got sick of it and did the work to publish them to artifactory yesterday. Today, I worked out the remaining kinks, fixed the CI builds, and wrote a wiki page explaining the change with step by step migration instructions and sent it around to the rest of the devs. And it's working great!
I feel simultaneously like a hero for finally getting this fixed and an idiot for putting up with it for so long.
Also thankful for my devops friend who helped a bunch.1 -
Gotta say gitea is also great when I want to quickly mirror a repo on my phone via the migration feature.
-
It's almost 9pm and I'm on the phone for over 4 hours because of migration problems.
I'm thinking of putting the phone on mute and escape...1 -
I just migrated Test data into Production. If I start a new project, Murphy's law indicates that my phone will ring, and the migration will have been a total loss.
If I sit and do nothing, Murphy's corollary tells me the data migration will be a success?3 -
Mine: not listening to early warning sings that shit won't work. As a result we implemented the wrong technology and had to roll back after a month in production. Lost some customers data, though we had backups, so it was just a delta of a day or so. Still, not pretty, had a rough night writing scripts at 3am to check data validity after.
I will throw in another one from a colleague of mine. He was running some database migrations and ended up pointing the DB migration tool to production by accident. Oops. That one required a restore as well, if I remember correctly. -
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. -
!rant
So I just came back from an interview and the job turned out to be another desktop app to web migration...
I do do web development but still prefer C#, other compiled languages with strict syntax checking, and don't run in a web browser.
But it seems everything is going to JS these days and the web....
Should I just go all in on web dev and I guess I can use Cordova or React Native if I want a desktop app?5 -
The year was 2006. During the first half of my career, I use to work in the NOC. This was before I made my transition to software engineer. I worked on the third shift for a bank services company. The company was on a down turn. Just years earlier they just went public, and secured a deal with a huge well known bank. Eventually they entered a really bad contract with the bank and was put into a deal they couldn't deliver on. The partnership collapse and their stock plummeted. The CEO was dismissed, and a new CEO came in who wanted to "clean things up".
Anyway I entered the company about a year after this whole thing went down. The NOC was a good stepping stone for my career. They let me work as many hours as I liked. And I took advantage of it, clocking in 80 hours a week on average. They gave me the nick name "Iron Man".
Things started to turn around for the company when we were able to secure a support contract with a huge bank in the Alabama area. As the NOC we were told to handle the migration and facilitate the onboarding.
The onboarding was a mess with terrible instructions that didn't work. A bunch of software packages that crashed. And the network engineers were tips off, as they tunnel between our network and the banks was too narrow, creating an unstable connection between us and them. Oh, and there were all sorts of database corruption issues.
There was also another bank that was using an old version of our software. The sells team had been trying to get them off our old software for over a year. They refuse to move. This bank was the last one using this version, and our organization wanted to completely cut support.
One of the issue we would have is that they had an overnight batch job that had an ETA to be done by 7 AM. The job would often get stuck because this version of the software didn't know how to fail when it was caught in an undesired state. So the job hung, and since the job didn't have logging, no one could tell if it failed unless the logs stopped moving for an hour. It was a heavily manually process that was annoying to deal with. So we would kill the JVM to "speed" the job up. One day I killed the JVM but the job was still late. They told me that they appreciated the effort, but that my job was only to report the problem and not fix it.
This got me caught up in a major scandal. Basically they wanted the job to always have issues everyday. Since this was critical for them, all we needed to do was keep reporting it, and then eventually this would cause the client to have to upgrade to our new software. It was our sales team trying to play dirty. It immediately made me a menace in the company.
For the next 6 months I was constantly harassed and bullied by management. My work was nitpicked. They asked me to come into work nearly everyday, and there was a point I worked 7 days with no off days. They were trying to run me so dry that I would quit. But I never did.
On my last day at the company, I was on a critical call with a customer, and my supervisor was also on the line. My supervisor made a request that made no sense, and was impossible. I told her it wasn't possible. She then scalded me on the call in front of customers. She said "I'm your supervisor, you're just a NOC technician, you do what I say and don't talk back". It was embarrassing to be reprimanded on a call with customers. I never quite recovered from that. I could fill myself steaming with anger. It was one of the first times in my adult life that I felt I really wanted to be violent towards someone. It was such a negative feeling I quit that day at the end of my shift with no job lined up.
I walked away from the job feeling very uncertain about my future, but VERY relieved. I paid the price, basically unable to find a job until a year and a half later. And even was forced to move back in with my mother. After I left, the company still gave my a severance. Probably because of the supervisor's unprofessional conduct in front of customers, and the company probably needed to save face. The 2008 crash kept me out of work until 2009. It did give me time to work on myself, and I swore to never let a job stress me out to that degree. That job was also my last NOC job and the last job where did shift work. My next few jobs was Application Support and I eventually moved into development full time, which is what I always wanted to do.
Anyway sorry if it's a bit long, but that's my burnout story. -
Ok, I'm actually raging at vuejs right now, and this is coming from my second year using it.
the fucking shit is weird.
functional components cannot use v-model.
functional components also cannot reference other components via components property, that child component needs either to be global or be injected (an ugly hack).
v-model behaves differently on checkboxes. checkboxes are fucking shit on vue. things update or do not update.
functional components with checkboxes? hahahahahaha.
vue 3 is taking an ungodly shitload of fucking amount of time.
fuck react, but im actually considering giving vue the middle finger as well.
started this product migration 2 months ago and regretting it, looking at svelte with curious eyes.12 -
So SQL Cursors definitely suck. Got a one time data migration script that needs to migrate 3 million rows of data (which I misread as 300k)
Using cursors it would take 15 hours to complete. Ive just had to make the most disgusting script using recursion and a whole lot of CTE's but it now takes about 15 mins to do the same faff
I feel dirty just reading the script, but atleast it'll be dead and buried once it's been ran
TLDR Cursors bad, m'kay2 -
Got engaged to set up the CI for a project. Worked with the main developer to set up the dev environment only to find out that he deleted 80% of the migration files because he didn't know what they were
-
get to the office at 5:45AM to do a migration because the client doesnt want to automate it.. but pays extra for the inconvenience...
-
Background: I'm doing a migration from FileMaker to JavaFX
My PM asked me what was going to be the main page of the system and he gave me an ugly option, to which I answered with a dashboard example, so now he wants me to change everything so that our app looks like the one I showed him -
I wish I could do the following legally....
Spank someones butt with good horse hair whip.
Draw smilies with sriracha on the butt.
Let him write 1000 times "I'll keep my half knowledge and thus profound dumbness to myself - or ask politely instead of barking orders" with his red hot sriracha butt.
Let him lick it clean, his filthy mouth needs it.
And hopefully. Hopefully. Pain would teach him the lesson that his half assed knowledge and narcisstic behaviour does more harm than good - especially to himself.
Backstory: I had a full dual phone conference and video chat experience because someone was so full of shit... Eh. Narcisstic self believe. That he nearly destroyed an ongoing migration, made upper management nervous, and letting me deal with the still ongoing migration, conference / chatting and so on.
And yes. The date for migration was fixed. He could have spout his nonsense before.
Damn it, so many ideas to turn a human body into !!*!"!!*!*!*!!*
He launched a fullblown discussion on a saturday during an ongoing migration based on outdated knowledge claiming the right to know it all. R I P.7 -
Got my new 2TB HDD delivered today a few days early (expected on Monday). Time for some data migration and that new OS smell!
I think my upgrade strategy will be a Ship of Theseus story in the end. -
Good to see people are learning and don't use hard coded credentials and store them in the DB.
Now they just have to quit putting them into migration files -
The irony that goes along with smooth migrations on production is this.
If the migration is smooth, no one knows how much effort, careful planning and execution went into the whole process. They just get a for your information mail that everything went smooth. No one, not involved in the process would know the scale of things; or what could've happened if the transition/migration was screwed up.
On the other hand if there are problems during the process and the tech team fights back, they indeed are the heroes. No one notices the silent crusaders.
No wonder then that all superheroes just smash stuff. Its only then that people notice that they worked so hard. Silent superheroes remain dead.rant smooth migrating production transition developer life superhero migration programmer life disaster -
Been working for a while and the moment I wanted to push my code, Gitlab is down T_T
Luckily it is a planned one due to migration1 -
Me: Build Swift 3 Project got 1 warning: Conversion to swift 4 available. : “Let’s try that” after that archives it: 100 warnings and 20 errors -_-5
-
One of these days....
Where you want to do a tiny task
....
And suddenly an explosion nukes every service, related service and dependant service.
Chain reaction. Yaaaayyy........
(ancient prometheus node lead to an snapshot error, snapshot error made the migration tool unhappy, migration tool unhappy meant that my task failed - updating prometheus meant checking every target, exporter and so on...
Fuckity fuck it''s gangbang time.)1 -
When the ops team needs to go through a 5 step "protocol" over a couple of days, just to open a damn port in the firewall, so that our CI server can access the local GitLab server..
Seems like the migration of the last couple of projects from SVN to Git is going to take a little longer than I expected.. -
Been getting some fiverr requests recently. Had one to migrate two websites and email migration. Simple enough, accepted. Contract signed. Got sent the files and the SQL exports, the website is from the 90s. So I might as well ask if they need a website update after the migrations are done haha as the company is still pretty active.
-
Used to work for a company that offered outsourcing services to clients. One time a sales person passed me a description of what is to be done as: "copy some data from old to these two new servers". He charged pocket change for that task. Told me what servers to bring along.
When I get there, the IT person in charge told me to migrate two separate Active Directory servers to new machines.
Generally it's all just moving some data around. Though AD migration is a pretty easy task once you know how to do, I still take it as undermining the value of skills required to do it. -
Im having a sort of dilema. I recently started taking freelance work for web developement (and design ack) and Im uncomfortable with the state of the industry. Ill explain: Say if I bid a client for a simple 1-3 page site w contact form (a new page, not migration) My suggestion is to use djangocms, django, or just static html/css/js (ie bootstrap), which produces clean, fairly secure, and fast sites. Of course I can throw a templated unoriginal wordpress site together in a few hours 2 days latest, so I offer that option as a sidenote on the bid, charging almost 2x more. For some reason I dont understand they choose the wp shitshow. I explain all the reasons that not the way to go( which I wont list, if u dont know, u never used it. google up) but they dont care abt the details, they rather pay more for shit job. OFC I reluctantly deliver what they want, but as a result my portfolio is full of unoriginal shit Im not happy showing off. I have a few sites Ive done on the side my prefered way, but they not deployed and sit in my github for all intents n purposes unviewable to potential clients.
I want to be proud of my portfolio, and it to be a representation of what Im capable of. BUT, I gotta eat, and work is better than no work.
There are so many "wordpress designers" oversaturaring the field and it lowering the overall standard of what we are capable of. I just begining my dev journey, but if I cant have a body of work Im proud of, theres no way I can see doing this the rest of my life, and that makes me really sad. My love of developing, coding, and IT/computers in general drove me to change careers from audio engineering to web development, and the fact that this fucking mr. potatoe head of a CMS is slowly turning that love into hate really pisses me off. So Im ending this !rant looking for hope.
Your thoughts?1 -
So I recently finished a rewrite of a website that processes donations for nonprofits. Once it was complete, I would migrate all the data from the old system to the new system. This involved iterating through every transaction in the database and making a cURL request to the new system's API. A rough calculation yielded 16 hours of migration time.
The first hour or two of the migration (where it was creating users) was fine, no issues. But once it got to the transaction part, the API server would start using more and more RAM. Eventually (30 minutes), it would start doing OOMs and the such. For a while, I just assumed the issue was a lack of RAM so I upgraded the server to 16 GB of RAM.
Running the script again, it would approach the 7 GiB mark and be maxing out all 8 CPUs. At this point, I assumed there was a memory leak somewhere and the garbage collector was doing it's best to free up anything it could find. I scanned my code time and time again, but there was no place I was storing any strong references to anything!
At this point, I just sort of gave up. Every 30 minutes, I would restart the server to fix the RAM and CPU issue. And all was fine. But then there was this one time where I tried to kill it, but I go the error: "fork failed: resource temporarily unavailable". Up until this point, I believed this was simply a lack of memory...but none of my SWAP was in use! And I had 4 GiB of cached stuff!
Now this made me really confused. So I did one search on the Internet and apparently this can be caused by many things: a lack of file descriptors or even too many threads. So I did some digging, and apparently my app was using over 31 thousands threads!!!!! WTF!
I did some more digging, and as it turns out, I never called close() on my network objects. Thus leaving ~30 new "worker" threads per iteration of the migration script. Thanks Java, if only finalize() was utilized properly.1 -
How long do you guys tend to keep SQL migration scripts around?
Obviously they don't use up much disk space, but they do start to create clutter in a project4 -
Created a website for a client at a pretty low quotation. Set up 2 email accounts and provided step by step instruction on how to do it. Client now expect me to do it for all 13 of his employee with migration. For free. Told him i will need to charge extra for this, he claims that i didnt mention right at the start. Is this my fault? Should i do it? Please share.8
-
As a developer, the longest I've worked in a row was 15 hours, from 8am to 11pm. We had to migrate/onboard a project and after we thought everything is done, the client told us about some extra functionality which was "urgent" and he couldn't tell us the months we prepared the migration -.- But it wasn't that hard and our boss was really nice. He stayed with us, even he couldn't really help us, bought us some Pizza, paid for taxis back home and we could stay home or come late to work the next day. And fortunately, that doesn't occur regularly in my company.3
-
Aside from simple programs I wrote by hand-transcribing code from the "Basic Training" section of 3-2-1 Contact magazine when I was a kid in the '80s, I would say the first project I ever undertook on my own that had a meaningful impact on others was when I joined a code migration team when I was 25. It was 2003.
We had a simple migration log that we would need to fill out when we performed any work. It was a spreadsheet, and because Excel is a festering chunk of infected cat shit, the network-shared file would more often than not be locked by the last person to have the file open. One night after getting prompted to open the document read-only again, I decided I'd had it.
I went to a used computer store and paid $75 out of pocket for an old beater, brought it back to the office, hooked it to the network, installed Lunar Linux on it, and built a simple web-based logging application that used a bash-generated flat file backend. Two days later, I had it working well enough to show it to the team, and they unanimously agreed to switch to it, rather than continue to shove Excel's jagged metal dick up our asses.
My boss asked me where I was hosting it, as such an application in company space would have certainly required his approval to procure. I showed him the completely unauthorized Linux machine(remember, this was 2003, when fortune 500 corporations, such as my employer, believed Ballmer's FUD-spew about Linux being a "virus" was real and not nonsense at all), and he didn't even hesitate to back me up and promise to tell the network security gestapo to fuck off if they ever came knocking. They never did.
I was later informed that the team continued to use the application for about five years after I left. -
Email migration suuuuucks. Sweet zombie Jesus it sucks. And when people can't check their damn email, the world apparently goes tits up.
-
I'm estimating the cost for a data migration from CA Clipper based system.
I've got to meet the original developer: the most energetic 79 yo man I've ever met - I honestly wish he was my grandfather2 -
Screw AIX! More importantly screw the IBM designer that though cache batteries were a good way to monitize their platform to help validate the service contracts. I guess it "works", but at what cost?
Just lost the last 4 business days going down this rabbit hole with a customer's server.
Edit: Quick note, yes, the customer is on track for a migration soon.8 -
Today was the best day of my life. Being a jack of all trades, that I am, I decided to migrate a client's website to an new shiny self-managed server from a shared host. So I started by setting up a web server and deployment being run from a group bash scripts. This morning everything was ready to go after some testing, all that was left to do, was to update my DNS to point to the new server. I got that sorted, the DNS update took about 1 hour to propagate. So the homepage was loading just like before, it felt like I had just achieved something worthy of a mention on the interwebs — at least. Then I tried to navigate to another page other than the homepage and none of those were working as expected, at this point I was only getting 404s. Tweaked to settings and then all I could get were 502s. I spend about 8 hours dreading that uncomfortable call from the client, luckily that call never came through and all is well again. All this drama was caused by a bad .htaccess.
-
Come on, WordPress! Why are you such an asshole? I just want to migrate and move on with my life.
Is it because I started with Joomla? Is it because I cheated you with Flask?
Can you please, please be nice to the same db you made? Am I asking to much for?1 -
>how long do you think this migration will take?
>i don't know the database structures are entirely different
>so how long?
>... -
I so hate working with legacy db code! I wish I could migrate all to entity framework but the migration is a pain in the ass and would take hours which the client wouldn't like.1
-
develop an app.. can't login to the app.. try to look at the code to find the errors.. giveup... contact project manager and he said:
"oh... sorry i forgot to tell you that we doing server migration right now"1 -
So, I work as a sysadmin junior (6 months and going), and in the past few months, I learned what my boss warned me about - Devs don't understand us admins, and we don't understand the devs.
We have this huge client who is about to migrate to our company (We do mostly server managment/Housing/Renting), and I am so gald I don't have to work on the migration myself!
Just hearing what the company devs say makes me facepalm: No, it won't work. It cannot work on just 3 machines (They use like... 20 in total), no, we won't get rid of our docker swarm, that's essential (Doing the absolute minimum in their infrastructure, just a fancy buzzword to lure people on. Though they've spent like 2 years developing the app that uses it, so they my not want to give it up).
I kid you not, once, they replied to an email that contained the phrase "To be afraid of/worried about" something during the migration, that something could break, not work, be unstable. 7 times.
Might not sound as bad, but it was a rather short mail, and when they're so afraid of everything, its kinda hard to cooperate with them.
My colleague literally spent this entire week mapping out /their/ infrastructure, because they were unable to provide us with the description themselves.
And as a cherry on top, they sent us a "graph" of relationships of all the parts of their infrastructure that was this jumbled mess of rectangles and arrows. Oh, and half of all the machines were not even in the graph at all! Stating that "We also have all this, but I really don't know how to ilustracte the interactions anymore"
Why do companies like that exist? If you build an infrastructure yourself, shouldn't at least someone know exactly how it works?1 -
Currently working on a API project. First time dealing with this kind of projects. Any good recomendations on migration frameworks for .NET APIs?5
-
Fuck not-so-old-but-deprecated-nontheless-software! And their also deprecated dependencies.
We're using a year old dotnet version which apparently only works with a specific libicu version.
Then there is node.js, but it has to be version 6 otherwise nothing will work.
If you wish to use VS code you have to manually install a specific version of the c# extension and keep it from auto-updating because project.json is deprecated and not a thing anymore.
Migration is not an option, it fucks the whole project.
I mean it is a great project and all, but the dependencies are driving me crazy!
Why does stuff get deprecated so quickly? -
What a bunch of Maroons! They come out at 4PM on Friday with a QA migration scheduled for Saturday; can we please pick up our tasks. Really? It's not even production, it's QA. Can't you wait until Monday like everyone else? Morons.
-
I started working for a startup as Server Administrator/ System Integrator beside university to get some dollars with easy work and nice people.
((I Know two of the C*Os so I got a had feeling with this. Besides the upcoming story I'm still really happy with my position and career chances here. God bless my Department which has the most funny/rude guys, love you.))
tl;dr:
Guy fakes his Skillset and fuckup whole department, can´t do most of his basic tasks. I had my first and hopefully last interaction with this bastard.
Heres how everything started:
I was more and more involved in the leading processes and decisions.
Heard about a story where and why the whole dev-department was kicked out of his position because they were crappy developers. And cant just believe the stories they told me about the former Dev-Lead
Now I met the former "Development Lead"
I was brought in because we in the IT wondered why he would like to share his local machine password with colleges. After some questions he came out with the Reason.
He is doing home-office for some days a week now and wants his colleges to be able to start his "software". (already confused by that)
The "better IT-guy" in me offered help for automatic deployment CI/CD stuff so that they can use it as an inhouse service.
BIG OOF incoming:
"The code is not in git because I wanted to clean it up before"
"My IDE is the only place where my PHP crap work is running"
"The 'PHP-software' is to complex for this"
My Lead and I were completely speechless,
I understand the decision to kick this "dev-Lead" from the lead position down to a code monkey/ script kid.
Now I´m thinking about getting my Hands on the Lead position after my exams because if such bastards with no clue about basic stuff, no clue about leading, no clue about ci/cd, no clue about generic software stuff get the job I would easily be the "good IT-guy" with more responsibility/ skill.
Now I sit here, hate people that fake their skills and set back work of colleges for multiple months and never asked for help or advice.
And the little "Bastard Operator from Hell" in my just wants to delete all his files, emails account during a migration to completely demotivate the person who failed to be responsible for a team nor their projects.rant ci/cd php administrator startup script-kid i hate people unskilled skill faker lead developer devops5 -
Need some advice here.
So hello everyone! I recently moved abroad for work, for the sake of the experience and the excitement of learning how developers in Latin America tackle specific problems. To my surprise, the dev team is actually composed solely of Europeans and Americans.
I work for a relatively new startup with an ambitious goal. I love the drive everyone has, but my major gripe is with my team lead. He's adverse to any change, and any and all proposals made to improve quality of throughput are shot down in flames. Our stack is a horrendous mess patched together with band-aids, nothing is documented, there are NO unit tests for our backend and the same goes for our frontend. The team has been working on a database/application migration for about a month now, which I find ridiculous because the entire situation could have been avoided by following very rudimentary DevOps practices (which I'm shunned for mentioning). I should also add that for whatever reason containerization and microservices are also taboo, which I find hillarious because of our currently convoluted setup with elastic beanstalk and the the constant complaints between our development environment and production environments differing too much.
I've been tasked with managing a Wordpress site for the past 3 weeks, hardly what I would consider exciting. I've written 6 pages in the past two weeks so our marketing team can move off of squarespace to save some money and allow us more control. Due to the shit show that is our "custom theme" I had to write these pages in a manner that completely disregard existing style rules by disabling them entirely on these pages. Now, ironically they would like to change the blog's base theme but this would invertedly cause other pages created before I arrived to simply not work, which means I would have to rewrite them.
Before I took the role of writing an entire theme from scratch and updating these existing pages to work adequately, I proposed moving to a headless wordpress setup. In which case we could share assets in a much more streamline manner between our application and wordpress site and unify our styles. I was shot down almost immediately. Due to a grave misunderstanding of how wordpress works, no one else on the team seems to understand just how easy it is to fetch data from wordpress's api.
In any event, I also had a tech meeting today with developers from partner companies and realized no one knew what the fuck they were talking about. The greater majority of these self proclaimed senior developers are actually considered junior developers in the United States. I actually recoiled at the thought that I may have made a great mistake leaving the United States to look a great tech gig.
I mean no disrespect to Latin America, or any European countries, I've met some really incredible developers from Russia, the Ukraine, Italy, etc. in the past and I'm certainly not trying to make any blanket statements. I just want to know what everyone thinks, if I should maybe move back to the states and header over to the bay/NY. I'm from the greater Boston area, where some really great stuff is going on but I guess I also wanted a change of scenery.2 -
Our system is supposed to go live today, and of course the customer waited till the last day to test it.. Guess which system is currently not working on the test instance because the test database is offline for a whole day due to migration
-
The customer wants to migrate his old store into WooCommerce. Here's a MySQL dump with 130 tables and no documentation on how they're related.
You also have to scrape all of the couple thousand product images off their site because they don't want their old dev knowing, so you can't just have FTP access...1 -
I needed a tool that was super simple to transfer email from a non-cpanel server to a new WHM-based VPS. Ended up coding one and launched http://transfermyemail.ca - have had a few server companies jump on board because they needed migration tools too! Was it worth it from a development time point of view? Not yet...maybe next year :)
-
Today is the day when we rip out our old deployment system and get some new blood running through the CI/CD pipelines. Wish me good luck! Please...2
-
Currently moving all my projects and files up onto GitHub as I prepare to fully embrace Linux and not dual boot anymore as I have been doing for the past couple months. I'm so excited!1
-
When your project manager promised to give you a script generator for the big database migration and came back with an Excel sheet where you have to copy-paste every table name and fields to get the table specific part of the script.
Damn copy-pasting programmation ... -
After three months of development, my first contribution to the client is going live on their servers in less than 12 hours. And let me say, I shall never again be doing that much programming in one go, because the last week and a half has been a nightmare... Where to begin...
So last Monday, my code passed to our testing servers, for QA to review and give its seal of approval. But the server was acting up and wouldn't let us do much, giving us tons of timeouts and other errors, so we reported it to the sysadmin and had to put off the testing.
Now that's all fine and dandy, but last Wednesday we had to prepare the release for 4 days of regression testing on our staging servers, which meant that by Wednesday night the code had to be greenlight by QA. Tuesday the sysadmin was unable to check the problem on our testing servers, so we had to wait to Wednesday.
Wednesday comes along, I'm patching a couple things I saw, and around lunch time we deploy to the testing servers. I launch our fancy new Postman tests which pass in local, and I get a bunch of errors. Partially my codes fault, partially the testing env manipulating server responses and systems failing.
Fifteen minutes before I leave work on the day we have to leave everything ready to pass to staging, I find another bug, which is not really something I can ignore. My typing skills go to work as I'm hammering line after line of code out, trying to get it finished so we can deploy and test when I get home. Done just in time to catch the bus home...
So I get home. Run the tests. Still a couple failures due to the bug I tried to resolve. We ask for an extension till the following morning, thus delaying our deployment to staging. Eight hours later, at 1AM, after working a full 8 hours before, I push my code and leave it ready for deployment the following morning. Finally, everything works and we can get our code up to staging. Tests had to be modified to accommodate the shitty testing environment, but I'm happy that we're finally done there.
Staging server shits itself for half a day, so we end up doing regression tests a full day late, without a change in date for our upload to production (yay...).
We get to staging, I run my tests, all green, all working, so happy. I keep on working on other stuff, and the day that we were slated to upload to production, my coworkers find that throughout the development (which included a huge migration), code was removed which should not have. Team panics. Everyone is reviewing my commits (over a hundred commits) trying to see what we're missing that is required (especially legal requirements). Upload to production is delayed one day because of this. Ended up being one class missing, and a couple lines of code, which is my bad (but seriously, not bad considering I'm a Junior who was handed this project as his first task at his first job).
I swear to God, from here on out, one feature per branch and merge request. Never again shall I let this happen. I don't even know why it was allowed to happen, it breaks our branch policies. But ohel... I will now personally oppose crap like this too...
Now if you'll excuse me... I'm going to be highly unproductive and rest, because I might start balding otherwise after these weeks... -
So many choices for backend I'm fucking confused. Yesterday, I tried Django and i found it little similar to RoR(in generating things, db migration things).
I'm currently working in NodeJS.
I even don't know should I rant or cry.
And of course frontend is another thing same like this.....
And I'm not much experienced to differentiate them and know which is better and where it will fit.
Can anyone tell me in simple way which framework fits where?1 -
Finding weird stuff that previous devs have done #302:
- they "branched" by manually creating a folder in svn repo then copy pasted in a ton of files from elsewhere... Then committed the lot in one go.
End result: an orphaned branch that confuses repo migration tools and not having any idea what they actually changed...1 -
Having to do 10's of ElasticSearch v2 -> 6 client requests migration manual deploys of a 10-year old PHP/ Javascript codebase where the gulp build's plugins no longer work, the package dependencies have been .gitignore'd (who does that!), and dev cowboys have frequently bypassed version control by making changes directly in production.
Also, no one knows anything about it because the only dev who was supposed to maintain this app left 3 months ago due to unbearable management.1 -
Messaged my practice lead (and also good friend) with a root cause analysis as well as proposal on how to fix a problem after migration to mysql 5.7.
Now I’m waiting in defense mode to strike me back with his violent wisdom.1 -
Quess who's back again, php oudated piece of shit monolith codebase. So we have a relatively huge client we need to migrate to AWS.
It is written with yii, all object-oriented. The way it's implemented makes me question my love for object oriented as well my sanity for even accepting this project.
I probably could talk about this piece of shit for hours but the fact they save 3 gigabyte of qr code images is the fucking worst. It's literally a few one hundred thousand images who could be generated on the fly.
Please for the love of god, let me finish this migration tomorrow.6 -
Disclaimer: Technically it's not "our" stack, but we have to use it so....
A webapp we built runs inside the company's network we built it for. Their IT are windows lovers, so everything has to run on Windows servers, even the tablets which are used to access said web app need to have windows.
Their company network isn't accessable from the outside world, so we have access via VPN to get into their network. But this isn't enough to access that shitty windows server our software runs on. After that VPN, you have to connect to a different VPN to which you can only connect to while you're inside the company's network. Then you have access to two servers, one the application is running on and one, well to see if you're changes were deployed correctly because the production server doesn't have a browser on it other than shitty internet explorer 8.
The only way to connect to the server is using RDP. Not even samba or so. To deploy the changes we made to our app, you need to copy paste the files from your local machine to the server. And don't get me started on running mssql migration with the shitty mssql console 😤😤
Why would anyone who isn't a complete idiot use Windows for servers or mssql in the first place????2 -
Migrating angular project from version 2.x to 4.0.1 developed by a colleague. Everything's fine but there is a animation package he used which is extreme incompatible with angular 4. What a day xD
-
God, these people...
Little backstory. I'm making an training application and we have a MySQL database set up where some elements of the training are configured. This is so learning experts can easily change some aspects of the training without programmer's help.
Meanwhile, I'm also in the middle of a server migration, because our current server is running a lot of deprecated software and is in dire need of replacement.
This is going pretty slowly, though, because of other, high-priority, work that keeps being shoved my way.
Now, someone accidentally deletes a bunch of data from one of the schemas. No big deal in my book, the training is still in development and we have nightly backups of the database.
So I shoot a support ticket to the hosting provider and ask them to restore a specific schema, telling them to restore the image to some other machine and dump the tables in an MySQL file so I can restore it that way.
I also told them to get the backup of the OLD server, not the NEW one we're still migrating to.
About an hour later, I get a message that they dumped the schema's files in a Temp folder on the D drive. So I RDP to the server to check and... The files aren't there. Just before writing a response asking where the file is, I remembered the server I was migrating to and checked that server, and there were the files.
I had already migrated part of our databases and was testing compatibility before I moved to something else.
The hosting provider just dumped the files of the wrong server, despite me telling them exactly which server to use.
This is not the first time this hosting provider has let me down...
I'm really considering jumping to another if they keep doing this... -
TL;DR: FFS Microsoft
So yesterday we were at the point in our project where adding a login system seemed like a good idea. This is an asp.net core mvc project and we use Materialize for our frontend.
So according to _the tutorials_ we could start a new project and add authentication in the prompt by pressing a button. As it created the project I thought it seemed nice and easy enough. After it had created the test solution I build it and, sure enough, in the top right corner there were a register and login <a>.
I checked them out and they were your bog standard form input input submit and all. Now I guessed I could look at how it's all programmed aaaaaaaaand
Nope.
I saw a new folder located at Areas/Identity/Pages which had a _ViewStart.cshtml which contained three lines. There were also a database migration and in Startup.cs there were some database stuff, but other than that? Nothing. So where on earth was the login and register form located? Shit like that is frustrating ya know.
But oh well it seemed to work and I switched to our examn project where I found it was possible to scaffold the login system in a way that seemed nice.
Except, for some reason bootstrap and jquery decided to return to our project. FFS Microsoft!1 -
Attention Irish developers.
What's the pay like for developers in Ireland compared to the cost of living?
I have been offered a job there with migration support, but I don't want to go be poor in another country when I have it pretty good in my homeland. Also, what is the industry like, is there a healthy work life balance?2 -
When your legacy IT department does everything in its power to prevent a migration to AWS because it isn’t secure.6
-
- load tests via web
- load tests via api
- figure out why the fuck hibernate started proxying Blob.class after migration rather than using jdbc implementation, like before
- fix ^^
- reconfigure tomcat to ditch random for urandom completely [still getting econnreset]
- continue conversation with sysadmin, tester, analyst, 2 PMs, infra architect, junior dev
- provide immediate support for analyst and tester as soon as they need it
- provide support to another dev on another project
and that's my today's todo list. I think I need more personalities [more threads] to keep going -
ONE WEEK i've been working on this migration from Mongo to Kafka for a service that will probably handle 5 requests A MONTH for this thing that launch an entire JVM and take 10 seconds just to create a so-called topic
-
So I was stupid enough to make the same mistake for 5 times in a row within the same hour, simply the same sql query to get something from a table which doesn't exist because I didn't even run the migration.2
-
Pluralsight is migrating our company's accounts to a new plan. Because of this I haven't been able to watch videos for the past two days, and the weekend is coming so I'll probably have to wait for next week. How can this 'migration' even take this long?1
-
This is a Rave, as opposed to a Rant. Working with a team that will actually test the backout scripts, and migrate twice in QA in order to make sure everything works. This is refreshing, because most teams don't test their backout, and you really are in trouble if your migration fails, and your backout doesn't work.
-
It’s seems like I can’t finish anything at work. I’m working on a data migration routine since last week. Almost finished but hit some Barriers, had to ask my boss for help, he finally was able to solve the problem. But then I had to move to another task, and realized I will have to change the data structure of the app after a long time working on the task. I know somethings take longer, but i feel so unproductive when I’m not finishing tasks everyday :/2
-
Building migration day. Movers were late so ended up moving my system on my own. Once everything was set up I realized there were no chairs. Once sorting out all that I realized the AC was conked, resolved to not give up and started work, the moment I loaded up all my files and started working the whole floor lost power. Currently staring out the window thinking about the meaning of life (or lack thereof) :')
-
2nd day of deployment!
Till now its going smooth; server configured + tables migration is ON!
PS: Migrating old site to new ;)2 -
That moment when you explain to your manager what the term "full-stack" means and next thing you know you've gone from being a "backend c#" to azure migration expert/dba/designer/api architect/network engineer/php wordpress developer... let's go back to when you'd never heard of full-stack
-
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... -
Okay, I know that osTicket, code-wise, is a fucking joke but know what? We upgraded our server to PHP7, osTicket stopped working. Okay, I need the newest version that it works, I downloaded it. It failed at database migration cause it's not PHP5 but I need it cause it should support PHP7...Wtf??!
-
When you are in the last strech of development for a new Android app, and you learn that Firebase replaces GCM2
-
Fuck laravel, fuck eloquent and fuck any object relational mapping library that does not use POJO like models. I do not enjoy global searching "create_task_type_table" for a migration just to get the low down on my tables fields. I want a model object that has my fields represented as properties with getters and setters. All this do as you please and you'll either sink or float 3 months later is nonsense. Use a framework that ensures your stability.2
-
did i need to explain again about this?
translate from image : "because our new migration user can login using password=email"
so my question is where the actual password sh!t3 -
Hi there!
What do you guys think about the feature "ContextApi" released with React 16.3?
From my point of view it is pretty neato to get rid of some dependencies coming up with redux, if the only thing you want is to distribute collected information among several components for rendering.
On the other hand, if one replaces the redux pattern with the context-api, the detailed information for debugging will be lost, including the time-travelling feature.
For compensation, there is a guy who had built a bridge between the context-api and the redux dev tools, which even will restore the ability to time-travel through the information flowing through the react context.
https://medium.freecodecamp.org/rep...
I will definitely try out a migration of our redux structure to context-api in an experimental branch of one of our products! -
Guessing my rant free streak is over. Trying to connect to a mongo atlas cluster. Just migrated from mlab as mongo Inc is discontinuing the heroku add on.
Migration went well. I can connect to atlas cluster via mongo shell.
Reactive mongo claims it supports dns seed list. I add mongodb+srv connection string. Doesn't work.
I go back to atlas and allow all ips access (migrating staging dB first to make sure all is well so I can whitelist all ips) - > send a request-> mongo error. No primary node is available.
Disconnect from my network, connect to another network, same thing. I push the connection string to my server, test using an ssl connection to make a request, still no primary node available. I am about to lose my mind. -
Anyone familiar with Wordpress site migration?
I'm trying to move a client site from my dev server to theirs, seem to do so fine, but all urls still point to my dev domain.
A search and replace plugin was recommended but it doesn't seem to be updating the database references correctly...or at all.
Not sure if anyone would mind lending some insight so I don't have to essentially redo the whole website over :p8 -
I thought today was a good day to look at how I will deal with database migrations for this node.js/sql-server application. I read up docs for a few migration frameworks but the ones I found seem to make things too complex.
I am tempted to just roll my own by storing a db version in a table, numbering .sql scripts in a folder and running all the higher numbered scripts when the application starts.
Anyone know is there any gold standard for this sort of thing or anything to watch out for?2 -
Just finished cleaning up my branch so it can be merge. The PR's Diff is massive... probably the largest on the team based on new lines of code.
Basically a migration of a massive report that took almost 2 years to resolve most of the diffs.
Now just need to get it ready production... By next weekend -
Another part of messy network gone.
Caching fucked me hard....
Isn't it just lovely that nowadays you need to nearly wipe a machine to get it from claiming stale data....
And thanks to DNS, HAProxy -/ service names / ... I think I know now why the curse of babel is so powerful.
When you have to think for 2 mins to make sure you've set the zone's right, cause otherwise you need to ProxyJump with SSH through more tunnels than imaginable (VPN/HO) to fix possible caching on several DNS servers.... You'll realize that it's russian roulette with too much bullets. :(
And If a monitoring service asks another monitoring service for status information which asks the first monitoring service which then asks the second monitoring cause you were too late...
You'll get very funky monitoring statistics.
Too slow, had to nuke it (mismatched a DNS name, the second monitoring service should have been a service node).
I think I've had more near death scenarios in the last 2 weeks than I like.
Hopefully I'll never have to do that again.
(Splitting and reordering a few dozen VLANs, assigning proper DNS names, loadbalancer migration....) -
Django wont pick up migrations for this app. Nothing in dj migration table for the app. It just won't create the tables on staging.
My panic attack is over but Im still going to lose this client over this. -
I pass the day writing a script to encapsulate the migration of the old csproj to the new format. But, when the open source app returns an error of migrating the script continue. I check the return code and when it's an error, it's return 0.
After many tries, I return to my house and start looking at the open source code for understand what's happening and try to correct it.
OMFG, I cannot change the code to return an `int` instead of void. The method is in the public area of the code.
I very happy that this app, it's open source, so I can do my own version for my need.1 -
Wish the Objective-C compiler had better type checking. There's no reason for it to not error out when I'm migration a property from one type to another.
-
just 'Hello world' me trying to make a restful api.
*Got Ktor, loved the koltin, hated the deploy, quit.
*Got Django, loved the python, hated the sql migration, quit.
*Got Node, loved everything, hated mongo, can't quit now...
*Got Firebase DB now, I feel the hate monster...ghostly voices, saying, Work my slave, build it... dont stop, 'cause we're right behind you...
....and we're waiting for you5 -
I may have asked this before, but is Ada just an unpopular language? I mean, it was designed to be safety critical, but it seems at least in my job that all of the Ada products re being migrated to C++. Even safety critical stuff.3
-
Alright guys, a very important question. I have around 10TB of *cough* stuff on Windows 10 storage spaces ((split between 4 drives(which I believe is some form of JBOD)). Have anyone attempted to migrate this to Linux?6
-
So, if anyone remembers my previous rants (or otherwise), the app I'm working on is finally going to release. We release in about a week and a half, despite having at minimum 10 days work + testing (not including all testing of aws migration that we still haven't fully completed) to even have an MVP.
This is all because the clients have been pushing a release date (16th July) in marketing. Oh, and the icing on the cake? Our boss agreed for a submission to app stores (back-end pending) on Friday (yes, in like 3 days) instead of the agreed next Wednesday date.
Side note: the client is coming over to our office for Thursday and Friday. Why? We are unsure. -
Anyone else here done a data migration from CiviCRM to Salesforce with a metric arseton of custom fields? Every so often I find some dirty data issue that predates even the previous lead dev and most other people who still work here.1
-
Why does Microsoft make entity migration default and every tutorial show them? I have other ways of migrating my db schema changed. Newbies come to me with this cluster already in motion and I have to help straighten it out. Then the newbie says "why do all the tutorials show it". I say because the people making the tutorials are trying to quickly create content for a tutorial.
-
Tooday i try to migrate a Drupal 7 to Drupal 8 ... I think that migrate module from drupal8 will work easily... But i remember on Drupal, noting work as expected on this Platform... I run the migration and suprise suprise content type field are off or empty and I don't have any data imported ...
Go to reports check the error message ... Try to get information on Internet hoo yes i remember no fucking documentation anywhere because Yolo i need to release 1626 modules that in beta or alpha after 5 years of development. And i dont give shit anymore.
Now i try use migrate_plus and tools to make my custom importation... Documentation not found or not finish ... Please omg please just shutup and work1 -
hey, how do you keep up with the migration files and git branches, i name them, how do you make sure the current branch has latest migration files so it does not break your application :)2
-
This AWS migration is a pain.
Neither of us know anything about networking, and we can't get any help with it.
Talk about bashing your head against a wall. -
So I just spent 8 hours migrating our git projects from bitbucket to gitlab because SOMEONE thought backups were being done nightly without ever actually checking. Of course the only backups to be found were well over a year old and the fucking bit bucket licence expired ao migration was entirely fucking manual... CHECK YOUR FUCKING BACKUPS, FUUUCCCCKKK!!!!! At least have the common courtesy of putting something in place to report on failing backup procedures.
Oh and another thing: FUCK YOU ATLASSIAN! RIGHT UP THE ASSE WITH A RUSTY, RABIES RIDDEN, AIDS INDUCING PITCHFORK SIDEWAYS! Who the flying fuck names their repos numbers? Thanks for nothing you mind numbingly incompotent apes...
On a cheerier note, how's everyones day been?2 -
At work we are currently planing to migrate our source code to the latest compiler version. But I don’t think that we will migrate everything from the old version to the new version this time. Then we have to use three different compiler versions at the same time, with three different IDE versions. And how many VMs are you using at work?
-
Shit. Today I had to code some required Migration Script for a Client. Deadline tomorrow.
It's nearly finished. But the Last thing isn't working correct.
I'll try to find the bug when I am at Home.
Yeah. I hope I Can find it.
But.. but. The FUCKING TRAIN WAS CANCELLED. SHIT! I have to find the bug you piece of Shit!2 -
Short : I'm in a situation where I fucking hate to go to office everyday because the business team thinks I'm their bitch
Long : Exactly one year ago I joined this small company, few months ago all the senior devs started working on revamping the old shitty ERP they have into new one.They put me in charge of taking care the support for a project we work before.Now fucking asshole from the BA team sit on my shoulder every day and forcing me to do anything he thinks he want.Right now I'm doing a data migration from massive excel files from client. It's in a shitty format I asked help from senior devs they said it's impossible to import this shit.But my asshole team lead also support that BA fucker.
I can't sleep everyday normally because of stress.My notice period (relieving period) is 3 months.I just feel like every end of day I wanna kill all those motherfuckers11 -
Any word for feeling happy, stressed and accomplished all together at a time?
Story - Solved a major bug after digging into decompiled code stepping into each line for almost a day and half and later figuring that it requires just one line of change? -
Spent half a night figuring out, why all my links on my drupal website are located to weird subdomain after migration. Angry; at the morning I realised, that cache system completely gone weird and somehow pointed itself to completely different domain. Thanks drupal1
-
@Work: Every new project, we need a new server for CI/CD...
Whiteboard + bets on how many weeks it will take to get some servers provided.undefined java python network continues delivery servers networking migration continues integration integration -
Dont be that guy, ok. Just clean up your shit and don't let shit go through you.
I will git blame you. I will judge you.
#leaveitbetterthanyoufoundit2 -
!rant
Yoo fellow devs... And sysAdmins??
We're tasked with migrating our apps from current HP UX server to RHEL...
Most of our apps run on Tomcat 7 and weblogic...
We also have Oracle DB Enterprise Edition...
Just wondering if any of you out there from the stone age have done this recently... Any tips.. Warnings... Advice on the matter?? -
With the migration from GitHub proceeding in earnest, I am eagerly awaiting hearing:
"We decided that 'just let shit break' was the most obvious and straighforward way to document our projects' dependencies." -
Having to change the data type of a column in the database of an app is just the worst! I always forget to code the migration of the old data :(
-
Today I am venting with a text I sent to my friend and colleague:
"Awh fuck when I tried to get all the pieces together - migration and elitism - there were bugs everywhere, even from places I thought I had sorted out. BUGS, BUGS never die! 🐛🐜🕷🐛🐞" -
Spent two hours trying to work out why a Kubernetes pod wouldn't apply it's database migration when it works in every other environment. Turns out the database instance was powered off. Piss biscuits.
-
Wordpress folks , please help me out here.
Sometime ago, I was making an android app for this small NGO which had a functional website recently created in wordpress. My goal was to make their users go mobile, as I liked watching their uploaded videos, but the website interface was just horrible. The different parts of the website were :
- A blog feed, managed via wordpress, publically accessible via json based (horrible) rest apis
- A video playlist/player managed via wordpress but the videos were put seperately in aws s3, accessible to registered users, and
- a login/signup page, managed via a wordpress plugin.
I was able to parse their blog feed into my app.
I tried to create users/login/signup via the rest apis for the app, but couldn't because wordpress doesn't expose its database. so i went with firebase based login/signup/forgot pwd system.
I was also able to make api calls for aws s3. It actually didn't required any authentication, the bucket was private but was made inaccessible based on a client side isLoggedIn boolean provided by the wordpress plugin. So i also imitiated the pattern and hide the video access in my app behind the login check provided by firebase.
Now they are not satisfied by the solution because while registration, all the data goes into my auth db and registration details db, present in the firebase. and when a user registers via wordpress, the details goes into their wordpress plugin. We need a way to have accounts of users on both the platforms and there doesn't seem to be a way from either the firebase or wordpress to perform such migration.
So do you know any plugin or ways by which we could do it? note neither they nor i know enough php do come up with a custom php based solution. i can try tho, but then again, the plugin they used is known as "Profile builder" and afaik, it doesn't expose any data in any manner3 -
Hey guys I'm struggling with this error in django
django.db.migrations.exceptions.NodeNotFoundError: Migration recommendations.0001_initial dependencies reference nonexistent parent node
Can someone please help me1 -
We use AngularJS for widgets, planning a migration to Angular. AngularJS is shit. How bad is Angular?4
-
me: FE in work, but doing fullstack on my passion projects and somewhat confident on small VPSs - heck, I have a beard, I can do server stuff :) - migrating a WP site that just wont work, copied everything, didn't work, used a migration tool, didn't work, always getting "Connection refused"... must be something with the SSL certificates.. 3 fckn days passed by and nothing when I stumbled upon a forum post with similar issue where the guy stated: I tried all the obvious like copying files, db, certificates, enabled ssl on apache... then it hit me, this is a new installation, I didn't enabled SSL in apache sudo a2enmode ssl restarted apache and BOOM everything is working
part of me was like how stupid you have to be - but the other part is like I guess I learn something every day, this is how you migrate a WP site with the domain #IloveIT -
I'm a Bahamian in Canada and by Tuesday the 14th, Gotta go back to fun in the boiling heat sun. But I want to Slave as an intern with a programmer or programmers in order to learn. I can learn on my own but I learn faster when slaved to do a monotonous task repeatedly ad nauseam. Is there anyone who can help?undefined noon programming canada intern migration work study help will work for food and board slave3
-
DB migrations give the chills.
This one went well. It worked as expected but that "uneasy" feeling lingers... -
Finally got around to migrating my two servers after Scaleway and Aruba raised their prices... man these migrations are a pain in the ass.
And I *still* have not finished migrating the docker containers, because that piece of trash still eludes me.
Maybe it's my depression speaking, but this shit is exhausting2 -
Does anyone, that works/has worked with laravel know how to give id a minimum length?
For example, instead of 1 I would want 000001, 10 would be 000010, and so on.
I know uuid does something similar, but it's not exactly what I want. Also, I had a bad experience with uuid, where I wanted to delete the field but it would still show up every time I migrated 🙃 but it wasn't it the migration file 🙃 so now I try to avoid using it 🙃5 -
Hey fellow c++ devs, i have a question. I am currently working for a company that has a system with more than 300 000 thousand lines of maintained code and it is written in C++03. A lot of it utilises boost and custom performance work arounds and migration is currently out of the question, but I would really love to see some Cpp11 sugar in the code-base. I know there might not be too much business value to this potential endevour, but what do you think?1