AboutI'm like Jesus but instead of water into wine, I turn caffeine into code.
SkillsPHP, js, jQuery, SQL, WordPress, Python
Joined devRant on 9/14/2016
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Less rant, more story.
Tl;Dr: Disney uses "Magic Bands" to track every action of every person within their parks.
So I took my family to Disney World this past summer and we got these "nifty" little things called Magic Bands. These things are little wrist devices that basically handle everything for you in the parks. It unlocks your resort room, it gets you into the parks, you pay for meals and souvenirs with it by connecting a credit card and/or your meal plan. It makes things real simple as it's like putting on your watch each day.
At first I kinda enjoyed how easy it made everything on the trip, but then as we were exiting a ride the couple in front of us noticed the digital signs had their names on them, I looked around and noticed mine too, a sign that said "have a good day $myName." It suddenly clicked. These "Magic Bands" are people trackers. Suddenly everything about the park that I had been enjoying, was part of the system they had in place using these bands as human cattle tags. The ride wait time estimations were perfect, not because of a good algorithm and estimations, but because they had actual real data telling them when a person entered the line and got off the ride.
Using a BLE scanner app I was able to see that they have hundreds of APs throughout the parks tracking every single band on every single person withing their compound. I started to think about all of the data they're collecting and the thought of it was overwhelming. The amount of assumptions they can make about people based on their actions within their parks and what that data would be worth to additional advertisers. By the end of the trip I was cynically pointing out everything to my family about the cattle tags and how much I hated wearing it and yet it was required in order to do anything.26
More than 2 years ago I alerted management that the default password we use for client accounts (and two of the variations) were pwned in database breaches. Today we receive an all-staff email that management "has reason to believe this password may have been compromised" and that we needed to change it across the 1200+ accounts where it's being used (200+ clients, several accounts per client).
Is it unprofessional to send a few "I told you so" memes and gifs?7
The problem with automating your work so you have time for other things is that when the automation fails you have to find time to do it manually AND fix whatever is broke.1
I'm stuck in a really difficult spot in my office and I'm not sure if I should start looking elsewhere. Tldr; there's no defined hierarchy or career path in the web department leaving no position to be promoted to.
We've got 2 offices with now 150+ employees and for the last 2 years I've basically inherited the responsibilities of an IT manager. Planning and deploying our networks, firewall config, VPN setup, keeping users' systems functional, track equipment, order/setup systems for new employees. All of this in addition to my original job description of web developer, which has basically turned into maintaining client WordPress sites while the other developer builds sites.
I've spoken to our CTO (my supervisor) about how much time the IT stuff actually takes and some of my suggestions for the future to make sure we protect ourselves and future proof our systems the best we can and one of my suggestions was that we needed to create the IT manager position because he is usually in meetings or building out API integrations. He's behind the idea, or at least says so to me, but leadership doesn't believe it's needed because we "manage just fine as it is" (this does require 60 hours a week of work along with much automation that I wrote/built). But we're trying to open a 3rd office which means another 50+ employees and systems to manage as well as more websites as we sign more clients.
My pay has never been satisfactory where I am and based on the maximum raise each year it would take me another 10 years to make what I would like (that's calculating without cost of living increase) but they claim this is because I lack a formal degree (self taught). I love most of the people I work with, don't really have an issue with any of them (outside that they're stupid but that I can let that slide if they're trying), and they work with me and my health issues which cause me to miss significantly more office time than I would like. I've been here for 4 years and I've learned a lot but I don't feel like there's any upward mobility here. The only position I see in my department above me is the CTO (or possibly the new PM but that's not a position I want) and he's not going anywhere, and I firmly believe we need someone who can full-time stay on top of our infrastructure before we expand further.
I fantasize occasionally about leaving and finding something else, and there are plenty of opportunities online that I appear qualified for which pay more, but I worry that I'd be trading in something that really isn't all that bad for something that sucks and the only real perk is more money. I'd hate to go somewhere else and start back at the bottom again and have to prove myself yet again.5
A few months back I tried to get the company I work for to invest in software to located and recover lost/stolen devices. I brought a few offerings to the table but I was told we didn't need to worry about that because it never happens and we already have software in place.
Fast forward a few months and I'm looking at the software we're using and it seems we haven't actually configured the computers to allow for tracking. I send a message to our CTO about this and point out that, in the event of a missing device, we can't actually relocate it. Not 5 minutes later a manager comes in to let us know that his computer is missing and may have been stolen because his car was broken into the previous night.
Well I'm laughing because this is just the kind of thing I needed to happen, and the manager is freaking out because he's afraid the CEO is going to be furious. I get a few emails from other members of the leadership team requesting we set up a meeting to go over our security and asset protection procedures.
So I finally get to start implementing some actual security protocols around here. And fortunately the lost laptop was actually recovered because it was left at a bar and not in the car when it was broken into.
A few months back I was talking with our web team and we determined a ticketing software would be useful for clients to submit website updates. Rather than request we buy one, because we constantly get told to stop spending, I spent my free time building it out. We tested it and decided it was ready to present to management.
Management tells us that clients aren't going to use something like this (4 fields and optional file upload). The project sits in a repo untouched for some months.
Company-wide email come in announcing our brand new ticket system for clients to submit issues about our software. Then a second email comes in to me asking why the web team never thought to do something like that and went on about how useful it would be if we had something similar. I link them to the one I built and my notes from our previous meeting.
Manager who told me clients would never use this: Let's talk about this next week and see if we can get people to use it.
It's been 3 weeks and the meeting has been rescheduled 5 times.1
My humble work setup. I took this a while ago and never posted it, figured I should get it up for this week's rant.
The extra touchpad and keyboard was for training the new girl and allowing her to drive while still giving me access to my box.2
With my work putting more and more things on my plate that I don't want to work on and refusing to increase my pay proportionately I'm thinking about going freelance. My biggest argument against is this that I'm terrible with design.
What design tools to you guys use for mocking up a website? I use Windows and Linux for my work so Mac only apps aren't going to help.
I also struggle with colors. I've never been officially diagnosed as color blind, but I've been told I'm wrong about colors enough to know there's something going on there. Are there any good tools out there that can help select colors that go well together? I'm thinking if a company has a red they use for everything, I put that in and the tool gives me a few color pallettes to work with.
I've also thought about just finding a designer to work with, but then I have to budget for this person as well which means I'd have to take on even more clients. I want to improve my design abilities so I can do more myself.
Any help appreciated guys.2
Receive several documents of blog posts from a client, each one titled "Blog $n - $category - $title." Cool, the client gave them to me in order and I just have to plug them in.
Enter blogs on site starting with Blog 1.
Client sees the blogs on the site and loses their shit. "I specifically numbered the blogs so you knew what order to put them in! How hard is it to put them in numerical order? Blog 1 is the newest blog and should be first on the page."
The site displays the newest post first, but because any normal person would have named the oldest blog "blog 1" and counted up from there the blogs are in the reverse order the client expected.
What the hell kind of dense motherfucker numbers their blog files in a manner which requires them to rename every file each time they write a new blog post?
Our owner's other company sells products online (or has the ability to anyways). Their current site is 7+ years old WordPress/Woocommerce and is seriously outdated because the site breaks if you update anything so we've been told to make a new site (finally). They also said they were going to release a whole new line up of products. So the first thing I tried to do was get them to nail down their product line and how shipping was going to be configured. I was told to just use the shipping from the previous site.
Turns out those shipping rates don't use any sort of math or automation at all, there is literally a manually set shipping value for every single product for every single shipping location (30*60) and even values for different quantities. And there's no way to export these rates into a readable table because the plugins they use shove all the data into the postmeta table, I'm forced to go through and put the data into a spreadsheet so that I can attempt to organize it and hopefully find someone way to automate it. Owner claims at one point that he has a similar spreadsheet that's more up to date but for some reason refuses to send it over or put me in touch with the right people in the shipping department.
I've gone through the shipping rates with the old products and the new products and organized them as best I can and each time I've gotten done and shown them the spreadsheet with their products and shipping, they add or change something which requires me to basically wipe the slate clean and start over eating another 50 or so hours of my time, which with everything else really means another month+ to find time to work on it between other projects.
After about a year they finished their products and I finally finished the planning and got approval to build it out for the site. Small victory!!
After about 60 hours plugging these values into the database (only about 1/3 done) I get an email from their head of shipping who tells me the values in my spreadsheet are "terribly inaccurate, in some areas by $100+" and that the data should not be used anywhere.
So after something like a year and a half and 200+ hours of work, the data I've been using to plan all this isn't even accurate. I'm trying not to go crazy here but this kind of shit is unacceptable. When we're done with this I'm going to send the owner an invoice to show him how much money he wasted on this because nothing was planned and he just wanted it built. There's a fucking process for a reason, when you don't follow the process you fuck everything up. If a client had pulled this shit and turned their simple site into this much work they would have been dropped. I get constant emails asking when the new site will be done and every time my answer is "I'm still waiting for x items that I asked for last time you asked where we were." He gets a couple things on the list and sends them back and then goes unresponsive for weeks at a time.
Management has been telling me that I seem more stressed lately but only one of them understands what's going on here when I explain it. The rest say stupid shit like "why don't you automate it" or "make an intern do it." You won't let me hire an intern and even if I did, I'm not sure I could explain how the shipping works now to even trust someone else to do it. I'm hoping when the shipping guy gives me the new sheet that maybe there's some easier solution here because I'm ready to start shooting people.2
Wrong wrong wrong WRONGITY WRONG WROOONNGGGG!!!!!
Client to PM to me: "Well Jim said we don't need those on this site."
PM to client: "We'll find you a template you can use to get started, it'll cover most of what you need."
Me to PM: "we will do no such thing, we can send them a few links explaining why they need these, but they should consult a legal professional and cover their asses for their own business practices. I can provide any technical details they may need like what data the cookies collect if necessary."
PM to me: "well I'll just find something for them then."
*In my head* please just go crawl in a hole and die.4
Co-worker: hey, can you create an email?
Me: yeah, who needs one? There are no records indicating any new people starting for another two weeks.
Cw: if for Stan, he started today. Also he needs a computer set up.
Me: who the hell is Stan and why are there no records of this person?
Cw: he's new, he started today so we didn't need an email or computer before today.
Me: I get that they're new, but what happened to giving the IT department at least 3 days notice on new hires so I can make sure things get taken care of?
Cw: you know how it is around here, nobody gets notice for anything. So can you get that email and computer setup for me, he can't work without them.
Me: I get that we don't actually plan for anything around here and that 90% of my job is fixing that failure, but hiring someone isn't like a system failing, people don't just show up and say "I start today" they have to go through interviews and background checks and other stuff, someone besides this person knew they started today so I don't think it's too much to ask that I get an email when the offer is extended to the person so I can prepare a system.
Cw: well we interviewed him two weeks ago and he accepted the offer last week, he's here and waiting so just as soon as you can please.
Me: well here's an email, the computer is gonna have to wait, I have a lot going on today and I don't have any computers ready right now.
*Seriously tempted to make them wait till next week to cover the 3 days notice I've asked for 100 times*24
My stress ball has been stolen!
I came in to work to an email alerting me to a bug in production. I copied the site to staging to work on the issue but I was unable to replicate bug. My rubber duck wasn't helping so I went to go bounce my ball off the wall when I realized I don't have a stress ball anymore.
I spent 7 hours working on the bug without a stress ball before finally fixing it. And now I'm ready to deal with the theft the old-fashioned way.3
A few weeks ago a client came to us asking for edits on their site. They had a developer in their office but they fired him a few days prior. After some looking at the piece of garbage they called a website I told my supervisors that it was built in Adobe Muse and from what I could find in a few quick searches it's shit and I didn't want to learn to use a shit tool. Apparently as a company we decided to hire a freelancer to handle this despite the fact that we didn't build the site and the client isn't paying for maintenance so I'm not sure why it's our fault.
Fast forward to today:
I've been in the office for 19 hours straight trying to learn how to use Muse and fix the client's site because somehow the freelancer managed to delete the mobile version of the site. When I ask my supervisors why I'm fixing and supporting a site we didn't build and don't have experience working in and the response is: we're presenting the client with a $50k proposal and we need all the good graces we can get.
Unless I'm gonna see some of the commission it doesn't really matter what we charge for the site, I make the same whether it's a free site or a $100k site.2
Does anyone else sometimes make customer support people do things that you're just too lazy or don't want to do?
I'm especially bad about this if I'm looking into a service and they have a chat person that pops up. Since you bugged me while I was trying to do my research, how about you just answer all these questions I have so I don't have to click through your site.
Bought a new toy drone to play with at home, Ryze Yello. It boasts an Open SDK on the box and claims to be programmable. Awesome, I think, I end up buying and going home to get to work.
All is great using the app, I can fly the drone and the video feed is mostly usable. Now let's get in to the SDK and see what we have.
Docs say I've got a few basic commands, 8 directional flips, 6 directions of movement, rotate, takeoff, and land. Plus a config option to set the speed. After a bit of tinkering I discovered that only 3 commands actually work: takeoff, flip, land. The rest error out with no (currently) useful message.
A bit more searching online tells me that they borked the commands with a recent firmware update and are working on it as of 3 months ago.
I wish I knew more about firmware or deconstructing the wifi packets from the app so I could try to do something useful.
So many stupid things I wanted to do with an automated drone and I'm stuck waiting for them to fix their firmware to put functionality back into the device.7
Am I the only guy using the GDPR emails as a to-do list? For each email I either delete the account with that service OR I take the opportunity to change the password. Tedious? Yeah. Satisfying? You bet!
I see all these people complaining about their inbox blowing up with "spam" but how many of those accounts or services do you still use? I bet over half of them were only signed up for to try their demo and then forgotten about.4
Son a fucking bitch!
I ordered a brand new shiney SSD for my Inspiron 7573 which came in today. I was all set up with system backups just in case and install media for Debian and Windows standing by. I pull out my tools and realize that the laptop isn't going to have a screw inside to hold the drive in since it didn't come with a SSD. No big deal, I pull out the magnetic bowl of extra screws from all the previous repairs I've done and start looking for the screw I need. I can't find the screw I need so I go online hoping maybe I'll find someplace in town that will have one single screw with no luck.
Now I get to wait 2 more days for the screw I need to arrive from Amazon.12
TL;DR: don't fuck with your IT guy.
One of the guys in our office treats his laptop like shit, has dropped it a number of times and had managed to break the screen. There was a nice crack diagonally corner to corner across the screen with a nice black splotch around it making a good chunk of his screen unusable. Servicing the laptop would be too expensive and would mean being without the machine for several weeks forced to use a Mac.
I offered to replace the screen for him since I have experience doing laptop repairs. Once the screen arrived I kept the laptop for the evening and spent an hour replacing the screen. I left a note telling him he owed me $60 for my time.
He sees the note, laughs and says "I'll buy you lunch."
Not only does this guy only keep his word when offering to buy lunch about 10% of the time, when he does actually do it he charges it on the company card so it isn't really him paying for it. So I spent my lunch break writing up a little Python app which randomly fucks with his mouse and keyboard.
I sent him a message that I needed to run some tests on his new screen tonight so I'll be able to install it and set it to run on boot.
The app does things like:
Jiggle the mouse
Minimize all windows to show the desktop
Can't decide if I want to add in reboots as well.
I figure I'll leave it going until I get $60 worth of entertainment out of it.19
I finally ordered myself a stress ball, and a PHP duck, but they aren't here yet and I need them today! Also my duck is gonna need to get a new Python cape here soon as well.
I spent all day at work writing new features and even fixing a few bugs on our ticketing system. I just pulled out the computer at home to continue working and realized I never pushed any of the code. 6 hours of work sitting in limbo all weekend now. I wanted to finish testing that code before starting on the next feature.
Do I start the next features and finish debugging everything on Monday or do I take the weekend off?
The sooner you start coding, the longer it will take.
This was meant as a way to tell us all the slow down and plan first. If you go right into coding things before the structure is thought out you will end up with garbage code.4
Client contacts our company that his site is down, we do some investigating and the only way we can access the site is on a mobile phone. From the office computers the site never loads and times out. Since we don't host the site and I've never logged into it before I don't have a lot of details so I suggest they contact whoever hosts their site. This is where things get weird.
Client tells me that the site is hosted on someone's home server. I tell him that this is quite strange in 2018 and rather unlikely and ask if he was ever given access to the site to log in or if he has access to his domain registration, GoDaddy.
He says he doesn't understand any of this and would rather I just contact his current developer and figure it out with him. We agree that he needs to get access to his site so we are going to migrate it once I get access to it.
I email his current developer letting him know the client has put me in contact with him to troubleshoot the issues with the site. I ask him some standard questions like: where is the site hosted? Can you access it from a computer? Do you have some security measures in place to block certain IP ranges? Can you give me from access to get the files? Will you send me a backup of the site for me to load up on my server?
Other dev: Tell me the account number and I'll transfer the domain.
Me: I'll have to get back to you on that once I talk to the client and set up his GoDaddy account since we believe the business owner should own their domain, not their developers. In the meantime you didn't answer any of the questions I asked. Transferring the domain won't get the site on my server so I still need the files.
*3 days pass*
OD: You are trying the wrong domain. The correct domain is [redacted].com I'll have my daughter send you the files when she gets in town. We will transfer the domain to you, the client will forget to pay and the site will go down and it'll be your fault.
Me: I appreciate your advice, but the client will own their domain. I'm trying to get the site online and you have no answered any of my questions. It's been a week now and you have not transferred the domain, you have not provided a copy of the site, you have not told me where the site is hosted. The client and I are both getting impatient at this point when will we receive a backup of the site and the transfer of the domain?
OD: Go fuck yourself, tell the client they can sue me.
If the client is that terrible, wouldn't you want to hand them off to anyone willing to take them? I have never understood why developers and agencies try to hold clients hostage by keeping their domain or website and refusing access. From what I can tell this is a freelance developer without a real company so a legal battle likely isn't going to go well since the domain is worthless to him as the copyright to the name is owned by the client. This isn't the first time we've had to help clients through this sort of thing.4
I have so much work to get done I don't even know where to start anymore. I've got 6 sites in development, 20 sites with continuing maintenance, and I'm in charge of everything IT in my office.
Today I asked if the other developer on our team could help out and take a few maintenance clients off my hands so I could work on getting builds done.
We called a team meeting where I explained my workload and pointed out that in order to make the deadline of next week on two of these builds our other developer is going to have to help out with some of the work on my plate.
Other dev: Well I've already got 3 sites that still need maintenance this month and I'm still working on $client site.
Me: Ok well today is only the 3rd so you have all month to do the maintenance on those sites, these two have to be online next week and I still have 100 hours of work to do between the two of them.
Me to CTO: can I get some backup here? Or can we hire me a monkey (my term for interns) for a couple weeks so I can focus on building?
CTO: We'll have to talk about that at our meeting next week. In the mean time, just do what you can to get the sites done and let me know if you think we aren't going to make the deadlines.
Me: That's what this conversation is, I'm telling you now, and I've been telling you for 3 weeks that we were getting close to my limit for my workload. We have approximately 175 work hours in a month, maintenance contracts alone accounts for 120 of those hours.
CTO: Alright, well if after Monday you don't think you're going to make the deadline (Thursday), then we'll see if we can find a solution.
Fuck this shit, I get paid the same whether the client is happy or not, I get paid the same whether we reach the deadline or not. I asked that salespeople stop making deadline promises before developers get to look at the scope but that's not the way we do things here. At least one of these sites is not going to be online Thursday, probably both.2
The question "are you busy" is the most loaded fucking BS question ever. If you answer and say you're busy you get told that you aren't that busy since you answeted the chat. If you don't answer the messenger blows up your shit asking many more times and possibly even fucking calls you.
If I don't answer, I'm busy go the fuck away. "But it was super important and I needed it fixed right away!" Ok, but when I answered your message just 4 minutes after your originally messaged me don't make me spend another 5 minutes asking for information you knew I was going to ask for and could have provided in one of your follow up messages (Client name, website, page with the problem, description of the problem). Also, don't tell me that it has to get fixed because I'm the one who made the mistake. It has to get fixed because it's wrong, it doesn't fucking matter who made the mistake.3
Super stoked and had to celebrate and you guys are the only people who might appreciate it.
I just got a working beta for a WordPress plugin which automatically generated alt text for images when they are uploaded by using Microsoft's Computer Vision API to analyze the images.
Adjustable confidence setting means you can leave the alt text blank when the API is less sure about the image contents.
Not every description is great, but it's better than leaving the alt text blank or using file names. I know I've saved myself hours of poking back through finished sites adding text where it was forgot.1
New favorite statement/question: "OK, but WHY?"
When co-workers want access to something, when clients request stupid features, when clients say almost anything really.
If you can't tell me why, then I probably don't need to waste my time on it.1
I email our CFO in January about an overcharge I noticed on an invoice, something we've been paying $120 a month for, not using, and never used the service. I suggested we contact the vendor and request the charge be removed and try for a credit.
Fast forward 2 months, vendor emails me to let me know that the service is being cancelled and they wanted to give me a heads up that I'll need to find another provider. I decide to go ahead and email back telling them that we haven't ever used the service and we shouldn't be paying for it. After 30 minutes on the phone I got the charge removed and got our account credited for the last 12 months.
Now to figure out how to word it to the boss without making it seem like I'm trying to throw the CFO under the bus for not doing his job.1
I tend to go hide in the IT closet. It's dark and the only noise is the fans on the server rack. Very relaxing and no one has figured out that's where I disappeared to.