150
bahua
5y

A guy on another team who is regarded by non-programmers as a genius wrote a python script that goes out to thousands of our appliances, collects information, compiles it, and presents it in a kinda sorta readable, but completely non-transferable format. It takes about 25 minutes to run, and he runs it himself every morning. He comes in early to run it before his team's standup.

I wanted to use that data for apps I wrote, but his impossible format made that impractical, so I took apart his code, rewrote it in perl, replaced all the outrageous hard-coded root passwords with public keys, and added concurrency features. My script dumps the data into a memory-resident backend, and my filterable, sortable, taggable web "frontend"(very generous nomenclature) presents the data in html, csv, and json. Compared to the genius's 25 minute script that he runs himself in the morning, mine runs in about 45 seconds, and runs automatically in cron every two hours.

Optimized!

Comments
  • 30
    Other teams guy:
    "something 's fucky"
    Other teams lead:
    "sshhhh..
    .. You're promoted to customer"
  • 7
    @bahua
    I believe your intention and general behaviour does not match my previous comment.

    Sincerely,
    I'm yealous of your skills / ecosystem / surroundings.
    Keep it up.
  • 1
    Jealousy?
  • 5
    @scor

    Not trying to toot my own horn as much as I'm trying to point out that the guy who wrote the original script was so highly thought of, when his approach was so terrible.
  • 9
    @bahua .....
    perl???
  • 5
    @magicMirror

    It might not be as popular as other languages, but nothing comes close to it in terms of performance and efficiency for parsing text, other than compiled code.
  • 2
    @bahua Well - perl has it uses.
    When was this?
  • 2
    Early to mid 2019, thereabout.
  • 6
    \o/ Perl
  • 1
    @theKarlisK

    Eyepatch..
    Viewed..

    ..ok.

    ='D
  • 1
    @ThatPerlDeb

    Perl \o/
    woopwoop \o/
  • 1
    perl made me throw up a little bit
  • 2
    @K-Hole

    I agree. He took the initiative. I'm just surprised that nobody saw anything wrong until I looked at his code.

    He's not an idiot, he just doesn't have much idea of or interest in best practices.
  • 1
    So... You're too awesome to do your job unless somebody else solves the issue and you get jealous of the fame they gained. How professional.
  • 2
    @cprn

    Nope, just telling a story about optimization.
  • 1
    @bahua well. as long as you used warning and strict while doing perl.

    Practice Safe Perl.
  • 2
    @magicMirror

    That's in my muscle memory.
  • 2
    I love stuff like this, as someone who loves perl and deals with the existence of python and its many many fanboys, this is great. 👍
  • 2
    Oh man I love me some perl. Glad to see it getting some good usage. Nice work!
Add Comment