Obligatory legalese: emitting radio waves, even low-powered and/or short-lived may not be permitted in your jurisdiction. Years ago, people figured out Raspberry Pi’s can accidentally double as FM radio transmitters without a need for any radio front-end (if we don’t count a single jumper wire working as an antenna). They achieved this by tying a GPIO pin to a software-controlled clock around 100…
RP2350 is the dual-core microcontroller at the heart of Raspberry Pi Pico 2 boards. Although the RP2350 has two identical Arm Cortex-M33 cores, it is usually programmed in an asymmetric multiprocessing (AMP) style, which doesn’t provide a shared task scheduler (e.g. a la FreeRTOS SMP). It’s still simple to divide and pin different tasks onto either core and use the two fast hardware FIFOs for…
I recently bought a Raspberry Pi Pico W , which comes with a Bluetooth module, along with an HC-SR04 ultrasonic rangefinder. I wanted to hide it inside Halloween decorations and program it to make a creepy ghost sound that intensified as my child’s Halloween party guests approached it. The children might have already aged out of being scared by it, but it was a technical success after all. I’m…
As the self-appointed IT director of my new family, I was tasked with finding the best solution to easily upload, back up, and share pictures and videos of our newborn daughter. While there are a myriad of cloud services that a normal person would go for, I didn’t want to rely on them to safeguard our most precious moments. To be honest, I was also itching to create a serverless app on AWS,…
Chilkoot Trail, a 53-km trail from Dyea, Alaska to Bennett, BC, was the main way for gold rush prospectors in late 1890s to get to Klondike River in Yukon. This slideshow contains photos of my 5-day hike through this historic trail. Day 0: I fly to Whitehorse, Yukon where the group will get together the day after to drive to the trailhead. I have some time to explore the city. The world's largest…
A friend of mine was trying to get hired as a software developer, so he asked me about resources to hone his skills and practice for programming interviews. I came across a few websites where you could solve programming puzzles online. Your code would be sent to a server to run in a sandboxed container, and you would shortly get the result. My friend was specifically learning JavaScript. That made…
The price of real estate in Vancouver has been rising for years, and if you’re not the gambler type, renting has never been a more financially sensible option. However, according to a report by Canada Mortgage and Housing Corporation in October 2015 ( PDF ), the vacancy rate in City of Vancouver is at 0.6% with some neighbourhoods at as low as 0.3% (English Bay). If you are a renter like myself,…
After over one year of working on my side project and trying to monetize it, I’ve decided to call it quits and share my journey and the source code with the community ( Github ). In this post, I’m going to explain the whole development process, describe my failed attempts, and get into more technical details in case someone wants to use the app as a boilerplate to create their own. The Idea I was…
For part 1 click here! Do NOT Repeat Yourself Another way to ensure things will remain simple is the DRY Principle (“Don’t Repeat Yourself”), which states “every piece of knowledge must have a single, unambiguous, authoritative representation within a system”. Violating the DRY principle can hurt on many different levels; if a state is stored in multiple places, a piece of code is copied and…
When I started programming circa 2000 as a hobby, all I cared about was how cool my programs and games were. It was mostly about using whatever tools I had at my disposal to make them happen. Participating in programming contests later turned me into a sloppy programmer that would take clever shortcuts, and see every small problem as an opportunity to apply a complicated cocktail of data…
Obligatory legalese: this post is about my own personal finance in Canada, not general financial advice. There’s always risk in investments, and they’re done at your own risk. Backstory As I graduated from grad school and my paycheques started exceeding my expenses, I realized I have a new grown-up issue to deal with; not too bad for an issue ! I wasn’t very comfortable with buying invisible…
For a long time, I was dismissing suggestions to try out mindfulness meditation. It sounded like newly discovered eastern religion nonsense, advocated by the new age crowd or people desperately trying to fill the spiritual void in their lives. I didn’t care that they advertised relaxation as a side effect. Cutting through the mumbo jumbo to mine practical recipes for peace of mind didn’t seem…
As I was waiting to start a new job in January, I took on a consulting gig to implement a scalable web crawling/scraping system for a company in Vancouver. My client insisted it has to be done using Apache Nutch, which is a great tool for high-scale scraping. Even though Nutch is first and foremost a web search engine, its “fetcher” component remains a best-in-class web crawler. In fact, Lucene…
Last month, I had a 11-day trip to Iceland, and spent most of it taking a road trip around the country. A few unprocessed pictures taken by my phone don’t quite capture how amazing my experience was. This slideshow is my attempt at sharing some of it nevertheless. Reykjavík from above. Colourful rooftops seems to be a distinctive feature of Icelandic buildings. Þingvellir, where North American and…
About a year ago this time, I joined a Toastmasters club, and today, I had my 9 th prepared speech out of the 10 you need for your first title (i.e. Competent Communicator). Toastmasters is a huge network of self-organizing clubs that help members improve their communication and leadership skills. I realize that different Toastmasters clubs could have slightly different rules and different…
Massive open online courses (MOOCs) are a revolutionary way to bring education to the masses, and make the collective human knowledge accessible. You might have heard of Coursera , which is a great for-profit MOOC provider, whose courses have been offered for free so far. They charge for certain certificate courses, but if you just like to listen to video lectures or read the notes, it’s only for…
I came across an admittedly biased interview on CNET, where an executive VP of the Interactive Advertising Bureau (an online advertising industry advocacy group) was resorting to vitriolic ranting and name-calling against adblockers. It showed how adblockers are leaving a dent in their industry. It didn’t however argue why affecting their bottomline is unethical, and merely used the straw man of…
Last year, when I received an email asking me to review a book about MongoDB and Pentaho for free, I barely opened the email before marking it as spam; “an outsourcing shop looking for desperate freelance editors? No, thanks!” I’d never heard of Packt Publishing before, and they were asking me to donate my time for a commercial project! I’d used MongoDB in Pentaho before, and knew it was a “NoSQL”…
After hosting a single-page site/resume on Nearly Free Speech for a while, I decided to shop around for a more reliable host so I can start blogging. I don’t have a plan to write often, but this will be a platform to share ideas once in a while. After looking around, Github Pages seemed to be one of the best options out there for a couple of reasons: It is free You can use Jekyll natively The only…