Name: Benoit Nadeau
Member since: 2002-04-03 17:23:09
Last Login: 2014-04-22 17:48:00



I am Benoit Nadeau, jr. eng. in Software Engineering,
living and working in Montreal, Canada.


Recent blog entries by benad

Raspberry Pi as a DVR

As I mentioned in a previous post, I started using my Raspberry Pi as my “always on” home server. This allowed my to place my other devices into either standby mode or shut down, and power them on using the Pi only when needed.

It just so happens that one of the devices was my Plex media server. As I already have an Antenna and a TV tuner (the HDHomeRun Extend), in addition to the “Plex Pass”, I wanted to use my Plex server to record Over The Air (OTA) TV shows, when I ran into the problem that my server was in standby most of the time and would miss its recording schedule. Sure, this is a seemingly important missing feature of the Plex DVR, but I guess I could write some scheduled script on the Pi to wake up the Plex server just before recording happens. Or what if I could just run a Plex server on the Pi just to record TV shows?

So I connected one of my spare portable USB drive to the Pi, installed a Pi version of Plex following the instructions on the dev2day site, and it worked! Sure, the primary limitation of the Pi compared to a PC, and why I won’t move my main Plex server’s content to the Pi, is its very limited CPU, to the point where all form of transcoding should be avoided. For OTA recordings, the format is typically MPEG-2 or MP4 for the video, and typically AC3 for the audio. On most devices there is a built-in AC3 decoder, including the Apple TV 4th Generation, the LG TV app and the iPad Air 2, so no transcoding was needed. On my iPhone SE the AC3 decoder didn’t work (I even tested with the VLC app), and the transcoder on the Pi was just too slow for a smooth playback. And, of course, playing back the recording from the Pi itself on HDMI is far too slow.

If you combine an antenna, the HDHomeRun Extend, maybe some network switch (depending on setup and how many spare ports you have on your router), the Rasperry Pi, a low-power portable USB drive, the Plex Pass and finally an Apple TV, you have a complete and quite low-power OTA TV DVR solution and “cutting the cord” solution. Sure, it could be cheaper if you replace the Apple TV with something else (Does the Roku have AC3 decoding? Or maybe use your “Smart TV” Plex app), but for sure the overall experience is much better than whatever crap you get with your cable provider’s DVR.

Syndicated 2018-01-09 21:59:18 from Benad's Blog

Batteries and Planned Obsolescence

There has been “mainstream news” recently about how Apple slows down phones using older batteries. I wondered how companies building electronics that have non-user-serviceable batteries should handle this, until I came over an example where a company is not only upfront about it, but integrate it into their marketing and business.

The Tile is a small Bluetooth device that would attach to some valuable to make it easier to find if it gets lost. For its use of a battery, it looks like the worst possible scenario: Their batteries cannot be recharged or replaced at all, and last about a year. Put another way, it will be automatically obsolete within a year.

At minimum, their product sheet are clear about that one-year life span, and almost try to sell it as something technically impressive (it somewhat is). In addition, near the end of that one-year period, they offer a recycling and replacement program called reTile that gives a yearly (but unspecified) rebate to replace your existing devices with new ones.

Put another way, they are quite upfront about the obsolescence of their electronic devices, and customer retention is done through yearly rebates. This is the complete opposite of what Apple did: Align both customer expectation with device repairs or replacements programs. Could the batteries be bigger? Surely. Could they be easier to replace? Surely. But if for any reason you don’t do so, at least be upfront to your customers about it. Doing so is far better than losing customer trust.

Syndicated 2017-12-29 15:59:00 from Benad's Blog

Raspberry Pi: Your Home Linux Server

Looking at the Raspberry Pi web site, you’d think that this small Linux-based computer is only useful for robotics and STEM activities for kids. And yet, for the past few months I’ve been using it as my home Linux server.

I’ve been looking for a long time for a small “embedded” server I could use as a hub for my home appliances, and something that stays on so that I can “phone home” remotely. Sure, I could recycle an old PC or laptop, but that would be too noisy or take too much electricity. Even the small Intel “compute sticks” have small fans, and it’s unclear if they can support Linux at all.

The Pi is not only cheap (about $40), but runs Linux, is completely fanless and takes little electricity. In my own tests, it takes between 240 mA (HDMI off) and 270 mA (HDMI on) on a USB 2 5.1V connection, effectively making it use less power than a sleeping Mac mini (1.22 W vs 1.25 W as per its environmental report). As a result, I leave all my devices in standby or sleep mode, and use the Pi to remotely power on devices using WoL packets.

The Pi runs off a micro SD card, making it easy to swap it out with another Linux system or backup. It supports many Linux distributions, and its main supported one, Raspbian, is based on the latest Debian 9 “stretch”. It comes built-in with Python 3 and gcc, so it is easy to install Python modules from Debian itself, or compile them using pip3. Running a small Python web service on it has been a breeze.

If you’re unfamilliar with Linux, Python or programming in general, don’t worry, the Pi was tailored for schools. It has a full graphical desktop, and several tools to learn programming like Scratch, thonny, and various STEM-related tools.

Sure, its 1 GB of RAM makes browsing the web with it slow and limited, while its shared USB 2 bandwidth makes it slow as a large file server or media center, but otherwise it can do a lot, for very cheap. If you want to learn about programming or web server development on Linux, and use that to do cool things in your house, with very little risk, the Raspbian Pi is for you.

Syndicated 2017-11-07 01:02:16 from Benad's Blog

Hello, IPv6!

A quick post to mention that this site should be available on IPv6. Its IP address is 2604:180::e8e3:93ef and it has an AAAA record for My old Apple AirPort Extreme can only use Tunnel IPv6 mode with PPPoE, but still the following curl command worked: curl -s6 "" --verbose > /dev/null. You can also enter https://[2604:180::e8e3:93ef]/ in your web browser, if you ignore the certificate warnings.

Syndicated 2017-10-12 23:04:24 from Benad's Blog

Forever 64-bit

This web site is running with Debian Linux 7, so in May it won’t be supported anymore. I started making plans to move the server to Debian 8 or 9, when I noticed that all the Debian OpenVZ templates offered by my hosting provider are 64-bit. At the time I chose a 32-bit Debian 7 VM since it has only 512 MB of RAM, but now I don’t have a choice.

Is this my last 32-bit computer? OK, maybe that depends on your definition of “computer”. My watch is 32-bit, and so I suspect whatever crap Sony used in my “smart” TV, let alone those cheap processors in my printer, router, lightbulbs… But my phone, tablet, game console, computers of all kinds, they’re all 64-bit.

I’m not entirely convinced that a 64-bit processor in a system with less than 4 GB of RAM is that useful. I’ve heard arguments that the additional virtual memory space can help security and that processing that requires lots of memory throughput is faster, but that still isn’t that much compared to doubling the size of every memory pointer. In the case of this web site, the host computer is surely already 64-bit, so there could be significant performance degradation in running a 32-bit virtual machine in it.

Maybe the jump to 64-bit represents a final generational gap that is worth jumping over earlier than later. In my lifetime, I was born during 8-bit computing, and experienced the often difficult transitions between each doubling of memory space. They were so significant that early games consoles included their “bitness” in their names, such as the TurboGrafx-16, Sega 32X and Nintendo 64.

And yet, with 64-bit, I don’t expect such a gap to 128-bit in my lifetime, if ever. This isn’t just a lack of vision, but rather plain math: 2^64 is about 18 billion GB, not of storage, but live RAM. At that point, moving directly to 128-but rather than some increment to something like 72-bit would just be wasteful.

What then should now be the measure of a “gap” in processing power? The number of cores? The transistor size? Even the clock rate was abandoned since it was an unreliable measurement of speed, and just being too technical for marketing.

Syndicated 2017-08-23 18:19:31 from Benad's Blog

135 older entries...


benad certified others as follows:

  • benad certified benad as Journeyer
  • benad certified llasram as Journeyer
  • benad certified shlomif as Journeyer

Others have certified benad as follows:

  • benad certified benad as Journeyer
  • llasram certified benad as Journeyer
  • pasky certified benad as Apprentice
  • badvogato certified benad as Apprentice

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page