Saturday, December 31, 2022

Happy New Year! Welcome 2023.

I have been tremendously fortunate this year (and past several years). At work, no big moves, have landed into a routine over at Google. Not a bad thing and no complaints. For Tensor G2 announced earlier this year, my primary focus was on its camera hardware.

Post-COVID, I needed to get back into the world. I traveled to Belgium on a whim. For Fall 2022 semester, I volunteered as a Leadership Coach at SJSU UNVS 101 on behalf of Braven non-profit. My role was to facilitate weekly sessions of the Braven Accelerator course. It was a great experience, great people all around. I am thinking of returning next fall. Looking forward to further community engagement next year.

Sunday, December 11, 2022

Back online and VSCode!

A kind individual reached out to inform me my blog went down. To myself, I said, I have a blog? 😃 Quick fix to DNS records and we're back online.

I've jumped on the VS Code bandwagon. I was skeptical at first. The desktop front end is sufficiently lightweight and responsive. Working with web alternative VS Code Server is convenient and provides the same (or virtually the same?) experience as the desktop version. So far, I've been impressed with available extensions and the growing community. On the daily, I use Python extension for VS Code, Prettier, and VS Code Vim.

The cherry on top and what sealed the deal for me are the json-based, revision control friendly configuration files. I shared mine in my chezmoi dotfiles repo.

One problem I faced was sharing my config files between VS Code and VS Code Server. Assuming the default location of ${HOME}/.config/Code/User/settings.json in Linux. You can start VS Code Server with the following to pick up the shared settings:

code-server --user-data-dir ${HOME}/.config/Code

Sunday, October 31, 2021

What's Been Up?

I can finally broadcast what I've been working on since I shut down my company at the end of 2018. I have been at Google working on:

For Tensor GS101, I primarily worked behind the scenes as lead, then manager, of a design verification CAD team. I later switched to a design verification lead role for YouTube's Argos ASIC, specifically on the video codec IP written using C++ and synthesized using HLS. Following some reshuffling, I continue doing the same, but for something different, still 100% confidential. Hope to talk about it soon!

Tuesday, February 2, 2021

Technical paper review #1

Marvell ThunderX3: Next Generation Arm-based Server Processor

Authors describe implementation of ThunderX3 CPU. Here are the key points that stood out for me.

ThunderX2 was derived from an earlier MIPS based architecture (which I was privileged to work on for a short while). ARM instructions that did not directly map to MIPS were expanded into micro-ops. A 6% gain in SPECint was achieved by reducing micro-op expansion.

Details on arbitration policies for hardware threads inside the OOO pipeline are presented. Arbitration decisions are made, for example, based on number of micro-ops in flight further down the pipe or the most micro-ops to retire.

The paper described the rational for choosing a ring topology over mesh: memory bandwidth not increasing dramatically over next generation.

Monday, December 17, 2018

Goodbye Company

It with a fair amount of sadness to announce that, last month, I shut down my company: P&L Systems, Inc.

These past 16 months have been quite the experience.

I recognize the importance of acknowledging (and honoring) the feelings that came up throughout the adventure. To shut down any company is a loss, and with loss comes grief. I cannot precisely identify with all of the five stages of grief (denial, anger, bargaining, depression, acceptance).

Denial and anger do not resonate at the moment, but bargaining, however.  "What if I did ..." or "If only this happened ..." statements are at the forefront of my consciousness. Relating the loss of a company to the loss of a loved one is sobering, quoting: "We want life returned to what it was; we want our loved one restored. We want to go back in time, find the tumor sooner, recognize the illness more quickly, recognize the illness more quickly, stop the accident from happening... if only, if only." The author of the quote goes on to explain that the "if onlys" cause us to find fault in ourselves and what we "think" we could have done differently. Depression set in, somewhat unconsciously, during the final weeks of the company. It showed up as a more-relaxed and scattered attitude to my daily routine. Finally,  with acceptance, I accept that this company has been my greatest failure so far. I do not accept that this was my last.

I am so incredibly grateful for the individuals that helped make the company possible. Money was lost, and that is the painful truth. I do not regret the financial consequence. I could have purchased a Telsa; instead, I invested in myself. If continuing to drive a 10-year-old vehicle is the consequence of failure, so be it, I will retake that consequence over and over again.

I cannot imagine that it will be possible to list all the lessons learned. The two lessons that most resonate with me are (1) that I underestimated the effort required to adequately cover non-technical responsibilities (i.e., networking, sales, marketing, business development, etc.) and (2) that I underestimated the complexity of building a non-trivial machine learning system (i.e., choosing the correct features, massaging input data, effectively using the results of trained models, etc.). More specifically, I should have prototyped the core technology (hard) before building the supporting infrastructure (should have been easy).

Luck (or, Karma?). That's the only way I can describe what's next for me. I am starting a new role at Google beginning January 7th. I am so incredibly humbled and grateful. Much of the specifics of the position remain unknown, but I am confident that it is a fit (short- to medium-term, at least). I plan nothing short of making an impact at the company.