It was a little over three years ago when I took the leap and decided to quit my job at DellEMC and jump head-first into my entrepreneurship adventure. As expected, it has been an insanely fun roller coaster. Quite recently though, I decided to put my entrepreneurial aspirations on pause for a while and join a really exciting early-stage startup as a Staff Engineer.

Photo by Igor Karimov on Unsplash

The main reason for this is simple: I will soon become a parent for the first time. …


Say you want to build a simple timer in React Native and you’ve decided to use the Expo managed workflow. It’s pretty easy to do this in React.

Photo by Djim Loic on Unsplash

However, one thing you’ll run into when porting this to React Native is how this behaves when your app is backgrounded (e.g. when you press the Home button on your device). The callback given to setInterval eventually stops being called (on Android this happens as soon as your app is backgrounded). …


As if reasoning with component lifecycles in React class components wasn’t hard enough, things got even trickier with the advent of React functional components and the useEffect hook. Here’s how I ended up using them.

Photo by Ferenc Almasi on Unsplash
  1. Start with an empty dependency array. This means that your effect will only run once. Often times, this is what you want.
  2. Enable the exhaustive-deps rule from the eslint-plugin-react-hooks in your ESLint configuration. This will give you a warning you if your effect is using dependencies that you’re not capturing in your dependency array.
  3. Think of the dependency array as “when this effect will run”…

Automated tax-loss harvesting is one of the core features of both of our AgentRisk Wealth and AgentRisk Lite products for individual investors, and of our AgentRisk Overlay product for financial advisors. Finding similar assets to replace an asset in tax-loss harvesting is the most computationally intensive part of the process. In this post, we share how we optimized this computation, as well as how this can be further improved.

Photo by Austin Distel on Unsplash

What is tax-loss harvesting and how does it work?

Tax-loss harvesting is the practice of selling an asset that is at a loss and realizing this loss to help minimize your tax bill. It goes without saying that nothing we…


These are definitely unusual times we’re going through during the COVID-19 pandemic. And unfortunately, this has taken a significant toll on the stock market and on people’s portfolios.

What’s worse is that this panic can lead to anxiety, which can lead to investors making irrational decisions. This, in turn, may have negative long-term effects.

Photo by Adi Goldstein on Unsplash

At AgentRisk, we are big believers in informed, data-driven decisions when it comes to investments. What’s more, we feel very strongly about having an expert by your side when managing your hard-earned money.

This is why we think it’s important to make our technology as accessible…


How id software was able to ship 28 games in under 6 years with fewer than 10 developers

Probably the most iconic video game company of the 1990s, id Software developed such groundbreaking titles as Wolfenstein 3D, Doom, and Quake. In a somewhat recent talk, John Romero (the co-founder of id), outlined the company’s programming principles that allowed them to produce so many quality titles, one after the other, in a very short time, with a very small team.

Think of this as a companion to Lampson’s timeless paper on system design. Many of the principles are common and they are all quite relevant today.

That’s one new game every 2.35 months. Whoa.

Although these programming principles refer to video game development, most (if not all)…


How to avoid common pitfalls when your code handles money

When building an application, some lines of code are more important than others. Screw up your mutex logic and you may run into a deadlock or a race condition. Screw up a database query and you can wipe out an entire table. Screw up how you handle money, and someone will get short-changed (or even worse: you get fined by the SEC).

But how can you screw up how you handle money, you ask?

Hint: you may have snoozed during that boring lecture where the professor was covering floating point arithmetic and scientific notation. …


How to tame one of Elixir’s most powerful constructs and write concise code that’s easy to read, maintain, and debug.

I gotta be honest. It was not exactly love at first sight when I first encountered Elixir’s with statement. But just like I learned to appreciate (and love) the whole non-defensive/let-it-crash approach, the same happened here as well.

The result: I was able to rewrite a bunch of complicated functions with very hard-to-read nested case and/or cond statements in a very clean, and, more importantly, maintainable and extensible way using with.

Basic usage

The basic premise of with is that it lets you chain together pattern matches and arriving at the positive result, in a very concise statement. …


Mostly made to be a joke, highly opinionated, 100% fun to read.

Photo by Japheth Mast on Unsplash

Back in 2016 when I started my entrepreneurial journey, I did the same as going into any new field: try to devour as much information and advice from people considered the best in their field, i.e. learn from the winners. Kind of like when you start getting into basketball, you want to imitate someone like Kobe (RIP), so that you (maybe) reach their level.

So what did I do? Read a bunch load of books, listened to a ton of podcasts, subscribed to some newsletters, and in general, I consumed (terrible verb) a lot of content. …


For the past few weeks we have been quietly working on a couple of very exciting new features in our product. These features are a direct result of customer feedback and we are really excited to share them with you!

We now support IRAs 🎉

You can now have your IRA (Individual Retirement Account) managed on the AgentRisk platform, just like your current taxable account. An IRA is a great addition to your investment portfolio that comes with many tax benefits.

Photo by Michael Longmire on Unsplash

We take care of every part of the process of moving your existing IRA to AgentRisk. Moving an IRA does not trigger a tax…

Alex Loukissas

Co-founder & CTO @ AgentRisk. Former infra-tech guy (storage, networks). Startup nerd. Always building cool side-projects. #LongLA

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store