It has been on my bucket list for awhile now to expore Jupyter Notebooks as a solution for data analysis and computational story telling needs. I finally took the time to sit down and understand the tooling and authoring experience and figured I would document the process and share it.
Installation process My local development environment is a MacBook Pro running Catalina. I started out by installing and launching the Jupyter Notebook server using Anaconda which was uber simple.
In late December Tesla pushed out a new major update to my Model Y dubbed “version 11.0” which included a revamped UI and a bunch of new features. Probably the coolest feature released was the Light Show which allows creators to use a sequence show tool called xLights to turn on/off or ramp various lights, open/close the windows, open/close the trunk, etc. The Tesla also included a default light show which at the time was holiday themed and got a good reaction from friends/family, pretty sweet to get OTA updates on a car right?
I was listening to the Tim Ferriss Show podcast episode #532 with Sheila Heen (Harvard Negotiation Project, co-author of Difficult Conversations: How To Discuss What Matters Most) and a specific story she told during the conversation really resonated with me and I have been thinking alot about it since I heard it. Below is the excerpt of that story in her own words.
It reminds me, I sometimes tell this story about my eldest son.
Recently I spent a fair amount of time exploring the SDK generation space for a prototype our team was building at my current employer. Along the way I captured a few thoughts which I will break down here about what SDK generation is and some ways to go about it. Let’s get some context first by starting with a problem statement.
Let’s say we are responsible for the usability of a SaaS service at XYZ company which has a RESTful API, and since this service is taking off we have begun to get requests for a better developer user experience (UX).
In my humble experience any discussion about refactoring should start with Refactoring (Martin Fowler/Kent Beck) and Clean Code (Robert Martin). Having at least a rudimentary understanding of the design patterns presented in Gang of Four is helpful too.
It can be daunting to know where exactly to begin with those resources or understand why it matters so let’s dive into the following concrete example to provide some clarity on what refactoring a module may look like.
Lately I have been having discussions with both close friends and distant acquaintances on “leveling up” in your career, along the way I have formulated a few thoughts on this topic.
Do the job you want, not the job you have
It is a well understood concept that you should start doing elements of the job you would like to be promoted into before you get the promotion, so figure out what those elements are and do them when opportunity allows.
Creating an API that is well thought out, scales and adopts industry standards can be quite difficult. Creating the API while keeping the end consumer User Experience (UX) at the forefront adds even more cognitive load, however the payoff is worth it to stay disciplined and consider it from the start. Let’s talk about what that flow might look like at a high level including some example tooling and processes.