• Getting screen capture working in Vivaldi on Fedora 32

    Moving from a Mac Pro back to Linux for work, I’ve come to appreciate how well things just work out of the box in macOS. Things like Web RTC display capture, which is used for sharing the screen in browser-based video conferencing sites (and I think also in Slack, since it’s using Electron and, thus, the Blink rendering engine), work flawlessly in macOS, but proved to be a bit of trouble within Linux.

    Continue reading →

  • Now that we’re allowed to venture outside a bit more, I’d like to start my lunchtime walks again. However, the sun is starting to intensify so I’ll have to start wearing a hat again. This means my headphone situation will need to change.

  • First Foray Into Home Automation

    After recently changing jobs, I’ve received a brand new Lenovo work laptop. As good as the laptop is, and it’s OK for a work laptop, it has one annoying feature. Whenever the laptop is plugged in and powered, there is a bright white LED that is always illuminated. Because I’m still working from home — and it is likely that after the pandemic I will be working from home at least a few days a week — and my desk is in my bedroom, having this white LED is no good for my sleep.

    Continue reading →

  • I wonder if Oracle’s first change to TikTok, should they ever buy it, would be to add 5 different screens asking the user to sign up to “TikTok Enterprise” whenever they want to watch a video, and the only way around each one is a tiny link at the bottom of the screen.

    Why yes, I am installing Java and MySQL.

  • On Ordered Lists in Markdown

    One of the things I like about Markdown as a form of writing online, is that ordered lists can simply begin with the prefix 1., and there is no need to update the leading number in the subsequent items. To produce the following list:

    1. First
    2. Second
    3. Third

    One only needs to write:

    1. First
    1. Second
    1. Third
    

    or:

    1. First
    2. Second
    3. Third
    

    or even:

    1. First
    3. Second
    2. Third
    

    The one downside to this approach, unfortunately, is that there is no nice way to specify what the first ordinal should be. If I were to use 3. as the prefix of the first item, the generated ordered list will always begin at 1.

    Continue reading →

  • If Google does this to the Pixel 4, just what do they expect for the Pixel 5?

    What is Google doing cancelling the Pixel 4 after 6 months? They spend $1.1 billion buying the HTC mobile division and state that they plan to start making their own mobile chips, giving the impression that they are serious about producing decent, flagship hardware for Android. And then go ahead with discontiuning their current flagship phone after 6 months?

    Look, I know from a purely economical perspective, the Pixel line makes little sense. Android is not iOS. They don’t hold the prestigious high-end of the market, with the margins that come from it. But that’s not Google’s business. They’re an advertising company first, and a search company second. So I can understanding that Android to them is more of a cost centre; the price of keeping access to their services open to mobile users.

    Continue reading →

  • John Gruber’s comments, after quoting a piece from Ars Technica on the Pixel 5 being slower than the Pixel 4:

    If all of this is true, what phone is someone supposed to buy if they want top-shelf hardware and the pure no-junk Android experience?

    If someone’s got an answer to this, please let me know.

  • You can tell it’s August in Melbourne as the days start to get noticeably longer, the blossums are in blume, and you start hearing blackbirds in the morning and evening. Lovely time of year.

  • I’m beginning to wonder, after looking at all the services in IndieWeb Site Deaths page, if people will start to be more cautious about signing up to new services, making it harder for those attempting to start sustainable businesses online.

  • Idea for MacOS: an option to install system updates on shutdown. This can replace the “in 1 hour” option. That option is not useful to me, particuarily since the notification appears at the start my session and I rather not distrupt my workflow.

  • On Suppression vs. Elimination

    It was around the beginning of June, when the number of new Covid-19 cases for Victoria were around 10-20 a day, that there was a general feeling that suppression was working and that it was time to begin opening up. I will admit I took advantage of the looser restrictions, but I always wondered whether it would be better to remain closed for a little while longer and go for elimination. This was not the official strategy though: we have testing and tracing up and running and as long as we know where the virus is, we can continue to roll-back restrictions and achieve some semblance of normalcy.

    Continue reading →

  • Remarks on Go's Error Handling using Facebook's SDK Crashes As a Framing Device

    There are new reports of Facebook’s SDK crashing apps again due to server changes. The post above links to Bugsnag article which explores the underlying cause: that’s worth a read.

    I’m going to throw a shout-out to Go’s approach to error handling here. I’m not saying that this shows the superiority of Go over Objective C: these sorts of things can happen in any language. The difference I want to highlight is that Go treats error handling as part of the standard flow of the language, rather than the exceptional flow. This forces you to think about error conditions when you’re making calls to code that can fail.

    Continue reading →

  • I’ve just realised the irony of posting a 624 word article about posting smaller articles. It was meant to be smaller, but it felt good telling the story of how I got here.

  • Signed Up To micro.blog

    I’ve signed up with micro.blog in an attempt to post to the blog more frequently than I have been. The last post I had on my existing blog was in March, and it felt to me like it was starting to become a bit negelected. I think the main reason for the delay is that I feel the need to publish long form articles, which involves a lot of work to write, review, etc. I will try to continue to do that, but I also want to start posting shorter articles more often.

    Continue reading →

  • Features From Android In iOS 14, and The Enthusiasm Gap

    John Gruber on Daring Fireball, commenting on an article about features in iOS 14 that Android had first:

    Do you get the sense that Google, company-wide, is all that interested in Android? I don’t. Both as the steward of the software platform and as the maker of Pixel hardware, it seems like Google is losing interest in Android. Flagship Android hardware makers sure are interested in Android, but they can’t move the Android developer ecosystem — only Google can.

    Continue reading →

  • YouTube Music and Uploaded Music Libraries

    Ron Amado, from Ars Technica:

    YouTube Music is really only for The Music Renter—someone who wants to pay $10 per month, every month, forever, for “Music Premium.” This fee is to buy a monthly streaming license for music you do not own, and I’d imagine a good portion of it goes to music companies. When you don’t pay this rental fee, YouTube Music feels like a demo app.

    I prefer to own my music, and I own a lot of independent music that wouldn’t be covered under this major-record-label-streaming-license anyway, so I have no interest in this service. The problem is YouTube Music also locks regular music-playback features behind this monthly rental fee, even for music you’ve uploaded to the service. The biggest offense is that you can’t use Google Cast without paying the rental fee, but when it’s music that I own and a speaker that I own, that’s really not OK. Google Music did not do this.

    Continue reading →

  • On Go’s Type Parameters Proposal

    The developers of Go have release a new draft proposal for type parameters. The biggest change is the replacing the concept of constraints, which complicated the proposal somewhat, and replaced it with interfaces to express the same thing. You can read the proposal here latest proposal here.

    I think they’re starting to reach a great balance between what currently exists in the language, and the features required to make a useful type parameter system. The use of interfaces to constrain the type, that is declare the operators that a type must implement in order to be used as a type parameter for a function or struct, makes total sense. It also makes moving to type parameters in some areas of the standard library trivial. For example, the sort.Sort function prototype:

    Continue reading →

  • Don't Get it Now

    It’s scary times at the moment. The Corona Virus (SARS-CoV-2 and Covid-19) is raging through Europe at this moment, with hundreds of people dying in Italy, Spain and France and most of the those countries, along with the US, in lock-down. The hospital system is currently not equipped to be able to handle the peak number of patients that will require intensive care: doctors from Italy, France and New York are telling stories about how they have to choose who lives and dies, and I’m fearful that we may start hearing stories like that here. There is currently no cure, nor no treatment. There’s been models indicating that even if we take steps to suppress the virus now, there will be continuous surges in outbreaks until a vaccine is ready in 12 to 18 months, suggesting that we may need to be in a state of lock-down or at the very least, rigid social distancing until August 2021 at the latest. The WHO reckons that a majority of the worlds population will get infected over the next year.

    Continue reading →

  • Reflections On Virus Scanners on Windows

    I was listening to Episode 277 of The Talk Show in which John Gruber was discussing virus scanners on Apple Macs with John Moltz. The discussion turned briefly to the state of virus scanners on Windows, and how invasive these commercial scanners were compared to Windows Defender provided by Microsoft.

    Hearing this discussion brought memories of my experience with virus scanners back in the days of Windows XP and earlier. There was no Microsoft Defender back then so we had to have a license for one of the commercial scanners that were sold to home users at the time, such as Norton AntiVirus. Given how insecure Windows was back then, it was one of the first things we had to put on a fresh install of Windows. And these things certainly slowed Windows down. But we recognised that it was necessary and after a couple of weeks, we eventually got use to it.

    Continue reading →

  • New Home of Steve Yegge's Rant About Google Services

    I’ve always enjoyed this rant from Steve Yegge about how Google differed from Amazon in how they develop their services. Not sure if it’s applicable now but it was quite interesting to hear how the two companies differed in their approach in building and releasing products. After hearing that Google+ was being shutdown, I wondered what would happen with the rant, and whether it would be lost to time. It was fortunate that someone saved it.

    Continue reading →

  • Five Common Data Stores and When to Use Them

    Very interesting post on the Shopify Engineering Blog on the difference between 5 types of data-stores available to developers, and under what circumstances they should be used.

    I find it tricky to decide on the best technology for storing data for a particular project. I guess the important thing to keep in mind is to try and figure out as best you can how the data is going to be used (i.e. queried). If you know that, the decision should be easy once you know what’s out there, and this blog post certainly helps in this regard. If you don’t, I guess the next best thing is to try to find the option that will give you the most flexibility with hopefully not too much loss in performance.

    Continue reading →