Blog | David Kircoshttps://www.davidkircos.com/blog/2022-10-30T20:08:42+00:00All posts are my own opinion and do not represent any organization I am affiliated with.The Next Generation of Web Is Here2022-10-30T20:08:42+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/the-next-generation-of-the-web-is-here/<p>WASM and WebGL are here, and they power the generation of the web. Web Assembly enables <strong>native performance applications with the distribution of a website</strong>. Web Assembly or WASM is a way to compile C++, C, Rust, and other programs into a format that can run in the web browser. WebGL is a graphics library that allows you to use the graphics card to have much more power and control over what is rendered on the screen than the standard web languages HTML, JS, and CSS. With WebGL, you can control how every frame and every pixel is drawn. Combining the UI and UX control of WebGL and the performance of WASM enables a new generation of web applications.</p>
<p>Few people are talking about this today, even though WASM + WebGL applications are already disrupting big business. For example, Adobe. A native performance application is required to edit photos and create graphics. Now with WASM, you can get native performance in the browser, and with WebGL, you can get the pixel-perfect controls that users need in a graphics editing program. If you've used Figma, you have used a WASM + WebGL application! Figma is disrupting Adobe because their application is effortless to start using. You go to their website, and it loads in less than 3 seconds. That's it. Adobe Creative Cloud takes over an hour to install. With Figma, you can share and collaborate on your work with the full power of the application. Previously people exported graphics from Adobe applications to show them to coworkers, now, they can share them in the application, and anyone can make changes. Being based on the web brings the whole team into an application previously only used by designers and illustrators. This team collaboration is enabled by the application being a website, and the performance is enabled by Web Assembly.</p>
<p>The magical part of WASM + WebGL is that there is nothing to install or configure, and the user doesn't even know it's being used. As of November 2017, WASM is supported in all major browsers, including first-class support on iPhone and Android. WASM runs everywhere. For the first time, you can build a native performance application that runs on every platform by default. This is a step forward from the Web2 world of HTML, JS, and CSS. Performance + distribution is why I argue that WASM and WebGL are the next generation of the web.</p>
<p>Let me prove to you that WASM completely changes the game. Here is a full <a href="https://copy.sh/v86/?profile=windows98" target="_blank">Windows 98 emulator</a> running in the browser. Yes, that is an entire operating system running in the web browser. It can even load already booted up because WASM is a consistent build target across all browsers and systems its behavior is also consistent across all platforms. This is a huge step forward from Web2 and enables native code to run consistently on all platforms. This changes the game for both Native Applications and websites by blurring the lines and allowing developers to combine the strength of both. Performance + distribution. </p>
<p>WASM + WebGL has already significantly disrupted graphics and photo editing, so what's next? Applications where performance and user interface are tightly tied together that are critical to the usability of the application will be disrupted by WASM. It's my prediction this will have a massive impact on the gaming industry, as well as video editing. The native performance and instant wide distribution of WASM + WebGL will also disrupt data science. Projects such as duck-db are showing great traction in this space, they have built a performant in-memory database that runs seamlessly in WASM.</p>
<p>This is why I started a data science company rethinking spreadsheets. Our product is called <a href="https://Quadratic.to">Quadratic</a>. We are building the first WASM + WebGL spreadsheet application. Quadratic runs entirely in the browser and can load millions of rows of data in seconds. You can use data science languages such as Python and SQL, all directly in cells. You can freely pan and zoom to navigate large data sets (like Figma). Our grids are as easy to use as Google Sheets and are as powerful as your computer running Excel, Python, and SQL natively. Performance + distribution. It would not have been possible to build Quadratic without WASM or WebGL.</p>
<p>PS We are hiring developers. Check out our careers page at <a href="https://careers.quadratic.to" target="_blank">https://careers.quadratic.to</a></p>End to End Testing for Expo Apps With CircleCI & Detox2021-04-19T17:22:12+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/end-to-end-testing-for-expo-apps-with-circleci-detox/<p>It is becoming increasingly common for developers to begin to develop their apps with <a href="https://expo.io/">Expo</a> with React Native. Expo is a great developer experience for getting started. However, some more advanced workflows for publishing production applications do not come out of the box. One of the missing workflows is end-to-end testing. So we set out to develop a method to run tests on our expo app using Continous Integration. Here is the configuration we came up with to successfully use <a href="https://circleci.com/">CircleCI</a> to test our <a href="https://expo.io/">Expo</a> app using the testing framework <a href="https://github.com/wix/Detox">Detox</a> + <a href="https://jestjs.io/">Jest</a>.</p>
<p>Below is our <code>config.yml</code> file. Our process works by performing the following steps:</p>
<ol>
<li>Install application dependencies.</li>
<li>Log into the ExpoCLI using env vars (you have to set these in the CircleCI UI).</li>
<li>Instruct Expo to do an iOS build with the target simulator.</li>
<li>Download the build from Expo and extract it.</li>
<li>Install testing packages.</li>
<li>Run tests using detox test.</li>
</ol>
<p><code>config.yml</code></p>
<p>
<script src="https://gist.github.com/davidkircos/4bf3db0400d366eb3a11481cb8aa7230.js"></script>
</p>
<p>Here is a copy of our <code>.detoxrc.json</code> file</p>
<p>
<script src="https://gist.github.com/davidkircos/97bf46429bbabff5d3313a58eba3996a.js"></script>
</p>
<p>And here is our <code>testing/config.json</code> file</p>
<p>
<script src="https://gist.github.com/davidkircos/b1f95ae34f2a3e947c80f501c58143c3.js"></script>
</p>
<p>Our test runner takes about 10 minutes to set up and run a set of ~10 tests. The test setup is probably partially redundant and could be sped up. However, this works for us today! We hope this is helpful for you in setting up Expo End to End Testing!</p>Django + Postgres Views2021-04-08T02:35:44+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/django-postgres-views/<p>Over the years, the Django ORM has become my go-to way to interact with a database from Python. It is an incredibly robust binding between the database and Python. As Postgres added advanced database features, the Django ORM kept up. An early example of this is Django's implementation of JSONB fields. The JSONB fields allowed you to save JSON as a field and interact with the JSON object's contents from the SQL query level. Django quickly supported this powerful feature. Awesome.</p>
<p></p>
<p>Another powerful feature added Postgres added is Views. Views are a simple database feature that allows you to create an alias for a common query. Suppose you were routinely running a SELECT statement on a table of transactions for the category outdoor_products:</p>
<pre>SELECT * FROM tranactions_table WHERE product_type='outdoor'</pre>
<p>In Postgres, you can save this query as a view for future reference.</p>
<div>
<pre><span>CREATE OR REPLACE VIEW 'outdoor_product_transactions_view' AS <br/> (<span>SELECT * FROM tranactions_table WHERE product_type='outdoor')</span></span></pre>
<div>Then you can just</div>
<pre>SELECT * FROM <span>outdoor_product_transactions_view</span></pre>
<div>And easily apply additional filters</div>
<pre><span>SELECT * FROM </span><span>outdoor_product_transactions_view WHERE amount > 1000</span></pre>
</div>
<p>This feature is great for complex queries you are regularly repeating.</p>
<p></p>
<p>In the application I am currently building, there are complex queries that I run regularly on our API. I would also like our BI tools to benefit from these complex queries without repeating the logic in SQL. So I set out to create an easy way for a Django queryset to manage a Postgres view.</p>
<p></p>
<p>Here is the result:</p>
<p><em>create_or_replace_view.py</em></p>
<pre>from django.db import connection
def create_or_replace_view(view_name, view_qs):
with connection.cursor() as cursor:
queryset = view_qs
compiler = queryset.query.get_compiler(using=queryset.db)
sql, params = compiler.as_sql()
sql = "CREATE OR REPLACE VIEW {view} AS {sql}".format(
view=connection.ops.quote_name(view_name), sql=sql
)
cursor.execute(sql, params)</pre>
<p><i>migrate_views.py</i></p>
<pre>from postgresviews.create_or_replace_view import create_or_replace_view
from ledger.querysets.formattedTransactionsQS import FormattedTransactionsQS
## Define Views Here
## NOTE: Renamed or Deleted Views will not automatically clean up the old version.
create_or_replace_view(
"view_formatted_transactions", FormattedTransactionsQS().get_qs()
)
</pre>
<p><em></em></p>
<p><em>migrate_views.py</em> is run on every deployment of our Django API. This allows me to use complex querysets with our API via Django Rest Framework and build a Postgres view of the queryset available to our BI tools. Magic! I hope you find this useful in your own applications!</p>How To Level A 4Runner Trunk For Less Than $402020-11-15T23:52:43+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/how-to-level-a-4runner-trunk-for-less-than-40/<p>I love to sleep in my car. It's the most convenient way to spend a night or two away from home, often far away from civilization, often biking or skiing.</p>
<p>With my Subaru Outback, I could simply put the seats down and sleep on a foam pad. Easy! However, I just switched to a Toyota 4Runner and there was a problem. The bed isn't flat! </p>
<p><img height="533" src="https://s3.amazonaws.com/davidkircos.com/assets/4runner-flat-bed/IMG_9363.jpeg" width="400"/></p>
<p>4Runners (gen5) have this nasty angled part in the middle, with a 1.5" difference between the trunk section and where the seats fold down. So I set out to make it flat.</p>
<h3>My Design Criteria</h3>
<ul>
<li>Cheep. This can be done for less than $40.</li>
<li>Easy to make, easy to remove.</li>
<li>No modifications to the vehicle itself.</li>
<li>Can be done without access to a workshop.</li>
</ul>
<p>Here is the result!</p>
<p><img alt="" height="533" src="https://s3.amazonaws.com/davidkircos.com/assets/4runner-flat-bed/IMG_9366.jpeg" width="400"/></p>
<p>It takes up only 1.5" of vertical trunk space and doesn't need to be adjusted when you put your seats up.</p>
<p><img alt="" height="533" src="https://s3.amazonaws.com/davidkircos.com/assets/4runner-flat-bed/IMG_9367.jpeg" width="400"/></p>
<h3>How To Build It</h3>
<h4>What's needed:</h4>
<ul>
<li>4x8' Plywood Sheet 3/4 inch thick. $20</li>
<li>Outdoor Carpet (or rubber mat if you don't have a staple gun) $15</li>
<li>Staple Gun (optional)</li>
</ul>
<h4>Step 1: Cut The Plywood</h4>
<p>This design takes a single sheet of plywood (4'x8'x3/4") and cuts it into 2 sheets which are stacked on top of each other to make a 1.5" tall surface. Because the shape we want to fill has an angle on one side, the top piece is cut 2" inches longer to fill the angled gap. See the images below.</p>
<p><img alt="" height="533" src="https://s3.amazonaws.com/davidkircos.com/assets/4runner-flat-bed/IMG_9366-annotated.jpeg" width="400"/></p>
<p>How it sits in the bed:</p>
<p><img alt="" height="72" src="https://s3.amazonaws.com/davidkircos.com/assets/4runner-flat-bed/Screen+Shot+2020-11-15+at+4.23.15+PM.png" width="400"/></p>
<p>This only takes 3 cuts to complete, and your local Home Depot or Lowes will do it for you if you ask nicely!</p>
<p><img alt="" height="242" src="https://s3.amazonaws.com/davidkircos.com/assets/4runner-flat-bed/Screen+Shot+2020-11-15+at+4.32.20+PM.png" width="400"/></p>
<h3>Step 2: Secure The Top and Bottom Sheets Together</h3>
<p>I simply screwed them together with a few 1 1/4" screws. </p>
<h3>Step 3: Carpet The Top Layer</h3>
<p>I laid the structure upside down on top of an outdoor carpet. Pulled the carpet around all sides to the back, and stapled it in place. This way all the seams and staples are on the bottom.</p>
<p><img alt="" height="533" src="https://s3.amazonaws.com/davidkircos.com/assets/4runner-flat-bed/IMG_9364.jpeg" width="400"/></p>
<p>(If you don't have a staple gun, and don't care about seeing the plywood when your trunk is open. simply put a rubber entryway mat over your sheets and cut it to size, Lowes sells 4'x6' foot mats which are large enough for $19.)</p>
<h3>Step 4: Slide It In Place</h3>
<p><img alt="" height="533" src="https://s3.amazonaws.com/davidkircos.com/assets/4runner-flat-bed/IMG_9365.jpeg" width="400"/></p>
<p>Done!</p>
<p>I wanted to share this design because it is the simplest and least expensive one I could find, which doesn't really require any tools. Let me know if you build one!</p>Cherish Every Moment2020-08-11T17:56:35+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/cherish-every-moment/<p>At this moment, I feel stressed.</p>
<p>I feel pulled in 1000 directions.</p>
<p>I feel like I am doing too much; I feel like I'm not nearly doing enough.</p>
<p></p>
<p>I love the people I get to spend my days working with. </p>
<p>I love what we are working on.</p>
<p>I love the person (and dogs) I get to go home to tonight.</p>
<p>I love the direction of our work and our lives. </p>
<p></p>
<p>But, I feel lost in the moment.</p>
<p></p>
<p>A few days ago, I asked some friends the question, "what is missing from your life?"</p>
<p>I was delighted to hear their answer was, "nothing."</p>
<p>And I realized my own answer was "nothing."</p>
<p>I know at almost every other time in my life, I would have had a different answer.</p>
<p>Today I don't.</p>
<p></p>
<p>So why the feeling of loss?</p>
<p>Being grateful is a choice. I was choosing to experience the problems.</p>
<p>Not to just experience the moment.</p>
<p>Good or bad, every moment with every person I interact with, I can simply cherish.</p>
<p>Cherish every moment.</p>Skiing Into the Night2019-04-01T20:22:50+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/skiing-into-the-night/<p>This past Friday night my friend Marco Vienna and I started running up Mt. Crested Butte on skis at midnight in a bid over Star Pass to end up in Aspen. This route is 37 miles, part of a Ski Mountaineering race called The Grand Traverse. We estimated the trip would take us 12 hours. Our friend (and support team) Danni Perri took this photo before the start of the race. Thank you so much for the support <g class="gr_ gr_42 gr-alert gr_gramm gr_inline_cards gr_run_anim Punctuation only-ins replaceWithoutSep" data-gr-id="42" id="42">Danni</g>!</p>
<p><img alt="" height="441" src="https://s3.amazonaws.com/davidkircos.com/assets/grand_traverse_2019/IMG_1271.jpg" width="588"/></p>
<p>For the first 5 hours of the race, we were doing great. We made it over Death Pass with plenty of time to spare and were actively passing other participants. Yes, it is actually called Death Pass - 2 people died on this section of the route while training for the race this year. There was a memorial on the racecourse.</p>
<p>We were heading up a high elevation valley called the Brush Creek Drainage. It was about 5 degrees out and I felt warm because we had been moving non-stop. Around this time we stopped for a few minutes to eat and drink water. And I got cold. It's not clear exactly what happened but my best guess is that I contracted mild hypothermia in my lungs which from then on made it extremely difficult to breathe.</p>
<p>We continued for the next two hours towards the next checkpoint, but my pace was much slower. Around six and a half hours in, I could only move a dozen meters before being forced to stop and catch my breath. This was a demoralizing rhythm, but we continued up the mountain. We made it to the Friends Hut checkpoint about 10 minutes before the cutoff. This checkpoint is right before a difficult climb over Star Pass, followed by the most difficult descent of the route.</p>
<p>While the rules of the race would have let us continue, at this point, I was pretty worried about how difficult it was for me to breathe. And there was no way I would have felt safe taking myself and friend up the pass. If my condition worsened at all, it would have put us both in an unacceptable amount of danger. If I couldn't get down under my own power, it would have been bad.</p>
<p>It was disappointing not to finish. But I am so happy we were able to get out there and try something truly difficult for our ability. Right as we decided not to continue, the sun finally rose after 7 hours of skiing in the dark, and we were rewarded with this view. It was the best silver lining.</p>
<p><img alt="" src="https://s3.amazonaws.com/davidkircos.com/assets/grand_traverse_2019/IMG_5757.jpg" width="588px"/></p>
<p>Last fall I dragged Marco to Aspen for the Mountain Bike version of the Grand Traverse and this Spring he dragged me to Crested Butte for the ski version. Continuing the tradition we will be running this route in the fall (kidding... hopefully)</p>
<p><img alt="" src="https://s3.amazonaws.com/davidkircos.com/assets/grand_traverse_2019/IMG_1275.jpg" width="588"/></p>
<p></p>How Convertible Notes Convert, Template2019-03-27T04:23:28+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/how-convertible-notes-convert-template/<p>Convertible notes and SAFEs are great because they allow startups and investors to defer the difficult process of valuing an early stage company and quickly close funding. This is at the cost of putting the burden on later investors determine the value of the company, generally, once the company has more metrics to base a valuation on. With the convertible note holders getting some type of discount for investing early. If you want to read more about the mechanics of convertible notes I recommend Brad Feld's series of blog posts -> <a href="https://feld.com/archives/2011/10/how-convertible-debt-works.html">read here</a>.</p>
<p>I've been involved with a number of companies who have raised multiple rounds of convertible note financings, without really understanding how all the rounds will convert when a priced round occurs. Over time I have developed a generic Google Sheet template which given a cap table and convertible note terms calculates Series A conversion scenarios providing insight on how everything will play out.</p>
<p>To access the template - > <a href="https://docs.google.com/spreadsheets/d/1HsfPKipCiu7uDpFhswzs4na0R7Lgd5DF4bLneDE6-V4">Click Here</a> and go to File -> Download As an excel copy. From there you can re-upload the file to your own Google Drive.</p>
<p><img alt="" height="323" src="https://s3.amazonaws.com/davidkircos.com/assets/how_convertiable_notes_convert/Screen+Shot+2019-03-27+at+10.19.14+AM.png" width="508"/></p>
<p>In the first tab '<span>Pre-Investment Cap Table' add your current cap table. Usually only contains founders and maybe some early employees.</span></p>
<p><span><img alt="" height="328" src="https://s3.amazonaws.com/davidkircos.com/assets/how_convertiable_notes_convert/Screen+Shot+2019-03-27+at+10.19.27+AM.png" width="689"/></span></p>
<p>The tab '<span>Convertible Notes' is where you input your convertible notes. It is ok to leave either cap or discount blank. SAFE's can also be input in this sheet, they are functionally equivariant to convertible notes. Inputting multiple rounds of convertible notes here is also ok, just add them with different dates and terms.</span></p>
<p><span><img alt="" height="525" src="https://s3.amazonaws.com/davidkircos.com/assets/how_convertiable_notes_convert/Screen+Shot+2019-03-27+at+10.19.37+AM.png" width="476"/></span></p>
<p>The next tab 'Series A Inputs' is where you input a Series A scenario based on the pre-money valuation and round size. This sheet also allows you to calculate an employee option pool expansion concurrent with the Series A fundraising (this is common).</p>
<p><img alt="" height="304" src="https://s3.amazonaws.com/davidkircos.com/assets/how_convertiable_notes_convert/Screen+Shot+2019-03-27+at+10.19.44+AM.png" width="619"/></p>
<p>The final tab 'Series A Cap Table' shows both pre and <g class="gr_ gr_35 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling multiReplace" data-gr-id="35" id="35">post Series</g> A cap tables side by side. Showing the effect of the convertible notes on the final cap table.</p>
<p>If you find this sheet valuable, please leave a comment. I am happy to take suggestions or discuss unique fundraising scenarios that don't fit in this template.</p>Why I Don't Actively Invest On Public Markets2019-02-15T10:22:15+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/why-i-dont-actively-invest-on-public-markets/<p>I do not actively trade any stocks or bonds on the public markets. I've also avoided cryptocurrencies, which trade on a public market.</p>
<p>I avoid public market trading for a couple of reasons:<br/>1) It's been empirically shown that holding a diversified portfolio of investments for a long period of time is a better strategy than attempting to identify individual stocks that will outperform the market. This is because any additional gains you get by actively trading, on average, will be canceled out by the value of the effort put into achieving those gains. This leaves you, the average person, no better off than just passively holding diversified investments over a long period of time. Weathfront has a great explanation of why this is the case: <a href="https://blog.wealthfront.com/active-investing-versus-passive-investing/">in this blog post</a>.</p>
<p>2) It's stressful. At any given time you could be doing better if you had more information on the companies you are trading. At any given time you could be doing better if you buy and sell at just the right time. At any given time... When actively trading this constantly was in my head, I became obsessive about research. This was emotional stressful. While probably not applying to everyone, it is not worth the stress to me.</p>
<p>3) Success attribution. It's really difficult (or maybe impossible) to identify the signal of why certain stock picks performed well and why others performed poorly. Which would be necessary to consistently pick well-performing stocks.</p>
<p>If you want to be investing more of your money but don't know where to start, I recommend checking out <a href="https://www.davidkircos.com/blog/feeds/atom/wealthfront.com">Wealthfront</a>. They give you very good diversification without any fees on your first $10k, they encourage good long-term thinking, and they are not paying me to say any of this. Investing is important to wealth building, and active investing is one of the traps many first time investors will get caught in.</p>
<p>It would be disrespectful not to mention <a href="https://en.wikipedia.org/wiki/John_C._Bogle">Jack Bogle</a>, founder of Vanguard investments, who pioneered bringing low cost diversified investment instruments to regular investors. Before Vanguard, if you wanted to match the performance of the S&P 500 you would need to buy every stock in the S&P 500. Vanguard created the first widely available index funds. By doing this Vanguard democratized access to index investing, by lowering the cost and complexity of making index investments. This gave regular people access to sophisticated investing techniques. What Wealthfront does is the modern continuation of these ideas, with added features such as Tax-Loss Harvesting and Automatic Rebalancing.</p>What is a Great Friend?2019-02-13T10:20:44+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/what-is-a-great-friend/<p>"A great friend is someone who helps you become the best version of yourself." I read this in Sheryl Sandberg's forward for the book <a href="https://www.amazon.com/Originals-How-Non-Conformists-Move-World/dp/014312885X">Originals by Adam Grant</a>. I love this quote.</p>
<p>It is a profound insight into what makes many relationships great. Beyond friendships, partners in business should share this quality. Instead of everyone working to outdo one another, everyone working to bring out the best in their peers is far more productive for the collective. This is also a useful lens while dating, as long as the effort is reciprocal.</p>
<p>Again what a wonderful notion of for friendship <span>"A great friend is someone who helps you become the best version of yourself."</span></p>Update: Boulder Skyline Traverse #fail2019-02-12T10:14:52+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/update-boulder-skyline-traverse-fail/<p>Last year I wrote <a href="http://www.davidkircos.com/blog/boulder-skyline-traverse/">a blog post </a>detailing a running route I wanted to run in Boulder.</p>
<p>I failed. More accurately, I didn't even try. Other priorities took over my time for the remainder of the warm days last year, and I didn't attempt the route that I set as my goal. Not completing the goal I set was disappointing. I had spent time training on the route, doing each section at least once during separate runs.</p>
<p>By the end of the summer, I was very confident I could complete the entire route in one go. There were two primary reasons I didn't go for it:<br/>1) It would hurt. It's a long run, and by the end of it, I would effectively be injured just from wear and tear.<br/>2) Once I realized I could do it, I lost interest in actually doing it. Has anyone else experienced this? Happens to me all the time. I often don't feel the need to prove something is possible, which I already know is possible.</p>
<p>I failed, moving on. It only feels right to try a different set of goals this year. So I've set two fitness goals: 1) <a href="https://thegrandtraverse.org/ski/">Grand Traverse Ski Race</a> and 2) <a href="https://www.leadvilleraceseries.com/mtb/leadvilletrail100mtb/">Leadville 100 MTB</a></p>
<p>The Grand Traverse Ski race is a 34-mile ski race from Crested Butte to Aspen. I've done the reverse route twice on <g class="gr_ gr_36 gr-alert gr_gramm gr_inline_cards gr_run_anim Grammar multiReplace" data-gr-id="36" id="36">a MTB</g> during the summer racing series. It's exciting, and scary, to think about going back into the Maroon Bells wilderness in the heart of winter, on skis, in the middle of the night. The Leadville 100 MTB is a 100-mile mountain bike race which is potentially even more intimidating because of the distance combined with a very difficult course that tends to beat down first timers.</p>
<p>I am not confident that I can finish either of these races and that's what makes them fun :)</p>Hear Intentions Not Words2018-05-29T16:05:42+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/hear-intentions-not-words/<p><g class="gr_ gr_17 gr-alert gr_gramm gr_inline_cards gr_run_anim Grammar only-ins replaceWithoutSep" data-gr-id="17" id="17"><g class="gr_ gr_17 gr-alert gr_gramm gr_inline_cards gr_run_anim Grammar only-ins replaceWithoutSep" data-gr-id="17" id="17">Language</g></g> is a powerful tool for communication. The problem is, the system in our brain which turns our intentions into words is not perfect. The result of this is that we often don't say what we mean or we mean something that we don't say.</p>
<p>This is particularly apparent when talking about difficult subjects. Especially during difficult conversations, I have made a concerted effort to listen to intentions over words. David Cohen wrote a great blog post a few months ago titled <a href="http://davidgcohen.com/2017/08/18/assume-good-intent/">Assume Good Intent</a>. Assuming good intent is a powerful concept. Next time someone says something your gut perceives as critical ask yourself "what is their intention?" Their intention is often to be helpful. Some conversations are difficult by nature. Choose to work with people who have good intentions. Listen to their intentions not words, especially when they are critical.</p>Life Math: Compound Interest2018-05-07T10:04:07+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/life-math-compound-interest/<p>I read this quote a long time ago and it has stayed with me "compound interest is the most powerful force in the universe." The saying is commonly attributed to Albert Einstein, but after Googling it <a href="https://www.snopes.com/fact-check/compound-interest/">doesn't seem very likely Einstein ever said it</a>. Regardless of where it came from; today, I linked it to a new meaning.</p>
<p>I've been thinking about how to define entrepreneurship, or more broadly how to describe the entrepreneurial mindset. One way that has resonated with me is efficiency in leveraging current resources. Or simply, making more out of what you have right now. Then repeating the process many times over. The result is compounding returns, which are quickly very rewarding. When evaluating how entrepreneurial someone is, one route is looking at what they have been able to accomplish so far through the lens of what resources they had at the time.</p>
<p>This will only get you so far, as some people are not able to continue compounding the returns. Some people are great at getting new companies or projects off the ground and then not the right people to take them from a small to medium scale. On the other side, some people are great at scaling companies or projects but their strong suit is not getting them started from scratch. Making sure the right people are involved at the right time is tricky. Ben Horowitz discusses this extensively in his book <a href="https://www.amazon.com/Hard-Thing-About-Things-Building/dp/0062273205">The Hard Thing About Hard Things</a>.</p>
<p>Determining the life cycle of a company you are most capable of contributing <g class="gr_ gr_39 gr-alert gr_gramm gr_inline_cards gr_run_anim Grammar multiReplace" data-gr-id="39" id="39">at</g> is a really helpful lens when thinking about your career. I've recently determined that mine is in the earliest stage of a company where it is just a few people looking to get an idea off the ground. </p>
<p>In other areas of life "what you made out of what you were given" is often something I am interested in learning about when I meet somebody. And a question I often ask myself is "how can I use the position I'm in now, to get more of the things I care about?" This sounds a little crazy, probably because your mind probably jumped to money. Don't think of it in the context of money and it feels a lot better. For example, "How can I use the things I have today to show my partner just how much I love them?" or "How can I leverage my volunteer time into affecting the most change for our cause?" </p>
<p>Think about what limited things you have and how you use those resources today to drive the results you want. People who are good at this are often very successful.</p>Overcommitted2018-05-04T10:53:35+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/overcommitted/<p>I've said "Yes" to working on a lot of projects lately as a helping hand. Over the last month, the volume of these commitments has been too much and I've lost focus on the things that are most important to me. The things where I am a core contributor have suffered for the activities where I am a part-time contributor. This doesn't make sense.</p>
<p>Over the next few days, I am going to work on winding down many of these extra commitments. And over the next few weeks, I am going to lean much more of my weight on the areas where I am a core contributor.</p>
<p>Saying Yes to something new can be easier than saying No. What have you said "Yes" to that doesn't directly contribute to achieving your goals?</p>Be Happy and Improve the Ability of Others to be Happy2018-05-03T10:01:15+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/be-happy-and-improve-the-ability-of-others-to-be-happy/<p>The other day somebody asked me "If you had to, what would you say the purpose of life is?" The answer I chose is "to b<span>e happy and improve the ability of others to be happy."</span></p>
<p>We all share the human condition. Some of us started life in a really great place, while others were dropped in chaos and suffering. None of us got to choose and I can not think of a better notation of meaning than helping our fellow travelers make the most of life.</p>
<p>What a wonderful opportunity we are given,<span> be happy and improve the ability of others to be happy.</span></p>Boulder Skyline Traverse2018-02-19T17:02:07+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/boulder-skyline-traverse/<p>Running for the last 5 years I've had a straightforward goal. Complete a marathon. It started as a dream and slowly with effort turned into a reasonable goal. Then last October, I did it. With my friend Sean <g class="gr_ gr_32 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" data-gr-id="32" id="32">Hamborski</g>, I ran the Detroit Marathon. Sean and I have a long-running history together. We ran our first 5k, half and finally full marathon together. I couldn't have asked for a better running partner. And the goal of running a marathon was a great forcing function to get us out running.</p>
<p>I've been thinking this year that I need something new to keep motivating me. But what? In the short term, I have absolutely no intention of becoming an ultra runner. I like my knees too much. Eventually, I'd like to run a marathon on every continent. But I'm in no hurry. That will be a lifelong challenge and I won't do another marathon this year. My next one will be in Antarctica in 2020 and I'm putting together a team. Email me if you are interested in joining: a<span>ntarctica</span>@davidkircos.com</p>
<p>Here's my new goal for this year: run the <a href="https://www.strava.com/routes/11815120">Boulder Skyline Traverse</a>. 19 miles, 6k foot vertical gain. Sanitas Mountain, Flagstaff Mountain, Green Mountain, Bear Peak, South Boulder Peak. All 5 of the peaks on the Boulder front range. I haven't established exactly what a success condition for this run will be. There are some very steep parts of the trail. It's not safe to run 100% of it, so maybe I'll set a time goal. I have to attempt the route first to calibrate exactly what that time will be.</p>
<p>I am really stoked about this challenge. Happy running in 2018!</p>Brain Health: Why I Choose to be Open2017-12-21T21:40:59+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/brain-health-why-i-choose-to-be-open/<p class="graf graf--p graf-after--h3" id="5bfe" name="5bfe">A few months ago I wrote<span> </span><a class="markup--anchor markup--p-anchor" data-href="http://www.davidkircos.com/blog/whats-going-on-with-david/" href="http://www.davidkircos.com/blog/whats-going-on-with-david/" rel="noopener" target="_blank">a blog post</a><span> </span>describing my personal struggle with depression. That post was the first time many people who know me realized that I was struggling with depression.</p>
<p class="graf graf--p graf-after--p" id="891d" name="891d">Friends reached out offering support and about 10 people shared with me their own experience with depression.</p>
<blockquote class="graf graf--pullquote graf-after--p" id="2e1a" name="2e1a"><em class="markup--em markup--pullquote-em">All of a sudden I wasn’t alone. Without intending to I had built a support community for myself and a network of others who share the same struggle.</em></blockquote>
<p class="graf graf--p graf-after--pullquote" id="6dbf" name="6dbf">This support community has been enormously helpful in avoiding depressive episodes and working through them when they do happen. It has been a <g class="gr_ gr_71 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del" data-gr-id="71" id="71">life line</g> and helped me to realize that I am among a<em class="markup--em markup--p-em"><span> </span>huge</em>, hidden group of people struggling with an atypical neurology and the data supports it.</p>
<blockquote class="graf graf--pullquote graf-after--p" id="3580" name="3580">Over 20% of people experience a brain condition and that number jumps 2x in the tech industry. So I began to wonder, if I only found this community because of my blog post, where is everyone else finding support?</blockquote>
<p class="graf graf--p graf-after--pullquote" id="c6bf" name="c6bf">Through my work at Techstars, I found<span> </span><a class="markup--anchor markup--p-anchor" data-href="http://www.sigmend.org" href="http://www.sigmend.org/" rel="noopener" target="_blank"><g class="gr_ gr_74 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" data-gr-id="74" id="74">Sigmend’s</g> Open Labs</a> whose founders graduated from our Boulder Accelerator in 2016. They have since built a nonprofit support system that focuses on people with a bipolar neurology. Open Labs creates a line for people who are bipolar to communicate and support each other. They talk about bipolar as a neurotype that falls within the set of natural human variation instead of a pathology or disorder that should be cured. The goal is to create a safe and empowering environment for those who impacted by bipolar to <g class="gr_ gr_87 gr-alert gr_gramm gr_inline_cards gr_run_anim Punctuation only-del replaceWithoutSep" data-gr-id="87" id="87">thrive,</g> and give them the hope they need to live openly.</p>
<p class="graf graf--p graf-after--p" id="a16f" name="a16f">There is often little consideration for how to live with neurologically different people, the focus is mostly on pushing them back into the “normal” bucket. I don’t believe this is the right way to treat any type of diversity. Diversity fundamentally should be celebrated. Neurodiversity is no different.</p>
<p class="graf graf--p graf-after--p" id="c972" name="c972">People whose minds work differently than the median neurology are very valuable to society the way they are. Finding ways to help individuals with neurological differences embrace their differences as an asset is much more productive than considering all neurological differences a problem.</p>
<p class="graf graf--p graf-after--p" id="469c" name="469c">I’ve also chosen to join <g class="gr_ gr_72 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" data-gr-id="72" id="72">Sigmend’s</g><span> </span><a class="markup--anchor markup--p-anchor" data-href="https://sigmend.org/open-council" href="https://sigmend.org/open-council" rel="noopener" target="_blank">Open Council</a>, a group of people who lend our names and expertise to the Open Labs mission to support the practice of open conversations about brain health in and beyond the workplace.</p>
<p class="graf graf--p graf-after--p graf--trailing" id="e4b4" name="e4b4"><strong class="markup--strong markup--p-strong">If you are impacted by bipolar neurology or know someone who is, I encourage you to share<span> </span></strong><a class="markup--anchor markup--p-anchor" data-href="https://www.sigmend.com/" href="https://www.sigmend.com/" rel="noopener" target="_blank"><strong class="markup--strong markup--p-strong">Open Labs</strong></a><strong class="markup--strong markup--p-strong"><span> </span>with them.</strong><span> </span>Being open <g class="gr_ gr_82 gr-alert gr_gramm gr_inline_cards gr_run_anim Grammar multiReplace" data-gr-id="82" id="82">about</g> depression significantly improved my ability to effectively deal with the condition. Open Labs does the same for those who are on the bipolar spectrum and their allies.</p>
<p class="graf graf--p graf-after--p graf--trailing" name="e4b4">This post originally appeared on <a href="https://www.davidkircos.com/blog/feeds/atom/blog.sigmend.com">blog.sigmend.com</a></p>How to Be Optimistic When All the News Is Bad2017-10-24T05:43:42+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/how-to-be-optimistic-when-all-the-news-is-bad/<p>Every day the news lists terrible events. Mass shootings, government destabilization, tensions rising.</p>
<p>It paints this picture that the world is getting more and more troubling and that we are headed towards a future that is worse than the past.</p>
<p>Here's my theory. The world is not getting worse. We are simply hearing about the problems in the world more loudly and frequently than ever before.</p>
<p>More victims of violence and injustice have a voice today than they ever have had in the past.</p>
<p>These voices are what we are hearing.</p>
<p><em>50 years ago we didn't hear the voices of sexual assault victims.</em></p>
<p><em>50 years ago we didn't hear the voices of people in villages exploited by large industrial companies.</em></p>
<p><em>50 years ago we simply didn't hear all the pain going on in the world. Now we do.</em></p>
<p>Hearing all the pain in the world has fast-tracked our ability to address it.</p>
<p>The evidence of global improvement is palpable in every meaningful measure of the quality of life globally.</p>
<p><em>Child deaths before the age of 5 are the lowest they have ever been.</em></p>
<p><em>More people in the world are living under a democratic government than ever before.</em></p>
<p><em>The smallest fraction of people ever currently live below the poverty line.</em></p>
<p>Our World in Data breaks a lot of these very important measures of global quality of life down quantitatively.</p>
<p><img height="343" src="https://s3.amazonaws.com/davidkircos.com/assets/2017/October/Two-centuries-World-as-100-people.png" width="500"/></p>
<p>I really <a href="https://ourworldindata.org/a-history-of-global-living-conditions-in-5-charts/">love this article on Our World in Data</a> which argues for optimism in a rapidly improving world.</p>
<p>What we are feeling in the world today is not a breakdown. It's very rapid improvement.</p>
<p>Be optimistic! I am.</p>Book: The Time Keeper2017-10-20T18:55:33+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/book-the-time-keeper/<p>How often do you look at a clock?</p>
<p>Weekdays for me it can't be less than once every 5 minutes. The granularity with which I schedule things during the week is usually in 30-minute blocks although sometimes as narrow as 15-minute blocks. On weekends I try not to schedule anything with a precision greater than half a day. Meaning I could make a morning and afternoon plan, but won't schedule anything at a specific time. Though I will still look at a clock about every hour just to feel grounded.</p>
<p>Every once and a while I pick up a book that I just can not put down before finishing, this happened with <a href="https://www.amazon.com/Time-Keeper-Mitch-Albom/dp/0316311537">The Time Keeper</a> by Mitch Albom. Through a fictional story, he explores the world before timekeeping and the first people who start counting the days, hours and seconds.</p>
<p>Reading the book has made me really aware of how powerful a role timekeeping plays in modern life. I've been wondering what it would be like to not look at a clock for something like an entire week. Normally I'll follow a clock to know what I'm supposed to be doing now and what I'll be doing next. It would be a really interesting experiment to instead work on things at my internal pace. Changing activities when I feel like I've spent enough time on whatever I'm currently doing. I certainly think this would reduce anxiety. Although it would make it very difficult to work effectively with others who expect things to happen at a specific time. I'm considering blocking a day on my calendar every week to simply follow my internal clock.</p>Why We Take Pictures2017-10-02T12:18:04+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/why-we-take-pictures/<p>Life is not all instagram moments. <br/>It's becoming more difficult to ignore the picture perfect lives friends seem to live through their instagram feeds.<br/>It's 4am and I'm in the airport heading home from California. I spent the last few days as a tourist on the Pacific coast.<br/>It seemed like everywhere we went people's first priority was taking pictures. Moving on from a spot once they got a good shot.<br/>Focused on capturing the moment more than living it.<br/>Photos are great because they help us remember a moment. They are not the moment.<br/>Instagram glamorizes the visually pleasing moments. But these easy moments aren't what makes life full.<br/>The best parts of life aren't easy. You've heard this. And it's worth remembering in the age of instant gratification.<br/>Many of my best memories and most fulfilling expirences were gruelingly difficult.<br/>There is this natural desire to remove difficulty from our lives one piece at a time.<br/>But lean in to the difficult. Embrace the challenge.<br/>Listen to that part of your brain that knows the right thing to do, not just the easiest thing to do.<br/>The right thing will be hard.<br/>Having a difficult conversation with a loved one, fighting for what you feel like you deserve.<br/>This stuff is what makes you grow. What makes life full.<br/>Looking like you have a great life is not having a great life.<br/>All we get is now. We never experience tomorrow or yesterday.<br/>So focus less on capturing and more on living.<br/>Yes I got many photos of the beach this weekend. But I also tried to take some of myself and friend smiling in a random moment.<br/>The pictures of the beach will remind me of my vanity.<br/>And the pictures of us smiling will remind me of joy.</p>What's Going on With David?2017-08-25T09:13:50+00:00davidkircoshttps://www.davidkircos.com/blog/author/davidkircos/https://www.davidkircos.com/blog/whats-going-on-with-david/<p>If you've seen me in the past week, you could probably tell that something was off. I'm not normally the most jubilant person in the world, but I like to laugh and smile as much as anyone else does. Additionally, I love to see others smile and I believe spreading joy is one of the most fulfilling things we humans can do. This last week I haven't laughed. I haven't smiled. And I certainly haven't made anyone else laugh or smile. My world has been colored gray, and I've just gone through the motions. So what's going on?</p>
<p>On and off for most of my life, I've struggled with depression. It's a hard thing to admit. And up until recently, I had never used the word depressed to describe myself or the way I've felt. Actually using the word is pretty scary but also feels relieving.</p>
<p>My depression is episodic. Meaning it occurs for short periods of time. Usually, a few days or a few weeks in length and then I return to normal. The time in between episodes is usually months. Overall I spend more time feeling good than depressed. This is something I've been tracking with the <a href="https://www.davidkircos.com/happiness">happiness tracker here on my blog</a>. It's easy to see an increase in my happiness over the last year.</p>
<p>If I've blown you off in the past week, or just seemed cold and uninterested. Please reach out again. Thank you for bearing with me during the hard times. I really do look forward to the good times, which I've learned are never as far away as they feel.</p>
<p><span>When I am depressed I am locked in my own world. Prevented from having the empathy needed to see into the lives of those around me. This is truly the most difficult part of depression and can make me feel very alone. </span>That wasn't the case this time. This week I was pulled out of the rabbit hole really quickly by a couple amazing people. To those who have given their time to listen to and mentor me, your investment is treasured. And your belief in me has changed my perception of myself.</p>
<p>---</p>
<p><sub>If you are struggling with depression and keep it to yourself, consider sharing with friends and family what you are going through. There should not be any shame associated with your mental health and it will make recovery many times easier. If you don't know where to start, talk to me. I'll listen.</sub></p>