Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "time tracking"
If we ever colonize Mars or if we even go further I am already feeling sorry for the poor bloke that will have to work on DateTime library.9
Finally did it. Quit my job.
The full story:
Just came back from vacation to find out that pretty much all the work I put at place has been either destroyed by "temporary fixes" or wiped clean in favour of buggy older versions. The reason, and this is a direct quote "Ari left the code riddled with bugs prior to leaving".
Oh no. Oh no I did not you fucker.
My boss wrote a piece of major software with another coder (over the course of month and a balf). This software was very fragile as its intention was to demo specific features we want to adopt for a version 2 of it.
I was then handed over this software (which was vanilajs with angular) and was told to "clean it up" introduce a typing system, introduce a build system, add webpack for better module and dependency management, learn cordova (because its essential and I had no idea of how it works). As well as fix the billion of issues with data storage in the software. Add a webgui and setup multiple databses for data exports from the app. Ensure that transmission of the data is clean and valid.
What else. This software had ZERO documentation. And I had to sit my boss for a solid 3hrs plus some occasional questions as I was developing to get a clear idea of whats going on.
Took a bit over 3 weeks. But I had the damn thing ported over. Cleaned up. And partially documented.
During this period, I was suppose to work with another 2 other coders "my team". But they were always pulled into other things by my Boss.
During this period, I kept asking for code reviews (as I was handling a very large code base on my own).
During this period, I was asking for help from my boss to make sure that the visual aspect of the software meets the requirements (there are LOTS of windows, screens, panels etc, which I just could not possibly get to checking on my own).
At the end of this period. I went on vacation (booked by my brothers for my bday <3 ).
I come back. My work is null. The Boss only looked at it on the friday night leading up to my return. And decided to go back to v1 and fix whatever he didnt like there.
So this guy calls me. Calls me on a friggin SUNDAY. I like just got off the plane. Was heading to dinner with my family.
He and another coder have basically nuked my work. And in an extremely hacky way tied some things together to sort of work. Moreever, the webguis that I setup for the database viewing. They were EDITED ON THE PRODUCTION SERVER without git tracking!!
So monday. I get bombarded with over 20 emails. Claiming that I left things in an usuable state with no documentation. As well as I get yelled at by my boss for introducing "unnecessary complicated shit".
For fuck sakes. I was the one to bring the word documentation into the vocabulary of this company. There are literally ZERO documentated projects here. While all of mine are at least partially documented (due to lack of time).
For fuck sakes, during my time here I have been basically begging to pull the coder who made the admin views for our software and clean up some of the views so that no one will ever have to touch any database directly.
To say this story is the only reason I am done is so not true.
I dedicated over a year to this company. During this time I saw aspects of this behaviour attacking other coders as well as me. But never to this level.
I am so friggin happy that I quit. Never gonna look back.14
I absolutely HATE "web developers" who call you in to fix their FooBar'd mess, yet can't stop themselves from dictating what you should and shouldn't do, especially when they have no idea what they're doing.
So I get called in to a job improving the performance of a Magento site (and let's just say I have no love for Magento for a number of reasons) because this "developer" enabled Redis and expected everything to be lightning fast. Maybe he thought "Redis" was the name of a magical sorcerer living in the server. A master conjurer capable of weaving mystical time-altering spells to inexplicably improve the performance. Who knows?
This guy claims he spent "months" trying to figure out why the website couldn't load faster than 7 seconds at best, and his employer is demanding a resolution so he stops losing conversions. I usually try to avoid Magento because of all the headaches that come with it, but I figured "sure, why not?" I mean, he built the website less than a year ago, so how bad can it really be? Well...let's see how fast you all can facepalm:
1.) The website was built brand new on Magento 126.96.36.199...what? I mean, if this were built a few years back, that would be a different story, but building a fresh Magento website in 2017 in 1.x? I asked him why he did that...his answer absolutely floored me: "because PHP 5.5 was the best choice at the time for speed and performance..." What?!
2.) The ONLY optimization done on the website was Redis cache being enabled. No merged CSS/JS, no use of a CDN, no image optimization, no gzip, no expires rules. Just Redis...
3.) Now to say the website was poorly coded was an understatement. This wasn't the worst coding I've seen, but it was far from acceptable. There was no organization whatsoever. Templates and skin assets are being called from across 12 different locations on the server, making tracking down and finding a snippet to fix downright annoying.
But not only that, the home page itself had 83 custom database queries to load the products on the page. He said this was so he could load products from several different categories and custom tables to show on the page. I asked him why he didn't just call a few join queries, and he had no idea what I was talking about.
4.) Almost every image on the website was a .PNG file, 2000x2000 px and lossless. The home page alone was 22MB just from images.
There were several other issues, but those 4 should be enough to paint a good picture. The client wanted this all done in a week for less than $500. We laughed. But we agreed on the price only because of a long relationship and because they have some referrals they got us in the door with. But we told them it would get done on our time, not theirs. So I copied the website to our server as a test bed and got to work.
So I show their developer the changes and he's stunned. He says he'll tell the hosting provider create a new server set up to migrate the optimized site over and cut over to, because taking the live website down for maintenance for even an hour or two in the middle of the night is "unacceptable".
So trying to be cool about it, I tell him I'd be happy to configure the server to the exact specifications needed. He says "we can't do that". I look at him confused. "What do you mean we 'can't'?" He tells me that even though this is a dedicated server, the provider doesn't allow any access other than a jailed shell account and cPanel access. What?! This is a company averaging 3 million+ per year in revenue. Why don't they have an IT manager overseeing everything? Apparently for them, they're too cheap for that, so they went with a "managed dedicated server", "managed" apparently meaning "you only get to use it like a shared host".
So after countless phone calls arguing with the hosting provider, they agree to make our changes. Then the client's developer starts getting nasty out of nowhere. He says my optimizations are not acceptable because I'm not using Redis cache, and now the client is threatening to walk away without paying us.
So I guess the overall message from this rant is not so much about the situation, but the developer and countless others like him that are clueless, but try to speak from a position of authority.
If we as developers don't stop challenging each other in a measuring contest and learn to let go when we need help, we can get a lot more done and prevent losing clients. </rant>14
Okay so my co-workers explains why they give me the title "GitHub Maid":
Basically most of the time the engineering didn't have the time to scroll through issues, and that includes me, so a lot of this stuff does not get triaged properly when reported. When I stumbled on the tracker, I knew I had to do something, so I sorted and sorted and managed the tickets by my own.
So being a "GitHub Maid" is not something to be embarrassed about after all, in fact, I think the dev team owed me a lot because the issue tracker is more organized, and the issues are getting triaged and assigned properly now compared before.
So if they call you like something similar, be proud of it because some developers wouldn't even bother to tidy up issue tracking.12
TL;DR: If you're an Android user, do yourself a favour and check out https://simplemobiletools.com/ . You're welcome.
Dear diary, today was a good day.
A small part of my faith in humanity was recovered after I found about Tibor Kaputa.
Apparently, this guy - like many of us - was fed up with the bloat, bugs, bullshit and 'features' of many of the stock Android apps that come preinstalled on most phones. And so, he decided to make his own.
Unlike most of us however, he actually pulled through. And then he made them open source.
No bullshit permission requirements.
No ads or tracking.
And no, not just 'toggle white/dark mode', I'm talking 'pick your own color scheme', both within the app and for the app icon (!).
And then sync your colour scheme across the entire suite of apps (!!).
Simple UI, with a lot of customizable settings.
And if you get them from f-droid, it's all completely free as in BEER too!
I've spent a lot of time in the last year trying to find software that does what it's supposed to do well, without trying to pull any sneaky bullshit in the background or annoy me with crap that I don't care about in a miserable attempt to show off its useless features.
I'm not a fan of Medium myself either, but the author's article about how his suite of apps was born really resonated with me. If you care about privacy, open source software, and doing things right, you should really give it a read: https://medium.com/@tibbi/...
I'm particularly a fan of the Gallery, the File Manager, and the Music player apps, and the others don't look half bad either.14
So you build a beautiful site; you spend good time on UX, refactoring, server optimisation, getting good page load speeds, SQL all optimised - life is good.
Commercial team comes in and slaps clickbait, generic advertising, tracking scrips over the lot.
Page loads go from a second to 30 seconds and even though you made sure all those crappy ad scripts are asynchronous pages still hang most times. PingdomTools lists your page scripts as going from 40 files to over 900... now users are ringing me up giving me grief about how slow this new company website is...5
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
These fuckface wantrapeneurs, posting jobs (paying to do so) and then offering bullshit like:
- We have no funding, so you'll work for free for some time.
- Paying in fucking crypto.
- Wanting a full stack rainbow puking and shitting unicorn for peanuts
- Fucking scammers, posing as legit companies and asking you to install Anydesk.
- Asking absurd interview tasks and times (a couple of days worth of work for a task).
- Whiteboard and live coding interviews with bullshit questions thinking they're Google, while having 20 devs.
- Negotiating salaries and when presented with contract get the salary reduced by double the amount.
- Having idiotic shit on their company websites like a fucking dog as a team member associated as happiness asshole. (One idiot even had a labrador during the video interview while cuddling him)
- Companies asking you to install tracking software with cam recording to keep you in check. (Yeah, you can go fuck yourselves)
- Having absurd compensation schemes, like pay calculation based on the "impact" your work has
Either I'm unlucky or job hunting has become something else since I last started searching.6
Someone asked for an RSS feed for the security/privacy blog, I thought?
Well, hereby! There are three feeds:
https://much-security.nl/main.xml - a feed which is updated with both blog posts and external links relating to privacy/security I find interesting/useful.
https://much-security.nl/own.xml - a feed only containing the blogs posts themselves. For people who are only interested in that part.
https://much-security.nl/external.x... - a feed only containing external links. For people who'd like to stay updated on recent cyber security/privacy thingies.
Tracking: every time a feed is visited, a redis value for that feed get's incremented. No time, ip addresses, user agent or whatsoever is saved. Just one variable getting increased once.
New domain name will also be revealed soon (probs tomorrow, going to bed soon as I've just been sick) :D.
Oh and just a warning, the main/external feed are the only ones populated with exactly one item right now :P30
🍿🍿 pull up a chair and get comfy. This was a few years ago and anger has filled some details, so bear with me...
One day, during one of rare afternoons off of work, I was in the library to work on a group project for school. This was maybe a month before it was due, so we were tracking for decent progress and one less stressor over finals. It was about 80° F out, with the perfect breeze for the beach, but school comes first.
I'm team lead (which is terrifying, but less important) and my bro C shows up early to be ready to go on time because he's professional. I'M SO BAD I FORGOT DOUCHEBAGS NAME, so he's A (for asshole), shows up AN HOUR AND 15 MINUTES LATE. But it's not the end of the world, C and I worked around our database schema (which A sent us and we approved), so we could iron out kinks as we went.
A gets there... Fucking finally.
Fucker didn't have the database built (had 2 months to do it, we all agreed on schema a month prior. We're trying to be the adults our ages claim is to be).
*breathe in, count to 10* not a problem, A, just go ahead and start it now so we can at least check what we have.
Ok, my queen, I'll have it done in 10 minutes...
We needed an id (sku... Which, in 99.9999% of companies is numeric), a short name (xBox one, Macbook, don't smart tv), a description and a price (with 2 decimals). All approved by all 3 of us.
His sku ranges from 3 to 9 ALPHA NUMERIC CHARACTERS, the names were even more generic than expected (item1, item 2, Item_3), no description, and he somehow thought US currency had 5 decimal places!!! (it's more accurate...)
There was an epic, royal, and expensive fight scene in the library (may have been during the Lenten season I decided to give up caffeine AND fast for 40 days to prove a point to an ass wipe of a history teacher, don't recall). I made him cry, he failed the class because C and I wound up fixing everything he touched (graded by commits, because it was also an intro to git, but also, a classmate saw it all), and I had to buy multiple people coffee for yelling in the library.
A tried making out buttons work (I was fed up and done thinking for the day, so moved to documentation), but he fucked those up. I then made those worse by having nested buttons, but I deleted all his shit and started over and fixed it.
I then cried, but C and I survived and have each others backs still.11
I have been gone a while. Sorry. Workplace no longer allows phones on the lab and I work exclusively in the lab. Anyway here is a thing that pissed me off:
Systems Engineer (SE) 1 : 😐 So we have this file from the customer.
Me: 😑 Neat.
SE1: 😐 It passes on our system.
Me: 😑 *see prior*
Inner Me (IM): 🙄 is it taught in systems engineer school to talk one sentence at a time? It sounds exhausting.
SE1: but when we test it on your system, it fails. And we share the same algorithms.
Me: 😮 neat.
IM: 😮neat, 😥 wait what the fuck?
Me: 😎 I will totally look into that . . .
IM: 😨 . . . Thing that is absolutely not supposed to happen.
*Le me tracking down the thing and fixing it. Total work time 30 hours*
Me: 😃 So I found the problem and fixed it. All that needs to happen is for review board to approve the issue ticket.
SE1: 😀 cool. What was the problem?
Me: 😌 simple. See, if the user kicked off a rerun of the algorithm, we took your inputs, processed them, and put them in the algorithm. However, we erroneously subtracted 1 twice, where you only subtract 1 once.
SE1: 🙂 makes sense to me, since an erroneous minus 1 only effects 0.0001% of cases.
*le into review board*
Me: 😐 . . . so in conclusion this only happens in 0.0001% of cases. It has never affected a field test and if this user had followed the user training this would never have been revealed.
SE2: 🤨 So you're saying this has been in the software for how long?
Me: 😐 6 years. Literally the lifespan of this product.
SE2: 🤨 How do you know it's not fielded?
Me: 😐 It is fielded.
SE2: 🤨 how do you know that this problem hasn't been seen in the field?
Me: 😐 it hasn't been seen in 6 years?
IM: 😡 see literally all of the goddamn words I have said this entire fucking meeting!!!
SE2: 😐 I would like to see an analysis of this to see if it is getting sent to the final files.
Me: 🙄 it is if they rerun the algorithm from our product. It's a total rerun, output included. It's just never been a problem til this one super edge case that should have been thrown out anyway.
SE2: 🤨 I would still like to have SE3 run an analysis.
Me: 🙄 k.
IM: 😡 FUUUUUUUUUCK YOOOOOU
*SE3 run analysis*
SE3: 😐 getting the same results that Me is seeing.
Me: 😒 see? I do my due diligence.
SE2: 😐 Can you run that analysis on this file again that is somehow different, plus these 5 unrelated files?
SE3: 😎 sure. What's your program's account so I can bill it?
IM: 😍 did you ever knooooow that your my heeeerooooooo.
*SE3 runs analysis*
SE3: 😐 only the case that was broken is breaking.
SE2: 😐 Good.
IM: 🤬🤬🤬🤐 . . . 🤯WHY!?!?
Me: 😠 Why?
SE2: 😑 Because it confirms my thoughts. Me, I am inviting you to this algorithm meeting we have.
Me/IM: 😑/😡 what . . . the fuck?
*in algorithm meeting*
Me: 😑 *recaps all of the above* we subtract 1 one too many times from a number that spans from 10000 to -10000.
Software people/my boss/SE1/SE3: 🤔 makes sense.
SE2:🤨 I have slides that have an analysis of what Me just said. They will only take an hour to get through.
Me: 😑 that's cool but you need to give me your program's account number, because this has been fixed in our baseline for a week and at this point you're the only program that still cares. Actually I need the account to charge for the last couple times you interrupted me for some bullshit.
*we are let go.*
And this is how I spent 40+ useless hours against a program that is currently overrunning for no reason 🤣🤣🤣
Moral: never involve math guys in arithmetic situations. And if you ever feel like you're wasting your time, at least waste someone else's money.10
I got the job!
Yesterday morning I got a call from the wonderful recruiter I’d been working with, to say they were giving me a decent competitive offer 😄
After handing in my notice, backing my colleague, trying my best to look after the current employer... it paid off, I have the job that I wanted.
The guys at the new place really impressed me out the gate, clever, decent people doing some interesting stuff.
Senior is going back in my title where it belongs.
Basically it all worked out in time for Christmas 😄
I’ve been tracking this little saga on a tag but if you want to know what lead me down this route my previous rants are there. I’ll continue to rant as I finish in the current place and move on to the next 😄9
Admin work, because its all manual:
- Each new project has to fill out an Excel tab in a workbook, with a list of all the major tasks and who is responsible. This then needs to be used to create a Gantt chart, manually, in the same tab, showing in what month a task starts and ends.
- Every month we have to manually enter status updates into a powerpoint slide on a shared deck. Which has a collision at least once per month.
- Once a quarter we need to do something similar as the powerpoint slides, but into a word doc instead.
- Once a week we need to track our time on projects in a tool that can't be integrated with (no API or anything). Meaning we can't link up a ticket tracking system to it, so again, all manual.
- Once every 6 months a new round of research funding opens up and we write proposals. The status for which are tracked in another Excel spreadsheet, manually, once a week until the deadline.
- The instructions for what to do with the proposals are so vague and badly documented that there is an unwritten rule, that for the first time you will have to ask a bunch of questions to the project manager. This is accepted by everyone and its just the done thing.
- Everything is stored in a dropbox style system, which has become so cluttered I can only find resources by saving the links sent out previously.
- Some of these updates / reports also get a 1 hour meeting for everyone to stand up and read out what they've entered.
- From time to time random things will need to be reported on to the higher ups (how many publications, research papers, patents, times and dates etc.). Again rather than a tool, a new Excel spreadsheet is whipped up and emailed to everyone on the team. Whoever sent it out, then has to merge the 20+ copies into 1 doc.
- Some of the staff (mostly the devs), use a ticket tracking system to keep track of everything. Management refuse to use it to track the things they need. Instead we have to copy paste from it into the word docs, powerpoint, excel etc.
- By far the most annoying. Management force all the above as they need the info for finance, accounting, legal etc etc. So we have to do it, but whenever there is a question from legal, management send the question to us. So despite having documented every facet of everything imaginable, it all gets ignored in favour of endless emails.
I once tried to to put an end to all of this madness by proposing the use of a ticket tracking system, and then building reporting tools on top of it.
... I was told that it "wasn't appropriate". Still don't know what that means.9
I'd say Linux but seen that around a lot so I'll go with another favourite:
It's basically an offline navigation app which works with downloading maps offline and then you can use navigation without Internet (gps though of course).
It's very easy to use, looks okay enough and no fucking tracking at all. I was in Switzerland recently without any service (my friends didn't have service either and their navigation relies on Internet) and this fucker saves us big time.
Not saying that there aren't any other offline navigation apps but this one is awesome imo.28
I built a tracking suite for our fleet of printers quite some time ago. Once a day, "bizteam" (aka sales) gets an alert detailing how many printers are in critical need of attention (out of paper, mechanical error, etc.), and how many of them are flat-out offline. They don't seem to care. I mean they do, I think? but. the offline percentage hasn't changed much in the past month or two.
These printers constitute a primary part of our business model and... screw it. they're goddamn important, okay?
A full 16% of our printers are OFFLINE. Most of those HAVE BEEN OFFLINE FOR 3 FUCKING MONTHS.
3% of our printers have been online BUT OUT OF PAPER FOR OVER A MONTH.
and what really baffles me...
We've convinced a few of these merchants to actually plug in their goddamn printers. (and yes, they actually *paid* for these things, and they're absolutely not cheap.) Some of those were previously both offline AND out of paper, yet after being plugged in, they're *STILL* OUT OF PAPER?! What the crap, people! It's a printer! it's not difficult! It's the same as every other fucking printer you have! and it's probably the same goddamn fucking model!
Did AlexDeLarge skullfuck your brain into mush? FIX YOUR SHIT!12
So I had a fun week.
It started off with my boss replying to a co-workers email where he sent his new bank account, saying he doesn't need it untill we close off some baddly planned projects, meaning no paycheck.
Needless to say we were working night and days including weekends on it and put our best into it.
For the next part I need to explain a little background. We have this old legacy system I'm working with for the past 3 years. I keet raising the red flag we need a new one. Nothing happened. So every time I worked with it I kept thinking how to improve the parts. Almost two years went into thinking and planning the new system untill I got a green light. It was most satisfying - the day I got to build something good and awesome. I drew all the data structures, laid out the foundations and started building ontop of it. It was amazing and I was really proud of it. Then suddendly client wanted to see something and the decision was made we threw it together quickly with the old legacy system. It was on hold 'till then due to work overload.
Boss wrote me this week if I can put the project from git on a server, where he out sourced the completition into India where they will finish it. On thr question if they can't work on git, he replied: "should they?" -.-
To top it all up, I got a notice at the end of the week if I don't fill his shit time tracking system (that takes me one hour/day to insert all entries) by monday he'll deduct a sizable portion of my paycheck.
I AM WORKING FOR YOU ALL THE FUCKING TIME BECAUSE YOU LACK RESOURCES AND I THOUGHT A TEAM STICKS TOGETHER AND SAVES EACH OTHERS ASS! I DONT HAVE TIME TO ENTER YOUR FUCKING STUPID TIME ENTRIES IN YOUR FUCKING BUGGED SYSTEM EACH DAY ON TASKS THAT DON'T EVEN EXIST BITCH! MAKE IT BETTER FIRST!! OH! AND NO ONE IS MORE QUALIFIED TO FINISH THAT PROJECT THAN ME, I POURED MY FUCKING HEART INTO IT YOU PRICK!
This happened in my first internship I was working for a small company. They had a knack of redefining policies at short notices.
The had this shitty time tracking site which was hosted internally.
We were working on client location for 25/30 days so we didn't have access to the time tracking site. And there comes a memo that everybody has to fill the time tracking or their salary will not be credited.
So when we reach office we hear this "News". We thought they would consider people on client location. But then on salary day we don't get any and are called into VP's office for a verbal lashing. We literally had to fight for two weeks for the salary.
Worst Experience Ever2
Old story, and yeah, it's all true, I shit you not!
So here I am at about age 11 (more or less). At the time, I had an almost brand new 333MHz beast, with 8 MB RAM, 2 (!!!) MB video card and (I think) about 300 MB of storage (yeah, I'm old :)) ).
Connected to this monster was sitting a 14" CRT monitor, mechanical keyboard and a 2 button, ball "powered" mouse.
There was no optical tracking tech at the time.
One evening, I notice my mouse starts lagging. Test it to see if Win95 is stuck. Nope, just mouse problems...
Fiddle with it a little, and at some point it stops working at all.
My room was dark now, so I got up to turn on the lights, sat down in front of the PC, and moved the mouse by instinct.
Surprise! It's working again!
My brother comes in and turnes off the lights. Mouse non responsive.
I tell him to turn them on again, mouse works again.
At this point, we were both scratching our heads at this mystery...
I decided to confirm it again using a desc light.
Conclusion: my 2 button, ball tracking, non light sensitive mouse was working only if light was shining directly oh it AND on my 14" crt monitor at the same time!!!
To this day I have no ideea why.
I kept them both for posterity, and they are still there in my parent's attic.
I've caught the efficiency bug.
I recently started a minimum wage job to get my life back in order after a failed 2 year project (post mortem: next time bring more cash for a longer runway)
I've noticed this thing I do at every job, where I see inefficiency and I think "how can I use technology to automate myself out of this job?"
My first ever application was in C++ for college (a BASIC interpreter) and it's been so long I've since forgotten the language.
But after a while every language starts to look like every other language, and you start to wonder if maybe the reason you never seriously went anywhere as a programmer was because you never really were cut out for it.
Code monkey, sure. Programmer? Dunno, maybe I just suffer from imposter syndrome.
So a few years back I worked at a retail chain. Nothing as big as walmart, but they have well over 10k store locations. They had two IBM handscanners per store, old grungy ugly things, and one of these machines would inevitably be broken, lost or in need of upgrade/replacement about once a year, per location. District manager, who I hit it off with, and made a point of building report with, told me they were paying something like $1500 a piece.
After a programming dry spell, I picked up 'coding' with MIT app inventor. Built a 'mostly complete' inventory management app over the course of a month, and waited for the right time.
The day of a big store audit, (and the day before a multi-regional meeting), I made sure I was in-store at the same time as my district manager, so he could 'stumble upon' me working, scanning in and pricing items into the app.
Naturally he asked about it, and I had the numbers, the print outs, and the app itself to show him. He seemed impressed by what amounted to a code monkeys 'non-code' solution for a problem they had.
Long story short, he does what I expected, runs it by the other regionals and middle executives at the meeting, and six months later they had invested in a full blown in house app, cutting IBM out of the mix I presume.
From what I understand they now use the app throughout the entire store chain.
So if you work at IBM, sorry, that contract you lost for handscanners at 10k+ stores? Yeah that was my fault (and MIT app inventor).
They say software is 'eating the world' but it really goes to show, for a lot of 'almost coders' and 'code monkeys' half our problem is dealing with setup and platform boilerplate. I think in the future that a lot of jobs are either going to be created or destroyed thanks to better 'low code' solutions, and it seems to be a big potential future market.
In the mean while I've realized, while working on side projects, that maybe I can do this after all, and taken up Kotlin. I want to do a couple of apps for efficiency and store tracking at my current employer to see if I'm capable and not just an mit app-inventor codemonkey after all.
I'm hoping, by demonstrating what I can do, I can use that as a springboard into an internal programming position at my current gig (which seems to be a company thats moving towards a more tech oriented approach to efficiency and management). Also watching money walk out the door due to inefficiency kinda pisses me off, and the thought of fixing those issues sounds really interesting. At the end of the day I just like learning new technologies, and maybe this is all just an excuse to pick up something new after spending so long on less serious work.
I still have a ways to go, but the prospect of working on B2B, and being able to offer technological solutions to common and recurring business needs excites the hell out of me..as cringy and over-repeated as that may sound.5
A few years ago I was browsing Bash.org, and a user posted that he'd physically lost a machine.
A few weeks ago, I'd switched my router out for OPNSense. I figured it was time to start cleaning up my network.
Over the course of tracking down IP addresses and assigning statics to mac addresses, I spotted an IP I didn't recognize.
Being a home network, I'm pretty familiar with everything on the network by IP, so was a little taken aback.
I did some testing, found out that it was a Linux box. Cool.
I can SSH into it. Ok.
Logs show that it's running fine, no CPU/Memory/Harddrive issues. Nice.
So where is it?
Traceroute shows its connected directly to the router... Maybe over an unmanaged switch...
Hostname is "localhost"... That's no help.
I've walked the network 4 times now, and God knows where it is.
I think maybe I'll just leave it alone. If it ain't broke...10
Another real-world argument for why I always say git is worth learning properly.
Had to track a really weird bug down today. Had no idea where it came from, how long it'd been in the code and hadn't the foggiest what was causing it. Realistically it could have been introduced any time in the last year or two, and that's tens of thousands of commits in this repo.
Git to the rescue. Knocked up a quick script to test the case in question, fed it into "git bisect run", and 30 seconds later git found the exact (small) commit that caused the issue.
It's a brilliant part of git, yet it seems like almost no-one I know uses it. Some use "git bisect", but using "git bisect run" and passing a script to it seems to be alien to most - yet it's probably my most used tool when it comes to tracking down bugs like these.8
Skipped my lectures at university just to get my new Dell laptop at home.
Here is my experience of dell account portal:
There is a 50-50 chance that your order will appear in the list of orders. It has it's own mind, sometimes it will appear, sometimes it will say it has found no orders.
Now if somehow you do see the order in the list, there is a 50-50 chance that clicking on the order number will actually show you the correct order. Most of the time it will take you to a completely different order, where you can see the name, address and other personal details of a person that you don't know. THANKS DELL!
Now if somehow clicking on the order number takes you to the right order details page, there is a 50-50 chance that there will be no courier information, it will be blank without any information. Sometimes it will show the tracking number, but no courier details.
Right, now let's say that I don't give a fuck about any of these. I stayed home, skipping my lecture, just so that I can get my laptop. They promised me that they will deliver it today and I trust them 🙂
BUT YOU MOTHERFUCKER, not only that they will not deliver it today, they haven't even bothered to give me a call and say that they won't be delivering it today. YOU PIECE OF HORSESHIT, I skipped my fucking lectures for you. Now I have to skip my lectures for another day, just to get my GODDAMN laptop.
FUCK YOU DELL, DIE IN HELL!9
(Warning: kinda long && somewhat of a political rant)
Every time I tell someone I work with AI, the first thing to come out of their mouth is "oh but AI is going to take over the world!"
It was only somewhat recently that it started being able to recognize what was in a picture from over 3 million images, and that too it's not that great at. Honestly people always say "AI is just if-else" ironically, but it isn't really that far from the truth, we just multiply an input by weights and check the output.
It isn't some magical sauce, it's not being born and then exploring a problem, it's just glorified-probability prediction. Even in "unsupervised" learning, the domain set is provided; in "reinforcement learning" which has gotten super popular lately we just have the computer decide which policy is optimal and apply that to an environment. It's a glorified decision tree (and technically tree models like XGBoost outperform neural networks and deep learning on a large number of problems) and it isn't going to "decide" to take over the planet.
Honestly all of this is just born out of Elon Musk fans who take his word as truth and have been led to believe that AI is going to take over the world. There are a billion reasons why it can't! And to top it off this takes away a lot of public attention from VERY concerning ethical issues with AI.
Am I the only one who saw Google Duplex being unveiled and immediately thought "fraud"? Forget phone scammers, if you trained duplex on the mannerisms of, for example, a famous politician's voice, you could impersonate them in an audio clip (or even video clip with deepfakes). Or for example the widespread use of object detection and facial recognition in surveillance systems deployed by DoD. Or the use of AI combined with location tracking and browsing analytics for targeted marketing.
The list of ethics breaches are endless, and I find it super suspicious that those profiting the most off of unethical AI are all too eager to shift public concern to some science fiction Terminator style takeover that, if ever possible, would be a long way out and is not any sort of a priority issue right now.11
1. Keep your rythm: 7/8 hours of sleep each day and DON'T take your work home. Unless you have your own business ofcourse. Still: don't wear yourself out!
2. Put on music. Me personally like fast punk when i'm struggling with a deadline. Makes you want to go faster.
3. Close ALL communication like chats, mail etc. Hell i even thought of a sign "do not disturb"
4. Coffee. Lot's of coffee
5. Use a time tracking method like pomodoro5
Time tracking. 😡🤮 If I’m salaried and only working on one project for one client, why the hell should I waste my time making weekly reports of how many hours I spent coding, reviewing pull requests, and sitting in (mostly pointless) meetings?5
I wrote a node + vue web app that consumes bing api and lets you block specific hosts with a click, and I have some thoughts I need to post somewhere.
My main motivation for this it is that the search results I've been getting with the big search engines are lacking a lot of quality. The SEO situation right now is very complex but the bottom line is that there is a lot of white hat SEO abuse.
Commercial companies are fucking up the internet very hard. Search results have become way too profit oriented thus unneutral. Personal blogs are becoming very rare. Information is losing quality and sites are losing identity. The internet is consollidating.
So, I decided to write something to help me give this situation the middle finger.
I wrote this because I consider the ability to block specific sites a basic universal right. If you were ripped off by a website or you just don't like it, then you should be able to block said site from your search results. It's not rocket science.
Google used to have this feature integrated but they removed it in 2013. They also had an extension that did this client side, but they removed it in 2018 too. We're years past the time where Google forgot their "Don't be evil" motto.
AFAIK, the only search engine on earth that lets you block sites is millionshort.com, but if you block too many sites, the performance degrades. And the company that runs it is a for profit too.
There is a third party extension that blocks sites called uBlacklist. The problem is that it only works on google. I wrote my app so as to escape google's tracking clutches, ads and their annoying products showing up in between my results.
But aside uBlacklist does the same thing as my app, including the limitation that this isn't an actual search engine, it's just filtering search results after they are generated.
This is far from ideal because filter results before the results are generated would be much more preferred.
But developing a search engine is prohibitively expensive to both index and rank pages for a single person. Which is sad, but can't do much about it.
I'm also thinking of implementing the ability promote certain sites, the opposite to blocking, so these promoted sites would get more priority within the results.
I guess I would have to move the promoted sites between all pages I fetched to the first page/s, but client side.
But this is suboptimal compared to having actual access to the rank algorithm, where you could promote sites in a smarter way, but again, I can't build a search engine by myself.
I'm using mongo to cache the results, so with a click of a button I can retrieve the results of a previous query without hitting bing. So far a couple of queries don't seem to bring much performance or space issues.
On using bing: bing is basically the only realiable API option I could find that was hobby cost worthy. Most microsoft products are usually my last choice.
Bing is giving me a 7 day free trial of their search API until I register a CC. They offer a free tier, but I'm not sure if that's only for these 7 days. Otherwise, I'm gonna need to pay like 5$.
Paying or not, having to use a CC to use this software I wrote sucks balls.
So far the usage of this app has resulted in me becoming more critical of sites and finding sites of better quality. I think overall it helps me to become a better programmer, all the while having better protection of my privacy.
One not upside is that I'm the only one curating myself, whereas I could benefit from other people that I trust own block/promote lists.
I will git push it somewhere at some point, but it does require some more work:
I would want to add a docker-compose script to make it easy to start, and I didn't write any tests unfortunately (I did use eslint for both apps, though).
The performance is not excellent (the app has not experienced blocks so far, but it does make the coolers spin after a bit) because the algorithms I wrote were very POC.
But it took me some time to write it, and I need to catch some breath.
There are other more open efforts that seem to be more ethical, but they are usually hard to use or just incomplete.
commoncrawl.org is a free index of the web. one problem I found is that it doesn't seem to index everything (for example, it doesn't seem to index the blog of a friend I know that has been writing for years and is indexed by google).
it also requires knowledge on reading warc files, which will surely require some time investment to learn.
it also seems kinda slow for responses,
it is also generated only once a month, and I would still have little idea on how to implement a pagerank algorithm, let alone code it.4
Reduced a page load time from 23.8 seconds to 0.5 seconds by disabling tracking of entities on the page. Felt awesome.4
Oh man. I have been waiting for this one. Gather round lil' chil'rens it's story time.
So. I was looking for a new project because my old one was wrapping up and that's what my company does. So I was offered some simulation type stuff. I was like "sure why not, I want to make a computer pretend it isn't a computer no more." Side note I should not be a psychiatrist.
So, prior to coming on to this job I felt stifled by my old job's process. This job was a smaller team so I thought the process would be a little smoother. But it turned out they had NO process. Like they had a bug tracking system and they held the meeting to add things to the system, but that was just fucking lip service to a process.
First of all, they used the local disk on the test box as their version control. and had no real scheme as to how they organized it. We had a CM tool but gods forbid they ever fucking use it. I would be handed problem reports and interface change requests, write a bug to track it, go into the code and about 75% of the time or more it had already been worked. However, there was no record of it being worked and I would have to fucking hunt that shit down in a terribly shitty baseline (standardize your gods damned indentation for fuck's sake) and half the time only found out it was done because when I finally located the piece of code that needed changing, the work was already done.
Then, on top of all that, they ask me what time I want to come in. I said 10am, they said okay. One day I roll in at 10 and my boss is mad. Because I missed a meeting. That was at 9. That I wasn't told about. He says I can keep coming in at 10am though (I asked and volunteered to help get him up to speed on the things I was working he said it wasn't necessary) so I did, but every time I missed a 9am meeting he would get pissed. I'm like PICK ONE!!! They move the meeting to 9:30am (which is not 10am).
This shit starts affecting my health negatively. Stress is apt to do that. It triggered an anxiety relapse that pushed me back in to therapy for the first time in 7 years. On top of that the air quality in the office is so bad that I am getting back to back sinus infections and I get put on heavy antibiotics that tear up my stomach along with the stress and new meds tearing up my stomach. So one day as I am laid out in pain, I call out sick. Two days in a row. (Such a heinous crime right.) Well I missed a test event, that I wasn't even the primary or secondary on.
So fast forward to the most pissed off I have ever been. I get called in to a meeting with my boss's boss. As it turns out, my coworkers are not satisfied by the work that I'm doing (funny because I thought I was doing pretty good given that my only direction was fix the interface change reports and problem reports. And there was no priority assigned to any of them).
And rather than tell me any of this, they go behind my back to the boss and boss's boss. They tell me I need to communicate (which I did) and ask for help when I need it (I never did). That I missed an important event (that I played no part in and gods forbid I be sick) and that it seemed like I didn't want to be there (I didn't but who WANTS to work a corporate job).
They put me on a performance improvement plan and I jumped to another project. I am much happier now. Old coworkers won't even say hi, not even those I was friendly with, but fuck them anyway.5
So , at my first day as an intern in the company that would probably be employing me, i heard some great lines that made me gain so much hope in humanity -.-
From HR :
- "your timings will be 10 to 7 , 6 days a week."(even though it takes 4 hours to commute to and fro from that place). "We have a 9 hour a day schedule, and anything between 5-9 hours is considered a half day"
- "we have a 1 paid holiday per month scheme. And that starts after first 3 months, and yes TitanLannister, that also applies to interns. You may take a leave but that won't be considered for payment"(even though the said intern's internship is of 3 months and he already notified that he would be needing a 10 day leave for his exams and a few other college related work leaves )
-"here is an official laptop you could work upon(has average specs but inferior to my laptop). Note that its already loaded with slack, and a browser history tracking software, so you might wanna log out of that if you want to use it for personal use. Also if you want to use your personal laptop, then these tools would still be added into your laptop"
-" all the things mentioned above are connected to this fingerprint card that will automatically upload those details on an hr software and enable history tracker "
-"take your time, but we need this task done by you in next 24 hours. There is no deadline, but we need this work done asap"
In the words on purgatony:
"This is hardly working
This is hardly living
This is my JOB"15
!rant but story
My quick and semi-ugly solution to save amazing rants and comments forever and more organized.
What it is and it will be:
- archive of rants and comments from devrant that I found very good
- the original ranters will be informed when their rants are archived
- the original ranters and/or the management team of devRant has the right to request the archive content's total deletion
- every single thing on there will be accessible by anyone anytime anywhere (as log as server is healthy)
What it may become:
- anyone can register and save their archive
- dev content archive from other sources
- dev articles blog
What it will never have/be:
- any form of payment
- tracking (I don't even wanna know how many users are viewing)
- non dev related content
I'm willing to create user accounts for anyone interested in very near future. So please buzz me here if you want one.
So far it's a website of Laravel + Voyager + bulma with very minimal custom codes (I had to write below 100 lines of code in total). It is on Vultr server.
I'm gonna maintain and update as much as I can on my spare time. Hence I don't consider this as a collab. However, the code is on gitlab private repo. I'll make the repo public soon as well. Any contribution is gladly welcome. 😄10
Tracking my time. I always forget to do it while I’m working and end up having to bullshit it at the end of the month. And then it takes like two hours to finish. 🤮8
I usually convince myself like "no corporate/government has enough computational resources to classify useful information from enormous pile of worthless junk they could blindly collect from tracking every single step of all their users."
But every time I see this, it's like I hear them saying "Why we should bother? You just handpick the important ones. Thank you."9
This fcktard client that insist on using an iframe and demands support for browsers like IE7. You are costing me years of my life.
Fucking fuck of a Microsoft trying to protect people against tracking from 3d parties in an iframe in random ways in some versions of IE7. Or IE11 in IE7 compatibility mode.
If you are going to refuse sessions just do it! I got a fucking check and fix for that. Because these fuck faces friendly people at Apple like to refuse sessions on iPads and iPhone too. But we worked that out, because they are at least consistent. So a few dirty little hacks made it all Okay.
But no, Boo Hoo I'm Microsoft and I will throw a tantrum. I like my browsers to be like an magican, instead of an usefull piece of software. If you look in this page, or look here we got them. I got your sessions, safe and secure.
But when you need me, to verify that the user is allowed to access data we do a little hocus pocus and now they are gone. Nowhere to be seen or found again. Fun times free fucking magic shows all day long.
It's morning but maybe its time for a bottle of scotch. Maybe if I'm in the state as this browser. Where I don't know what I'm doing because I'm shitfaced drunk it will start working.
When in Rome do as the romans do.6
I know Google isn't the worst company in the world. But some of their data tracking just seems a bit odd. Such as keeping audio logs each time you use Google on your phone. Or when it picks up random bits of conversation. Along with them keeping track of where your going, and where you have been. Even if Google maps isn't running.
And one of my all time favorites is when Google Allo was a thing, it used to have access to my camera randomly without actually opening the app. My phone will tell me different logs each time Allo opened the camera without my permission.
I know they need to collect data in order to advance some of their fields of tech. But it just seems a bit intrusive when companies like Google do this.13
My very first rant here was about the mess of ticket submission and ticket tracking applications we use, and about how we were moving to a single unified system some day.
Well, that day is today. And, predictably, it went horribly wrong.
So the way it's supposed to work is people login to the portal, search for what they want to request, then fill in details and submit. It creates a request ticket assigned to the appropriate team. (The old way involved a bunch of nonsense that you can see in my first rant).
The thing is, I found out about this today, when I got a company-wide email saying the new system was live as of this morning. None of us knew it would happen today. Not that I could've foreseen any issues just by getting the announcement early, but still, usually people find out about these things beforehand.
So, ecstatic to finally be rid of the old ticket tracking system, I log into the new system and look for our request form, which is, of course, not there. I check the old system and see that they combined every single "general request" into a single request where you pick which team the request goes to.
So I finally find the right request, pick the right department from the drop-down, and see that the request looks much better than it did on the old system. Out of curiosity, I look at the list of people who are part of that department.
I am not on the list.
My ENTIRE TEAM is not on the list.
Because they migrated the team data to the new system a year ago, when the issue tracking/reporting portion of it went live. My current team was hired approximately six months after that and apparently updating the team data in the new system isn't part of our Onboarding process yet.
So... Bright side is I guess I will have a lot of free time soon since nobody can submit new project work to my team?
tl;dr: they took a great software product and implemented it so poorly that our team can't use it.3
TL;DR: OMFG! Push the button already!
I've been away on paternity leave for quite some time now. Today is my first day at work since the end of July.
Just a couple of days after my paternity leave started, I was contacted by one of the managers because a tracking and analytics service I had made some months earlier had halted.
Now, I did warn them that the project was fragile and was running of an old box in my office. So they shouldn't be surprized if it came to a halt every now and then.
Well, so being on my paternity leave and all I didn't want to spend time fixing it. I had a child to look after. So I told the manager that the box probably just had shut down. I think there was a power outage the day before, so I probably thought it was the cause. So he probably just had to turn it back on. I also told him the admin u/p in case he needed to restart some services.
Today, the CEO enters my office telling me to get that thing fixed. Because that manager apparently couldn't find the power button.4
So a non programmer friend of mine needed an in house time tracking tool and found one on codecanyon. He bought it for 40$ and asked me if I could provide him some Webspace to host it until they deploy it in house. I said yes and took a look at the code as some stuff wasn't really working. All I can say is "wtf is that pile of crap". Nothing works, it looks like it's written by a first grader and it's UI looks like it was assembled by a chimp (well actually I think chimpanzees could make a better UI). Now I am interested the progress of rewriting that tool for him and I am almost done with all functions that thing should have and even more after 6 hours. I wonder if all stuff on codecanyon has the same quality and if, I am considering this as bonus income...5
I've started to do some time tracking and just after one day of doing it I noticed that I can't get more that 10 mins working without someone interrupting me.
I love to help and hate to say no, but this is killing my productivity and delaying my work.
Most of the time my help isn't really needed too. "Did you clear the cache?" "Did you run yarn install after pulling?" "Let me look at the stack trace/error message." Sentences like these are all I need to say most of the time.
Did my coworkers get lazy because I'm there to help? Should I start say "not now" more often? Or should I just look for a better team somewhere else?6
Definetly signing in and out of my companies time tracking system.
It only works in internet explorer 8 and is a real pain -.-5
I don't understand privacy advocators.
Am I the only one who wouldn't give up practicality in exchange for "potentially more secure"?
I don't understand so much what the deal is with people who avoid Facebook, or don't trust Google or Microsoft, just in the basis of "privacy" or "security".
Websites tracking you to serve ads? Well, it's pointless because I very rarely buy something from the internet or let myself be influenced, ads are waste of time, just use an adblocker.
I can pretty much upload my whole life or documents on Google drive, even if I made it public no one would really care or read it all. It's like that GitHub project you uploaded but never documented, so no one cares. I usually use alternative software not because of "privacy" but because it has features other software doesn't have.
In reality you realize people aren't that interested in your life more than their own life.24
here's one for ya: we devlop, use and sell a crm with extensive project managment, task assignemt and time tracking modules in it.
It is the main income ofbthe company.
Yet somehow we're still required to send an email with status update at the end of the week.
FFS i don't remember what i did on monday and all the 100 micro tasks that jumped in between.
That will take me an hour to gather the info and write an email that software automaticaly sends out everyday to PM anyway. :((1
My company has been looking for a project time tracking and reporting app/website for 2 years but are too cheap to buy one. So they want me to develop one to their specifications which are forever changing. Let's say I've intentionally wasted so much time "perfecting it". it's been done for 2 months.7
If you want developers to track of their hours (for grants etc) then that is fine.
If you require them in a to be in a markdown file in a repository then you are fucking up.
If you won’t pay for any quality time tracking software for your developer then you are an idiot!3
For about 1.5 years on and off, we've been developing a system to rate tickets/requests sent to our team. We wrote it in Angular, and it turned into this feature-rich gorgeous application with custom-built graphical statistic tracking, in-app social networking capabilities, robust user profiles, etc.
Eventually, we no longer had time to work on it along with all the other applications we're developing. So we passed ownership of the app over to a couple of other developers on our team. You'd think that they'd just work off what we already built and keep the robust environment we created for them. But nope, instead of keeping everything we already built, they scrapped it all and started from scratch using React instead of Angular, and removed all of those robust features and turned the app into a shell of its former self. No more statistic tracking, no more social networking capabilities, no more fancy user profiles. Just a single page with a number representing how many "Good" tickets you've sent to us, and how many "Bad" tickets you've sent.
1.5 years and hundreds of hours worth of work, all gone and replaced with the most rudimentary basic React app ever.2
Jesus fucking stupid backend developers that don't listen when you tell them their shit doesn't work. So you end up wasting time again and again tracking down these fucking obscure issues that are caused by THE SAME FUCKING BACKEND ISSUE3
Recently at my work everyone got all hyped about blockchain. I've spent years studying it and especially crypto so I like to think I know a lot about it. Now every time some feature is discussed (like tracking video views) someone non tech shouts out "Oh we can use a blockchain!" And I have to spend half an hour convincing them why it's a bad idea in this particular case. Like we don't need to share that data, we don't need to ensure integrity without trust etc. I mean a blockchain is a great piece of tech but please stop trying to apply it everywhere...
It's like people think that the blockchain features at its most simplified level don't work anywhere else. E.g. as if stuff you put into MySQL suddenly changes because data integrity is not a 'feature' in that sense...2
Why is it so hard to convice coworkers (other programmers) to use source control? Yes it's an extra step every day or so but it can be so helpful and save so much more time tracking down versions and when the bug first appeared. Also, piece of mind if your computer every gets hosed.7
We use Exact for our time sheets/hour tracking. How it's supposed to work:
-Manager plans my hours in Exact.
- I work those hours on the given projects
== All fine till here ==
But then ... there is a button (don't know the correct translation) "realise" which books the planned hours for me. So I don't have to do it manually.
This simply didn't work!! No one seem to know why not... Not even the guys at Exact.
Since it's web based I opened the developers window and looked for the call behind the button. You would think it would be at least an Ajax call thingy (I'm not completely into JS)
Turns out it's a readable JS function!
It doesn't stop there... It first makes all calculations on what to display, at last, at the fucking end, it checks a setting whether to proceed the booking or not!!!!
So I found and switched the setting and tried the button again.... Now it fucking works...
No fucking way I am going to tell Exact what the problem is 😫2
So on a PowerBuilder app I worked on last year (I know right...), suddenly the business users were reporting that they couldn't edit some of their prices! When they clicked save, the screen would refresh and lose their work.
We had recently upgraded the system to allow them to enter hundreds of prices at a time, much more than there had ever been. But that code wasn't anywhere near this part!
Tracking this down was really fun... By great fortune, I discovered the row the users were editing was the 99th row in the DataWindow. As it turned out, in the distant past (this is PowerBuilder, after all) the returns code "99" had been used as a flag to mean "cancel/refresh the screen".
I of course offered to "fix it right", but the powers that be wanted it fixed cheaply, so we just changed the flag to "9999". 😬1
So my boss asked us to start using a timer app (toggl) to measure the times spend doing each thing, the thing is I suck at that, so I started a meeting activity and then left to have breakfast, when i returned my timer showed I had bren in a meeting for an hour lol. Even worse I have no current activities assigned so I am just watching videos how should I call that activity?3
We are upgrading to nodejs 8 late, because no one is tracking versions. I had to rage a prove war with everyone that we must upgrade because node 6 is ended lts. This week i have to argue with one of the admins that the build server should be updated also (jenkins). And his problem is that our private jenkins server is not used only by our company, but other companies under our group. In my mind the only question is who decides our or other company project is important to build nor6maly. And why we should care ..
Every fucking time its a war against stagnant and/or lazy people.5
I remember when doing some privacy cleanup, looking at the third-party list of a website and visiting the sites behind them. I ended up one time on Crazy Egg.
3 months later, I got an email if I wouldn't want to use their services.
They did have my email.
From where? (the answer is obviously from the sites they track)
But I mean, who cares about your email when they have your f****** passport
This world is getting to crazy, I thought this would be the maximum. Of course...
I think tracking is a more serious problem, than I imagined (and I do already try to reduce data)
Oh yeah and btw I just noticed an iOS app could silently use my mobile data (was deactivated for the app) to display ads. Silently. I hope this was a bug. But I don't think so.
"You can Download Sublime Merge, and try it for yourself - there's no time limit, no accounts, no metrics, and no tracking. The evaluation version is fully functional, but is restricted to the ***light theme only.***"
In your butt light theme haters ;)4
Somewhere out there, a middle manager looked at SAP's time tracking tool and thought, "This, yes, this is exactly what we need in our organisation"1
So I just got asked for a quote for developing an app for a client's friend. He wanted an app that requires me to build let's just say a combination of what you see on uber with the live tracking of your uber driver, seeing all cars around your location and determining the closest one (It wasn't necessarily cars) plus profiles and another app for another set of users (I can easily make this one and determine the logged in user and in turn tailor the features for that user but they wanted two). An admin portal also was included and I had to do various integrations with Google maps. In app purchases was also necessary. Logs as the app has to keep track of all activities basically. A wallet feature was also to be implemented, scheduling, rating and complains section was also something requested and finally a mini accounting system was also to be developed. I was going to do this singlehandly as a freelancer. Obviously this is a lot of work. I also gave them a timeline of about 3 months for development. Which meant I was going to be putting all my time into developing this. Front end and backend for the app and front-end and backend for the server and database architecture. I charged them $10,000 not only for the work but also because they were going to be making money off of the app. They go "wow and why does it cost so much"...Judging from their reactions I don't think they will move further with this with me because of costs...😂 I can't even begin to wonder why they think that isn't a fair price. I have learnt from previous work before that you always state a cost for which you are absolutely sure you would want to work for else you would start doing the work and once you see how little you are being paid for so much work you end up hating the work and completing it ends up being a difficult task.10
WHY IS IT SO FUCKING HARD TO DOWNLOAD SOFTWARE FROM MEGACORPS??
Yes, am looking at you EMC, Oracle and IBM. Either they have tons of portals-e-delivery-shittorama or their softwares suddenly disappear for n amount of time without notice. Mix this up with broken links or CONSTANTLY REBRANDING YOUR SHITTY PRODUCTS SO YOU NEED TO HIRE A PERSONAL ASSISTANT THAT ONLY WORKS WITH TRACKING THESE PORTALS TO HELL
Also, your websites are slow as shit.
I signed up for a trial of some time tracking software. Apparently the company that owns it is incredibly aggressive with their sales department. They sent me 10 emails within the first week (still sending even though I unsubscribed) and have started calling me every day. What have I gotten myself into.2
I'm so fed up with our current "Bugtracking"system.
In the past we've been using mantis bt.
A heavily modified version though. Exactly specified to the developers needs with an integration to our own desktop software, which has time tracking and reports.
Also we had a separate mantis for everyone else.
Support guys and so on.
Everything was working fine.
But then "someone" decided that we shouldn't have two different mantis versions running and should integrate the support into the developer version.
Well ok. Makes sense.
So we changed mantis a bit so we can better differentiate the projects and tasks.
But "someone" is just too fucking dumb to understand how mantis works.
So after some time "someone" decided we won't be using mantis anymore, but a steaming pile of shit we have no control of how it works.
(It's called Wrike if you want to take a look at that)
It's completely useless if you want to use it as a bugtracker.
Maybe it works for the support guys I thought and asked them.
Seems they barely use it. They rather write everything down on paper and manually write their times into our desktop software now. Fucking awesome!
And even better. "Someone" isn't using this confusing and totally useless shit either.
I'm fed up.
I'm gonna set up a new version of mantis write everything the wrike api gives me into it.
Also need to modify it, so it works with our desktop software again.
And an integration with our Gitlab would be nice too I guess.
(Can't use the old mantis version we had, because it didn't have projects inside projects, which because of Wrike now is needed to sync)
Lots of work...
So much time wasted...
And so much time still has to be wasted...
The sheer amount of information to be gained in this field, and in my case specifically at my job, is mind boggling. Maybe it's just the week of fatigue talking here but I feel I'm way in over my head. Learning business, teamwork, development strategies, progress tracking, the code base itself, how different teams work together, how different sectors work together, overarching goals, individual goals, and then going home and having a social life, good nights rest, and somehow exercise in there?
It's certainly overwhelming. I know being new makes it seem worse than it likely is but I don't see how people even manage to amass so much knowledge in such a short amount of time. It's honestly so exhausting to keep track of everything and try not to make mistakes that it's nauseating. I'm still gonna try but good lord does it feel impossible.
This is why we can never have enough software developers
It's true. No matter how many people learn to program, there will never be enough people who know how to program. They don't have to be very good at it either. It is now a required skill.
Minimum wage in first world countries is way above 5$ per hour. A Raspberry PI 3B costs 40$, or at most 1 day of work for the worst paid jobs. And it will run for years, and do routine tasks up to thousands of times faster than any employee. With that, the only excuse that people still do routine tasks, is the inaccessibility of coder time.
Solution: everybody should know how to write code, even at the simplest level.
Blue-collar jobs: they will be obsolete. Many of them already are. The rest are waiting for their turn.
Marketing people - marketing is online. They need to know how to set up proper tracking in JS, how to get atomic data in some form of SQL, how to script some automated adjustments via APIs for ad budgets, etc. Right now they're asking for developers to do that. If they learn to do that, they'll be an independent, valued asset. Employers WILL ask for this as a bonus.
Project Managers - to manage developers, they need to know what they do. They need to know code, they have to know their way around repositories.
QA staff - scripted tests are the best, most efficient tests.
Finance - dropping Excel in favor of R with Markdown, Jupyter Notebooks or whatever, is much more efficient. Customizing / integrating their ERP with external systems is also something they could do if they knew how to code.
Operations / Category Management - most of it would go obsolete with more companies adopting APIs as a way to exchange important information, rather than phone calls and e-mails.
Who would not be replaced or who wouldn't benefit from programming? Innovative artists.
A lot of it might not be now now, but the current generation will see it already in their career.
If we educate people today, without advanced computer skills and some coding, then we are educating future deadbeats.
With all this, all education should include CS. And not just as a mandatory field or something. Make it more accessible, more interesting, more superficial if needed. Go straight to use cases, show its effectiveness in the easiest way possible. Inquisitive minds will fill in the blanks, and everyone else will at least know how to automate a part of their work.
WakaTime is another great tool for tracking time designed for developers which hooks directly into your editor.
Anyone else really fucking despise the fact that OSX opens location tracking every time a wifi or Ethernet is connected and as far as I’ve found it can’t be turned off.
I’m ok with a service doing it on a request but not an OS that’s clearly gathering information. If I didn’t have to use it I’d throw petrol on it and burn it to the ground2
Normally, I'd leave it there like most other people. But this is devRant, not Facebook , so let me take the opportunity to talk about a dev-related project I'm mulling over.
A number of years ago, I dropped my music hobby in exchange for focusing on my computer science/programming skills. I'm now at a point where I'm working professionally as a developer, and I've wanted to get back into music for quite some time. Specifically, I want to make music, not just perform it.
Thing is, I've had difficulty trying to find a good platform for uploading WIPs to get feedback from. I'm hesitant to post them on social media platforms for a variety of reasons (though I'm open to budge), so I've been considering alternatives.
So here's my idea: A personal blog made from the ground up that details my journey rediscovering music, including tracking the resources I've used for others to refer to, music samples, etc. I think it would be a great opportunity to not only get feedback on music I've made, but to also incorporate my programming skills with my music hobby.
I'd appreciate any feedback on the idea, as well as any advice/recommended tools for taking on a project like this.5
personal projects, of course, but let's count the only one that could actually be considered finished and released.
which was a local social network site. i was making and running it for about three years as a replacement for a site that its original admin took down without warning because he got fed up with the community. i loved the community and missed it, so that was my motivation to learn web stack (html, css, php, mysql, js).
first version was done and up in a week, single flat php file, no oop, just ifs. was about 5k lines long and was missing 90% of features, but i got it out and by word of mouth/mail is started gathering the community back.
right as i put it up, i learned about include directive, so i started re-coding it from scratch, and "this time properly", separated into one file per page.
that took about a month, got to about 10k lines of code, with about 30% of planned functionality.
i put it up, and then i learned that php can do objects, so i started another rewrite from scratch. two or three months later, about 15k lines of code, and 60% of the intended functionality.
i put it up, and learned about ajax (which was a pretty new thing since this was 2006), so i started another rewrite, this time not completely from scratch i think.
three months later, final length about 30k lines of code, and 120% of originally intended functionality (since i got some new features ideas along the way).
put it up, was very happy with it, and since i gathered quite a lot of user-generated data already through all of that time, i started seeing patterns, and started to think about some crazy stuff like auto-tagging posts based on their content (tags like positive, negative, angry, sad, family issues, health issues, etc), rewarding users based on auto-detection whether their comments stirred more (and good) discussion, or stifled it, tracking user's mental health and life situation (scale of great to horrible, something like that) based on the analysis of the texts of their posts...
... never got around to that though, missed two months hosting payments and in that time the admin of the original site put it back up, so i just told people to move back there.
awesome experience, though. worth every second.
to this day probably the project i'm most proud of (which is sad, i suppose) - the final version had its own builtin forum section with proper topics, reply threads, wysiwyg post editor, personal diaries where people could set per-post visibility (everyone, only logged in users, only my friends), mental health questionnaires that tracked user's results in time and showed them in a cool flash charts, questionnaire editor where users could make their own tests/quizzes, article section, like/dislike voting on everything, page-global ajax chat of all users that would stay open in bottom right corner, hangouts-style, private messages, even a "pointer" system where sending special commands to the chat aimed at a specific user would cause page elements to highlight on their client, meaning if someone asked "how do i do this thing on the page?", i could send that command and the button to the subpage would get highlighted, after they clicked it and the subpage loaded, the next step in the process would get highlighted, with a custom explanation text, etc...
dammit, now i got seriously nostalgic. it was an awesome piece of work, if i may say so. and i wasn't the only one thinking that, since showing the page off landed me my first two or three programming jobs, right out of highschool. 10 minutes of smalltalk, then they asked about my knowledge, i whipped up that site and gave a short walkthrough talking a bit about how the most interesting pieces were implemented, done, hired XD
those were good times, when I still felt like the programmer whiz kid =D
as i said, worth every second, every drop of sweat, every torn hair, several times over, even though "actual net financial profit" was around minus two hundred euro paid for those two or three years of hosting.
Did you ever think time estimations are hard? If so, did you ever try adding your actual taken time months after working on a ticket?8
Talking about some new feature he haven't totally thought about. so i tell him to think about it.
Talking about a bug, but can't reproduce it.
Talking about another enormous new feature but halt it after hearing the initial estimation.
Total time waster = 1.5 hours for every day.
DON'T LET CUSTOMERS WASTE YOUR DEVELOPMENT TIME.
instead of talking - use project tracking software (i.e. JIRA)
I thought I posted about this awhile back but I didn't. I'm glad since the story is so much better now.
6 weeks ago: Told I'm going to be on a super fun JAMStack build with lots of sexy animations. Sweet, this will be a fun build!
5 weeks ago: Find out what the timeline on this incredibly ambitious project is. I start raising flags cause everything needs to go PERFECT for this to not blow up and/or turn in to a dumpster fire.
4 weeks ago: Project "kicks off" with a meeting with the client. We find out that they've decided to do another round of revisions on their design comps, but we have what we need for sprint 1. We provide a list of all the assets/information we still need for sprint 1 success.
3 weeks ago: Still waiting on some assets for sprint one, but we're fumbling our way through. Still waiting on the PM to get around to doing their PM job and building out our backlog / gathering requirements for us.
2 weeks ago: Sprint 1's end date comes and goes. Still need assets from the client, I've personally asked them for the same asset 3 different times. Sprint 1 gets extended 1 week.
1 week ago: We deliver sprint 1 page templates, minus the resources we're still waiting for. Get chewed out by the client regarding the pages not looking like their comps (Yeah, no shit sherlock, you never sent us the assets)
This week: Working on Sprint 2 commitments. We have 2x as many page templates to deliver, per developer, as we had the first sprint. Still waiting on Sprint 1 assets. Don't have Sprint 2 assets. Wait, what about the global styles? They still haven't sent those to us yet either.
Requirements? Guess I'll spend valuable dev time tracking those down for myself.
Client? Well, they're pissed off we haven't hit our commitments yet.
Oh well, at least we have a pimple faced, fresh out of college, CS major, with no real development experience rolling on to this cesspool of a project.
Other devs? Well, we're out of fucks to give. Lets just watch this thing burn.
Oh, I forgot to add, we have 17 page templates to deliever between today (2/27) and 3/18. #NoFuckingWay
Used Momentum to-do lists for money-tracking - who owns me how much for which project etc. Well from time to time Momentum just completely erases them. This was painful.
Momentum is really good extension but I still do not get it why it asks for email and password in the first place when it actually does not save anything in cloud.
Wait. Why does this work? It doesn't copy any of the frontend code into the deploy location.
I'm not sure how this works, but it does. Crap, there goes my morning tracking down this wretched spaghetti deploy code.
At least I understand how it works in production. Shit, why is it different between production and our integ servers ,that isn't good. Maybe I can just refactor it.
That was all on Monday. It's now Wednesday and I'm still fucking refactoring something that wasn't actually broken. It just didn't make sense.
Maybe I should just revert my last three days of work on this branch and move on. No! It's too late, I've invested way too much time into this project...
... and I'm almost done, just a few more commits right?
Fighting phone addiction. Do you know an iOS app that let me track my (monthly, weekly, daily) phone usage that doesn't require all time GPS tracking permission? Moment, Flipd, Offtime, BreakFree all requre GPS traking.8
LOL XCode....I think they meant "X"tra useless, resembling such as a bag of dicks without handles!!!!
Also, being fucking buried because there's aren't any devs anywhere to be found near me makes me extra cranky!
Ive been hammering away at this Flutter, Java, Swift, Python, and Google maps for just about 36 hours on 3.5 hrs sleep. I just can't stop, I fuckin love this shit!!!
Considering the fact that I'm self taught and just started writing code for real about 7 months ago, I'd say I'm handling this alright for now. Every bit of tech is getting shot out of a cannon at this one- maps, real time tracking, state level auth/Id verification, custom components like ID scans/native desktop applications on custom linux machines, body cams, SIP trunking... all in 3 apps which are 100% multi-platform and scaled up to high end enterprise levels and being groomed for national release. I'm writing the code and doing the tech for ALL of it- even down to custom painted barcode scanners, a wallet system built from scratch, GPS integration, location/geofence based document querying... holy fuck guys I'm gonna fuckin die haha!!!
I went from barely getting websites made in late summer to this very moment, where I am pumping shit out in Flutter, Dart, Python, CPP, Js, Swift, Java, Kotlin, Obj-C, SQL/noSQL, and who knows what else.
I don't even know what the hell I just said haha I hope everyone has a great day!
The time tracking app used at my company was created with Angular JS. Most functionality is quite fast so I can understand why they wanted to go this route. Unfortunately, the clock in section takes forever to load during peak traffic times... which is the only time that functionality is used. Someone found an older section of the site written with server side tech. Now everyone just bypasses the Angular clock in and uses the old one.
You shouldn't use tech for the sake of using it, it should also perform better than what it's replacing.
BIG QUESTION TIME:
I want to start a small web-dev project. Basically a website with different gigs like a time tracking app. Maybe extend it in the future with other apps.
First I thought of starting with a CMS (I am quite good with Joomla!) but realized it may too soon get to its' limits and personalized extensions are quite a pain with CMS.
So I had this genius idea of working on frontend using ReactNative giving the opportunity to build for mobile in the same time and backend with Python (maybe Django framework).
Here are my questions:
1) Could this be a good solution or combination? (Considering it is more of a fun project)
2) Does anyone know a good tutorial for ReactNative besides the facebook github tutorial?2
Today I came to work and all our main systems where offline (Gitlab, Artifactory, Time tracking, ...). Found out that one of the HDDs of our server (external hosted) died. I started copying some stuff from the second Raid hdd (just in case and because our backup is of course not complete [#notmyfault]) while their datacenter had a power outage.... I'm now waiting for our server to come back to get our systems running again
- I use the Lynx text-mode browser
Why else? Maybe I'm naïve:
- This may be a nice way to highlight websites that don't have time to join an SEO/analytics arms race.8
so I spent an entire day tracking a major memory leak (10mb/s!!!). when I find it, it turns out that It's in a deep part of C++ code that I'm not allowed to touch. now I live in fear of just crashong my 16gb machine every time I debug.
I am currently playing dumb with a potential hire and it's just so much fun I don't know if I should stop.
We gave the dev a little coding challenge to code a small expense tracking app. Nothing fancy, just to see how he well he could do on his own. We told him to take as much time as he requires.
He submitted it and I tried to run it. It worked alright but I could not register or login.
I debugged the issue with him for a while and told him I would look at it later since I am tied up with other tasks..
We are communicating via an IM.
Him: Or how did you run the project. I wish I was there to run it for you. Lol
Me: dotnet run. start without debugging
Him: From the cmd?
At this point I about to get pissed. Where else would I run 'dotnet run' from??
Me: I would hope so
Him: I always run it from the cmd. With administrative privileges
Me: Really?? Where can I find cmd?
Him: Yes. Do you use a Mac?
Me: nope. I am using windows2
One simple function is all it would take to let users put a little bit of js in the head, fuck you could even name it something scary to keep idiots away or hide it behind a developers options in the settings or something that would allow someone with the IQ of a dolphin or higher to install some goddamn tracking code on the fucking shitstorm of a site your "builder" came up with.
your SEO practices suck too, but that's a rant for another time2
By filling out their tracking tools in a language they can understand prior to their deadline of needing the data, being honest in their meetings, and being right about the time/complexity of the effort.
Did 1 leetcode today
My idea is similar, but the answer is much better. The idea is similar to tracking max number, but this time we have max1, max2, max3 (max1 is largest)
init all of them to null.
looping number array, if number is in maxs, skip. If there number > max1, we update all max1-3
if number > max2, update max2-3
then number > max3, update max3
last return statement is like this: return max3 == null ? max1 : max3;
!rant , a question (on the end, after explanation) :
this is a result of (according to my time tracking) 10 hours and 50 minutes of coding.
captures mouse cursor into list of points, uses those to triangulate a flat polygon (manually doing all the mesh math of ordering them correctly, earclip triangulating, and indices generating), as well as to create inner and outer outline (no official algorithm, my own which I came up with on the spot) of a certain thickness.
(the outline drawing is just for debug yet, now I'm going to extrude them upwards to form walls)
soooo... I've been always curious about how effective/fast/efficient of a programmer I am, but it's usually hard to measure/compare, so I thought I'd try this way: how long do you think implementing something like this would take YOU?
We're slowly migrating to VSTS (sigh) from Mantis and SVN for tasks management and code repo.
It's been 4 months now and we still have to move the code from SVN to GIT, asked management when they plan to do that and they still give no ETA, and when asked to make sure our commits stays intact after the transfer I got told "no need for that we're just gonna copypaste the last version of the source code". And most likely the local SVN server we're using is gonna be dismissed.
On top of that, by the way they want to use it, VSTS is being terrible for tracking stuff. I'm so used with other tools at home for some side projects and even though I expressed my concern about VSTS I got ignored over and over...
Bonus (not so) fun fact: branches are something mythic here so everyone else commits straight to master and it's a pain in the ass everytime, because people happen to break things most of the time.
And no, unfortunately this is not a small company.
Send halp please 😭
Tracking/logging hours, how do you do it? Is there some decent software for Linux that does this?
I wanna start tracking my time doing specific tasks, so I'm just wondering what other ppl use, if at all hehe1
I know it doesn't really exist in one solution, but I need management software to keep track of customers (crm), projects, products, licensing and contracts, and time keeping. Right now we are using MSCRM (ugh), and old homebrew project/time tracker written in Perl spaghetti (double ugh), email (sigh) and handwritten notes (kill me). Now I suddenly find myself with a budget (somewhat) and the authority to actually fix things. Any ideas would be appreciated.
By far it is my current project of building the industry leading CMMS (no it's not a typo, it's really CMMS). Everything from in office time management, to tracking when techs go on site, to detecting what are in pictures when sent back from our app (also my project), to sentence building, to smart auto-dispatching.... I mean this list is just endless of the features compiled in the application for just a call center. When I took the job I never knew facilities maintenance took so much and I never thought it would be this efficient.2
It's does not take a huge amount of knowledge and skill to get a program working.Kids in high school do it all the time. young men and women in college start billion-dollar business based on scrabbling together a few lines of PHP or Ruby. Hoards of junior programmers in cube farms around the world slog through massive requirements documents held in huge issue tracking systems to get their systems to "work" by the sheer force of will. The code they produce may not be pretty; but it works. It works because getting something to work-once-just is not that hard.
Does anyone know of any good opensource time tracking software with a focus on privacy?
I don't trust the proprietary stuff but it's useful software1