art with code


The Useless Economy

Let me give you a million dollars a month. That's your new salary. What happens next?

You'll pay your rent or mortgage, buy some food to stay alive, pay your heating bill and buy whatever electricity, gas and communications services that you need. At the end of the month, your spending on living a good life may come to somewhere between $500 and $2000, depending on where you live and how much services you buy outside of the necessities. What happens to the rest of the money? You still have more than 99% left.

It goes into the useless economy.

The useless economy consists of buying stocks, shares and bonds on secondary markets, investing in real estate, keeping the money in a bank account or under your bed. When you buy assets in the useless economy, the seller is likely in a similar situation to you: they've got excess money and want to store it for a rainy day. After receiving the money from your purchase, the seller very likely turns around and buys another asset in the useless economy that they predict to give a higher rate of return.

In this way, excess cash piles up into the useless economy of second-hand assets and escapes the real economy.

If you, instead of buying second-hand assets, decide to use all your money on buying expensive new things, you're only slightly better off. You can't increase the amount of your personal consumption all that much. After all, you only need a certain number of calories per day, have only a certain number of hours to travel, and a certain number of clothes you can wear in a day. Instead of quantity, you will increase the quality of your consumption by buying luxury versions of your basic staples.

Luxury products are a bit problematic though. The mass-luxury market is driven by immense amounts of marketing. The large luxury brands use 60% of their yearly spend on marketing. When you're buying such goods, you're essentially buying marketing. Additionally, luxury goods have a very concentrated profit margin. The production phase that employs a large number of low-paid people, who spend their money in the useful economy, is a very low margin operation. The marketing system on top of that is the high profit margin operation. Meaning that the majority of the price of your purchase gets funneled into the useless economy.

How do you escape the useless economy? Invest directly into new businesses. Use your money to build new useful infrastructure. Spend it on new research. Give it to people who aren't living a good life. Use it to convert interest-bearing loans into zero-interest loans. Pay off people's debts. Turn rental contracts into ownership deeds. Open-source patents. As long as you keep money out of the useless economy, it'll make the world a better place.



I've been studying investing for the past 9 months. I think the impetus for that was reading "Snowball", a biography of Warren Buffett. And hitting liquid assets minus liabilities of zero around November. I still had cash, it's just that all of it was marked for taxes, rent and food. Still, too close for comfort.

I also made a decision to 5x my daily rate. Now, I don't know if you've ever tried that, but the problem is that no one wants to pay a 5x rate. So I thought to myself, "Well, maybe I could figure out some way to get 5x return on earnings." Hence investing with the goal to 5x my earnings in, say, 10 years. Or 20. Getting 5x in 10 years would require 17% annual return, which is mighty difficult to achieve consistently. Over 20 years, you'd only need a 9% annual return, so you could put the money into an index fund that tracks the S&P 500, kick back and relax.

Because I'm stupid, I'm (of course) trying to do it in 5 years instead. Which requires a nigh-impossible 37% average annual return. Fully expecting to come out of this first year at zero savings and a wide range of stress-related ailments. Because the way to hit 37% is to buy something heavily undervalued by other investors. The problem there is that there is usually a good reason why something is heavily undervalued.

Anyway, after reading "Snowball", I started reading through the annual reports of Berkshire Hathaway, the textile mill that Buffett bought after winding down his investment fund. The textile mill then turned into an investment company, pulling in various businesses that generated lots of cheap cash (insurance float, in particular) that could be used to invest into other businesses.

At the same time as reading through all 50 years of BH reports, I was also reading annual reports and 10-K forms of other companies and a bunch of other books on investment. Armed with a steady income from a long-term contracting gig, I started buying shares to squirrel away my cash (or perhaps "burning on a slow flame" would be a more apt term.)

After 9 months, I'm currently around 5% down. I keep telling myself that I'm buying on a 5-year timescale, so I shouldn't care about short-term price movements. Thus far, I've had two semi-good calls and four "oh that's funny, I didn't think the price would go further down by 40%." And the usual missed chances where I add a company to the virtual portfolio because it seems underpriced, and the share price goes up by 50% in a month.

Well, let's see how it goes. Simulating my current portfolio for a reasonable range of outcomes over a 5-year span gave a most common scenario of a 30% loss, so I'm not holding my breath. Also need to build a better simulator, the current one is a joke. Seriously, how it works is that I give each investment a low outcome, a high outcome, probability of going bust and a portfolio weight. Then it goes and generates a random outcome based on those numbers. Numbers, I might add, that I guessed using a spreadsheet and some hand-wavy fundamental analysis. Generate a couple thousand random outcomes, plot them on a histogram and hey presto: data! Garbage in, garbage out!

Here's the list of my investment readings thus far. I need to study and re-read more crunchy stuff to have a firmer grasp on the math & accounting involved, now it feels too fluffy. And yes, they're pretty much centered around value investing:

- Benjamin Graham: Intelligent Investor
- Benjamin Graham: Security Analysis
- Peter Lynch: One Up on Wall Street
- Warren Buffett and Craig Munger: Berkshire Hathaway Letters to Shareholders 1965-2014
- Philip Fisher: Collected Works
- John C. Bogle: Little Book of Common Sense Investing
- Alexander Elder: Trading for a Living: Psychology, Trading Tactics, Money Management
- Mary Buffett & David Clark: Warren Buffett and the Interpretation of Financial Statements
- Mohnish Pabrai: The Dhandho Investor: The Low-Risk Value Method to High Returns
- Guy Spier: The Education of a Value Investor
- Guy Thomas: Free Capital: How 12 Private Investors Made Millions in the Stock Market
- Cristiane Correa: DREAM BIG: How the Brazilian Trio behind 3G Capital - Jorge Paulo Lemann, Marcel Telles and Beto Sicupira - acquired Anheuser-Busch, Burger King and Heinz
- Alice Schroeder: The Snowball: Warren Buffett and the Business of Life

I'm also fully expecting the market to crash in the near-term, based on the fact that I've gotten interested in investing again. The last time that happened was in 2007. Maybe Deutsche Bank will implode with the Greek default and blow up their derivatives bets. Maybe UK leaves EU in September. Maybe the Chinese stock market goes into a massive correction and pulls the rest of the world down with it. Maybe something else happens! Who knows! Jeez. [UPDATE (5/July) Hey, the Chinese stock market did go into a massive correction and Greece defaulted.]


Get 11 live wallpapers for the price of one! (And there's more on the way!)

Get the Opus Live Wallpaper Pack now for $0.99

These fully animated live wallpapers transport you into the strange dream-world of Opus and let you escape the daily humdrum of existence. Relax during a busy day by watching one of these ambient animations.

Available on Android today! Head on over to the Play Store and get the wallpaper now. Take advantage of the 15-minute money-back guarantee at Play Store and use the wallpaper for a bit, risk-free! Opus Live Wallpaper Pack

Tell your friends about this amazing deal & share this post! Thanks :D


New effects in Opus Live Wallpaper Pack

I added a bunch of new wallpaper effects to the the Opus Live Wallpaper Pack. You can preview some of 'em on fhtr.org, have a look! If you've got a nice Android phone and want to make it nicer, get the Opus Wallpaper now for $0.99 from the Play Store ;)


Bouncing Heart Live Wallpaper

Just released a new Android live wallpaper called "Bouncing Heart", since, well, it's got a heart that bounces. Very Valentine's day, no?

It's all one big fragment shader, ready to turn your phone into a wonderland of shiny pink hearts, etc. Give it a try, maybe it'll cheer you up. It's free!

If you've got the pro version of the Opus Live Wallpaper Pack, the Bouncing Heart is one of the wallpapers included in the pack. You totally want to buy it because it's awesome!


Three notebook system - part 1 / 3

In the past few years, I've started to gravitate towards a work scheduling / external memory system to keep my projects rolling smoothly. What I've got going now is a three notebook system, which, as you might guess, revolves around three notebooks. Let me give you a brief overview of the system.

I use the three notebooks to record what I plan to do, what I should be doing next and what I have done. The notebooks operate on different timescales. The planning notebook is concerned about quarterly plans. It moves along at a very leisurely pace. The daily notebook sets goals for the day and the week. It's got roughly a week's worth of goals on one spread. The third notebook is the work log. It records what I've been doing, how long it took to do it, and what I learned in the process.

When I start my day, I take a quick look at the planning notebook to remind myself of my medium-to-long-term goals. Then I write the first few tidbits to the work log: simple stuff like "6:30 Woke up, breakfast, shower. 7:30 Start of day. 7:45 Made Opus SA icons in Photoshop. 8:00 -> Write daily goals [x] ...". At the start of the day, I write my goals for the day into the daily notebook. At the start of the week, I also set some higher-level goals for the week.

The level of detail in each of the notebooks is quite different. The planning notebook deals in high-level plans and their measurable results. In it, I write strategic goals with planned quarterly-level tactics on achieving those. The daily notebook has weekly goals that support the quarterly tactics and daily goals that deal with the minutiae of scheduling and achieving the weekly goals. The work log acts more as a short-term memory extension. I use it to plan my next action during the day, keep myself focused and maintain a sense of progress.

With the three notebooks I've got guidance on where I'm headed in the future, what I'm planning to do this week, what I'm going to do today and how that's working out so far. The big idea here is to try and align my short-term actions to my long-term objectives.

As I progress through time, I tweak the goals as the situation changes. Tweaking the goals in turn tweaks the daily goal planning. The goals for the previous days are not the goals for today. This flexibility gives me the ability to respond to changes rapidly without losing sight of the long-term goals.

In conclusion, the three notebooks keep me focused on what I'm doing now and how that's going to help me in the future. The notebooks act as goal-oriented external memories at different timescales. By keeping track of my use of time, they also give me a better sense for how long it takes to do things.

I'll take a closer look at each of the notebooks in part 2 and go through the practical experience in part 3. Thanks for reading! What kind of planning systems do you use to get your work done?


Opus Live Wallpaper

I ported a bunch of the fhtr.org effects over to Android to use as a live wallpaper. The wallpaper is available on the Google Play Store as either a $0.99 version or an ad-funded version (hey, there's also a small fireworks wallpaper with a web preview). My total income from these over the last month has been a bit less than $5, so, well, it's been more educational than anything else :D

The effects look like the pictures below or the video above. I like having them as wallpapers, gives a nice feel to my phone. You probably need something like an Adreno 330 to run them well, so phones like LG G2 and above.

Porting the shaders over from WebGL was easy for the most part. There were a whole lot of performance tweaks that I had to apply. One of the most important ones was rendering into an FBO at a lower resolution and then upscaling the FBO to screen res. With HiDPI displays, the difference between full res and scaled up is not very drastic.

Another technique I used was rendering at a lower framerate. The prob there is that you want to keep the main UI interactive while you're rendering. If you do it naively with "render frame -> wait 2 frames -> render frame -> ...", and the "render frame" bit takes longer than 16ms, you'll cause the main UI to skip frames. Which is bad. The solution I arrived to was to render a part of the wallpaper frame during the main UI frames, then display the finished frame in the end: "render 1/3 of frame -> render 2/3 of frame -> render 3/3 of frame & display it -> ...". This way I can keep the main UI interactive while rendering the wallpaper frame.

But we're not out of the woods yet! Some wallpapers have a central part that is very heavy to render and edges that are cheap. If we split the frame into e.g. 3 slices, one of the slices would take the majority of the time, and potentially cause the main UI to skip frames. So we need to find a split that distributes the work equally among the UI frames. To do the partial frame rendering, I slice the frame into 8 px vertical stripes. On each UI frame, I render the wallpaper stripes belonging to that frame (frameNumber % numberOfUIFramesPerWallpaperFrame == 0). As the UI frame number increases, the renderer moves across the wallpaper frame, drawing it in an interleaved fashion. This gives me a fairly even split of work per frame and gets me a consistent frame rate for the UI.

If you have a try at the wallpapers, lemme know how it goes. Would be super interested in hearing your thoughts.

About Me

My Photo

Built art installations, web sites, graphics libraries, web browsers, mobile apps, desktop apps, media player themes, many nutty prototypes, much bad code, much bad art.

Have freelanced for Verizon, Google, Mozilla, Warner Bros, Sony Pictures, Yahoo!, Microsoft, Valve Software, TDK Electronics.

Ex-Chrome Developer Relations.