The Official Status Thread



  • @boomzilla said:

    it can show you the numbers on the left side menu.

    That certainly makes (disco)sense, except that one (but only one) of the attempts actually displayed the left side menu, then left the infinispinner over the main part of the page until it timed out and the whole thing was replaced by the error page.



  • Status: who wants a BSOD with those fries???

    Also:

    150 / true
    // 150
    

    You're so predictable JavaScript


  • FoxDev

    @Eldelshell said:

    ```
    150 / true
    // 150

    You're so predictable JavaScript</blockquote>
    Makes sense to me; JS coerces the bool to a number, and traditionally `true` is represented by `1`

  • Notification Spam Recipient

    Status: Discovered a "critical" aspect of this new process was accidentally left out (the project is to translate an Access 97 database, macros and all, to SQL Server with SSIS).

    Oh no, what will we ever do without our COMMENTS!

    Fighting an uphill battle, let me know ifhow often the forum diescooties while I'm gone...



  • @RaceProUK said:

    coerces the bool to a number

    That's how you get unpredictable behavior and bugs.


  • FoxDev

    Welcome to the world of ANSI CJavaScript



  • @HardwareGeek said:

    Huh? Phone numbers have area codes (yes, you can take your cell phone into a different area, but landlines are usually physically connected in the area corresponding to their area code — unless it's a toll-free area code, but this wasn't),

    Even before number portability it was trivial to call "from" a 360 number from, say, Bermuda. After number portability, it's a gigantic crap shoot. Even the name "area code" is gibberish at this point.

    BTW, how did you know so confidently that it was a land-line?

    @HardwareGeek said:

    The office address in the emails she sent before and after calling me are also in the SF Bay Area.

    That's significantly better evidence than a phone number area code.


  • Notification Spam Recipient

    Status: My interactions are fairly limited at the moment, not enough resources to devote to Internet activities today.
    (Direct responses only, no new post crawling, no new topic crawling, rate limit 1 post per 5 minutes max)
    Also, responses to my posts have been... less than comprehensible in my current state, so I might just refrain from reply at all until after work...



  • @blakeyrat said:

    BTW, how did you know so confidently that it was a land-line?

    Not 100% certain, but the email signature indicated it was her desk phone.


  • 🚽 Regular

    @RaceProUK said:

    Status: Wondering why I'd ever want to control my kettle from my phone.

    http://www.maplin.co.uk/p/smarter-ikettle-20-a15uj

    Also wondering who would spend £80-£100 on a kettle when you can get one that does the job just as well for a fiver.

    I thought I had seen that before!

    It has a USP then...it allows people to own your network easily 😄



  • Another recruiter:

    I send him my resume. He sends me a couple of job descriptions that aren't suitable. (One is completely unsuitable; the other is vague enough that it may or may not be in my field, but of several specific things they want, I have only one, and they want at least three.) I tell him they're not suitable, and why. He asks, "What are your areas of expertise?"

    Dude, you have my resume. :facepalm: Did you even glance at it? It may not be the greatest resume in the world, but it's certainly good enough that you shouldn't have to ask that question. Literally the first word in the summary describes my area of expertise sufficiently to exclude the first job description you sent me.



  • Status: Just finished ripping out 10K+ lines of code that were legacy wrappers around legacy wrappers around dead code around obsolete third-party code that someone hacked to not do its thing and do something else instead, all wrapped around actually useful code. Running unit tests to see what parts I forgot to implement in the new stuff. Now, hopefully this particular piece of hardware on this particular configuration will have a low-level hardware access API that actually makes sense, instead of the old balls of tangled spaghetti held together by glue and filled with irrelevant code.


  • Winner of the 2016 Presidential Election Banned

    @boomzilla said:

    I enjoy playing code golf sometimes.

    one of the recent exercises for a course I'm taking this semester had a code golf aspect to it. Write a C program to turn numeric input into text (i.e. "999" > "nine hundred ninety-nine") with as few lines as possible. I may have enjoyed playing code golf with that one a bit too much. It was supposed to take an hour or two and go up to 999,999. Mine took 8 hours, goes up to 9*1042, is easily extensible to literally any positive integer, and is only 85 lines of code.


  • Notification Spam Recipient

    @Fox said:

    Write a C program to turn numeric input into text (i.e. "999" > "nine hundred ninety-nine") with as few lines as possible.

    Ooh! Tonight I'm going hunting for code that "nices" a TimeStamp into words (from a count of seconds). I was thinking of a loop with a few arrays to denote the time division breaks and translated names...


  • Discourse touched me in a no-no place

    I think it's far more fun to make source code that looks like art. It's an ASCII-art picture, yet it's executable too. Not that I'd ever do that in production. Or even while sober…


  • FoxDev

    Status****strong text

    Working on a thing, get called away to an "emergency" meeting. after patiently explaining that their lack of planning does not constitute my emergency and if they knew about it ten weeks ago WHY THE FUCK AM I LEARNING ABOUT THIS SEVEN HOURS BEFORE IT'S DUE?!

    -breath-

    calm down accalia..... calm down.

    .....

    now where was I?

    .... WTF was i thinking when i wrote THAT?!

     public ActionResult MissingEffort(string id)
            {
                var ids = (id ?? "").Split('-');
                if (ids.Length != 3)
                {
                    HttpContext.Response.StatusCode = 404;
                    return Content("Missing Effort Ids");
                }
                Func<string, int?> parse = (s) =>
                {
                    int res;
                    if (!int.TryParse(s, out res))
                    {
                        return null;
                    }
                    return res;
                };
                var campaign = parse(ids[0]);
                var program = parse(ids[1]);
                var effort = parse(ids[2]);
                using (var db = new DatabaseContext()){
                    var result = db.GetEffort(campaign,product,eff/*Insert blinky cursor here*/
                }
            }
    

  • Notification Spam Recipient

    @accalia said:

    using (var db = new DatabaseContext())

    I was recently enlightened on the usage of this trick!

    Edit:

    @accalia said:

    if they knew about it ten weeks ago WHY THE FUCK AM I LEARNING ABOUT THIS SEVEN HOURS BEFORE IT'S DUE?!
    Also, story of my entire work experience.


  • FoxDev

    @accalia said:

    Working on a thing, get called away to an "emergency" meeting. after patiently explaining that their lack of planning does not constitute my emergency and if they knew about it ten weeks ago WHY THE FUCK AM I LEARNING ABOUT THIS SEVEN HOURS BEFORE IT'S DUE?!

    *reads up on massaging techniques*



  • Status: I'm beginning to see why so many people hate LinkedIn so much.

    So after they send me a completely unsolicited email asking me to sign up for their beta Profinder product, I fill out the application, and I get this response:

    Hi Blakeyrat,

    Thank you so much for your interest in participating in the pilot program for our new service provider marketplace, LinkedIn ProFinder.

    This new marketplace is for service providers who are either full time freelancers or do freelance work on the side. We reviewed each profile from the perspective of a potential client and didn't feel like it was clear that you do freelance work. If you're a freelance or independent professional, we would love to include you in the pilot program and would be happy to help you with your profile so that this is clearly highlighted for potential clients.

    Here are some great ways that you can demonstrate your expertise if you would like to be included in the pilot program:

    • Have a compelling headline
    • Have a compelling summary that describes your services and the types of clients you serve
    • Have strong recommendations from previous clients
    • Have a professional photo
    • Write blog posts

    Learn more about enhancing your LinkedIn profile to set you up for success with ProFinder: https://help.linkedin.com/app/answers/global/id/65932/kw/65932

    If you have any questions, please don't hesitate to let us know. We're here to help!

    Sincerely,

    Daniel
    ProFinder Business Consultant

    This goddamned email.

    Ok, so first of all, they invited me to the program, and now they're saying I'm not qualified for it? Hey dumbshit: if I'm not qualified, don't send me an unsolicited invitation!

    Secondly, it has all this dumb advice about approving my profile, but I never even got a profile because I was never able to create an account, because I got this stupid rejection notice written by a moron.

    Thirdly, this came through LinkedIn's customer support ticket system, as if I'd filed a customer support request. Whaaa? And of course the ticket is now "closed".

    Fortunately, their website has the option to re-open the ticket. So I did that and added this comment, very restrained I believe:

    ?

    YOU invited ME to the program, via an unsolicited email. Why did you do that if you were just going to reject my application out-of-hand?

    Please figure out your own business and don't waste my time.

    Within 5 minutes (while typing this post actually), I got this response:

    Hi Blakeyrat,

    I apologize for any confusion with the process. But we do note in the email that it is an application process, and we will review profiles that do apply for ProFinder. Thanks again Blakeyrat for your interest in ProFinder and have a great day!

    Sincerely,

    Daniel
    ProFinder Business Consultant

    And so I wrote back this:

    Just as an FYI to improve this terrible customer experience, don't tell me to update my profile with all this stuff IN THE REJECTION NOTICE FOR CREATING A PROFILE.

    Jesus. I have a lot of friends who griped about LinkedIn to me and I never knew what they were complaining about until now.

    And closed the ticket, and goddamned that shit pisses me off.


    It occurs to me minutes later that maybe the profile advice wasn't for the Profinder profile that I can't create because they rejected my application, but for my normal LinkedIn profile.

    Oh well, fuck 'em.



  • I think you just disclosed your RL name



  • Well please by all means point it out to everybody like a jackass instead of PMing me.



  • I didn't write it did I? And I don't PM... I AM A MAN!!!



  • No, more like a dick pretending to be a man. Close, but no cigar.



  • @Arantor said:

    No, more like a dick pretending to be a man. Close, but no cigar.

    Or, as far as fox is concerned, all cigar.



  • Status: And in a surprise move today, I'll have advanced training tomorrow at 0930.

    How? Well, we had this renovation (detailed before in some of my rantings) and one of the rooms was converted to a stage for some pupils to practice theater. And as several of my colleagues were not able to make heads or tails out of the multitude of switches and gizmos, they requested a training course from the installation company. Which is tomorrow.

    What they forgot: To invite me (the date for the course has been known for two weeks) because, frankly, I'm the go-to-guy when it comes to switches and gizmos at my school (my studies in Physics have inoculated me against this innate fear of cables quite a lot of people seem to have). Also, I have been trained on the big stage we have at our school with a full-blown GrandMA2.

    They remembered today, though, and thus I got to tell the vice-principal of the other school I'm spending three hours per week at that I won't be able to spend the whole three hours because Gotham my school needs me.

    I got the somewhat snarky reply back: "Nice that you told me so soon!"

    I'm still debating answering back: "Not my idea. I can tell you only about stuff I actually know about - and I told you that I first heard about this 10 minutes before I sent you my e-mail."



  • Oh, a special ❄ sorry to disturb your political correctness with a joke... wait, no, screw special ❄s .


  • Winner of the 2016 Presidential Election Banned

    @Tsaukpaetra said:

    thinking of a loop with a few arrays to denote the time division breaks and translated names...

    Basically, that's what I did.



  • Algorithm v1

        if device.hasNetworkConnection and not (device.maker in ["Microsoft", "Apple", "Google"] and device.isBigNameProjectThatWillBeSupportedForADecade):
            device.shouldIBuyIt = False
    

    Simplified version

    if device.hasNetworkConnection and device.os.maintainer not in ["Microsoft", "Apple", "Google"]:
       device.shouldIBuyIt = "under NO circumstances"
    

  • Notification Spam Recipient

    @anonymous234 said:

    algorithm

    Kinda liked the un-:hanzo:-edited version... ;)


  • 🚽 Regular

    @Rhywden said:

    GrandMA2

    Nice! I love big lighting consoles and I cannot lie. We had a terrible Strand thing from the 80's at college...looked like a Doctor Who prop.

    @Rhywden said:

    I got the somewhat snarky reply back: "Nice that you told me so soon!"

    I'm still debating answering back: "Not my idea. I can tell you only about stuff I actually know about - and I told you that I first heard about this 10 minutes before I sent you my e-mail."

    He sounds like an ass, he could have been much more polite even if he didn't read that it was news to you too.
    Probably nothing you can write will change that attitude so he'll just double-down on being rude.


  • Grade A Premium Asshole

    Status: Cleaned up my office today. Horizontal flat surfaces tend to accumulate junk. Also cleaned up my laptop bags, etc. Cluttered work area = cluttered mind for me.

    In the process I found >30 flash drives. I should be set for a while.


  • Winner of the 2016 Presidential Election Banned

    Mine looks rather like Einstein's.

    https://timedotcom.files.wordpress.com/2014/10/the-day-einstein-died-01.jpg

    Except with more gadgets and doodads. And a better chair.



  • @RaceProUK said:

    reads up on massaging techniques

    I suggest the technique of massaging the instigators with a 2x4.


  • Notification Spam Recipient

    Status: What am I doing? I can't remember anymore...

                            if (h_RequestorFirstName > -1) if (row.Cells[h_RequestorFirstName] != null) newRequest.Requestor_First_Name = row.Cells[h_RequestorFirstName].Text;
                            if (h_RequestorLastName > -1) if (row.Cells[h_RequestorLastName] != null) newRequest.Requestor_Last_Name = row.Cells[h_RequestorLastName].Text;
                            if (h_AttentionLine > -1) if (row.Cells[h_AttentionLine] != null) newRequest.Attention_Line = row.Cells[h_AttentionLine].Text;
                            if (h_ShipToAddress1 > -1) if (row.Cells[h_ShipToAddress1] != null) newRequest.Ship_Address_1 = row.Cells[h_ShipToAddress1].Text;
                            if (h_ShipToAddress2 > -1) if (row.Cells[h_ShipToAddress2] != null) newRequest.Ship_Address_2 = row.Cells[h_ShipToAddress2].Text;
                            if (h_ShipToCity > -1) if (row.Cells[h_ShipToCity] != null) newRequest.Ship_City = row.Cells[h_ShipToCity].Text;
                            if (h_ShipToState > -1) if (row.Cells[h_ShipToState] != null) newRequest.Ship_State = row.Cells[h_ShipToState].Text;
                            if (h_ShipToZip > -1) if (row.Cells[h_ShipToZip] != null) newRequest.Ship_Zip = row.Cells[h_ShipToZip].Text;
    

    I'm half considering making a "Get value if object not null and not out of bounds" function just to simplify this crud...


  • FoxDev

    @Tsaukpaetra said:

    I'm half considering making a "Get value if object not null and not out of bounds" function just to simplify this crud...

    Only half?



  • Make a single function, _value_fetch_all that accepts every parameter with another value, bool, which you can use to ignore each value if it fails.

    Then use function everywhere and rebuke people for not following the "simple to use" function.





  • @Tsaukpaetra said:

    I'm half considering making a "Get value if object not null and not out of bounds" function just to simplify this crud...

    Why don't you? You've more-than justified the need for one.


  • Notification Spam Recipient

    @RaceProUK said:

    Only half?

    @blakeyrat said:

    Why don't you? You've more-than justified the need for one.

    Busy with a deployment, will refactor later. ;) I'm preparing in my mind the documentation that will be needed for such a change in the application... And fighting the "Well it works fine now, don't it?" responses.


  • FoxDev

    Screw that; refactor now while it's fresh in your mind, and save the pain of having to do it later


  • Notification Spam Recipient

    @RaceProUK said:

    refactor now while it's fresh in your mind, and save the pain of having to do it later

    If today's deployment goes well enough that I have time tomorrow, I might just do it! 😃



  • if (h_RequestorFirstName > -1)
    if (row.Cells[h_RequestorFirstName] != null)
    newRequest.Requestor_First_Name = row.Cells[h_RequestorFirstName].Text;

    Right, why does > -1 work here? That's awful.

    public void AssignIfExists(int horribleKeyThing, Whatever target)
    {
      if(horribleKeyThing > -1)
      {
         var cell = row.Cells[horribleKeyThing];
         if(cell != null)
           target = cell.Text;
      }
    }
    

    It doesn't take long!


  • Notification Spam Recipient

    @Magus said:

    why does > -1 work here?

    h_RequestorFirstName is an int representing column index. -1 means it wasn't found in code not shown.

    @Magus said:

    It doesn't take long!
    Well no, but I'm not authorized at the moment to take a moment to momentarily moment my moments in order to do it!
    But thanks for the hint anyways. Much appreciated.



  • It's not even a hint! It's the actual code!

    This horrible index thing causes all kinds of problems, though. You can't even iterate over properties now without writing yourself an attribute, which is overkill. And since you can't apparently set a cell to null, you also can't use my friend Elvis.

    EDIT: Wait, yes you can elvis this! Except that you're probably using C#2 or something...

    public void AssignIfExists(int horribleKeyThing, Whatever target)
    {
      if(horribleKeyThing > -1)
        target = row.Cells[horribleKeyThing]?.Text;
    }
    

    Look at that!



  • @Tsaukpaetra said:

    h_RequestorFirstName is an int representing column index. -1 means it wasn't found in code not shown.

    Why don't you make the code return the column instead of the index of the column?



  • @Tsaukpaetra said:

    Busy with a deployment, will refactor later.

    Penny. Wise. Pound. Foolish.


  • Notification Spam Recipient

    @Magus said:

    This horrible index thing causes all kinds of problems, though. You can't even iterate over properties now without writing yourself an attribute, which is overkill. And since you can't apparently set a cell to null

    Sorry, not my design. Cells is an array of Cell, which is why I have to access by index. I'm not iterating the properties of the cell, since I know what they are already.
    Cells can be null, which is why I have to check that it's not before (trying to) access a property of them.

    @Magus said:

    It's the actual code!
    And I'll probably attribute it to you (Maybe not with a full URL though, that would go down even worse during code review).

    @ben_lubar said:

    Why don't you make the code return the column instead of the index of the column?
    Because it's useless to me like that?

    I think there has been a misunderstanding.
    The column header names are stored as a row (FYI, the row object comes from a Sheet object representing an Excel workbook's sheet), so holding the column itself would be worse than just holding its' index (since I'd have to use the column to find it's index anyways to get the corresponding column from the target row's cells by index).

    @blakeyrat said:

    Penny. Wise. Pound. Foolish.
    ... Sorry, I don't have any money to donate at this time.



  • @Tsaukpaetra said:

    I'm not iterating the properties of the cell, since I know what they are already.

    You don't get my point. This could be done as a simple foreach if it weren't for the need for two things at each step. Granted, you still could, but it'd be awful. I'd trade repetition for slow reflection any day.


  • Notification Spam Recipient

    @Magus said:

    I'd trade repetition for slow reflection

    I am repeating, and definitely not reflecting. Once again:

    @Tsaukpaetra said:

    I think there has been a misunderstanding.

    First step: Iterate the first row looking for cells with specific text, and get their positions (since the sheet is expected to be in table form, this means that for a given column, subsequent cells of the same column index should contain that column's data value for that row).

    Next step: Iterate through the rest of the rows, grabbing specific column data (if given/available) into an object's properties.

    Why would I need to reflect at any time? Granted, the second loop could be a foreach, but why bother when the current for loop is just as efficient?


  • Trolleybus Mechanic

    @RaceProUK said:

    Status: Annoyed because Visual Studio Online has come down with Discourse Syndrome*

    I've said it before, I'll say it again-- if your IDE requires "online" access, you're TRWTF

    @RaceProUK said:

    The following error was encountered: One or more errors occurred.

    Ah, I see the Visual Studio team is taking lessons from the CRM2015 team.


Log in to reply