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.

Thursday, November 15, 2018

Three small projects

I recently released three small projects on my personal github:

Kudos to Edaphic Studio

I have previously talked about my use of IntelliJ as my primary development environment for Scala, C++ (CLion), JavaScript (Webstorm), and Python (PyCharm). I cannot recommend it enough. As luck would have it, a company is developing an IntelliJ plugin for Verilog and SystemVerilog. The plugin is in beta phase but remains exceptionally usable. The author is responsive in addressing my bug reports. Most refreshing is the tools' transparent pricing structure. No EDA sales representatives to deal with!

In summary, I wholeheartedly recommend hardware developers check out:

Thursday, September 6, 2018

Register a bundle in Chisel3

A quick update to a previous post that I made:  Here is how I now create a register (sequential storage element) of a bundle in Chisel3.  The benefit is the elimination of the previously-necessary wire declaration.

val pageReg: Page = RegInit({
  val page = Wire(new Page())

Thursday, August 2, 2018

Statistics and now

I remember "ignoring" my statistics class in undergrad.  What I mean by that is I never attached real importance to the subject matter.  I did enough work to get through midterm and final exams, but not much else.  The result is that none of the content ever stuck.  I felt lucky at the time that I was able to cram sufficiently and pull off B+ or A- grades.  In retrospect, I recognize that I could have done a much better job in absorbing the material.  Not only in statistics but in other subjects as well.  In the imaginary scenario where I would time travel back to my undergrad days, I think at least, that I would now have what it takes to be that A/A+ student.  Not that it matters at this point, of course!

Now, back to re-learning all the statistics needed to make sense of machine learning.