Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "timezone"
-
When we finally get to Mars, all programmers on Earth will scream in pain over having to program another timezone13
-
Its that time of the morning again where I get nothing done and moan about the past ... thats right its practiseSafeHex's most incompetent co-worker!!!
Today I'd like to tell you the story of "i". Interesting about "I" is that he was actually a colleague of yesterdays nominee "G" (and was present at the "java interface" video call, and agreed with G!): https://devrant.com/rants/1152317/...
"I" was the spearhead of a project to end all projects in that company. It was suppose to be a cross-platform thing but ended up only working for iOS. It was actually quite similar to this: https://jasonette.com/ (so similar i'm convinced G / I were part of this but I can't find their github ID's in it).
To briefly explain the above + what they built ... this is the worst piece of shit you can imagine ... and thats a pretty strong statement looking back at the rest of this series so far!
"I" thought this would solve all of our problems of having to build similar-ish apps for multiple customers by letting us re-use more code / UI across apps. His main solution, was every developers favourite part of writing code. I mean how often do you sit back and say:
"God damn I wish more of this development revolved around passing strings back and forth. Screw autocomplete, enums and typed classes / variables, I want more code / variables inside strings in this library!"
Yes thats right, the main part of this bullshittery was putting your entire app, into JSON, into a string and downloading it over http ... what could possibly go wrong!
Some of my issues were:
- Everything was a string, meaning we had no autocomplete. Every type and property had to be remembered and spelled perfectly.
- Everything was a string so we had no way to cmd + click / ctrl + click something to see somethings definition.
- Everything was a string so any business logic methods had to be remembered, all possible overloaded versions, no hints at param types no nothing.
- There was no specific tooling for any of this, it was literally open up xcode, create a json file and start writing strings.
- We couldn't use any of the native UI builders ... cause strings!
- We couldn't use any of the native UI layout constructs and we had to use these god awful custom layout managers, with a weird CSS feel to them.
What angered me a lot was their insistence that "You can download a new app over http and it will update instantly" ... except you can't because you can't download new business logic only UI. So its a new app, but must do 100% exactly the same thing as before.
His other achievements include:
- Deciding he didn't like apple's viewController and navigationBar classes and built his own, which was great when iOS 7 was released (changed the UI to allow drawing under the status bar) and we had no access to any of apples new code or methods, meaning everything had to be re-built from scratch.
- On my first week, my manager noticed he fucked up the login error handling on the app I was taking over. He noticed this as I was about to leave for the evening. I stayed so we could call him (he was in an earlier timezone). Rather than deal with his fucked up, he convinced the manager it would be a "great learning experience" for me to do it ... and stay in late ... while he goes home early.
- He once argued with me in front of the CEO, that his frankenstein cross-platform stuff was the right choice and that my way of using apples storyboards (and well thought out code) wasn't appropriate. So I challenged him to prove it, we got 2 clients who needed similar apps, we each did it our own way. He went 8 man weeks over, I came in 2 days under and his got slated in the app store for poor performance / issues. #result.
But rather than let it die he practically sucked off the CEO to let him improve the cross platform tooling instead.
... in that office you couldn't swing a cat without hitting a retard.
Having had to spend a lot more time working with him and more closely than most of the other nominees, at a minimum "I" is on the top of my list for needing a good punch in the face. Not for being an idiot (which he is), not for ruining so much (which he did), but for just being such an arrogant bastard about it all, despite constant failure.
Will "I" make it to most incompetent? Theres some pretty stiff competition so far
Tune in later for more practiceSafeHex's most incompetent co-worker!!!6 -
Things have been a little too quiet on my side here, so its time for an exciting new series:
practiseSafeHex's new life as a manager.
Episode 1: Dealing with the new backend team
It's great to be back folks. Since our last series where we delved into the mind numbing idiocy of former colleagues, a lot has changed. I've moved to a new company and taken a step up as a Dev manager / Tech lead. Now I know what you are all thinking, sounds more dull and boring right? Well it wouldn't be a practiseSafeHex series if we weren't ...
<audience-shouting>
DEALING! ... WITH! ... IDIOTS!
</audience-shouting>
Bingo! so lets jump right in and kick us off with a good one.
So for the past few months i've been on an on-boarding / fact finding / figuring out this shit-storm, mission to understand more about what it is i'm suppose to do and how to do it. Last week, as part of this, I had the esteemed pleasure of meeting face to face with the remote backend team i've been working with. Lets rattle off a few facts to catch us all up:
- 8 hour time difference to me
- No documentation other than a non-maintained swagger doc
- Swagger is reporting errors and several of the input models are just `Type: String`
- The one model that seems accurate, has every property listed as optional, including what must be the primary key
- Properties go missing and get removed at the drop of a hat and we are never told.
- First email I sent them took 27 days to reply, my response to that hasn't been answered so far 31 days later (new record! way to go team, I knew we could do it!!!)
- I deal directly with 2 of them, the manager and the tech lead. Based on how things have gone so far, i've nick named them:
1) Ass
2) Hole
So lets look at some example of their work:
- I was trying to test the new backend, I saw no data in QA. They said it wouldn't show up until mid day their time, which is middle of the night for us. I said we need data in our timezone and I was told: a) "You don't understand how big this system is" (which is their new catch phrase) b) "Your timezone is not my concern"
- The whole org started testing 2 days later. The next day a member from each team was on a call and I was asked to give an update of how the testing was going on the mobile side. I said I was completely blocked because I can't get test data. Backend were asked to respond. They acknowledged they were aware, but that mobile don't understand how big the system is, and that the mobile team need to come up with ideas for the backend team, as to how mobile can test it. I said we can't do anything without test data, they said ... can you guess what? ... correct "you don't understand how big the system is"
- We eventually got something going and I noticed that only 1 of the 5 API changes due on their side was done. Opened tickets. 2 days later asked them for progress and was told that "new findings" always go to the bottom of the backlog, and they are busy with other things. I said these were suppose to be done days ago. They said you can't give us 2 days notice and expect everything done. I said the original ticket was opened a month a go *sends link* ......... *long silence* ...... "ok, but you don't understand how big the system is, this is a lot of work"
- We were on a call. Product was asking the backend manager (aka "Ass") a question about a slight upgrade to the new feature. While trying to talk, the tech lead (aka "Hole") kept cutting everyone off by saying loudly "but thats not in scope". The question was "is this possible in the future" and "how long would it take", coming from management and product development. Hole just kept saying "its not in scope", until he was told to be quiet by several people.
- An API was sending down JSON with a string containing a message for the user with 2 bits of data inside it. We asked for one of those pieces to also come down as a property as the string can change and we needed it client side. We got that. A few days later we found an edge case and asked for the second piece of data to be a property too. Now keep in mind, they clearly already have access to them in order to make the string. We were told "If you keep requesting changes like this, you are going to delay the release of the backend by up to 2 weeks"
Yes folks, there you have it, the most minuscule JSON modifications, can delay your release by up to 2 weeks ........ maybe I should just tell product, that they don't understand how big the app is, and claim we can't build it on our side? Seems to work for them
Thats all the time we have for today,
Tune in for more, where we'll be looking into such topics as:
- If god himself was an iOS developer ... not
- Why automate when you can spend all day doing it by hand
- Its more time-efficient to just give everything a story point of 5
- Why waste time replying to emails ... when you can do nothing instead
See you all next week,
practiseSafeHex14 -
How to beat jet lag with style:
When your normal sleep schedule was so broken it became completely normal in the different timezone.
I used to sleep from 5am to 1pm in my country. With a -7 time difference this became 10pm to 6am.
Should I be happy?9 -
Just remember, if someone ever makes a colony on Mars, you may have to support their timezone in your applications. And their day is longer, so a simple offset from UTC won’t do....14
-
People complaining "oh I always have trouble figuring out if the clock goes forwards or backwards in October"
Bitch please, I'm dealing with 12 databases, with SQL dates as local timezone timestamps, and an influxDB in UTC. I'm dealing with a backend server configured in CEST and a middleware layer configured in Pacific time, and a hundred functions which try to keep everything straight because no one dares to migrate it all to UTC at this point.
In the whole argument about DST you hear about sleep psychology, electricity bills and farmers.
But what about me, the poor database administrator? What about all these ugly legacy systems, what about all the UX designers trying to fix time input pickers?
I spend 2 months a year in agony having nightmares of rips and folds in the flow of time. DAYLIGHT SAVING DOESN'T FUCKING MAKE SENSE HOW CAN TIME EXIST TWICE?17 -
This company!
Ugh.
Two days ago we had an hour and a half meeting on which projects to focus on, with the result being all seven are top priority. Because of course.
Last night I told my boss why an api he has me hitting always returns 401s; even gave him the line# responsible for the response (in his code). After an hour and sixteen minutes of him debugging, he finally admitted I might be right. zzz. This morning, he tells me it's on my end, and to ask someone else for their project's API code. The problem is that the server is not accepting the new application's key, since that key is not in the allowed list. That other project works just fine. Guess why? Their key has been whitelisted for months. But it's totally my code. Yeah. Bloody brilliant. 🔅
Anyway, today we're discussing "Winning with Accountability," a 100 page book that boils down to "do what you say you'll do, by when you said you'd do it, and take responsibility if you don't." But a huge part that the boss is stressing is: provide the exact date, time, and timezone of when things will be completed by. I mean That's fine for sales calls and reports and such trivial busywork. But dev projects? Not so much.
And that's been my past three days!
Friggin joy.6 -
I just spent an hour debugging my company's web app. More specifically, I was trying to fix a bug that made a label on a comment I just made say "Posted 3 days ago".
After confirming timestamps on the server are correct with a calculator, fiddling around with the js debugger, and ruling out weird timezone-related shenanigans, I came to a conclusion.
The bug was in fact sitting, quite comfortably, between the chair and the keyboard.
Yesterday I had moved the date on my computer roughly 3 days into the future, because I was testing out some unrelated code that was dealing with Redis, and I wanted to expire all of the keys stored inside of it.
Don't blame me, my parents told me I had fallen onto my head as a child.5 -
Timezones. So, general rules are:
1. If you don't store timezone, always use and assume UTC. Databases, backends, whatever you use, all time must be kept be in UTC.
2. If you store timezones, ensure you store them everywhere and don't drop them anywhere.
3. It's always better to ignore backend server time in favor of database's `now().` Having a single source of truth makes time consistent (if it's the same database, obviously). If you combine backend time and database time, you likely get a violation of causality.
I've just spent a couple of hours investigating "weird random one-hour time drifts on updates." Guys violated all three rules above:
- they didn't store the timezone;
- their servers had inconsistent timezones. Java was in +XX., while the server itself in UTC. On one host, they forgot to put JVM in the same timezone;
- they dropped the timezone because they thought it was the same everywhere, so there was no point in serializing it.13 -
“No we don’t use the time zone info you send on each request. We get all the drivers for the store ID, choose one of them randomly and take their time zone. We have been assuming it will always be the same for all drivers for each store.”
This is my new favorite response to a Jira ticket in this company.
I may have to print it out and hang it on my desk3 -
I'm looking for a new job.
If anyone is hiring remotely or knows of somewhere that is, could you please let me know? 😊
(I'll be looking locally as well.)
Stack:
• Ruby+Rails
• Node
• Postgres/etc.
• React
• Angular 1.x
• Sass/Less
• MaterialUI, Susy
Timezone: GMT-733 -
Was asked to help a team of interns in a remote country, finish an app. Not only were they terrible at literally every aspect of development, but were arrogant and argued their "new" ways were right.
Spent weeks on the project being nice, trying to help them, sending them links to standards and documents, pointing out unit tests shouldn't be failing, everyone needs to have the same versions of the tools etc. You know, basic shit.
Things got quite heated a few weeks in when they started completely ignoring me. Shit was breaking all over the place and crashing, as I thought we were going to build it one way, and they went and built it another.
Was practically begging the team architect and my manager for help dealing with them. Only reply I got was the usual "were aware of the problem and looking into it" bullshit.
Eventually after the app was done, a mutual agreement was reached that the 2 teams would split (I maintain they were kicked out). All the local devs were happy, managers had mentioned how difficult they were and it would be great for us to finally work on our own.
So I thought everything was fine ... until my end of year performance review came along.
Seems I'm quite poor at "working with others" and I "don't try hard enough with others", it was clear I was struggling with the remote team and "made no effort".
WELL FUCK RIGHT OFF
Not being cocky, but I've never had anything like that in a performance review for the past 7 years. I'm a hard worker, and never have trouble making friends with colleagues. Everyone in the country complained about these remote fuckers, even the manager, who I begged for help. And the end result is I need to work harder.
I came in early, stayed late to fit their timezone, took extra tasks, did research for them, wrote docs. And I was told to work harder.
Only reason I didn't quit, was my internal transfer request was approved lol. New team is looking at projects orders of magnitude more impressive, never been happier.3 -
I got recruiter called me at 4:30am. I pick up the phone call and realised that we both share the same timezone. Why .... Wtf.6
-
So one year ago I was working at this company from the US, me being in Europe, which automatically implies there is several hours of timezone difference.
The eng. manager decided we would have a release tomorrow (decision was made one month earlier), and stuff was being prepped up to make that happen.
In the US the workday was about lunch time and in EU it was one hour before finishing. The manager gets us in a meeting and asks me and another dude to do some testing that would take several hours to do. This testing could have been done several days or weeks earlier.
40 minutes after that meeting I get a private message from the PM asking for the status of the test...
Me: aaa.. well I started it and will continue tomorrow
Manager: wait what? we have launch tomorrow, this testing has to be done by tomorrow
Me: it's the end of the workday here, I got personal errands that I have to attend to
Manager: uhm ok ... I see...
I was just messaging something in the public chat right before calling it a day and the manager writes "thanks for the input, your day is over now", completely out of context to the conversation I was having with whomever.
There was no question of "can you stay extra hours and do this?", there was no "hey, I know your day is over we will pay you premium hours with this amount as according to our contract, could you do this now as we have release tomorrow?" ..no ..just .. "do it!". I automatically assumed that ..hey, maybe he wants to do this during and after the live launch (and yes I do admit my mistake of not asking just to be clear, but I assumed the manager knows that there is a timezone difference ..like it's a no brainer).
I can not tell you the heat sensation I had after that last reply from the manager ... it was completely uncalled for, and unreasonable.
I mean why not make a pre-launch phase where you put stuff on the staging server, and perform all the necessary tests and then when you get all the green lights from testing you then proceed with the actual deploy? ...no ... mention this like right at the end of the day before the launch....
And another thing that scratched my neuronal cortex is, how does he know exactly how long the tests would take?12 -
Some 'wk306' highlights from different people:
Walk around the office in his underwear, because he forgot he left his trousers in the bathroom
Run a red light outside the office due to not wearing his required glasses. When questioned by co-workers, replied "I don't follow those facist rules"
Asking if we work less will we get paid more, because the project will take longer to do (while in a startup with no funding trying to secure some)
Tell a senior dev to stop testing in his spare time, as we won't be able to release on time if he keeps finding critical security bugs
Telling me "your timezone is not my concern", when asking for help with new tooling so we don't have to be online at the same time
Blaming my team for requesting too much help, leading to his team missing deadlines, in a meeting with very senior managers. When the reason we were requesting help was the handover doc we were given was filled with lies about features being finished and "ready to ship" and lacking any unit tests
Being accused of bullying and harassment to the CEO, because someone asked "did you follow up with X about the partnership they emailed us about". The person who was responsible, forgot 4 times, and saw it as an "attack" to mention it in team meetings
Telling an entire office/building mid November they've secured funding for at least the next year, then announcing in January after the Christmas break that its cheaper to move to India, so they are closing the office in 30 days2 -
Yesterday (or the day before that depending on your timezone and day-night schedule - this Friday) my OnePlus 6T arrived. After only 2 days of time between placing the order and actually getting the phone, quite impressive!
The DHL guy asked me upon receipt - is it the OnePlus 6T? - Yes it is!! - "An amazing device it is!", he said. And honestly.. he couldn't be more right.
I might be a bit biased on this because after all I did just spend €630 on this phone. But it feels so snappy, high quality, the 8GB of RAM is just.. it blows my mind. But I'm sure that the other reviews did this sort of jazz already.
The things that set this phone apart for me though were the following.
When I get a new phone or tablet, usually the first thing I do is rooting it. This one was no different, about an hour after receipt it was successfully rooted and loaded with Magisk. Currently I'm still in the phase of "getting to know the phone", wherein fuckups are usual. This time again being no different - I removed some apps and apparently did something to it that the search engines - both Google and DuckDuckGo - didn't quite like, as both of them would crash upon application launch. Me in full panic mode of course, desperately trying to find the stock ROM (which doesn't seem to be present in its usual form) or a new set of GApps (which didn't resolve the issue). OnePlus does seem to offer its OTA updates in zip archives though. So I downloaded its latest update (same as what was on the device) and applied it.
That's when the nerdgasm happened.
The "update" was simply a matter of going into the settings, tapping this and that and applying the update. No recovery, no unrooting, no nothing. The update just went like that despite the phone being rooted and just having had TWRP flashed to it. I always wanted this sort of thing, which even the Nexus couldn't offer - having the cake and eating it too. Being able to root the device and muck around with it while still being able to update the device timely without too many hurdles. This fucking thing does it!!!
That is to say, after my initial nerdgasm I did find that it bulldozed over my su binary (effectively unrooting the thing), custom emoji I've set (iOS 12 because fuck Google's most recent emoji set) and some other things. But those are easy to install back, much more so than it would've been to download a whole Android release and dirty flash it, as it was on the Nexus.
Other than that, battery life, dash charging (edit: on that topic, it does remain cool like a cucumber despite getting 15-20W of power jammed into it, quite impressive!), snappiness, the usual jazz.. eh, as I said earlier that's the usual reviewer stuff. But this feature of being able to upgrade the phone while it's modified, that's something which seems to be severely underrated by those.
Oh and during kernel builds, I couldn't quite get the source to work - probably due to my lack of experience with builds of Android kernels - but I did find that this phone actually exposes its kernel config through /proc/config.gz as it should. None of my MediaTek devices do this, so that's something that I found really appealing. Always nice to see when a manufacturer exposes this information to give you a stock sort of config that you can be rest assured will work configuration-wise. And it allows you to see what the stock kernel is actually built with, which again is really nice. I quite like this! It really encourages further development.11 -
Worst meeting:
Boss: *calls everyone* URGENT MEETING. If you're on your lunch break, then stop and join the video call. Is it a weird time in your timezone? Wake up. But COME
Omg what happened? Is the server down? Are we getting a huge client? What is so urgent that it needs all of our attention right now?
Boss: I'm afraid that I won't be able to stay long in this meeting.
... then WHY the f did you call this meeting?
Boss: that's why we'll have a meeting next at *such hour*. In the meantime, talk to your respective departments about what you've been doing and what you need from each other. See you!
No comment6 -
So i've spent the day:
a) Finding evidence (again) of product not doing their job, to send on to one of my managers. So we can again discuss why she's still here.
b) Explaining to my iOS developer that although all the devs are in agreement that 2 of them are not pulling their weight and shouldn't be here ... they will definitely still be here because management actually want to keep our multi-timezone setup as they see it as beneficial. We, do not.
c) Having a meeting with another manager, in a different department. (Backstory, a member of their team has had many complaints filed against them by various members of the building, including one from my team). To let them know that my employee felt like you ignored her concerns and complaints and are going to allow this person pass their probation without considering the implications.
I hope to actually find some time in the reminder of the day to actually achieve something, rather than just telling skidmarks that they are in fact skidmarks.
... but probably won't due to 3 hours of pointless back to back meetings, where we answer the same few questions every week.
I really do love being a tech lead. So refreshing. -
Me: Right, its Monday, time for a fresh start. Things have been unbearable, but i've nowhere else to go just yet. I gotta just dig deep, ignore everything bad and just get it done, It's all about positivity right? Lets just ignore the little things and keep moving.
*My morning so far, 2 hours in*
Remote dev: (timezone 5 hours earlier than me) Hey so whats the plan for this quarter?
Me: ... I posted a big detailed plan in the group chat on Friday night so you wouldn't be delayed ... but anyway, lets just move on. I need you to work on A, B and C. A is just copying what Android has already done, for B one of the backend guys working next to you is doing this, he'll be able to help you. C is all documented in the ticket.
Remote dev: cool thanks.
Local dev: So I was just chatting with remote dev ... yeah he told me he has no idea what he's suppose to do.
Me: ..... Ok i'll book a video call with him in the morning. Can't do it right now.
==========
Remote dev: Hey i'm helping the BE team do some testing. I found a bug in Android. Homepage says theres no trips. But Offers screen says there is.
Me: Ok so just to confirm, The "available" offers screen has offers to accept, but the white notification on the homepage saying "You have X offers to accept" is not showing up?
Remote dev: Correct!
*debugging for 5 mins*
Remote dev: actually no, the "accepted" offers tab has offers, but the homepage says there are no upcoming offers to work on.
Me: ..... ok, thats very different ... but sure, let me have a look.
Me: Right so the BE are ... again ... sending down expired offers. Looks like the accepted tab isn't catching it and the homepage is.
Remote dev: Right i'll open a ticket for Android.
Me: ... and BE team.
Remote dev: why?
Me: ... because they once again have timezone issues. This keeps causing issues in random places. BE need to fix this everywhere.
Remote dev: right, i'll chat to them and see if they can fix it.
==========
Product: So this ticket xxxxx is clear right?
Me: eh, kind of, so you want us to add feature X to user type A?
Product: correct.
Me: right but I don't see anywhere talking about the time it will take to build the screen for feature X
Product: What do you mean the screen?
Me: ... well, feature X is only accessible on screen Y ... we would have to change screen Y to support user type A ... you know ... so they can ... use the feature
Product: .... hhhhmmm .... i suppose you are right. Well we can't just add screen Y, we'll have to add W and Z, it won't make sense without them.
Me: ... ok sure, but our estimates put us over for this quarter. I don't think we can just add in 3 screens.
Product: No this is a must have.
Me: Ok so we'll have to drop something else.
Product: hhhmmm, don't think we can ... let me get back to you.
==========
Backend team invited me to a meeting at 6am my time on Friday.
==========
... 2 hours into Monday ... there must be vodka around here somewhere -
there is another team in our company that has its site in the US. we haven't been working with them for very long, but we do have some common topics on which we work loosely together and exchange some information from time to time. i have met the guys only once in person when they visited Germany.
PM asked one of the devs of this team if he could move to another time zone, so it would be easier for us in Europe to arrange meetings with him.
move to another timezone. within the US. to the other side of the country where there's noone he knows. also, no site of ours.
only so it's easier for PM to arrange fucking meetings with him.
can you believe that? i cringed so hard when PM told me about that. (of course the guy refused, shocked pikachu)
and when he thought aloud that maybe he should ask the guy to move to Germany, i told him that the colleague wouldn't do that and that this was a terrible idea. he was really surprised and asked "hmm, you think?"
dafuq, hell yeah i think?!3 -
Elon Musk: I'm putting people on Mars!
Developers: Fantastic, more timezones to support.
Credit: @iamdevloper4 -
Story of me trying to connect to a colleague from neighbouring team with 12 hour difference timezone:
Me: Hey! Shall we catch up to discuss a feature that will help us dominate the world?
She: Sure.. what time works for you?
Me: Since we have timezone challenge, I'd say boundary times would be good so none of us have to stretch.
She: umm.. good..
Me: How about 07:30 PM your time?
She: oh sweetie.. evenings don't work for me.. I want my evenings free..
Me: fine.. how about 07:00 AM your time?
She: no darling.. I am not a morning person..
Me: GO FUCK YOURSELF BITCH. I CAN'T COMPLY WITH EVERY TANTRUM OF YOURS.
And with that.. I didn't respond to her invites which were either super early for me or super late. Let her keep waiting..
Juniors with ego are shittiest folks to work with.31 -
1 friend who is currently studying in Canada.
I am not aware if he uses devrant or not.
Met him in a national robotic competition 3 years back.
Somehow, we exchanged numbers and nowadays we talk often whenever we get time (considering our busy life and timezone difference)
He is studying robotics and frequently sends me his designs and output with 3D printer.
About me, I left robotics(to be specific embedded) and got a job and working on backend these days.
Though, it's great talking to him and getting to know how the education goes there and his new works.
He also has a beautiful love story(not yet completed) which is another fun part to listen from him. -
Red flags in your first week of your software engineering job 🚩
You do the first few days not speaking to anyone.
You can't get into the building and no one turns up until mid day.
The receptionist thinks you're too well dressed to work in this building, thinks you're a spy and calls security on you.
You are eating alone during lunch time in the cafeteria
You have bring your own material for making coffee for yourself
When you try to read the onboarding docs and there aren't any.
You have to write the onboarding docs.
You don't have team mates.
When you ask another team how things are going and they just laugh and cry.😂😭
There's no computer for you, and not even an "it's delayed" excuse. They weren't expecting you.
Your are given a TI PC, because "that's all we have", even though there's no software for it, and it's not quite IBM compatible.
You don't have local admin rights on your computer.💀
You have to buy a laptop yourself to be able to do your job.
It's the end of the week and you still don't have your environment set up and running.
You look at the codebase and there are no automated tests.
You have to request access every time you need to install something through a company tool that looks like it was made in 2001.
Various tasks can only be performed by one single person and they are either out sick or on vacation.
You have to keep track of your time in 6 minute increments, assigned to projects you don't know, by project numbers everyone has memorised (and therefore aren't written down).
You have to fill in timesheets and it takes you 30 minutes each day to fill them in because the system is so clunky.🤮
Your first email is a phishing test from the IT department in another country and timezone, but it has useful information in it, like how to login to the VPN.
Your second email is not a phishing test, but has similar information as the first one. (You ignore it.)
Your name is spelled wrong in every system, in a different way. 2 departments decide that it's too much trouble, and they never fix the spelling as long as you work there. One of them fixes it after you leave, and annoys you for a month because you haven't filled out the customer survey.6 -
so management decided that the PM/PO/SM role has to be split and that SM shall be done by someone else.
PM in retro: so i will give away this role because i cannot fulfill all roles adequately, not because of missing skills, but because of missing time. this is also why i couldn't finish my development task for this sprint. so, someone of you guys has to do the job. i expect the future SM to be always available for me in the morning and the afternoon, so due to timezone shift this has to be someone from the German colleagues. I will have to explain to that person what exactly I as a PO expect from the SM and the SM will have to follow this guideline. also, being SM is no excuse for not delivering your stories, it just takes very little time.
...i don't need to comment on this at all, he already makes a perfect clown of himself 🤡7 -
Oooh what I hate it..... Timezones... Who really came up with that shit? GMT, UTC, CET and garbage like that. And then also the DST crap.
Whats wrong with the same time in the whole world? Without DST or timezone garbage that just makes life harder for both developers and travellers which are going to meet someone or have something booked.18 -
This begs for a rant... [too bad I can't post actual screenshots :/ ]
Me: He k8s team! We're having trouble with our k8s cluster. After scaling up and running h/c and Sanity tests environment was confirmed as Healthy and Stable. But once we'd started our load tests k8s cluster went out for a walk: most of the replicas got stoped and restarted and I cannot find in events' log WHY that happened. Could you please have a look?
k8s team [india]: Hello, thank you for reaching out to k8s support. We will check and let you know.
Me: Oh, you're welcome! I'll be just sitting here quietly and eagerly waiting for your reply. TIA! :slightly_smiling_face:
<5 minutes later>
k8s team India: Hi. Could you give me a list of replicas that were failing?
Me: I gave you a Grafana link with a timeframe filter. Look there -- almost all apps show instability at k8s layer. For instance APP_1 and APP_2 were OK. But APP_3, APP_4 and APP_5 were crashing all over the place
k8s team India: ok I will check.
<My shift has ended. k8s team works in different timezone. I've opened up Slack this morning>
k8s team India: HI. APP_1 and APP_2 are fine. I don't even see any errors from logs, no restarts. All response codes are 200.
Me: 🤦♂️ .... Man, isn't that what I've said? ... 🤦♂️5 -
I am back with some more emotional shit.
So tomorrow is my last working day at my second employer where essentially I'll just walk into the 10 seater serviced office to drop my laptop in a cupboard because no one else is here.
So today, an hour ago, they had a virtual farewell for me and everyone spoke of me highly with specific examples.
Well that's not what this post is about, but the emphasis is that I am still in dual mind of whether I made the right decision to quit my second employer so soon (in just 10 months)?
If I had stayed for two months more:
1. I'd gotten a hike this week
2. More RSUs in that hike along with cash
3. Joining RSUs would have vested for the cliff period of 1 year
4. Tenure would be at least a year
5. Would have found a better job with higher pay (on the new hiked salary).
I surprisingly got the grip of the product and that's when I decided to quit.
The reason I quit is I wanted to optimise for WLB and timezone with better team culture.
While the next job is surely a company I wanted for a long time and that too in B2C space, I really lost my affection for that role and that's where it came to me upfront and I rejected them initially before picking up the offer again.
My second employer is a very global and one of the largest brands. Really wanted to stick around and never got to enjoy the benefits which others did.
Only time can tell, because when I chased something I never got it, when I stopped, it came to me.
And what I am chasing now is something I am unable to achieve.
Why is life so fucked. Seems like I am about to lose one of my biggest and only life and career dream.
Maybe I fucked up this decision. Maybe not. Only time can tell.12 -
Working with client at different timezone (+3 hours difference). Client time: 5 P.M.
C: a blocker issue found
Step to reproduce:
Step 1: import the attached file
Step 2: blabla
Please get this fixed today.
Me: *where's the attached file?* Opens up ly*c, type his name and.... status offline.
Okay then, time to post my first rant. And get depressed until cob. 😔1 -
When your internal timezone automatically changes over the weekend and you have to get it back to "normal" but then somehow end up not sleeping at all 😅😐😑😪2
-
Every language ever:
"You can't compare objects of type A and B"
Swift, on the other hand:
"main.swift:365:34: note: overloads for '==' exist with these partially matching parameter lists: (Any.Type?, Any.Type?), ((), ()), (Bool, B ool), (Character, Character), (Character.UnicodeScalarView.Index, Character.UnicodeScalarView.Index), (CodingUserInfoKey, CodingUserInfoKey ), (OpaquePointer, OpaquePointer), (AnyHashable, AnyHashable), (UInt8, UInt8), (Int8, Int8), (UInt16, UInt16), (Int16, Int16), (UInt32, UIn t32), (Int32, Int32), (UInt64, UInt64), (Int64, Int64), (UInt, UInt), (Int, Int), (AnyKeyPath, AnyKeyPath), (Unicode.Scalar, Unicode.Scalar ), (ObjectIdentifier, ObjectIdentifier), (String, String), (String.Index, String.Index), (UnsafeMutableRawPointer, UnsafeMutableRawPointer) , (UnsafeRawPointer, UnsafeRawPointer), (UnicodeDecodingResult, UnicodeDecodingResult), (_SwiftNSOperatingSystemVersion, _SwiftNSOperatingS ystemVersion), (AnyIndex, AnyIndex), (AffineTransform, AffineTransform), (Calendar, Calendar), (CharacterSet, CharacterSet), (Data, Data), (Date, Date), (DateComponents, DateComponents), (DateInterval, DateInterval), (Decimal, Decimal), (IndexPath, IndexPath), (IndexSet.Index, IndexSet.Index), (IndexSet.RangeView, IndexSet.RangeView), (IndexSet, IndexSet), (Locale, Locale), (Notification, Notification), (NSRange,
NSRange), (String.Encoding, String.Encoding), (PersonNameComponents, PersonNameComponents), (TimeZone, TimeZone), (URL, URL), (URLComponent s, URLComponents), (URLQueryItem, URLQueryItem), (URLRequest, URLRequest), (UUID, UUID), (DarwinBoolean, DarwinBoolean), (DispatchQoS, Disp atchQoS), (DispatchTime, DispatchTime), (DispatchWallTime, DispatchWallTime), (DispatchTimeInterval, DispatchTimeInterval), (Selector, Sele ctor), (NSObject, NSObject), (CGAffineTransform, CGAffineTransform), (CGPoint, CGPoint), (CGSize, CGSize), (CGVector, CGVector), (CGRect, C GRect), ((A, B), (A, B)), ((A, B, C), (A, B, C)), ((A, B, C, D), (A, B, C, D)), ((A, B, C, D, E), (A, B, C, D, E)), ((A, B, C, D, E, F), (A , B, C, D, E, F)), (ContiguousArray<Element>, ContiguousArray<Element>), (ArraySlice<Element>, ArraySlice<Element>), (Array<Element>, Array <Element>), (AutoreleasingUnsafeMutablePointer<Pointee>, AutoreleasingUnsafeMutablePointer<Pointee>), (ClosedRangeIndex<Bound>, ClosedRange Index<Bound>), (LazyDropWhileIndex<Base>, LazyDropWhileIndex<Base>), (EmptyCollection<Element>, EmptyCollection<Element>), (FlattenCollecti onIndex<BaseElements>, FlattenCollectionIndex<BaseElements>), (FlattenBidirectionalCollectionIndex<BaseElements>, FlattenBidirectionalColle ctionIndex<BaseElements>), (Set<Element>, Set<Element>), (Dictionary<Key, Value>.Keys, Dictionary<Key, Value>.Keys), ([Key : Value], [Key : Value]), (Set<Element>.Index, Set<Element>.Index), (Dictionary<Key, Value>.Index, Dictionary<Key, Value>.Index), (ManagedBufferPointer<Hea der, Element>, ManagedBufferPointer<Header, Element>), (Wrapped?, Wrapped?), (Wrapped?, _OptionalNilComparisonType), (_OptionalNilCompariso nType, Wrapped?), (LazyPrefixWhileIndex<Base>, LazyPrefixWhileIndex<Base>), (Range<Bound>, Range<Bound>), (CountableRange<Bound>, Countable Range<Bound>), (ClosedRange<Bound>, ClosedRange<Bound>), (CountableClosedRange<Bound>, CountableClosedRange<Bound>), (ReversedIndex<Base>, ReversedIndex<Base>), (_UIntBuffer<Storage, Element>.Index, _UIntBuffer<Storage, Element>.Index), (UnsafeMutablePointer<Pointee>, UnsafeMut ablePointer<Pointee>), (UnsafePointer<Pointee>, UnsafePointer<Pointee>), (_ValidUTF8Buffer<Storage>.Index, _ValidUTF8Buffer<Storage>.Index) , (Self, Other), (Self, R), (Measurement<LeftHandSideType>, Measurement<RightHandSideType>)"17 -
Today I learned why it’s so important to have life outside engineering (better put, I remembered this).
For the last couple of weeks, we’ve been working hard to catch some deadlines, contributing to a large oss project. Getting up at 4am, working with the team in my timezone, having some time with family then working with people with 6-9 hour difference was extremelly challenging and I was so tired I literaly was a fucking pain to bear with.
Today, on Saturday, my wife started cleaning the bathroom sink drain. You know, started... “won’t fix” was not an option. First, the dirt and the smell, mmmmmm, you just have to love it. And then the thing collapses (yes, I was optimistic, trying to clean it just partly - I learned not to fix if it aint’t broken, I wonder where).
It’s of course built of trivial parts, but the water just finds its way. Needless to say, I am afraid of it :). In the end, it got resolved. Just as any bug we squash - with some anger and plenty of dirty words.
During the whole thing, I thought to myself, that all that stress at work is quite bearable; it put everything back into a perspective. Great feeling!1 -
Just arrived in Sydney 2 days ago and reported for work yesterday. I looked at my laptop's clock and it said its 4:40pm. Cool! Another 20 min and I'm off.
I started fiddling around with my machine settings and noticed my Location setting is off. I switched it on. My time is updated to 2:43pm.
MOTHERF****!!!1 -
Took this masterpiece tomorrow in the morning :P Another one was frozen since yesterday around 7pm (CEST timezone)3
-
My preferred stack is Rails/NginX/Postgres, or Node using the same.
I have a fair amount of material for this week's rant, but in my stack's defense, the quantity is primarily because I've been using it for so long, and I'm apparently a talented breaker. I may share other stories if the motivation arises.
However, today I ran into something definitely deserving of calling out.
The default datatype for a Date+Time column in Postgres is `datetime` which means "date+time without timezone". (while `datetimetz` instead stores the timezone).
Apparently when comparing a datetime with a datetimetz, Postgres doesn't compute the timezone difference correctly, leading to some very unexpected and confusing query results.
Today, I had a record that was both pending (expires_at > now) and expired (expires_at <= now), where now is a DateTime (with tz) literal from Rails. After half an hour's frustrated delving and baffled expressions at query results, I finally figured out that the database's math was incorrect when comparing UTC (+0) and PST (-7).
This during a semi-high-priority bugfix that's blocking for a coworker.
While Time and all of its nuances are honestly extremely difficult to handle correctly, I didn't expect Postgres to get this relatively simple part wrong.
Shame on you, Postgres.
I expected better.3 -
* Today you have to live within 150 miles of a few cities as we are working on creating "hubs" but it's still remote!
you know what?
fuck you
also, no, an LLM isn't going to solve climate change
jesus christ i am depressed beyond belief. i don't even want to apply, let alone work for any of these companies
next up: "USA only" yeah what the fuck does that mean? US citizen? US timezone? you want to hire a super technical engineer right? SO WHY NOT BE SUPER TECHNICAL IN YOUR JOB DESCRIPTION
just incredible, companies that offer 100-200K salaries and all they have is a website and a fucking chrome extension... what???
i feel like i've been doing wrong my whole life
just end it all5 -
Gdpr thing aside...
Does anybody read the new policy...
I just did for 2 apps (intel driver software and 9ga.. You know it)...
On the things that they collected on the side without you knowing include:
9ga:
Device memory, language, battery level, timezone, unique device identifiers, compass, accelorometer and microphone... Even service provider and signal strength
Intel:
Website you visit, how you use your computer(vague too vague) and computing environment.
Did anybody knew for sure before this that their apps are listening to them? That they just made a profile of you with all the data?
With all this they dont even need your ip they already know who you are and what you do on a daily basis...
There are 20 more but it will be waaay too much to write about. These 2 are way worse since 9ga doesnt use microphone for anything... And why a driver reads what websites i am going to?4 -
// Time isn't converted to Customer's timezone because it's stored in the database in the time of Customer's timezone, not in UTC
GOD WHY14 -
RFC for 700 HTTP Status Codes
https://github.com/joho/7XX-rfc
o 703 - Explosion
o 728 - It works in my timezone
o 732 - Fucking Unic💩de
o 791 - The Internet shut down due to copyright restrictions
o 797 - This is the last page of the Internet. Go back3 -
So, I work in a game development studio, right?
We're trying to launch the title on as many platforms as reasonable, because as a social VR app we're kinda rowing upstream.
So far, Steam and Oculus have been fairly reasonable, if oddly broken and inconsistent.
Enter store 3.
Basically no in-game transaction support (our asking prompted them to *start* developing it. No, it's not very complete). No patch-update system (You want an update? Gotta download the whole fsckin' thing!). No beta-testing functionality for most of their stuff ("Just write the code like the example, it will work, trust us!"). No tools besides the buggy SDK (Wanna upload that new build? Say hello to this page in your web browser!).
So, in other words: Fun.
We've been trying to get actively launched for two months now. Keep in mind that the build has been up on Steam and Oculus for over a year and half a year (respectively), so the actual binary functionality is, presumably fine.
The best feedback we get back tends to be "Well, when we click the Launch button it crashes, so fail."
Meanwhile we're going back and forth, dealing with other-side-of-the-world timezone lag, trying to figure out what is so different from their machines as ours. Eventually we get them to start sending logs (and no, Windows Event logs are not sufficient for GAMES, where did you even get that idea????) except the logs indicate that the program is getting killed so terribly that the engine's built-in crash handler can't even kick in to generate memory dumps or even know it died.
All this boils down to today, where I get a screenshot of their latest attempt.
I just can't even right now.5 -
This post is about Americans.
Or to be more precise and put it this way, this post is about Indian Americans.
They made their way through everything and somehow landed in the US to shit on streets.
They feel themselves to be entitled to another level.
I work with multiple colleagues who are based out of the US. ALL of the American people are very friendly and accommodating since we have a timezone challenge.
BUT these Indian Americans think they run the world. Slight inconvenience and they create an issue out of it.
My entire non-tech team and I am struggling to align to these fucks and none of them are supportive. While scheduling a meeting
fuck it.. I am so done that it's not even worth ranting about it.
On the other news, I am in the job market, actively hunting jobs while they keep rescheduling meetings. I have a couple of connects with recruiters lined up.
I am expecting few interviews and maybe in some time, I might be able to close a decent offer. Fingers crossed 🤞🏻28 -
Can I please stop using Java?
java.lang.AssertionError: expected same:<Fri Mar 03 16:01:01 EST 2017> was not:<Fri Mar 03 16:01:01 EST 2017>
Expected :Fri Mar 03 16:01:01 EST 2017
Actual :Fri Mar 03 16:01:01 EST 20173 -
I was searching for an internship while studying abroad (7h timezone difference, I was expecting some difficulty to communicate). I also sent my resume to a friend so he could pass it around.
So one day I receive this mail, with a company telling me they're interested in my profile. When reading through the previous messages below I see that actually my resume hopped from my friend to one of his to another person etc...
Quite glad that this human link brought me an opportunity, I ask for an interview over Skype. When we finally settle for a date and time, "interview" starts by him basically saying me : "We'd like to hire you, do you have any questions?"
Well that was easy 👍 -
Four and half months,
Hundreds of hundreds PRs and one additional product cluster
By 6 Engineers..
To 500+ micro services
Which has no timezone or currency context,
Created by 250+ engineers,
To launch in a new country...
It didn't make me happy.
But the feedback from customers and drivers is priceless and #heartwhelming14 -
A user calls me an hour after I'm supposed to have logged off.
"Hey, ahh, like, something is not good with, like, some thing"
Oh, snap! What happened?
"There is, like, this report, and it's, like, not right?"
Oh, the report is showing wrong data? Let me try to get a fresh version and...
"No, like,the data is right, but, like, there is many reports and , like, should be only one?"
Oh, you mean the report consolidation feature? It should only happen if the reports are fully compatible, and since it's automatic if the reports are not already grouped it means that they cannot be grouped. Probably due to this shopping season, we've seen a high uptick in demand.
"But, like, it should be, like, one! If not I will have to type in each report, like, by hand! I usually talk to this guy XYZ and he, like, does something that I, like, have no idea what it is. Can you call him up?"
(The dude the user mentioned logged off hours ago, and is in a different timezone. It's now about 11PM for him.)
It might not be possible. The system should add observations to each report it cannot consolidate. What do those say?
(the user takes two seconds to respond. I don't think they checked anything)
"It doesn't say anything. Can you cal XYZ, please?"
...
Shit, why do people wait until the last few hours of the last day of the month to do something that should have been done days ago and then demand that everybody everywhere just adjust to their late-ass schedule?
And then to demand I wake up a hardworking dev because someone is to lazy to use the system as it was custom designed for them? Because it had no problems but just wasn't making all things easy?
That's why users have to pay - they don't pay us to code, they pay us to put up with their bullshit.2 -
Windows... Why is your auto time setting so dog shit!
Its always either an hour early or late except earlier today it was apparently December 9th at 6AM when it was 10AM on the 5th...
Like it even got the correct timezone yet still can't get a simple concept like time correct... Fucking hell...
(The time is one hour ahead in this image and this legit made me arrive to pick someone up an hour early)5 -
The Advent of Code is back on... Timezone doesn't help much with leaderboard in my case but I created a private one... join if you like, the code is: 414048-6ec978bd (to join: https://adventofcode.com/2018/...)
The advent is here: https://adventofcode.com/2018/
LETS FUCKING CODE!!!!7 -
People ask me why I prefer Windows: decided to install Mint, it crashed upon choosing a timezone. Had to not set a timezone to move past that bug. Then the install hangs. Turns out I should've edited the grub boot settings because I'm using an nvidia GPU. What the actual fuck? How is anyone supposed to know that?12
-
Update: https://devrant.com/rants/5220410/...
I resigned from my second job.
First job tenure: 7.5 years
Second job tenure: 10 months
This job taught me a lot and paid me decent, but not enough to cope up with the bullshit and sacrifice, WLB, and happiness.
I landed a job at one of my dream companies I always wanted to be and possibly the best company in my city. Also the role is B2C in nature and one of only profitable start-ups from India. The domain is second favourite of mine (Music > Art/Events > Travel).
Second job was in travel domain, world's largest OTA but the timezone fucked my happiness and that is what my first job offered me.
I could easily score better offers with higher pay and benefits but I was optimising for a work life balance and team in same time zone along with some impacting work.
I do have some interesting interviews coming up and I am not sure how will I end up performing.
When I got this first offer, this job hunting season, I initially rejected some silly policies. I regretted the decision and thankfully after having a transparent conversation with the recruiter, I accepted it. Funnily, the resignation from second job isn't making me feel emotional, guilty, or any negative emotion. Which evidently signals that the job was toxic and I had to step out asap.
The purpose it served in my journey was bring my remuneration to market levels and teach me a lot more skills in just short span.
Excited to see how the future unrolls. I'll keep my fellows here posted.
I really want to spend more time here talking and hanging out with you all. Hopefully I shall be back soon. Until then keep safe my lovelies :)5 -
Spend literally two days trying to figure out why I have a 2 hour offset in my timezones for a lamp web app. This isn't even close to my first timezone rodeo.
Check logs, reset Apache/MySQL/PHP timezones in like 100 places. Use 3rd party server side and client side timezone libraries. Moment.js you say? Shit works like a charm... but is, of course, still two hours off.
MySQL is right. PHP is right. Apache is right. PHP libs are in place. Finally convert the entire damn project to use epoch time because I have a deadline, I have no more time to read backwater AWS docs and try to figure out why the hell this Ubuntu EC2 is fucked up, and I literally cannot figure out why in the hell the damn clock is off.
Several days later notice a variable in the main .config file... right in root... 2 hour timezone offset.
Fuuuuuuuuuuuuuuuuuuuuck.8 -
Tips from the "oh that wasn't the best idea" category: Don't store "date of birth" as UTC date/times.1
-
"In this API you need to pass the epoch in user's timezone."
WTF!! can this world be any worse...... how many epochs are there in this world?4 -
Why is everyone on this platform close to a certain timezone resulting me being alone here right now. Just woke up. Can't sleep. It sucks53
-
11:30 in my timezone. Was supposed to wrap-up meeting for project finalization 3 hours ago. Sitting here rn, listening to a coworker in management explain the importance of equal respect for all employees in the company. The Boss has left the meeting because he has "better" things to do. FML4
-
Benefits of having a client whose timezone is 3 hours ahead of yours
Even if he goes home late... you can still leave on time -
It sucks, when your clients live in a different timezone and they start to work and complaining about things just when you want to leave the office.
-
Someone's guts will be torn out tomorrow and put up on a nice clean razor barbed wire ...
I was wondering what the fucking fuck messed up my brain - till I realized that some dev mixed up the timezone on one of our servers. Dunno how the dev managed it - but the end result was not funny.
Due to the difference in time strings the newer backup had an older timestamp - and vice versa.
Which - when you want to do mass clean up and migration - is a very fucked up thing.
I had to manually check dozens of backups to make sure I got the right ones...
-.- knife goes in, gut goes out. Thx Bart Simpson.8 -
Converting server time to any given local timezone is a pain in the ass.. at least in JS.
Here's what I've got:
convertNowToTimezone = (localOffset) => {
let d = new Date();
let millis = d.getTime() + (d.getTimezoneOffset() * 60000); //convert server local time to UTC millisec
d.setTime(millis - (localOffset * 60000)); //convert UTC millisec to required local time
return d;
}
where I pass localOffset as -330 (IST offset).
Works in chrome console but gives a diff of 4min in the server side nodejs I'm running it in..
🤬🤬😡😡😡😡😡9 -
The datepicker saga
Part one
So I begin work on a page where user add their details, project is late, taking ages on this page
Nearly done, just need a component to allow users to put in some date of births. Look for react components.
Avoiding that one because fuck Bootstrap.
Ah-ha, that looks good, let's give it a go.
CSS doesn't exist, oh need copy it over from npm dist. Great it applied but...
... WTF it's tiny. Thought it was a problem with my zoom. Nope found the issue in github.com and it's something to do with using REM rather than EM or something, okay someone provided a solution, rather I saw a couple of solutions, after some hacking around I got it working and pasted it in the right location and yes, it's a reasonable size now.
Only it's a bit crap because it only allows scrolling 1 month at a time. No good. Hunting through the docs reveals several options to add year and month drop downs and allow them to be scrolled. Still a bit shit as it only shows certain years, figure I'd set the start date position somewhere at the average.
Wait. The up button on the scroll doesn't even show, it's just a blank 5px button. Mouse scroll doesn't work
Fucking...
... Bailing on that.
Part 2
Okay sod it I'll just make my own three drop down select boxes, day, month and year. Easy.
At this point I take full responsibility and cannot blame any third party. And kids, take this as a lesson to plan out your code fully and make no assumptions on the simplicity of the problem.
For some reason (of which I regretted much) I decided to abstract things so much I made an array of three objects for each drop down. Containing the information to pretty much abstract away the field it was dealing with. This sort of meta programming really screwed with my head, I have lines like the following:
[...].map(optionGroup =>
optionGroup.options[
parseInt(
newState[optionGroup.momentId]
, 10)
]
)...
But I was in too deep and had to weave my way through this kind of abstract process like an intrepid explorer chopping through a rain forest with a butter knife.
So I am using React and Redux, decided it was overkill to use Redux to control each field. Only trouble is of course when the user clicks one of the fields, it doesn't make sense in redux to have one of the three fields selected. And I wanted to show the field title as the first option. So I went against good practice and used state to keep track of the fields before they are handed off to the parent/redux. What a nightmare that was.
Possibly the most challenging part was matching my indices with moment.js to get the UI working right, it was such a meta mess when it just shouldn't have taken so stupidly long.
But, I begin to see the light at the end of this tunnel, it's slowly coming together. And when it all clicks into place I sit back and actually quite enjoy my abysmal attempt at clean and easy to read code.
Part 3
Ran the generated timestamp through a converter and I get the day before, oh yeah that's great
Seems like it's dependant on the timezone??!
Nope. Deploying. Bye. I no longer care if daylight savings makes you a day younger.1 -
Im currently doing my first project as a junior dev. I'm working with asp.net core and I had only used regular asp.net before. The project owner who was the guy that used to own the company I work for had only asked me if i was versed in asp.net and said that it was what I was going to work with. So from the start I'm a little bumed out. The difference isn't enourmous, but still.
First day, he says that we are going to use TFS for version handling (god damnit) then he says he has started a bit and has done the first push... And we're missing files. But he's asleep by the time i do the pull (9 hour timezone difference).
Next day he has gotten all the files up and I also get to know that I will be working alone and still have to use TFS.
A few days later he tells me I'm gonna present the first version the next week...
Oh, and did I mention that this is for one of the biggest companies in the world that the very top managers will use. Including CEO, cto etc4 -
Most interesting bug (recently at least)... In JavaScript, you can create a date with new Date(dateString).
...if it starts with the year or is ISO format, it will take the user's local timezone into account. if you did something like new Date('6-Jun-16') it doesn't care about time zones... so depending on how we passed a date via the api, we'd get a different actual date.4 -
I worked on a project that used an archaic homegrown library written by a consultant that had zero documentation, tons of reflection and here is the kicker... the consultant refused to give us the source code as it was "his intellectual property" so we couldn't make any sense of how to actually use it. Moreover, he worked remotely so the timezone difference between us meant that any questions we had took ages to get answered. Glad to be away from that project now.4
-
I had an interesting mystery the other day. I work in the UK, but I'm working remotely from the US for a while. First day, I made some changes, ran the tests and they failed. Weird part was the failing test was for a component I hadn't touched. I took a closer look, and realized it was a date off by several hours. The test was checking that a passed in date appears in the output. But it was creating the date by parsing a string. The library I was using defaults to local time, but the component uses UTC. So, I had inadvertently created a unit test that only passes when run from UTC. But I had never noticed before because my work is in that timezone. Yikes!
-
It's amazing that we had to explain to an offshore API dev how timezones work. You'd think they know what it is by being in a different timezone, think again.3
-
I'm currently the only dev that works with a client's dev team. That's not really how we usually work, usually it's a whole team of ours.
Three aspects why this sucks:
1) the client's dev team is made up of juniors and junior to intermediate devs. All of them are new to scrum. I therefore have to constantly support (dev & agile workflow), check all the PRs and have to think of everything in Refinement meetings.
2) the client's based in another timezone and the PO is super busy because we're the only agile team in their company. Therefore this is going to be the third Friday in a row where I have meetings until 6pm.
3) I also have a specific time frame I have to start working for my company, so I constantly work extra hours due to the time difference.
I'm just tired.4 -
Has anyone experience with true full remote working?
I keep searching for job postings, but they mostly have huge BUT(s)
- remote BUT you need to be resident where the company is
- remote BUT you need to have a valid vat number and it won't be a contract, just a "we will ask x hours per month, you get no vacations or sick days"
- remote BUT you need to be in our timezone or work at our hours.
I am lately thinking a lot about what to do with my life due to the possibility that i will move with my sweet half and... We live very far apart so it's like... A bummer to be bound to a place. Especially since they love where they are, but i have a free house which I inherited, so... Could be nice as a fallback
Edit: the vat number thing is not necessarily bad, but one of the main reasons to work as an employee is that i get sick days and stuff, if i have to follow your hours, get no sick days/vacation days/benefits i may as well be a freelancer and gain more, lol.7 -
I wanted to accomplish new things today.
Instead I'm swimming in:
"This worked before"
- No it never worked that way, you want it to, but it never ever ever has done that thing NOT EVEN CLOSE.
"The thing..."
- Wtf is the god damn 'thing'? How could anyone possibly know what you're talking about? How do you go about life like this?
"How come we can't make it do X?"
- Because the code can't read your god damn mind, that shit isn't in the database, you don't update it and your laundry list of minor fixes for one time or non issues has resulted in you getting coded into a maze of stupid custom code so deep you're NEVER GETTING OUT!!!!
"Is your timezone before or after our timezone?"
- I DON'T FUCKING KNOW, I JUST TOLD YOU MY TIMEZONE, DO YOU EVEN FUCKING KNOW YOUR TIMEZONE?!?!?!? IF YOU CAN'T BE BOTHERED TO LOOK UP YOUR FUCKING TIMEZONE I SURE AS HELL AM NOT!!!2 -
Looks like my kubuntu dual boot with windows 10 is fucked up. Timezone resets to some other place every time i switch OS.4
-
I just spent about 30h desperately trying to figure out why my Qradar API queries were not working while running in docker, but somehow worked when running locally. I was just minimally stressed because it's my bachelor thesis, which I need to turn in in 3 weeks and this basically nuked my whole planning.
So apparently docker requires you to set your own timezone, so my API queries were always querying data from an hour early, when the requested data did not exist yet....
It's 3PM and I need a drink, or maybe 101 -
Bug report : date_created is wrong by one day, but only in the afternoon. Gaaah ! Why did nobody save the user's offset...
Or better yet just normalize to UTC!?!? -
Story of a first-time hackathon.
So, I took part in the COVID-19 Global Hackathon.
Long story short, I got excited at OCR and just went with the most challenging challenge - digitizing forms with handwritten text and checkboxes, ones which say whether you have been in contact with someone who could have Coronavirus.
And, unsurprisingly, it didn't work within 4 days. I joined up with 2 people, who both left halfway through - one announced, one silently - and another guy joined, said he had something working and then dissapeared.
We never settled on a stack - we started with a local docker running Tesseract, then Google Cloud Vision, then we found Amazon Textract. None worked easily.
Timezone differences were annoying too. There was a 15-hour difference across our zones. I spent hours in the Slack channel waiting.
We didn't manage the deadline, and the people who set the challenge needed the solution withing 10 days, a deadline we also missed. We ended up with a basic-bitch Vue app to take pictures with mock Amazon S3 functionality, empty TDD in Python and also some OCR work.
tbh, that stuff would've worked if we had 4 weeks. I understand why everyone left.
I guess the lesson from this is not to be over-ambitious with hackathons. And not to over-estimate computers' detection abilities.rant covid hackathon slack s3 google cloud vision python tdd aws tesseract textract covid-19 global hackathon2 -
When the framework you're using decides to work in UTC after 5 years of using default system timezone. And instead of giving you the option to change timezone, hardcore enforces it by:
os.environ['TZ'] = 'UTC'
time.tzset()
For people who don't know python.. It basically tells your code that your system time is set to UTC (ingnoring the right timezone)
Now we get one bug after another because of this undocumented shitty change without changes in how time fields behave in different client timezones.
😒🔫
(Don't get me wrong, using UTC is logical however not in an existening application and forcing devs to rewrite all code that handles time fields)1 -
we had a lot of date specific background tasks that run. one day one of the major tasks were not doing anything at all. check the builds in jenkins, was being triggered at 8pm as designed , but no output or errors, just success. eventually found out that someone changed the timezone on the remote host executing the job, so the job was infact running in the future where no events existed! needless to say was a simple fix! and mow I use NTP for everything1
-
I just came with a problem trying to get the value of an HTML input of type date and trying to throw it into a Javascript Date object... After about an hour of searching (Google, Stackoverflow) I realized HTML5 date inputs use UTC timezone (defined by W3C) and Javascript uses your local timezone and this difference is messing with my code giving me a JS obvject 1 day before the HTML date...
Why they do this kind of thing?1 -
Narrator(me): currently on keeping up with the clientele
Client: sooo-- go live in 2 days lol?
Me: im still waitin for finalised content from you and your designers
Client: oh , can you work the public holiday tomorrow , in anticipation for perhaps the of chance we will have sent xyz content
Me: hm tomorrows a public holiday.. but sure
Them: oh im in another timezone so its really 2 days - 12 hours
Narrator(me): thats when the boy realised not to let his guard down -
me:task assigned is a small fix.Gonna finish Early sit back relax this sprint.
mail(next day):we've moved to microservices.setup as easy as gulp landscape:start
me:cool!shinny new stuff!seems easy!!
project:npm failed..please check module xxx..
me:fine.....
after long mail chain
project:npm failed unknown file not found
me:fine.....
after hours of googling and little github issue browsing
project:server running @ portxxx
me:yay finally happy life!!makes chnages, sent for review.
reviewer:code needs refactoring!!
me:make all changes..waits for faceless reviewer from another timezone!
reviewer:thumbs up.
me:i will make it in time!!!yes!!
jenkins:buid:failure
me:no still i wont give up...
debug finds out new bugs caused by unrelated code...make new PR the end is near,one day more will definitely merge!!!
mail:jenkins down for maintenance!
me:nooooo....waits till last minute gets thumbs up for merge, finally merged in the last second!!
all for 12 lines of code change.
:/
sad life -
Saving time data with timezone in the server is really headache!
Someone says keeping server time in UTC is good practice. -_- -
Writes 4 years worth of CRM code.
Forgets TimeZone Support.
1 Week later, supports TimeZone.
REFACTORING! -
How do I push a hiring offer to later and say no?
Context:
I work at company A and the manager, let's call her Jane, who hired me at company A, left shortly after to join company B at a senior executive level (very high up the ladder in a public company).
After few months, I decide to quit company A and started my job hunt. I received a job offer from company C.
Now, my relationship with Jane was super awesome. Jane was very supportive and thought very highly of me. She offered to write a LoR (letter of recommendation ) for me whenever I needed it.
Now, out of courtesy and maintaining the relationship, I mentioned to Jane that I quit company A and will be joining company C.
To which she immediately mentioned that she could hire me and setup my connect with one of the hiring managers in her team. We had our initial conversation and they skipped second stage (since I got a very high reference) and moved to final stage of the interview.
Now, I am not really keen on joining this company B as it will also require me to move outside of the country to a different timezone.
At the same time I don't want to sabotage my relationship with Jane and make sure I keep my options/doors open for some collaboration in future.
How do I go about telling Jane (and the team) that for now, I am focusing on joining company C and would like to explore the opportunity with her company/team in future, without damaging my professional image?11 -
This one time last year a colleague found out that some data went missing and suggested to recover the data from a backup. When trying to create a new database instance in the Google Cloud Platform (if everything works it's amazing!) it failed.
Not knowing why this happened, I tried to revert that backup to the production database, after creating a backup using the GCP. Needless to say that failed as well, resulting in a corrupted database instance where I couldn't access the created backups anymore.
This all went at around 10pm and the only users of our product are currently in the same timezone and use it from around 7.30AM until 6PM so no one besides our team knew the server was down.
After a long night chatting Google's support team the database was successfully recovered and the only harm done was sleep depravation for me and a colleague.
Apparently there was a bug in the GCP. It was resolved in two hours and the last time a breaking bug was in that piece was more than seventy days earlier.
I did at least learn to create local backups as well, instead of relying on the tools of the same product...
Best: the moment I saw the corrupted database spin up again and not losing my job because of it. -
Everytime I wake up,
I question whether if I'm stuck in time or not. All my life I've wanted to go out and explore, not be isolated in this tiny place called home that I knew far too well.
I wanted to be in a place with a different timezone, a place with languages that I don't know. That's where I want to go.
I feel as if everyday remains the same and I'm slowly going insane. I want to run, too see, to feel a different kind of breeze.
Yet there's so many limitations and hindrance; Money, that's all I need, money that I don't have. It's so sad that something that's claimed to be insignificant for happiness could limit you from so many things.
The things that will make you happy, the things that will make you learn.
All because of one stupid limitation and all your dreams, crash
and burn.6 -
Spent most of the day debugging a timezone related bug in a cron job.
Reminded me of this video.. Relateable.
https://youtube.com/watch/... -
Java server faces (primefaces) needs you to define shit like "DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE" or that stupid piece just assumes that every date time should be loaded as UTC timezone.
Production standard my ass nobody wants to use such verbose, outdated and logically incomprehensible piece of shit, not even at gunpoint -
I've been wondering about renting a new VPS to get all my websites sorted out again. I am tired of shared hosting and I am able to manage it as I've been in the past.
With so many great people here, I was trying to put together some of the best practices and resources on how to handle the setup and configuration of a new machine, and I hope this post may help someone while trying to gather the best know-how in the comments. Don't be scared by the lengthy post, please.
The following tips are mainly from @Condor, @Noob, @Linuxxx and some other were gathered in the webz. Thanks for @Linux for recommending me Vultr VPS. I would appreciate further feedback from the community on how to improve this and/or change anything that may seem incorrect or should be done in better way.
1. Clean install CentOS 7 or Ubuntu (I am used to both, do you recommend more? Why?)
2. Install existing updates
3. Disable root login
4. Disable password for ssh
5. RSA key login with strong passwords/passphrases
6. Set correct locale and correct timezone (if different from default)
7. Close all ports
8. Disable and delete unneeded services
9. Install CSF
10. Install knockd (is it worth it at all? Isn't it security through obscurity?)
11. Install Fail2Ban (worth to install side by side with CSF? If not, why?)
12. Install ufw firewall (or keep with CSF/Fail2Ban? Why?)
13. Install rkhunter
14. Install anti-rootkit software (side by side with rkhunter?) (SELinux or AppArmor? Why?)
15. Enable Nginx/CSF rate limiting against SYN attacks
16. For a server to be public, is an IDS / IPS recommended? If so, which and why?
17. Log Injection Attacks in Application Layer - I should keep an eye on them. Is there any tool to help scanning?
If I want to have a server that serves multiple websites, would you add/change anything to the following?
18. Install Docker and manage separate instances with a Dockerfile powered base image with the following? Or should I keep all the servers in one main installation?
19. Install Nginx
20. Install PHP-FPM
21. Install PHP7
22. Install Memcached
23. Install MariaDB
24. Install phpMyAdmin (On specific port? Any recommendations here?)
I am sorry if this is somewhat lengthy, but I hope it may get better and be a good starting guide for a new server setup (eventually become a repo). Feel free to contribute in the comments.24 -
Manjaro has some quirks that annoy me(no MST timezone, spotty support for my WD NVME), so I decided that since I'm not interested in any pre-configured graphical desktop of any kind, I should just dive into Arch, since it increasingly felt like that's what I was doing anyway but with Manjaro to dull the blow. So I did, and I am over the moon for doing so. Lots of gnashed teeth, but DDG indexes an answer to every question I've had, and it always makes sense when I find it. I've enjoyed having to dive into systemd in a much more low-level way than ever before-- to actually LEARN what it's doing, how, and why.
But one by one, I have been faced with some issue that I need to resolve, and one by one, I've knocked them off. The result now is the best work and gaming desktop I have ever used.
Arch is not for geniuses or wizards. Just patient people who are willing to read. The payoff is staggering, and many times over worth the effort.4 -
What the crap? Get this, I'm setting the timezone to UTC in PHP. All find and dandy, only that it gives me the wrong FUCKING date and time, like what is wrong with you xD I changed nothing since yesterday and yesterday it gave me the correct time xD2
-
for all the money amazon aws has the web console UI UX is absolute dogshit and constantly chaning, i just want to make the fucking timezone match my local2
-
Why do javascript dates have to be so shitty?
Can anyone explain why 'Feb 18, 1977' is in the local timezone but '1977-02-18' is UTC?2 -
So this month I had to do two major features which required unexpected refactors and I had to handle unexpected edge cases all over the place. Since I work in another timezone and time was of essence, I was kinda working around the clock to complete refactors as fast as possible because it was "important and critical". I have 7 other devs in my team but only half of the team are actually competent and even less are motivated to push through. Most of the team prefer to sit on low hanging fruit tasks and cant even get that fucking right.
So that resulted in me doing at least 100 hours of overtime this month. Best part all I got for pulling it off was a thank you slack message from teamlead and got assigned even more work: to lead a new initiative which seems to be even bigger clusterfuck...
So today I had a sitdown with my manager and I asked for 3 paid days off and told him that I did 50-60 hours of overtime. He okayed it as long as my teamlead was happy.
So I created a chat, adder manager and teamlead to it and explained my situation. That Im feeling burned out, I need 3 days off and combined with the weekend that should allow me to finally relax.
My fucking teamlead told me that these days are mine and he cant take them away from me. But then he started guilt tripping me that no one else will be working on the new initiative these days so we will have a very tight timeframe to deliver this (only until August).
Instead of having at least a drop of empathy that fucker tried to guilt trip me for taking days off for fucking unpaid overtime. What a motherfucker. Best part is Ive talked with manager and we actually have until end of August to deliver the new initiative, so fucker teamlead is gashlighting me with false sense of urgency.
I guess a hard lesson learnt here. Waiting for my fucking raise to be approved for the past 6 weeks (asked for a 43% bump which is on the way since I got very strong positive feedback).
So Im done. I proved myself, will get the salary of which I only dreamed about few months ago. Not putting any overtime anymore. If something is very urgent, borrow fucking decent devs from another team. Or replace half of our useless team with just one new decent dev. I bet our producticity would increase at least by 50%.
Its not my fuckint fault that 2-3 people are pulling the weight of 8 people team. Its not my responsibility to mentor retards while crunching under immense pressure just because current processes are dysfunctional. Fuck it. Hard lesson learned. If you want overtime, compensate with extra days off or pay. Putting my 7-8 hours in daily and Im not responding to your bullshit slack messages or emails after work. I dont give a fuck that you work in another timezone and my late responses might result in stuff getting done postponed by a few days or a week. Figure it out.2 -
Feel like shit, can't focus on work, exam coming up in about 2 weeks...
These stupid numerical algorithms are easy, and yet I manage to get stuck on every shitty little detail, I panic, and I completely lose focus.
This shit has been destroying my academic career... Can't focus properly anymore, cannot study even the simplest things - things that I used to do off the top of my head just a year ago.
My sleep schedule is FUBAR, it's a miracle if I manage to stick to the same timezone for three nights in a row.
Yet I'm still learning new things, trying out stuff and solving problems. Just not the ones that I need to pass my exams.
And before anyone says that university is useless and whatnot: I'm studying aerospace engineering.
I love it, I'm having great fun, learning amazing things, and I've met a lot of amazing people thanks to it. It's one of the few choices in life that I am certain of, and would gladly repeat over and over again.
I've burned myself out from stress, far harder and longer than I've ever done before, and I cannot figure out a way to recover from it.
I've been doing better in the last month or so, but I still cannot get any proper work done, and this is gonna bite me in the ass really hard, once again.
Funny story: I had 3 days of break between the end of the previous semester and the beginning of this one. 3 days of pure freedom.
In those 3 days, I spontaneously reverted to a normal sleep schedule (didn't even need an alarm clock) and felt like a mountain had been lifted off my shoulders.
A year ago I had no idea what truly panicking in the middle of an exam felt like.
My mind had never gone completely blank.
I had no idea what impaired cognitive ability felt like.
This shit is scary.
Why do our minds have to make things so complicated? -
Time zone just sprang into day time savings yesterday
I had a device monitoring data pollution on a roof that goes to a website. The thing didn’t fucking adjust bday the device stayed on standard time
I spent the entire day thinking what I should adjust for something that most countries don’t do any more why do we even bother with saving daylight.
In addition the timezone I wanted didn’t work right with pandas and I had to do the wrong way to get it “right”6 -
i just wanted to greet @NullNVoid a happy birthday! i know its already past your birthday there cause yknow timezone differences but hey its still ur bday here xd im still looking forward to that graduation prank youre planning 😏 surprise us all and happy hacking!4
-
>Doesn't set timezone: Clock 2 hours behind.
>Sets timezone to Europe/Amsterdam (my timezone): Clock 1 hour ahead :|4 -
Just spent 8h trying to load datetime fields from Django to db. It turns out that tzinfo in datetime field doesn't work well with my timezone.
-
Working on a security testing tool that's purpose and use has been overstated by the staff engineer and product owner but no team wants to use it and everyone else in security second guesses if it should exist. Oh, also no documentation on how to use it, and you have to figure out how to use it. The tool has been developed and passed down from multiple people who each developed it differently and have all left the company now. No code reviews exactly exist so every functionality has been assumed to work my PO, SM and Staff Engineer, thus questioned when you bring up something that you're not sure works. Constantly redeploying to production at a timezone that's too early for your country but done to proviide minimal damage to the application for customers in case something goes wrong.
Upside is, you're leaving the team in a week and feel sorry for whoever is going to handle this next. -
!rant
Are there any worthwhile jobs were you (remotely) can code part time on the weekend. Want to make some money on top of my daily job.
Maybe it would also be possible to contribute in the afternoon (since my timezone is utc+2).
Languages of choices would be Java (preferly spring boot stuff) >> Python / JS. Any idea if that is possible?4 -
I have to stay awake for a long ass meeting in a timezone on the other side of the planet. Most of which I'll spend staring at a meeting window doing nothing. I got pizza. How should I spend the night?3
-
Framework throwing null reference exception, support is in another timezone and the client needs a fix before close of business. Guess it's time to get out the decompiler.
-
Trying to make a nodejs backend is pure hell. It doesn't contain much builtin functionality in the first place and so you are forced to get a sea of smaller packages to make something that should be already baked in to happen. Momentjs and dayjs has thought nodejs devs nothing about the fact node runtime must not be as restrained as a browser js runtime. Now we are getting temporal api in browser js runtime and hopefully we can finally handle timezone hell without going insane. But this highlights the issue with node. Why wait for it to be included in js standard to finally be a thing. develop it beforehand. why are you beholden to Ecma standard. They write standards for web browser not node backend for god sake.
Also, authentication shouldn't be that complicated. I shouldn't be forced to create my own auth. In laravel scaffolding is already there and is asking you to get it going. In nodejs you have to get jwt working. I understand that you can get such scaffolding online with git clone but why? why express doesn't provide buildtin functions for authentication? Why for gods sake, you "npm install bcrypt"? I have to hash my own password before hand. I mean, realistically speaking nodejs is builtin with cryptography libraries. Hashmap literally uses hashing. Why can't it be builtin. I supposed any API needed auth. Instead I have to sign and verfiy my token and create middlewares for the job of making sure routes are protected.
I like the concept of bidirectional communication of node and the ugly thing, it's not impressive. any goddamn programming language used for web dev should realistically sustain two-way communication. It just a question of scaling, but if you have a backend that leverages usockets you can never go wrong. Because it's written in c. Just keep server running and sending data packets and responding to them, and don't finalize request and clean up after you serve it just keep waiting for new event.
Anyway, I hope out of this confused mess we call nodejs backend comes clean solutions just like Laravel came to clean the mess that was PHP backend back then.
Express is overrated by the way, and mongodb feels like a really ludicrous idea. we now need graphql in goddamn backend because of mongodb and it's cousins of nosql databases.7 -
I'm working in a project that seems to be like a Multiplayer Tetris of Little Poo:
- figure out what the heck you have to code, because there is no debugging, the deploy to your devenv takes ages, the documentation does not exist or is unreadable, plus you are new and you are in a different timezone
- once you have your code, slowly pass the reviews of your remote team that will complain for every little extra line you've added for readability, slowly converting your code into a poo-like form, until it is completely shaped as shit
- repeat steps 1-2 until you pass the linter
- the carefully place your shit-shaped-code in the right place of the pile of shit
- wait for someone else to complain (like 'please rebase' 'new lint rule please fix' - oh, did I mention that? lint rules do not match between local, review and deploy?
- repeat from step 1 until you quit your job (which will happen in a few weeks) -
Dad woke his son up and said
"it's 7 am, wake up and get to work, you lazy shit" .
Son shouted "Don't worry , my service runs in Utc time zone"😂😂😂