"Working" from home.


  • Discourse touched me in a no-no place

    TLDR: TIL "Working from home" involves not actually doing work because you can't connect to the company network (from your bed no less) - but do you have to be so blatant about it? And why does no-one else of consequence give a fuck?


    So, I get a filtered email from one of our automated build servers.

    A while later a second server comes in.

    Then a third server chimes in.

    And then the fourth server decides to join the party.

    Now given that these servers generally start their builds about 90 minutes apart, this indicates that rather than a transient problem with a particular server (which I've never gotten to the bottom of, but put up with the occasional failed build,) someone Done Fucked Up® and checked something into SVN that they shouldn't have.

    So I go dig up one of the emails. They are in the general format of:

    from: slave-04 <buildbots@mycompany.example.com> reply-to: pjh@mycompany.example.com to: PJH <pjh@mycompany.example.com> date:Wed, Apr 1, 2015 at 10:40 AM subject: [version] FAILED: make -C /home/autobuild/version release

    [list of copy/pasteable exports should I need to go retry the build manually from where it left off]

    [log of what my autobuild script tried to do and the result of each command, like

    • wiping the previous autobuild on that machine
    • checking out the SVN source
    • ensuring there's enough disk space for the build
    • attempting the actual build...]

    [And on failure....]

    [tail -n 100 of the output from the last command]

    [svn log -l 10 so I can normally get a quick idea of who to blame if any of those match the previous block]

    [attachment: contains full build log from the start of the script]

    So, the tail -n 100 indicates that someone still can't remember that they need to put a \ before an unadorned _ in a tex file (let alone 'compile' the release notes before checking in to check for such errors):

    [][][]\T1/cmr/m/n/10 JIRA_TICKET-765[][]:\T1/cmtt/m/n/10 logging \T1/cmr/m/n/10 -
     changed print spec-i-fier for vari-ables Cur-rent-DEV and g_CurrentDEV
    ! Missing $ inserted.
    <inserted text>
                    $
    l.84 ...file_with_underbars, other, inhouse, programs}
                                                       updated to operate with l...
    !  ==> Fatal error occurred, the output PDF file is not finished!
    Transcript written on releasenotes.log.
    make[2]: *** [releasenotes.pdf] Error 1
    

    The svn log -l 10 indicates that this is indeed the case:

    ------------------------------------------------------------------------
    r12345 | other.programmer | 2015-03-31 15:31:36 +0100 (Tue, 31 Mar 2015) | 1 line
    Changed paths:
       M /svn_root/other/directories/release/releasenotes/V4.next.tex
    
    JIRA_TICKET-987 - changes to in-house utilities [even though this *particular* checkin has fuck all do with them and is a change to the release notes. Note that there were about 7 other individual files checked in in 7 individual checkins]
    

    Now this isn't an unknown problem. Everyone in the department has been bitten by this in the past.

    Everyone knows what you're supposed to do:

    1. prefix your _ with \ in the release notes
    • compile the release notes to make sure you didn't miss one
    • check it in.

    (1) rarely gets followed by some people. You can guess what happens with (2).

    Everyone's capable (sadly) of doing (3) without necessarily doing (1) or (2).

    Anyway, when [!1, !2, 3] happens I generally forward the 'failure' email to the person indicated the svn log file to have last touched (therefore not checked) the release notes, and tell them to fix it.

    This time the build failed in this manner, this happened:

    from: slave-01 <buildbots@mycompany.example.com> reply-to: pjh@mycompany.example.com to: PJH <pjh@mycompany.example.com> date: Wed, Apr 1, 2015 at 6:49 AM subject: [version] FAILED: make -C /home/autobuild/version release

    [body of email as above - releasenotes.tex fucked]

    from: PJH <pjh@mycompany.example.com> to: Other Programmer <other.programmer@mycompany.example.com> bcc: Sorta Manager <sorta.manager@mycompany.example.com> date: Wed, Apr 1, 2015 at 8:42 AM subject: Fwd: [version] FAILED: make -C /home/autobuild/version release

    O.P, build broken again, you [ed - yet again] appear to have been the last to touch the file...

    [forward of above email]

    from: Other Programmer <other.programmer@mycompany.example.com> to: PJH <pjh@mycompany.example.com> date: Wed, Apr 1, 2015 at 8:52 AM subject: Re: [version] FAILED: make -C /home/autobuild/version release

    Hi P,

    Can you do me a favour and fix it.

    Yes I should have ran make but $BLAND_EXCUSES

    I'm currently tucked up in bed. I'm trying to work from home today. I have no VPN to $COMPANY.

    If you can't fix it then I'll have to drag my ass in to work.

    from: PJH <pjh@mycompany.example.com> to: Sorta Manager <sorta.manager@mycompany.example.com> date: Wed, Apr 1, 2015 at 9:07 AM subject: Re: [version] FAILED: make -C /home/autobuild/version release

    How does this work then? [ed - implication - working from home but no access to work resources]

    Answer, dear readers, there was none. For the sake of my sanity I just stuck in a couple of \ 's and checked it back in.

    NB: Even though I live a 5-7 minute drive from the main office, I can still get to any company resource (I'd have from my desk) from my laptop at home. And technically from anywhere I can get to my home laptop (i.e. anywhere I have an internet connection).

    I think the fact that they can "work from home" yet not be capable of doing the most basic work from home is inexcusable.

    Anyone I asked about this incident that day didn't.


  • Discourse touched me in a no-no place

    @PJH said:

    I think the fact that they can "work from home" yet not be capable of doing the most basic work from home is inexcusable.

    Yes.
    If you can't do most/all things from home that you can do in an office, you're not working from home, you're just at home.


  • FoxDev

    @PJH said:

    I think the fact that they can "work from home" yet not be capable of doing the most basic work from home is inexcusable.

    ... that would end any good will between me and that programmer.

    i tend to not be subtle in the slightest when that happens

    my reply probably would have been

    from: Accalia accalia@mycompany.example.com
    to: Other Programmer other.programmer@mycompany.example.com
    CC: Sorta Manager sorta.manager@mycompany.example.com
    date: Wed, Apr 1, 2015 at 9:07 AM
    subject: Re: [version] FAILED: make -C /home/autobuild/version release
    
    Since you are "working from home" without access to the VPN or any other work related resource i have fixed  the build failure that was caused by your failure to properly test the build before checking it in and breaking the build server.
    
    Have a good day <s>playing World of Warcraft</s>"working from home".
    


  • You have to understand though. Working sucks.


  • ♿ (Parody)

    TRWTF is not setting your CI / build server to only send success emails on the first success after failed builds.



  • Going "rogue" from home could make sense if you are doing experiments, greenfield or some fast & loose catching up, so you need more time/concentration than you'd get at work.

    But if you could get full VPN to work, there's no excuse not to get it (and THEN go work from home, without a care in the world). The guy's a WTF and must feel pretty comfortable with his job security if he's acting like that.


  • Discourse touched me in a no-no place

    @boomzilla said:

    TRWTF is not setting your CI / build server to only send success emails on the first success after failed builds.

    I sometimes want to check that the build servers are actually working (Sorta Manager above has taken to arbitrarily commenting out the crontab jobs without telling me) and how long it's taking them (it takes about 2¾ hrs currently.)


  • Discourse touched me in a no-no place

    Depends which colleague it is.
    Some of them I'd have just told them to get into the office and fix it themselves.
    The others wouldn't be trying that stunt anyway.


  • Discourse touched me in a no-no place

    @cartman82 said:

    The guy's a WTF and must feel pretty comfortable with his job security if he's acting like that.

    I'll be bringing it up officially sometime soon, I think.


  • FoxDev

    @loopback0 said:

    Depends which colleague it is.

    any of the ones that would pull that sort of stunt do not deserve any sympathy.

    they would be very lucky if i only CC's their boss. if they were already on my shit list i probably would have CC'd their boss+1 as well

    like i said, once you fall from my good graces i am not subtle in the slightest. Good news is it's rather hard to do that so long as you're actually trying to do your job.

    For example if they were unable to VPN in because internet at their house was out and they were emailing over mobile, that would be a strike against them but not an instant drop into the outhouse. being unable to fix it because they forgot their laptop and was getting ready to come to the office and grab it (or work from the office anyway) would have been a raised eyebrow and i would have fixed it.

    but being in bed and unapologetically without VPN? nope. that's beyond the limits of my patience.


  • ♿ (Parody)

    @PJH said:

    I sometimes want to check that the build servers are actually working

    Ours has a webpage. I check it every now and again, but I can see the benefit of having it handy right there in your deleted email.


  • Discourse touched me in a no-no place

    @boomzilla said:

    Ours has a webpage.

    Mine is just a bash script I cobbled together called 4 times a day (staggered by 90 mins per server) from crontab, nothing fancy like what you presumably have.


  • Notification Spam Recipient

    @PJH said:

    date:Wed, Apr 1, 2015 at 10:40 AM

    You just fell for an elaborate April Fool's joke



  • @PJH said:

    Now this isn't an unknown problem. Everyone in the department has been bitten by this in the past.

    No offense, and the story's still a WTF, but why don't you just automate it then? Solve it once for everybody.



  • @PJH said:

    Mine is just a bash script I cobbled together called 4 times a day (staggered by 90 mins per server) from crontab, nothing fancy like what you presumably have.

    Shouldn't you be using BuildMaster ;-)?

    I really recommend installing something though (I use Jenkins, but there is heaps of them). It is mostly a fancy cron with web gui, but the version control integration and ability to mail the people who committed since last good build is really useful.


  • Discourse touched me in a no-no place

    @Vault_Dweller said:

    You just fell for an elaborate April Fool's joke

    I wish. It wasn't.

    @blakeyrat said:

    but why don't you just automate it then? Solve it once for everybody.

    Automate what? The insertion of \ before any unescaped _, %, and any other number of characters?

    In this latex file (which the common, but not the only reason for a build failure this late in the process)?

    In all latex files?

    What about all those .c files that could have similarly build-breaking syntax errors?

    That's a slippery slope that ends up syntax-checking all the other code that's being checked in on a commit-hook.

    Which is unreasonable, since the only way to do that is compile it.

    And since this is a full OS build, not just a standalone app, expecting people to wait 2hr+ (see above) for each commit they perform is not going to happen.

    In fact it is automated... all they have to do is before doing

    • svn ci -m "checkin message"

    is

    • make releasenotes which takes seconds.

    But apparently for some snowflakes who work here, that's too much effort to remember doing.


    @Bulb said:

    Shouldn't you be using BuildMaster ?

    Has Alex released a Linux version already?

    @Bulb said:

    I really recommend installing something though

    I'll probably get round to it, but this was basically a PoC (can we actually automate our build without hand-holding it intervening half-way through) that ended up actually getting used (yeah yeah, I know) -



  • @PJH said:

    Automate what? The insertion of \ before any unescaped _, %, and any other number of characters?

    I don't know how your dumb system works, I'm just saying if it's a problem, fix the problem. Right? We're engineers? That's what we do... right?

    @PJH said:

    That's a slippery slope that ends up syntax-checking all the other code that's being checked in on a commit-hook.

    You don't have to slide all the way down if you don't want to!

    But if you're sitting here telling us, "oh this problem affects everybody all the time and here's the extremely trivial fix", then just fucking fix it in an automated way and save everybody's time.

    You could just NOT use the apparently easily-broken Latex format in the first place, if it's so easily-broken. Who the fuck "compiles" text files? No wonder people can't wrap their head around it, it's totally mental.


  • Discourse touched me in a no-no place

    @blakeyrat said:

    But if you're sitting here telling us, "oh this problem affects everybody all the time and here's the extremely trivial fix",

    Where?

    @PJH said:

    Now this isn't an unknown problem. Everyone in the department has been bitten by this in the past.

    Everyone knows what you're supposed to do:

    1. prefix your _ with \ in the release notes
    2. compile the release notes to make sure you didn't miss one
    3. check it in.

    (1) rarely gets followed by some people. You can guess what happens with (2).

    @blakeyrat said:

    Who the fuck "compiles" text files?

    People who follow the DRY principle and only edit one file to produce multiple output formats.

    For counter-example, I presume in your shop you have your PDF and HTML versions of your documentation in separate files and are meticulous about updating both with the same information at the same time.


  • FoxDev

    @PJH said:

    make releasenotes which takes seconds.

    if the release notes issues is common enough i can see making an svn hook that requires that build target succeeds before allowing checkins. adding hours to checkin is unacceptable, but a couple of seconds could be justified if the problem you're solving is widespread enough.



  • @PJH said:

    I'll probably get round to it, but this was basically a PoC (can we actually automate our build without hand-holding it intervening half-way through) that ended up actually getting used (yeah yeah, I know)

    Well, you'll keep using most of the work anyway. The build server will do the checkout and mailing and store the old artifacts (and optionally prune them after time if you want to), but if you have some atypical build process, you still need to write that bit of the script. So it's just natural extension of such PoC to put it in a more advanced scheduler. With the big advantage that then you can use it to manually trigger release builds (since our release builds involve four compilers that run on two different platforms and we don't each have all of that, it's the only way).


  • Discourse touched me in a no-no place

    @accalia said:

    if the release notes issues is common enough i can see making an svn hook that requires that build target succeeds before allowing checkins.

    Has been considered, but I'm not sufficiently proficient with the the hooks to do that, plus I don't currently have the time to figure out the smallest subset of checkout that I can get away with to be able to do that.

    @accalia said:

    but a couple of seconds could be justified if the problem you're solving is widespread enough.

    It's not as widespread as Blakey tried to make out - I'd rather get people to do what they're supposed to and fix the problem, not fix the symptom of their laziness/cant-be-arsed-ness.


    The main problem here is not the build failing (nor the reasons behind it) - it's the fact that the person who caused the build to fail, once told to fix it, couldn't because they were "working from home", when it's obvious that they were doing very little work if "I can't fix it from here" is why I have to do their work for them.


  • FoxDev

    @PJH said:

    It's not as widespread as Blakey tried to make out

    ah. then not worth the time making the hook.

    @PJH said:

    it's the fact that the person who caused the build to fail, once told to fix it, couldn't because they were "working from home", when it's obvious that they were doing very little work if "I can't fix it from here" is why I have to do their work for them.

    that's called "taking informal PTO" if that thing is common then stop BCCing you replies. ;-) it's wonderfully focusing when you publically address their direct superior in an email that was clearly meant to not be visible to their direct superior. ;-)

    or it's not focusing because they stop working for the company. ;-)


  • Discourse touched me in a no-no place

    @accalia said:

    that's called "taking informal PTO"

    The concept of PTO does not officially exist in most UK companies. You're either

    • At the office working
    • Working From Home, actually doing some work
    • Off sick
    • On holiday

    Personal Days are not that common IME.

    @accalia said:

    if that thing is common

    First time I've directly seen it for a while, then again I've only just started getting people to fix the broken stuff they're checking into SVN.


  • FoxDev

    @PJH said:

    The concept of PTO does not officially exist in most UK companies.

    on this side of the pond PTO is usually "Sick time + vacation time" in one pool of days.

    if you're really lucky it's just vacation time and there's a different policy for sick time. but that's rare.

    unless that's more a regional things and i'm projecting onto the rest of the coutnry... that could be the case too i guess.


  • FoxDev

    @PJH said:

    The concept of PTO does not officially exist in most UK companies.

    A quick Google suggests it's just a fancy term for the combination of sick days and paid holiday.

    @accalia: You've pretty much got it spot on ;)
    Vacation days are actually an EU thing; minimum 28 days each year. The UK does it as the eight bank holidays and 20 other days.


  • ♿ (Parody)

    @accalia said:

    if you're really lucky it's just vacation time and there's a different policy for sick time. but that's rare.

    In the sense of, "If I didn't have bad luck, I'd have no luck at all." I've taken leave due to being sick, but it's very rare. I probably took 3 or so days off a few years ago when I had pneumonia, and that was a lot.

    When you break it out like that, it just makes people lie about being sick.


  • Discourse touched me in a no-no place

    @PJH said:

    Personal Days are not that common IME.

    Nor mine.

    @RaceProUK said:

    The UK does it as the eight bank holidays and 20 other days.

    I get 25 days + the bank holidays. And I'll get another 3 this year as I've been here for Y amount of time.

    It's too much (yeah - FWP) and I struggle to use it all even with selling 5 days every year.


  • FoxDev

    @PJH said:

    Personal Days are not that common IME.

    There is 'compassionate leave' (I think), but you have to have a fucking good reason to get it.


  • Discourse touched me in a no-no place

    @accalia said:

    For example if they were unable to VPN in because internet at their house was out and they were emailing over mobile

    If their internet doesn't get fixed soon, these people here are told to either a) take the day off on holiday or b) get into an office here.


  • FoxDev

    @boomzilla said:

    it just makes people lie about being sick.

    depends on the policy.

    the one we have here is officially:

    "Sick time: Unlimited. Note that you are still expected to perform your job satisfactorily despite any sick time taken. Should you fail to perform satisfactorily or abuse this policy disciplinary action will be taken which could result in garnished wages and/or termination of employment."


  • FoxDev

    @loopback0 said:

    If their internet doesn't get fixed soon, these people here are told to either a) take the day off on holiday or b) get into an office here.

    that would be my reaction too.

    "Your internet is out at home? So when can we expect you to make it into the office?"


  • Discourse touched me in a no-no place

    @loopback0 said:

    I get 25 days + the bank holidays. And I'll get another 3 this year as I've been here for Y amount of time.

    Hmm. So do I... (the 3 extra are a recent implementation.)

    @loopback0 said:

    It's too much

    Speak for yourself. I've been known to take the whole of December off with days to spare in the past..

    @RaceProUK said:

    There is 'compassionate leave' (I think), but you have to have a fucking good reason to get it.

    Death of an immediate family member is typical - my mother dying was one such. When father in law died I had to use holiday instead for time off for the funeral.


  • Discourse touched me in a no-no place

    @loopback0 said:

    I get 25 days + the bank holidays. And I'll get another 3 this year as I've been here for Y amount of time.

    It's too much (yeah - FWP) and I struggle to use it all even with selling 5 days every year.

    It's pretty good where I work. We get 26 holidays + bank holidays + 5 sick days (although you are allowed to use holidays as sick days if you've ran out of sick days).

    You can also get paid for up to 6 unused holidays and all 5 unused sick days at the end of the year.


  • FoxDev

    @accalia said:

    garnished wages

    Your wages come with a sprinkling of coriander?
    INB4: Yes, I know what you're talking about. But I can't resist the joke ­;)


  • ♿ (Parody)

    @accalia said:

    the one we have here is officially:

    "Sick time: Unlimited. Note that you are still expected to perform your job satisfactorily despite any sick time taken. Should you fail to perform satisfactorily or abuse this policy disciplinary action will be taken which could result in garnished wages and/or termination of employment."

    I could see that working for some companies. It fails spectacularly when your income is based on billable time to customers.


  • Discourse touched me in a no-no place

    @accalia said:

    if you're really lucky it's just vacation vaccination time

    Filed under: FWP


  • FoxDev

    @RaceProUK said:

    Your wages come with a sprinkling of coriander?

    no. we use nutmeg instead.

    @boomzilla said:

    I could see that working for some companies. It fails spectacularly when your income is based on billable time to customers.

    Yeah, that won't work well for every industry. It seems to work well for us though.


  • Java Dev

    I could see a precommit hook being a slippery slope, because people start relying on it. And then you'll get more errors on different files.

    Better to do it like this - make it procedure for people to verify their changes don't break stuff, and call them out on it if the periodic builds fail by their fault.



  • @loopback0 said:

    It's too much (yeah - FWP) and I struggle to use it all even with selling 5 days every year.

    I've encountered people who have this attitude surprisingly often, seemingly preferring to work rather than... do whatever it is you do in life... I wish I could take your "too much" days :)


  • Discourse touched me in a no-no place

    @PleegWat said:

    Better to do it like this - make it procedure for people to verify their changes don't break stuff, and call them out on it if the periodic builds fail by their fault.

    That's basically what I'm doing. I may need to adjust the CC and BCC lists if the wetware problem still exists however...


  • Java Dev

    We have the build/test result mails going to the entire dev team. If something breaks, QA reopens the bug that they made last time something broke, and that person is responsible for investigating. And of course bugs are public.

    So if you break something, you're likely to get assigned investigation of future issues in the same area until someone else does something bad enough you can get the bug moved.


  • area_deu

    Here: 30 holidays plus bank holidays. Unlimited sick time (but need doctor's certificate if sick for three or more consecutive days). Unreduced pay for up to six consecutive sick weeks, after that a separate sick pay kicks in.
    If I get sick on vacation holidays, I get those back.
    Plus up to 10 days per kid when my kids are sick and I don't have anyone to look after them.


  • Discourse touched me in a no-no place

    @DoctorJones said:

    5 sick days (although you are allowed to use holidays as sick days if you've ran out of sick days).

    We don't have a quota of sick days.

    @PJH said:

    I've been known to take the whole of December off with days to spare in the past..

    :wtf:

    I've got to December with 13 days left, before ended up with 9 at the end of it as it was a busy period and I couldn't take any more.
    I had tried to take every Friday off for the last quarter but that miserably failed after 3 weeks.


  • Discourse touched me in a no-no place

    @PJH said:

    That's basically what I'm doing. I may need to adjust the CC and BCC lists if the wetware problem still exists however...

    It's a shame you can't automatically roll back breaking builds, but I can understand not going that route…


  • Discourse touched me in a no-no place

    @loopback0 said:

    I've got to December with 13 days left, before ended up with 9 at the end of it as it was a busy period and I couldn't take any more.

    We aren't seasonal (or at least we're no busier in December than the rest of the year.)

    In fact the only thing likely to contribute to refusal to be allowed time off/empty office is

    • Those with families wanting time around Christmas off
    • The "use it or lose it date"* is Dec 31st, so those without families wanting to use up their holidays want the time around Christmas off.

    Making the 'use it or lose it'* date either Jul 31st or financial year end would mitigate the perceived problem by moving the second group away from December.


    * In the UK, you cannot 'exchange' the first 28 days holiday for money, and must either take it or carry (only some of it) over. If you get '28 plus bank holidays', you could (if employer permits) sell the 8 bank holidays.)


  • Discourse touched me in a no-no place

    @PJH said:

    In the UK, you cannot 'exchange' the first 28 days holiday for money

    Yeah - we get 25 + bank holidays which gives us a max of 5 we can sell.

    It's not necessarily seasonal, just the last couple of years we've had a big release at the start of Jan which has been in dev/test over the tail of the previous November and most of December.


  • Java Dev

    We get 28 days (required 20, 25 common), excluding official holidays. The required days expire 6 months after the end of the year you got them in, The rest expires after 5 years.

    It used to be 5 years for all days, but that resulted in people building up pools of vacation days, either because they were not taking them or because the employer was constructing situations where they could not take them. So now for the required 20 days expiry has been reduced to 6 months.



  • Tucked up in bed

    Working from home

    These, although not mutually exclusive, don't seem to be very compatible with actually getting work done.



  • That's amazing.

    Apparently you get 16 weeks of paid paternity leave here plus can take more at the long term disability rate. That's insane for the US AFAIK.



  • @PJH said:

    For counter-example, I presume in your shop you have your PDF and HTML versions of your documentation in separate files and are meticulous about updating both with the same information at the same time.

    Yeah we don't. We give the client one format, and it's their job to read it.

    Even if we did do both, we'd probably make one "canonical" and just generate the other from it. It's pretty trivial to convert PDF -> HTML and vice versa. And neither of those formats "fail to compile", which is totally mental.


Log in to reply