Kartones Blog

Be the change you wanna see in this world

My Building Autonomous Agents With gym-retro talk

Few weeks ago the 10th edition of The MindCamp event took place. With 20 attendants (a third less than past editions, as the date was chosen with not much margin and some people couldn't assist), as usual the talks were great, the people better and we spent a nice weekend at a rural house talking, eating and even doing some coding.

As almost every edition, I prepared a talk, but this year I wanted something different, if possible related with videogames. I was thinking on talking about Microsoft's TextWorld, but instead tried something cooler, gym-retro, and decided to give an introductory talk to reinforced learning.

The whole talk is uploaded here: https://slides.kartones.net/028.html but what's more interesting is that I uploaded to my GitHub all the source code of the agents and miscellaneous instructions and tips I gathered while preparing the talk and the demos. Initially I planned to write all the details in this blog post, but then decided to improve instead the GH repository's README (not too much, but some quick tips to get started).

Don't expect anything incredible as I didn't used Deep Learning, so the agents are quite dumb, but the concept of the JERK agent is still interesting enough and adapting it from the Sonic videogame to Golden Axe (including the LUA script) was a fun mini-experiment.

Here are some animated GIFs of some of the agents, if you feel curious check the slides and the code, it's not rocket science :)

Alleway Gameboy

Smash TV NES

Golden Axe MegaDrive/Genesis

Course Review: English Grammar Launch Advanced (Udemy)

English Grammar Launch Advanced: Upgrade your speaking course from Udemy it is, as the name implies, a continuation of English Grammar Launch, which I already reviewed. This course is simply more of the same: 6 hours of video, transcripts and MP3s, but with more advanced topics like three-word phrasal verbs, passives, the more complex verb times, relative clauses, "unless", "whether" and other interesting lectures.

Although again it feels way too slow unless you set the speed to 1.25x, this is an example of a good online course to improve (or just train) your English skills.

Book Review: Disrupted


Disrupted - book cover

Title: Disrupted: My Misadventure in the Start-Up Bubble

Author: Dan Lyons

A real world story about a tech journalist who, at age 51, enters the Silicon Valley startup ecosystem by joining HubSpot, a company offering marketing and social media tools. It depicts a tale equally hilarious as worrying, of how a company could be burning tons of money and still aiming for an IPO, of how employees could have very aggressive goals to met (or get fired) but have "candy machines", and lots of scenarios that most normal people wouldn't believe to be real at a workplace.

While there are really funny moments, seems clear that the author had a very rought journey. He even had an abusive boss, and the fragments that tell it become grim and uglier, so it is far from being all bro-tales and crazy parties. But apart from the obvious fact that the book became a best-seller and that the author also helped in production of one of the early Silicon Valley seasons when he was at the end of his "adventure" (I wonder how many ideas came from the experience...), he got out of the company :)

I've also recognized some perks, attitudes and details that, in a normal scale, are actually applied not only to Silicon Valley startups but more in general around the world. Some of them, like the "fearless friday" (invest 20% of your time in different tasks/projects/ideas) are quite good when properly executed (in my opinion at least), but I can understand how the author just felt them stupid as taken alongside the rest looked absurd.

A great read to detect things not to adopt (or to flee from), written with a huge sense of humour considering the severity of the situation, and sometimes, similarities with a job you might have had.


This time the notes I've highlighted from the book are a mixture between jokes, terms and things learned, mottos and famous sentences, and crude but sometimes real statements about the startup world.

  • Corporate cultures usually evolve organically, some startups try to create a culture artificially and impose it on the organization
  • Dunning-Kruger effect: named after two researchers from Cornell University whose studies found that incompetent people fail to recognize their own lack of skill, grossly overestimate their abilities, and are unable to recognize talent in other people who actually are competent
  • The lower end of the market is a dial-for-dollars segment
  • Bubble Economics: companies do not have to generate a profit before they can go public, but they do have to demonstrate revenue growth
  • The founders see VCs as a necessary evil, tricksters who will try to cheat founders or even steal their companies away from them. VCs see founders the way music labels see bands, or the way Hollywood studios see movies—they're the talent, the way you make money. You bet on a bunch of them and hope that one or two hit it big
  • Whatever money a company spends on cool offices and the frat-house parties, it's peanuts compared to everything else. "And think what they're getting in return for that," he says. "They're getting all these young kids who work cheap and don't stick around long enough to vest, and even if they do vest, they don't have much equity to begin with
  • [Regarding HubSpot] so much as it is a financial instrument, a vehicle by which money can be moved from one set of hands to another. [...] have assembled a low-cost workforce that can crank out hype and generate revenue
  • Keep sales growing, and keep telling a good story [...] and stay in business long enough for their investors to cash out
  • Engineering came first, and sales came later. That's how I thought things worked. [...] I thought, for example, that tech companies began with great inventions [...] HubSpot started out as a sales operation in search of a product
  • It's all about the business model. The market pays you to have a company that scales quickly. It's all about getting big fast. Don't be profitable, just get big
  • What investors want to see: a bunch of young people, having a blast, talking about changing the world. It sells
  • "Your company is not your family" -LinkedIn's multibillionaire cofounder and chairman Reid Hoffman
  • Amazon backloads the grants so that the lion's share of the stock units arrive in years 3 and 4. Employees who leave after one year might reportedly get only 5 percent of their grant
  • Give them all the candy and beer they can stomach, and keep telling them what important, meaningful work they're doing
  • When a company has a traditional vacation plan, it is required by law to set aside a cash reserve to cover the cost of all of the vacation days that it owes to its workers. When employees quit or get fired, the company must pay them for the vacation time they have accrued. But if a company has no vacation plan, it doesn't have to set aside the cash reserve. [...] Better yet, the company can fire people without having to pay them for any accrued vacation time
  • "The 'share economy' is bunk; it's becoming a 'share the scraps' economy"
  • Valley employers claimed they could not find skilled workers in the United States, when in reality they just didn't want to pay higher wages to Americans. Foreign workers are easy to intimidate [because of the working visa]
  • The old guard companies, like Microsoft and Lotus Development, generated massive profits almost from the beginning, while today many tech companies lose enormous amounts of money
  • Silicon Valley created a new kind of company, one that can lose money for years, and in fact might never turn a profit, yet still can make its founders and investors incredibly rich
  • New business model: Grow fast, lose money, go public
  • "If you can't dazzle them with brilliance, baffle them with bullshit"- W. C. Fields
  • A form of financial alchemy, one where someone makes money by losing money
  • [employees could win] the Golden Unicorn, a prize for being that week's outstanding marketer. This is an actual tiny statue of a unicorn, in gold
  • A gaffe is when a politician tells the truth
  • Some, like Uber and Airbnb, have built their businesses by defying regulations
  • There's also a sense among start-ups that it's okay for them to break the rules because they're underdogs competing against huge opponents
  • [Typical thinking] Why should [someone at the company from long] have a lower title than the new guy?
  • "everything is awesome"
  • "Misleading investors or overpromising. So what are you getting if you buy this stock? You're not really investing; you're speculating. You're hoping that whatever price you pay, someday someone else will be willing to pay more for it"
  • "Go public or go broke"
  • [Summary of HubSpot according to the book author] wacky frat house with Cinco de Mayo margarita bashes and sales bros puking in the men's room and a bunch of clueless twenty-something managers
  • "teddy bears being given a place of honor at the table during management meetings"
  • Hiring kids, cutting corners, breaking rules
  • People who use online services are not the customers. We're the product

Course Review: English Grammar Launch (Udemy)

Before my recent trip to USA, I finished another English Udemy course, English Grammar Launch: Upgrade your speaking and listening, lasting around 6 hours. My only complain is that the teacher gives too much emphasis on the words, nothing terrible but as speaks slowly to be correctly understood sounds a bit weird. In my case I just set the video speed to 1.25x and the cadence becomes "normal" (to me at least).

That said, there's lots of speaking which I appreciate, and the content covers miscellaneous topics, from verb tenses to phrasal verbs. Plus the usual content: tons of examples, MP3s with audios, PDF transcripts...

I liked this course and will definetly try the advanced one from the same author.

Course Review: Apache Kafka Series - Kafka Streams for Data Processing (Udemy)

With the Kafka Streams for Data Processing Udemy course, I mark as completed my basic journey to learn some basics about this platform. I wanted to do this course as one of the topics it covers, exactly-once semantics, were precisely one of the main goals of choosing Kafka as the transport layer, and Streams are needed in order to achieve it.

We learn the basics about Kafka Streams, Topologies, KStream and KTables, as I mentioned before Exactly once semantics, plus aggregations, joins and other operations supported by the High Level DSL. Examples are coded in Java (one also in Scala) and this time the author shows how to do testing of the Topologies you build.

It is indeed more advanced than the basic and Connector courses, and while the examples are nice and you get to build 3 small applications, some of the theorical explanations are a bit vage, and a few ones terrible, like what an Outer Join is, forcing you to go to the "related resources" (a Confluent.io blog post with a real, proper explanation) to understand them. Again you can perfectly watch it at 1.25x and will probably still skip chunks of the code walkthrough videos as the actual logic is quite small and the configuration changes (e.g. to activate idempotency at Producers, or exactly once behaviour at the streams) are just a few.

If you grab the course with a discount is fine, but at the full price displayed at Udemy (100€) feels pricey.

Previous entries