Launch Academy presented a webinar on everything you need to know about the Industrial Research Assistance Program (IRAP)—a cross-Canada network of 255 industrial technology advisors, with $300 million in support for more than 3,000 development projects annually—and having gone through the process myself, it was a good refresher on how to acquire financial support for technology innovation. While I ran into roadblocks with my own startup, the odds can lean in your favour if you focus on creating a novel business with adequate customer validation, a sizeable market, and steady revenue growth.
I love to program in Ruby as well as Python, and AWS Lambda functions provide the perfect solution to combine both language’s capabilities without additional server configuration. The
aws-sdk-lambda library makes serverless computing workflow dead simple, by providing a gateway that connects to a Lambda function that will run Python code and return the results to a Rails application.
“Run code without thinking about servers. Pay only for the compute time you consume.”– AWS
The primary motive for integrating Python, is that it provides a rich set of Machine Learning tools to analyze Real Estate data. Much of what I wanted to accomplish, I could have with one script in a Jupyter Notebook, but integrating that functionality at scale would require a lot of overhead and building another API.
AWS does much of the heavy-lifting tasks like server provisioning and management, which can be monitored through their web interface:
Managing large quantities of real estate data is computationally intensive, and well suited for background processing. The task involves importing thousands of listings from a RETS database into a Redis in-memory data structure store, using an open government API for geocoding, and association with other models, therefore a lot can go wrong, and it’s important to isolate these functions according to the single responsibility principle and separation of concerns.
This is an attempt to find the optimal setup using Heroku Redis in regards to concurrency and pool size, while gracefully dealing with
429 Too Many Requests, and
ERR max number of clients reached errors. I’ve predominantly worked with two libraries that tie perfectly into Rails’
ActiveJob — Resque and Sidekiq. My preference leans toward Sidekiq, not only for their sweet karate logo, but the creator, who open-sourced the software and charged money for Pro features that allowed him to quit his job:
“Maintainable code is more important than clever code.”– Guido van Rossum, creator of Python
During this lockdown, I’ve been spending time taking online courses, specifically in the areas of Data Science, Machine Learning, and Python. My go-to platform right now is Coursera. I managed to complete three university-grade courses within a week for free. As long as you stay within the one week trial period, you don’t incur any fees.
Over the last 2+ years, I’ve been fully immersed in Ruby on Rails, both for work and personal projects. When building large-scale applications, Rails’ convention over configuration is ideal. Ruby has an incredibly expressive, human-readable syntax, and is truly a joy to program in alongside a team.
Learning Python seemed to be the natural evolution of being a well-rounded engineer. When it comes to the data-intensive industry of real estate, it is the predominant language with an extensive collection of data crunching libraries. Zillow, HouseCanary, and Opendoor, all use Python as their preferred dynamic language, as machine learning and predictive analytics are central to their business models.
So what is it that makes Python such a powerful language to analyze real estate data? A simple demonstration can show how little overhead is required to extract insights from large datasets.
“Just keep in mind: the more we value things outside our control, the less control we have.”– Epictetus
The Canadian Emergency Response Benefit (CERB) opened today—a government program that provides $500 a week for up to 16 weeks as temporary income for Canadians affected by COVID-19. In a wise move to prevent system overload, the applications are staggered according to birth month, with January, February, and March up first. Nearly 800,000 have already applied, as the number of jobless claims surged past 2.13 million after lockdowns.
“Think of the life you have lived until now as over and, as a dead man, see what’s left as a bonus and live it according to Nature. Love the hand that fate deals you and play it as your own, for what could be more fitting?”– Marcus Aurelius
It’s a redo, a rethink, a simplified, potent reintroduction of email. A fresh start, the way it should be. HEY is our love letter to email, and we’re sending it to you. Coming April 2020 to the web, iOS, and Android.– Jason Fried
Today begins “Phase 3” of Andy Frisella’s 75Hard–a mental fortitude program that spans a year, consisting of a daily regimen, and a tactical guide to winning the war with yourself. The tasks are simple when taken at face value, but it’s the intent and consistency you put into it, which ultimately determines what you get out of it.
Very little is needed to make a happy life; it is all within yourself, in your way of thinking.– Marcus Aurelius
Year of the Rat
The Lunar New Year took place on January 25, 2020, and marked the beginning of the Year of the Rat; first of all zodiac animals in the 12-year cycle. As I come from a half Singaporean background, Chinese New Year had always been a deep-rooted tradition. My zodiac animal happens to be that of a Rat; representing Yang, and the beginning of a new day. In Chinese culture, rats were seen as a sign of wealth and surplus, a notion which I happily accept. They are clever, quick thinkers; successful, but content with living a quiet and peaceful life. Sensitive to others’ emotions, but stubborn with their opinions.
As per tradition, a new version of Ruby was released on Christmas Day. Out of the 4,190 file changes since 2.6.0, Ruby 2.7.0 introduces some notable improvements.