Posts

Showing posts from December, 2023

Coding challenge accepted - game board navigation using open and completed tasks FIFOs

Image
I was involved in a couple of minor coding challenges that involved exploring a square space or board. I don't know any navigation algorithms so I implemented breadth first and depth first searching of the board using an open task list and a completed tasks list. Legal moves are added to the open task list. Each legal move is then checked to determine the following legal moves. Those are posted to the open task list where they are then picked up later and further explored. Two of those challenges involved taking a specific number of steps. One asked how many squares could be touched in a specific number of steps. The other asked how many places you could end up in exactly a specific number of steps. Sample `Dart` code can be found in this GitHub repo https://github.com/freemansoft/AdventOfCode-2023-Dart/tree/features/2023/solutions on the 2023 branch. Video Content I've been calling these open and completed tasks but you can also think of it as a FIFO of...

Using emojii for Yesterday, Today and Blockers on Slack and other channels

Image
Slack and other messaging platforms are mainstream platforms in many companies.  They provide great asynchronous ways of detailing activity and issues so that people can stay up to date while preserving standups or other meetings for interactive troubleshooting and planning. The teams I've been on have used Slack or other platforms to share  Yesterday, Today, and , Blockers for the last 5 years.  I've given up my geezer opposition to emojis and fallen in with using them to signify the category for everything reported.  As an example: Yesterday, Today, and Blockers the emoticon way 👈Yesterday Yesterday's events that affect others or the backlog 👉Today's Activity The main things we want to get done today ✋Blockers Things in my way that others can help with or that are holding us up 👊Thank you Callout for someone's timely help or them taking an extra effort.  Example for Joe's weekend Joe for 2023/MM/DD 👈Worked on Advent of Code 2023 👈Created content for blog...

The Crucible - Melting the status quo with targeted strategic ignorance

Image
Executives have several tools that can re-forge an organization from the top.  They can reorganize changing the boundaries created by Conway's law.  New executives can push out embedded interests and bring people in from the outside. They can brutally question everything through targeted ignorance.  A main tactic is to hire senior people with no knowledge of internal complexities or implementations. They come in questioning everyone and everything with an assumption that the hard stuff exists because of complacency or because people are locked it was always done that way. New people propose or demand refutation of approaches in past lives or other industries or with previous engagements.  The legacy organization's natural reaction is that the new ideas won't work and defend the status quo.  New people apply additional heat declaring that the status quo won't stand often replacing people who stand in the way. This applies indirect heat to the rest of the organiza...

Ask - Propose - Ask Why Not - Repeat - When new to a role

Image
You've just joined an org as an employee or a contractor and you want to contribute now. You have to contribute now to validate being there. now. This can lead to the urge to start spewing solutions based on your previous experience or what you saw others do somewhere successful.  Famous billionaires can force their will to what they want. The rest of us are best served by asking questions, asking the right questions, learning the language of the domain, and building credibility inside the organization. Then you have to differentiate the real from the imagined and drive towards improvement wall iteratively asking questions, proposing solutions, and teasing out the real from the imagined in the responses. I'm not saying to wait until you know everything until you contribute. Instead, work on two paths.  The one where you can make contributions now and the one where you increase your credibility, create relationships, and become deep enough to have an impact. I...

Advent of Code 2023 -- A bootstrap article

Image
Advent of Code is 25 days of coding problems, a kind of coding dojo with a daily exercise. You can use any language for any of the problems. The code isn't analyzed or shared.  Only the results count. I know people working in Python, Dart, Haskell, Rust, and C#.  There are two problems per day, solved in order. The second problem only becomes visible once the first problem is solved. Each problem is driven by an input data set customized to your login session. The solution is often a number or some other small piece of data.   You won't be able to copy someone else's answer. Any scoring or tracking is up to you. You can create your own team leader board or just do the problems without tracking against anyone else. The problem workflow is Go to the website to read today's problem. Request today's input data set using your session cookie Write some code to generate a result Post the result into to today's page Earn stars and accolades. Show me!  Don't make me ...