After three years of constant abuse, my once pristine laptop keyboard now looks like this: My options were: Ignore it. Scrape off all the paint and replace with translucent stickers. Buy a new keyboard. Even if I were happy with the aesthetic of a hard-worn keyboard (I wasn't) the flaking paint just didn't feel nice under my fingers. I also figured that scraping the paint further risked…
Continue reading →
It is hard to get people excited about VR. Even at its best, it is an isolating experience - that's why Zuck is pushing the social features of The Metaverse so hard. But, worse still, it's hard to show people what the VR experience is like. If your friend buys a 4K laser projector, you can immediately understand the appeal of the massive screen. Even if you only see the photos of it on…
Continue reading →
This is an important and informative book. Unfortunately, I did not get on with it at all. The book is an ambitious look at the philosophy of science viewed through a unique lens. What is temperature? How do we define what freezing and boiling are if we don't have a thermometer? How do you invent a thermometer without stable references? It goes right back to the beginning of science's quest to…
Continue reading →
I am (what could charitably be called) a Star Wars fanboi. When I was a nipper, there were only 3 Star Warses, and I wore out the video tapes watching them repeatedly. When the Timothy Zahn books came out, I was starved of new content and devoured them eagerly. And... that was pretty much all there was for Star Wars. Oh, sure, there were the Droid and Ewok cartoons but - although I didn't have…
Continue reading →
I've been reading various entrepreneur books and blog posts. One thing they all emphasise is that success often comes from finding a problem that you yourself would pay money to solve. And that's a problem for me. I don't tend to want to spend money solving problems. I'm not claiming to be a hermit, but I find it weird just how little cash I'm willing to part with to improve my life. So I'm…
Continue reading →
I'm just getting started with Symfony, so I'm blogging some of the weird things I'm finding. Symfony has a concept of Cache Contracts. You can call an expensive / slow / intensive operation and immediately cache the result for a specific time period. Next time you call the operation, the results are served from the cache until the expiry time has been hit. Nifty! But I couldn't get it to work. …
Continue reading →
I'm just getting started with Symfony, so I'm blogging some of the weird things I'm finding. I want to use Doctrine dbal to search a database for a partial match. For example searching for "smith" should find "blacksmith" and "smithy". I have a prepared statement like this: $queryBuilder = $conn->createQueryBuilder(); $queryBuilder ->select("whatever") ->from("table") ->where("name …
Continue reading →