Subscribe: The Tao of Mac
Added By: Feedage Forager Feedage Grade B rated
Language: English
apple  bit  clojure  compiles  container  good  hardware  lisp  mmc sdhci  much  past years  plex  running  sdhci controller  thing  time  years 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: The Tao of Mac

The Tao of Mac

Tales from the Tech Trenches

Updated: 2017-12-09T09:28:00+00:00




This is a stub while I put together some more resources, but for the moment here are some LISP/Scheme implementations I’m keeping an eye on (besides Clojure). Category Date Link Notes Interpreters Dec’17 lumen A hosted LISP for Lua and Javascript May’16 uLisp An interpreter for the Arduino Oct’14 pixie An RPython-based lightweight LISP Sep’14 IronScheme Runs atop the .NET DLR glisp An embeddable Go interpreter that compiles LISP to bytecode Common Lisp McCLIM A GUI toolkit for Common Lisp Jul’17 darkmatter A notebook-style LISP environment Sep ‘14’ SICL A modular implementation of Common Lisp for mixing and matching. Jun ’14 Clozure CL Fast, runs on ARM, compiles down to native code, uses threads Jul’15 Ceramic An Electron wrapper for shipping desktop applications Compilers Jun’16 Wasp LISP an interesting twist on special-purpose LISPs Jan’15 chlorine A subset of Clojure that compiles to JavaScript cormanlisp For Windows Sep 6 rhine A Clojure-inspired LISP that targets LLVM Jun’14 gisp Generates Go code via AST mapping psota A Clojure compiler that targets the PyPy JIT May’14 l2l A compiler to Lua Hy Compiles down to Python AST, with full interop Pharen Compiles to PHP, of all things… Wisp Compiles to JavaScript, with Clojure syntax [...]

The Seven Deadly Sins of AI Predictions



Some long-overdue common sense. Since I work in the field, I am all too familiar with the unrealistic expectations people have towards this new wave of hype–but the benefits are real, if you can articulate the problem domain correctly.

Vodafone Portugal agrees carrier billing with Apple



I missed the original announcement a couple of days ago, but this was something we (when I was at Vodafone) wanted to do from the beginning. It’s both amazing that it took this long and gratifying that my former colleagues finally got it settled.

Rocket Jump: Quake and the Golden Age of First-Person Shooters



I hope this comes out in e-book form in some fashion - it makes for fascinating reading, and I’m pretty sure there’s a market for it.

Canonical and Rancher join forces



Well, this is a great surprise. Canonical was lacking a “modern” container orchestrator, and Rancher still has the best container management user experience out there, so I’m glad they’re pooling together their efforts.

Big Rock


A short but memorable visit to the Casa da Música in Porto.

Farewell, iTunes, Almost


For the past seven years or so, and despite Apple‘s continued neglect of Home Sharing, all our home media was served by iTunes running on a dynasty of Mac minis sitting in a closet (the last being a 2008 Core Duo running Lion). A few months ago I decided to put an end to that and started trying out Plex on a Raspberry Pi 3, belatedly realizing what I’ve been missing out on all these years. My setup is trivial: The Synology NAS holds all the media, and I get to it via a front-end machine running Plex, which handles all the indexing, transcoding and navigation. This weekend I replaced the Pi I have been using with something a little beefier: I got a white-label Z83ii mini-PC from eBay, which sports an Intel Atom x5-Z8350–a CPU rather ironically pitched as being for “next generation IoT Edge Devices”. The Pi 3 sitting on top of the Z83ii For less than $70 (which is, all things considered, less than twice the cost of a Pi 3 plus a nice box and 2A PSU), I get what is an effective 2x speedup when compared to the Pi 3, which translates into much smoother media transcoding for the Chromecast dongles I’m using at the moment (and the ability to use more than one at a time). I picked it because it It comes with 32GB of EMMC storage, 2GB of RAM, and a fair selection of IO ports that make it ideal for stuff like digital signage. The Intel 400 integrated graphics are serviceable, but in truth I’m not likely to make much use of anything else except the Gigabit Ethernet port. Wi-Fi and Bluetooth Well, almost. I’d love to be able to use Wi-Fi and Bluetooth on this as well, but they’re not detected by the current mainline kernel and reading up on other cheap z83-like machines that use the AP6234 chipset (which is what it’s supposed to have), I surmise the devices’ power_state defaults to off. In a typical approach of low-end Chinese knock-offs, the BIOS lists two other Broadcom combo chipsets (AP6255 as the default and AP6212 as a second option), but neither comes up in lspci and dmesg isn’t very helpful, although these entries intrigue me: # dmesg | grep ACPI | grep mmc [ 2.736805] mmc0: SDHCI controller on ACPI [80860F14:00] using ADMA [ 2.741507] mmc1: SDHCI controller on ACPI [80860F14:01] using ADMA [ 2.747434] mmc2: SDHCI controller on ACPI [80860F14:03] using ADMA I’ll keep poking at this, mostly because I’m interested in getting Bluetooth audio to work, but the gist of this setup is doing transcoding, so let’s get to it. Docker All The Things The Z83ii shipped with Windows 10 Home (which was actually rather nice), but I hit F7 upon boot and re-imaged it from a USB key with Ubuntu Server 16.04.3, which can deal with the UEFI peculiarities of this box. I then set the BIOS to power it on automatically, and was good to go. As a side benefit from switching to Intel, I no longer need to use my custom Plex container–I just built a docker-compose file to run the official container image along with a DAAP server for non-UPnP clients, pointed the whole thing at my NAS via SMB, and called it a day: version: '3' services: plex: image: plexinc/pms-docker:latest container_name: plex restart: always network_mode: "host" environment: - PLEX_CLAIM="${PLEX_TOKEN}" - ADVERTISE_IP="http://${HOSTNAME}:32400/" - PLEX_UID=${USER_ID} - PLEX_GID=${GROUP_ID} volumes: - /etc/localtime:/etc/localtime:ro - /dev/rtc:/dev/rtc:ro - ./config/plex:/config - /tmp/transcode/:/transcode - data:/rw/media - video:/ro/video - music:/ro/music daapd: image: linuxserver/daapd:latest container_name: daapd restart: always network_mode: "host" environment: - PUID=${USER_ID} - PGID=${GROUP_ID} volumes: - /etc/localtime:/etc/localtime:ro - ./config/daapd:/config [...]

The Smallest Mac Ever



This is a brilliant piece of hardware hacking, and the video makes for fascinating viewing.

Jeroen’s website is also worth looking into if, like me, you’re into tiny hardware.

macOS High Sierra passwordless root account activation



The fact that this has been out there in the wild for weeks (and apparently exploitable via Apple Remote Desktop, too) is amazing, and further damning evidence that Apple’s QA has been slipping beneath any sort of tolerable threshold.

The scheduled release approach (whereby software is shipped in lockstep with increasingly predictable hardware launches) has been steadily eroding quality across the board (and iOS 11.0 was a great example of that), but macOS seems to be falling into full-fledged neglect, and as a primarily UNIX user, I’m flabbergasted this kind of thing is even possible in 2017.

Good thing that I have great options, including (surprisingly enough) the ability to work sanely in Windows.

Update: Well, that was quick. Here’s the KB article for the mandatory update that’s been issued to fix this (well, almost), and… Here’s how to fix file sharing if the update breaks it for you, which is utterly ridiculous.

A Long-Term Review of the BQ Prusa i3 Hephestos


Rainy days make for excellent times to revisit hobbies, and yesterday I took the time to do some more hardware stuff–but this time, it was a bit more physical, since I decided to tweak my 3D printing setup a bit and print out a couple of pieces I needed. After three years and a bit of a rocky start (some initial teething troubles and replacement of a few parts), I still think buying the BQ Prusa i3 Hephestos was a good deal–I had lots of fun putting it together, and it’s turned out to be extremely reliable, provides good enough print quality for my needs and has been extremely easy to maintain. Regular calibration and a few spots of machine oil have been more than enough to keep it going, and the only fault I can find is that it is a bit slow compared to some of the new designs that have been coming out1. As to modding it, I haven’t felt the need to add a heated bed, extra nozzles or much of any kind of add-ons except a set of rubber feet, although I do have far more spools of PLA filament than I could possibly need. The one little annoyance I have is that mounting the spool above the printer makes it rattle a bit on some prints and may contribute to added vibration, but the frame is sturdy and I made a point of tightly fastening it, so print quality appears not to suffer much. Being an open design, the printer gathers some dust, but maintenance is trivial and, again, it is quite resilient when assembled properly, so you can neglect it to a fair degree–mine has been sitting in the open atop a small cart for the past three years, and still works fine. The Hephestos, sitting on the wheeled cart we re-purposed for it,with the Pi 3 powering a small spotlight and a repurposed webcam. Over the years, I have printed a variety of small enclosures and assorted bits and pieces for hardware projects (not necessarily electronics ones), and improved the results over time by learning how to calibrate various aspects and doing a fair bit of post-printing finishing (sanding and buffing does wonders for the finished product). Printing and finishing time, in fact, are the main caveats of 3D printing as a hobby–I will happily spend a few hours designing a holder or enclosure, but having to run the printer overnight to hold the results is still a bit of a put-off, even if it is rather rewarding to hand-polish pieces to perfection. Software & Upgrades Most of my designs are done in OpenSCAD, for the simple reason that it is much easier to use with version control. Although I am an old hand at 3D modeling (having done quite a bit of it during college) I appreciate the power and simplicity of its declarative approach, and it’s much faster than Blender for me. It also hasn’t had any breaking changes for years, which makes it the perfect tool for keeping designs around. But the rest of my stack needed an upgrade–to turn models into G-code you need a slicer, and I’ve been using Cura since the very beginning back at SAPO, so I went and got the latest version to find out that sometime in the past two years it started including a Hephestos profile. Next up was OctoPi, which I’ve been using from the start. I’ve been using it to run OctoPrint to manage the printer remotely on an original Series B Raspberry Pi with a Pi camera mounted atop its casing, but this configuration has been showing its age–the original Pi is more than a tad slow, and in order to run a few of the newest plugins (like this neat mobile UI and many of the new features I really needed to upgrade the whole thing, so I (somewhat guiltily2) bumped the hardware to a Pi 3, and in the process I got rid of the ancient Wi-Fi dongle I was using and got extra USB slots for an IKEA JANSJÖ USB lamp and an easier-to-position Logitech USB webcam. However[...]

Intel CPUs with integrated AMD graphics



Ok, this is completely off the charts in my book of unlikely partnerships.

Although details are scarce, I keep thinking about Apple’s strange fascination for AMD graphics and wondering if they’ll be the ones using this combo.

Firefox Quantum



Cursory testing on my 7-year-old Mac mini was OK in terms of speed, but the acid test (running Slack) still shows around 700MB of RAM in use by Firefox and worker processes—slightly less than Chrome, but almost twice as much as Safari (which was still leaner and faster), and there were some graphical glitches. Running it in Windows was OK, but it’s harder to make comparisons since my usage pattern there is so different.

Another thing that worried me was that Firefox seems to have a larger energy footprint and was still claiming a significant percentage of CPU cycles (5-10%) while out of focus and “idle”.

So, in a nutshell, good move, but still needs improvement—and I have so much personal investment in the Google ecosystem that switching away from Chrome’s identity integration and development tools will be very hard.

The best laptop ever made



Marco being Marco, quintessentially so.

But he does (indirectly) raise a lot of good points regarding the (un)suitability of the current MacBook range and the way Apple keeps zigging instead of zagging on practicality vs style—after all, you can only shove so much design language into a product before it turns into a spherical cow of sorts.