tej dhawan's random musings

Category: Technology

A decade of collaboration

November 17, 2010.

How to be a successful startup
https://www.dsmpartnership.com/news-media/blog/episode-30-tej-dhawan-talks-growth-of-the-dsm-startup-community

I had no idea a chance meeting with Mike on the Mercy Hospital skywalk would lead to a decade of collaboration and friendship. I mentioned that I wanted to help tech companies get started in Des Moines. He, in turn, asked if I had time to go to lunch with another colleague who wanted the same. Mike and I ended up at Proof and talked until Christian arrived. Of the many serendipitous moments in Des Moines startup community’s history, I know and am glad I got to be part of this one.

As Mike transitions to a retirement from *this* job as the entrepreneur-whisperer in Des Moines, his friends know he can’t really retire. Have you ever not seen him working? He’s retired more than once before, and this retirement will prove to be but a transition again.

I am grateful for having been a part of Mike’s circle of friends, where we were able to conjure up, make real, or grow ideas such as StartupCity Des Moines, Plains Angels, Global Insurance Accelerator, Accelerate, Iowa Agtech Accelerator and so much more. So, when I first learned of a new love affair with Colorado, I knew his time in Des Moines was limited. With his imminent departure from Des Moines, I know he’ll be missed by this circle of friends and colleagues, fellow angel investors, entrepreneurs, corporate partners and his colleagues at the Partnership.

I’ll miss our regular (vegetarian – his style) lunches at Centro – made rare by the pandemic, and sadly rarer now in the future by the distance.

Bon voyage, Mike and Beth. You are wonderful friends and I am glad we had lunch at Proof on November 17, 2010.

Erasing a smudge

UPDATE: The class mentioned below is spread around the world yet active on Whatsapp. Of course, my classmate would share a photograph so the post is updated with that memory below. Thanks, Manish!

Mechanical Drawing was an elective (to Biology) to science-track students at Mt. St. Mary’s School in Delhi Cantt, India. Given its proximity to the newly established computer lab, I picked it without a second thought. Mr. Singh, aging, angry, and opinionated led the class at stark contrast to Mrs. Suri’s empathetic biology.

Students, in Catholic school-standard, pressed attire and look arrived at Mr. Singh’s afternoon class with sleeves rolled up, hair unkempt, shirts un-tucked and with abandon representative of many high school boys. We’d roll out our drafting paper (36×24 inches of bleached white) onto the drafting tables, unpack the perfectly sharpened pencils, the washed erasers (later), and spotless T-squares, compasses and more.

The guy holding the T-square on the left had a class photograph. Go figure!

Mr. Singh’s challenge of the day – a gear, a machine, a part or an object lay in front on a table. The routine task – draw a top, side and front view of the part to scale, minimize erasure, view the object in three dimensions of your mind, rotate without touching, imagine with eyes closed. He wanted us to feel the object before letting lead touch paper. And commit the design to paper with the professionalism he attributed to ‘real’ engineers and architects.

A complex example of varying views of an object (src: Pinterest)

Each touch of the eraser docked points – as we obviously hadn’t planned the baby step toward the final goal. And if the eraser left a tell-tale smudge, more points vanished into the ether. We tried to avoid the smudges by washing the erasers with soap religiously before class and often succeeded. And the products, as they improved over time, showed why imagining, planning and visualizing mattered.

He was verbally abusive. Curses and language inappropriate for an Irish-Catholic school were often lobbed in Hindi and Punjabi. Our inability to ever score about 70/100 was his common refrain. Yet, he taught patience and professional conduct through this process. He’s been long gone (I am sure – that class was 34 years ago and he was no spring chicken then), and I’d largely forgotten about him until a friend’s post contrasting drafting of the past with CAD today presented this photograph. And it all came rushing back.

Life before CAD: courtesy Todd Stein

Mr. Singh shared the floor (an attic space above the auditorium really) with the computer lab filled with a few Commodore 64 and Sinclair ZX Spectrum computers. My current vocation clearly demonstrates where I spent my mind and body – sneaking away from his gaze into the lab to learn BASIC or mess with the machine. He could’ve never imagined those toys next door to his classroom would soon challenge his very admonishments. That cut/paste would render exact placement on the single sheet of paper irrelevant. Clone/heal would replace the messy erasers. Vast blocks of work as in the image above would instead be replaced by virtual desktops, tabs, and hyperlinked sheets.

I think about the above world in contrast to the agile approach to various forms of engineering. The visualization, imagination and perfect execution may not be visible in their recent form anymore but are we drawing the gears, the rivets, the angles, and connectors at such a detailed granularity now that we can make them turn individually before the entire part is set to motion.

Is erasing a smudge really all that bad on the way to perfection? Or can you hone your skill toward perfection by persistently working to avoid the smudges and erasures?

Humans of Social Media

Books have a way of transporting you to places and experiences through an author’s words. Reading an author’s review copy of wise guy by Guy Kawasaki reminded me of the wildly popular photo-essay series ‘Humans of New York’. Thought the books is organized like others – chapters and paragraphs – reading it doesn’t feel like the book filled with chapters and paragraphs, a story or plot. Instead, it feels like  Guy sitting down across the table from me, a glass of his favorite beverage in his hand and a dram of Whisky in mine.  And chatting!

The book took me through a journey through Guy’s childhood, teenage obsessions at college, the ‘tours of duty’ at Apple and his flirtatious yet committed interactions with the startup communities. Guy shares some of his aphorisms and opinions frequently on social media where millions read, some interact, some follow or retweet and many converse. He isn’t afraid of taking sides or sharing his opinion and seems to have adopted the ‘with great power comes great responsibility’ very well.  He admits his career limiting mistakes and wealth reducing missteps that still turned out to his advantage. I suppose when you are doing right by others, your karm do come back to reward you.
Though the book is peppered with hundreds of pieces of guidance, I highlighted a few and do intend to return to them often. I’m nearly certain to revisit

Don’t let people get to you, whether they are insulting you or not
Learn to like yourself, or change yourself until you can like yourself
The day after you start a job, nobody cares about your connections, history, and credentials—or lack thereof. You either deliver results, or you don’t
Changing your mind is a sign of intelligence
Learn to tell a story — Stories are better than adjectives because they are more comprehensible, memorable, and emotive
Do the right thing….. A formal contract with a dishonorable person is worth less than an informal contract with an honorable one

Imagine a book filled with stories about why the above sentences made a difference in creating Guy Kawasaki.
Needless to stay, like Guy’s other books like “Art of the Start” or “APE”, this book is a great first-read cover to cover and then a well-bookmarked reference. I have resisted loaning my “Guy” books because I am more afraid of losing my bookmarks than the physical book.
 

The probability of a Mea Culpa

Approximately 28 years ago the department chair and a junior in his department entered into a debate. The style of debate wasn’t uncommon for a liberal arts campus and the professor seemed to cherish the opportunity to discuss a topic dear to his heart. The professor had taught multiple classes to me, the student, since freshman year at Central College.  That common area of the Math/CompSci department had hosted many such conversations and faculty were well aware of my preference for applied computer science. My disdain for the abstract and theory were well-known. The debate lasted a couple of hours and ended in stalemate.
Fast forward to this week when I spent a few days at an artificial intelligence conference hosted by O’Reilly. The conference was hosted by a book publisher focused on applied programming – from languages to systems, from the esoteric to the mainstream. A few hundred people came together to learn the concepts and applications in artificial intelligence to produce AI systems capable of machine learning.
It was a keynote by Peter Norvig , a director of research at Google, that reminded me of the three decade old debate. In the keynote, Peter spoke about the changing paradigm of programming from where we teach machines to “DO” to where we teach machines to “LEARN”. The learning achieved through probabilities assigned to outcomes. The binary trees of outcomes with a statistical probability. The literal mashup of Comp/Sci theory and statistics.  I realized then why I’d struggled with the workshops and some of the sessions. I was fine understanding the SQL queries and python code but was lost when it came to understanding the probabilities assigned to query results and analyses!
So, Dr. Meyer, you win. Our debate was about whether a Computer Science degree was earned without classes in statistics. You maintained that it wasn’t as Statistics was a core member of the curricula. I disagreed and seemed to remain right for 26 years in the profession. If I am to proceed any further into the reaches of AI and machine learning, however, I must first begin with a mea culpa and then put my liberal arts education to work and reopen the book on statistics before delving further into AI and ML.

The critical elements of a term sheet

The “Term sheet” carries an air of mystery and intrigue in the entrepreneurial community. Founders are either nervous or giddy about them, want to get one and celebrate its arrival. Investors are eager to sign them (while tending to wait for a lead investor to generate them).
Working with startups and angels in my community gives me a perspective on term sheets.  Since the landscape that governs capital here is markedly different than that in VC hotspots, I’m sharing the elements I see ignored/problematic/contentious, here, in Des Moines, Iowa.
Disclaimer: Getting introduced to Brad Feld’s Venture Deals, following a number of blogs, and ultimately digging through dozens (hundreds now?) of term sheets, I feel like the 4-10 page document is boiled down to a few critical elements that trip up entrepreneurs and angel investors alike. I am not a VC, nor do I represent a fund, so the motivators behind VC decisions are still largely remote to me.
Oh, and also – I am not a securities attorney – use this as a starting point in your journey on term sheet education but seek competent advice at the time you begin working with these documents.
What is a term sheet?

When an entrepreneur chooses to accelerate the journey of building or scaling a business with outside capital, the term sheet is a formal document that outlines the summary terms of exchanging a portion of the company (equity) for cash from an investor (investment). Though filled with legalese about a variety of important topics, it sets the initial terms of engagement, specifically through core elements that would fit on a napkin.
Untitled
The elements boil down to three simple drivers –  economic, team and control. Drivers that control the money aspects of the transaction, those detailing the people building the company, and how the power will be shared once the investment is initiated, respectively.
Economics (equity, valuation…)
Though it should come later, this is frequently the starting point of a negotiation.  A placeholder for the amount the two parties think a company is worth, valuation is a key point of the negotiation. Of course, like any parent, the entrepreneur values their company higher than the dispassionate observer. Similarly, the investor tries to justify the entrepreneur’s assessment or comes up with their own yardstick for evaluation. The mid-western investor rarely puts down a $1M or higher value on a company that has no product, no real customers, and an incomplete team. Ideas alone seem to rarely receive outside funding, and when they do, the term sheets are skewed toward a great deal of control in the investor’s hands for significant share of equity.
What’s an entrepreneur to do?  If the desire is to raise local money and not travel nationwide pitching to investors, then appealing to the local investors motivators is key. Those motivators, at this point in time, are product, revenue, and team:

  • Product – a company needs a minimum viable product (MVP) that demonstrates the founding team’s vision. It must be usable, demonstrable, available on the relevant platform (web, mobile, physical goods etc.), and one or more customers be able to speak to its viability and use.
  • Customers – Revenue comes from customers, so this is important. The history of a product’s sale to an unrelated customer — one with whom the entrepreneur didn’t have an established relationship –is important. Customers provide external validation of an idea and are key to an investor’s ability to preview a product’s market viability.
  • Team – a complete team is generally a pre-requisite for a company raising funds and must include founder (with a concrete role – not just title) marketing, product development, and ability to execute. These people and roles will change over time, so, a complete team needs to reveal the people who fill to roles to adequately guide the minimum viable company to the market where their products are sold, licensed, and used by real customers.
  • Exit – there will be discussion, however premature it may seem, about the liquidity or liquidation event. It could be brief, or a full buy-sell analysis, but there will be one. READ THIS CAREFULLY, especially the section related to liquidation preference that establishes rights to the funds received at a liquidity/sale event.

Team
Though the term sheet will have a signor on behalf of the company, the team does not need titles like CEO, CTO, COO, etc. At this stage, there really isn’t a true CEO or CTO – but rather founders, builders, designers and hackers. The first developer on a team will very likely NOT be the CTO of the fully baked company — the skill sets for the two are vastly different. Similarly, the founder will very likely be replaced as the CEO over the venture-backed lifetime of the company. The team, therefore, needs to be able to present a diversity of opinion that will lead the company to grow, but show a unified front through consensus building.
Rented CEOs and other titles are a let down – angel investors invest in passionate founders, and founders who have given up critical equity for a part-time CEO in early stages of building a product can actually hurt themselves. So, for the purposes of showing off the MVP and raising capital, founders (not a bunch of rented suited professional CEOs) should demonstrate their wares .  Business attorneys do a far better job negotiating terms.
Control
Once money and equity exchange hands, those providing the money will often desire control over the operation of the company in material areas. These terms change the daily behavior of the company and its founders, and must be negotiated early and clearly. If legalese in the documents is not understood, clarify – it’s a lot easier to do before the deal is done than after.  Any attorney worth their salt understands that the legalese in the documents is a necessary evil, and can summarize the entire document in a page of plain English. That page is worth its weight in gold for us mere mortals.  Key elements of control include such things as

  • Information rights – this gives the investor a right to receive regular (quarterly or otherwise) updates from the company that summarizes financials without divulging too much information that may be proprietary. Though angel investors have significant insight into a company and operate like many insiders, this right is still necessary to document and usually a requirement for an angel investment.
  • Founders salaries – investors know that the first influx of cash can alter the incentives and behavior in a company, including such major items as founder compensation as well as minor items like benefits. Thus, term sheets may dictate how much or if the founder can give themselves a raise.
  • New stock/dilution – investors understand there will be dilution during successive raises but want to have a say in when/how much/rules surrounding such raises. Expect a clause allowing the angel investor to participate in future rounds to maintain their ownership percentage, participate in sale of stock by the founder, and advance warning about upcoming events that can cause dilution.
  • Board Seat  – though many investors would love to be on the board for their new portfolio company, angel investors in particular, frequently decide against it and choose to serve instead as informal advisers, rainmakers, network connectors, and  supporters. Still, a paragraph or two will be dedicated to this element.

In closing, remember, a term sheet is not the final definitive document that guarantees an investment. It is simply the first formal document used to begin the conversation. Treat it with care.
 
Additional Resources
Venture Deals: Be Smarter Than Your Lawyer and Venture Capitalist
Ideal First Round Terms, Chris Dixon on cdixon.org

Solving my projector dilemma with Raspberry PI and XBMC

I don’t watch sports. In fact, no one in my household cares about any sport on TV. So, it is no surprise that we cut the cord (to cable and satellite) many years ago. In fact, the advent of Netflix streaming and Amazon Prime have made it incredibly easy to receive entertainment without a cable bill.
There remains a problem – getting broadcast TV in my home theater. The home theater setup consists of a 12-ft wide section of wall and a HD projector across from it. The projector doesn’t have a built-in tuner, unfortunately, so I can’t watch live TV in the room. The only other equipment in the room is a PS3 for streaming Netflix and Amazon VOD, and playing Blu-ray discs. Most past and present solutions are either gone, woefully inadequate, or so low-rated that I didn’t want to bother spending my energy on them.
I’ve read a lot of XBMC on a variety of platforms, and having used it on the original XBOX, am familiar with it. With some time to spare and a technical problem to solve, I decided to give this a shot last night. An hour of digging for items and some configuration later – it all worked! Here is how:
Hardware used
I didn’t buy anything for this project – everything below just happened to be at home from prior tinkering or active devices. Here is the list –

Hardware Preparation
The first step is to get the hardware configured. I snapped the RPI into its plastic case and connected the HDMI cable to a computer monitor. Ethernet connectivity to my network with a CAT5 cable, wireless mouse and keyboard via a dongle, and power using the micro USB cable plugged into a USB charger from an old phone.
To prep the SD card for the OS, I

  • put it into the SD slot on my computer and ensured nothing of value was on it
  • Then I downloaded and installed the Minitool Partition Wizard and launched it
  • Next, I found the SD card in Minitool and removed all partitions from the card
  • Then I formatted it with two primary partitions: a 130MB FAT partition (drive letter S) and a second 7.8GB ext4 partition (no drive letter assigned)
  • I then marked the 130MB partition ACTIVE.

All this done using MiniTool Partition Wizard. When done precisely as above, you should have the SD card running on your computer, assigned the drive letter S
OS Preparation
This is the easy part. Quite simply, do the following:

  • Download the OPENElec distribution as above
  • Extract the distribution to a folder
  • Copy target\KERNEL to S:\kernel.img
  • copy target\SYSTEM S:\
  • copy 3rdparty\bootloader\*.* S:\
  • copy openelec.ico S:\

I then created a file on the root of S called cmdline.txt that contained the following command on a single line:

boot=/dev/mmcblk0p1 disk=/dev/mmcblk0p2 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 ssh

That out of the way, I took the SD card out of my computer and put it into the Raspberry PI and connected the power to boot it up.  The lights on the RPI lit up and screen showed the normal Linux boot activity. Once complete, I had XBMC interface up and running. Beautiful!
I shut RPI down and took the card back out and put it into the laptop for further configuration.
XBMC Preparation
Here, I decided to test recorded video playback before going to the complexities of live TV. To do this, I hit the Video menu, All files and added my Network Storage Unit (NAS) as a source. Once added, I selected one of my kids’ performances as a video file and XBMC streamed and played it. I then tested various other formats and sizes and everything worked perfectly!
I’ve had HDHomeRun from Silicon Dust running for quite some time as it provides my homebrew PVR with two tv tuners. More about that in another post, but suffice to say that HDHomeRun has run smoothly for a very long time. Though XBMC can use HDHomeRun as a source, there seems to be little available to configure it from within. So, I launched the HDHomeRun software on my Windows laptop first and scanned all channels, selecting only the ones I care about. When done, HDHomeRun had created a series of files in my c:\users\myname\HDHomeRun XBMC TV folder.
We need all these files on the SD card, so I created a new folder at the root of the SD card (calling it Live TV sources) and copied the files to this newly created folder.  The files were named like 13.1 WHO-HD.strm referring the a stream of channel 13.1 named WHO-HD.
I ejected the card from the laptop, put it back into the RPI and powered it up.
XBMC Live TV Configuration
This step added the available TV channels to my XBMC. I clicked the Videos, All Files and add source. From the resulting screen, I browsed to the root of the SD card and added the Live TV sources folder. Saving that led me back to the Videos, Files menu from where I clicked on Live TV sources, picked the channel and began hearing audio. No video.
A little more hunting and I remembered that the MPEG decoder license is necessary for live TV, but I had luckily purchased it earlier anyway. To add it to the configuration, I shutdown RPI once again, took the card out and back into the laptop. Browsed on over to the root of the card and loaded config.txt in my text editor (Notepad++). Scrolled down to the License Keys section and added my license key for decode_MPG2, saved the file and exited the editor.
This is a relatively inexpensive license (2 GBP or approx $3.20). Ejected the card, put back into the RPI and booted it.
This time, when I picked Videos, Files, Live TV Channels and 13.1 WHO-HD, I saw crystal clear video and received audio but there was a problem. The RPI, in its default state, wasn’t able to handle the onslaught of 1080p video. Time to add some “power” through overclocking. Again, I shutdown RPI once again, took the card out and back into the laptop. Browsed on over to the root of the card and loaded config.txt in my text editor (Notepad++). Scrolled down to the Overclock mode section and added the following:

force_turbo=1
arm_freq=1000
gpu_freq=333
core_freq=500
sdram_freq=600
current_limit_override=0x5A000020
over_voltage=6
over_voltage_sdram=4

Once again, I ejected the card, put back into the RPI and booted it. Voila! Beautiful, uninterrupted video and audio. Mission accomplished.
Final Configuration
I have since removed the wireless keyboard and mouse and attached a Firefly USB remote to the configuration, though I am certain it too will be replaced with a mobile remote control in near term. The RPI is connected to my amplifier and powered through it as well to remain off when the amp is off. Next time I’m in the home theater for a tornado warning or the latest Downton Abbey release, the RPI will be streaming the video using my HDHomeRun tuners.
Resources Leveraged
My lack of linux knowledge is clear from all the ejecting and rebooting I did… but I had Windows and the bunch of hardware and wanted to make it work. This couldn’t have been at all possible without these fantastic resources –

Remember, the RPI is an educational computer and the resources on the web are equally transitory and experimental. If you brick your RPI when messing with this – don’t blame the authors but use the experience and experiment on.

© 2022 Tej Dhawan

Theme by Anders NorenUp ↑