I was going to blog about the software I’m currently writing, but that’s not happening, yet (although it’s been beta-test-ready for about a week and, given that I’ve made just under 100 subversion larger-than-ideal check-ins in the last seven days, it’s been getting refinements literally almost by the hour). Instead, I’m going to share a little trick I came up with to do atomic conditional insertions into a database without using triggers or conflicts. Indeed, I’m using little old sqlite3, so there’s nothing fancy going on in this database at all. Sure, the software I’m currently working on is probably going to be open sourced at some point, but this would just get buried in there.
I was going to write a proper blog post today, but I got stuck in a good old fashioned TTC delay for about forty minutes this morning (this also means I haven’t proofread this post nor thought too much about the topic). Some poor folks that left later than I may have been held up by multiple delays. Indeed, a single delay on the TTC seems to invite further delays. I.e., though long delays aren’t (that) frequent, once there is one delay, multiple long delays seem to crop up. If the TTC has statistics on the number of chains of delays that appear within half an hour of each other, I’d love to see if I’m just experiencing a memory bias (also likely). However, I’m not here to rant today, but to put some thoughts down I had during my bonus (cramped) quiet time today.
Continue reading “Fault tolerant… public transit”
About a month ago, I switched cellular service providers from Rogers to WIND Mobile. Aside from the abysmal quality of the phone or more precisely, the Android operating system, I purchased for use on the new network, the cellular network infrastructure requires some work. Indeed, WIND Mobile is well aware of this problem and has a page called Network Builder to report coverage issues. It might be better if this process could be automated.
The Bill and Melinda Gates Foundation is a charitable organization that has laudable goals including improving healthcare and reducing extreme poverty. One of its current fights recently suffered a setback when it was announced that a polio outbreak had struck Tajikistan, a place that had previously beaten back the disease. With an infusion over the last two years of more than half a billion dollars and a world-wide expense of nearly $10 billion USD, polio has yet to be beaten. Success in this campaign is far from guaranteed; so far, humanity has managed to use its skills to eradicate exactly one disease: smallpox. Regardless of whether we manage to vanquish polio, we will certainly face other diseases. Is there are more sure-fire way of saving lives? Perhaps even one that could also help reduce poverty at the same time?
I don’t know how many of you own a digital camera, but they sure seem to come with a lot of “scene modes” nowadays. You know the ones: portrait, dusk, backlit, night, sports, landscape, macro, indoor/party, fireworks, snow, beach… but what if I want a night photo of fireworks at dusk on a beach such as seen in the Beaches in Toronto on Canada Day (assuming nobody is holding a strike)? Okay, Mr. Smartypants, so the answer is you probably want “fireworks” mode, but while most people may find the decisions made by the fully automatic settings to be sufficient, sometimes additional human intelligence is required.
If, say, your entire office burns down due to an electrical fire from a photocopier next door, off-site backups are worth their weight in platinum. If you don’t believe me, just look up how much professional data recovery services cost and compare that to the weight of a hard drive or fifty. Some people use e-mail as a back-up system, but it isn’t really appealing as a long-term, scalable solution. Amazon’s S3 provides variable pricing and is scalable, but may be overly complicated for backing up small amounts of data. Some off-site back-up services such as Backblaze are great deals for people with large storage needs1.
The following post is a collection of excerpts from a draft of my Ph.D. depth paper, less citations, which exist in the original document.
Few computer systems spend all of their time at full utilization; even in always-on situations such as servers, a properly provisioned system will be spend almost all of its time at less than 50% utilization. Since most personal computers remain idle for extended periods of time1, consumers should be considering a computer’s idle power draw when purchasing a computer. However, performance per watt is often the number that is compared.
- In the context of this document, idle systems are ones that are on but performing no useful work. [↩]