Alex Elliott Profile picture
Aug 21, 2020 15 tweets 5 min read Read on X
A story of corporate bureaucracy hacking, programming, automation and depth first search optimization algorithms.

A thread.
At a previous job, everyone was required to track the amount of time they spent on different projects. This is a pretty standard thing but, of course, at this place it was harder than it needed to be.
E.g. instead of saying "X% on task Y" it was "X hours on task Y" AND
there were constraints e.g.:
- You couldn't work more (or less) than 40 hours a week
- Each day had to be exactly 8 hours

Plus, we were an ops team so this was all "funny money"
There could even be .5 hours e.g.
- 8.5 hours on Project X
- 3.5 on Project Y

If you're saying "Wait, this is like a crazy bin packing problem", you are right!

And, we had to do it EVERY week!
The first couple weeks, I tried doing this all by hand which, of course, took a LONG time so I decided to attach this using my old standby: #perl

Thanks @xkcd! Image
I basically wrote up an algorithm that would start assigning .5 hour blocks to the weekly hour grid and used a Shortest Path Algorithm style search that would traverse the search space for a distribution of hours that met the constraints.

aka a classic optimization problem.
This meant I could enter my time in only a few minutes (basically as fast as I could enter the time into the form). Most excellent!

At this point, I was feeling pretty proud of myself for saving myself time AND using programming to do it.
One day, my manager saw me doing this (we worked in an open plan office) and said "Hey! How are you doing that so quickly??"

I proudly showed her the script I had written.

Her response: "This is amazing! Can you do it for me too? Oooh, can you do it for the whole team too?"
So I quickly added in everyone else's constraints and made it smart so it would look up the unix id of who was calling the script and would only output their schedule.

Everyone loved it and we all started using it for the next couple months.
Months go by and my boss's boss (BB) calls me over and sitting next to him is someone I don't recognize.

(FYI, names have been changed)

BB: "Alex, I would like to introduce you to Maria. She is the CFO for our division (1K+ people). She has some q's for you. Don't lie to her!"
I immediately start going through the game theory in my mind:
- Does he mean lie to her?
- But then why would he say that?
- Maybe that's part of his plan?
- Who knows?
- Do I know?

Eventually, I decided to just tell the truth about whatever she asked.
BB: "You know that script you wrote that fills out our hours for us?"

What I said: "Yes"

What I was feeling:
BB: "Because of that script, we are the ONLY team in the whole division that is 100% compliant. In fact, we are the only team to have even 30% compliance."

Me:
BB: "And because of that, Maria was wondering if we could use your script for the entire division?"

What I said: "Uh, sure!"

What I thought:
And if you like this thread, check out some of my past threads:

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Alex Elliott

Alex Elliott Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @alexpotato

May 16
GitHub has a talk from 2013 where the Ops guy says:

"We don't have dashboards. If something goes wrong, the alerting system generates a chart showing the error, screenshots it and then drops it in the ops channel"

I think about this quote every time I see a dashboard.
This is the talk btw which is excellent:
Thanks @markimbriaco for giving this talk btw.

I've shared it a TON in various DevOps/SRE roles at multiple firms.
Read 4 tweets
Jan 25
How they used to trace money flows in criminal investigations in the 1980s

A thread.
A couple years ago, I read this great book about a Jersey City narcotics officer.

He went under cover and was mostly arresting small time drug dealers.

Until one day he was able to catch a mid level cartel operator.
This operator was involved in both the logistical and finance side of things but didn’t have a lot of the finance records.

Over time, they worked together to start “rolling up” the drug network the operator was involved with.
Read 15 tweets
Sep 30, 2023
Convincing people to come work with you and your firm.

(Even if you work at a “meatgrinder” of a firm).

A thread.
Background:

At a past job, I ended up doing “closing calls” to convince ambivalent candidates to join the firm.

This was made harder by the fact that this place was known for high turnover and a very stressful work culture (it did pay pretty well though).
This thread is designed to share tips that I learned and then used to have a 100% close rate on these sales calls.
Read 22 tweets
Jan 18, 2023
A story about putting people in the right roles as told via CFOs using foul language.

A thread.
At my first full time job after college, I worked at a small firm (20 ppl).

During one of the monthly company meetings, the CFO gets up and says:
“I know what everyone says about this place:

That HR here fucking sucks!”
Read 14 tweets
Jul 6, 2022
Social Engineering a small town

OR

“I’m Alex Elliott.”

A thread.
In my younger days, I was the General Manager of a “traveling” professional paintball league.

If you have no idea what that means, think of a traveling circus.
I also wrote a thread all about tournament paintball too:
Read 33 tweets
Mar 24, 2022
Running a #restaurant Italian style vs American style.

OR

“I could run this whole place with 4 people”

A thread.
Think about your most recent experience at a restaurant in America:

Your waiter:
- took your order
- brought your drinks
- brought your food
- maybe even bussed your table
- brought you the check
They probably were doing this for a section of the restaurant aka a bunch of tables.

This means that any given time, the server is managing a 2 dimensional status board in their head with tables on one axis and order, drinks etc on the other.
Read 12 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(