Change Desktop Environments On… IOS?

While Apple’s modern operating systems may seem like they exist independently of the rest of the computing world, they are actually close cousins of modern versions of Linux. The primary link between the two is that Apple’s offerings are Unix-based and even though Linux isn’t Unix in the strict sense, it’s built to be extremely Unix-like. Plenty of Linux software is POSIX-compliant, meaning it is effectively compatible with true Unix. But what can we do with that information? Well, to start, we can run Linux desktop environments on top of an iOS install on your favorite iPhone or iPad.

To be sure, we will be filing this hack in the “because you can” category. [Torrekie], the creator of this project, has plenty of builds (Google translate from Chinese) where the boundaries between things like Linux and Unix are either blurred or nonexistant. In this particular project, a jailbroken iOS device is essentially gifted a ported version of XFCE which is able to run fairly well on iOS thanks to its compatibility with Unix environments. Details on how this was accomplished are sparse without a full investigation of the source code right now, but you can head over to the repository if you are curious enough to try this for yourself. [Torrekie] does note that this will only work with iOS devices that have been jailbroken using the “unc0ver” jailbreak only though.

To be sure, the relationship between modern Apple operating systems and Linux is about as close as modern Porsches and the Volkswagen Beetle, but either way the two are close enough to get interesting and impressive mashups like this project. For now only time will tell if using XFCE on iOS will be useful for anyone, but other projects bridging the gap between Linux and Apple are sure to be more immediately fruitful.

Linux: Coming Soon To M1 Macbooks

Regardless of the chipset or original intended use of any computer system, someone somewhere is going to want to try and run Linux on it. And why not? Linux is versatile and free to use as well as open-source, so it’s quite capable of running on almost anything. Of course, it takes a little while for the Linux folk to port the software to brand new hardware, but it’s virtually guaranteed that it’s only a matter of time before Linux is running on even the most locked-down of hardware, like the M1 MacBooks.

[Hector Martin] aka [marcan] has been hard at work getting Linux up and running on the latest Apple offerings with their ARM-based M1 processors. Since these are completely divorced from their x86 product line the process had to be worked from the ground up which included both booting Linux and modifying the kernel to include support for the hardware. [marcan] has a lot of hardware working such as the USB ports and the SD card slot, and notes that his setup is even compatible with the webcam notch included in the latest batch of MacBooks.

There are a few things still missing. He’s running Arch and doesn’t have the GPU configured yet, so all of the graphics are rendered in software. But he has put the computer through the wringer including running some computationally-intense software for nearly a full day before realizing that the machine wasn’t charging, which did not make much difference in performance. These machines are indeed quite capable with their new ARM chipsets and hopefully his work going forward will bring Linux to the rest of us who still use Macs even if they don’t want to run macOS.

FIR Filters For Xilinx

Digital filters are always an interesting topic, and they are especially attractive with FPGAs. [Pabolo] has been working with them in a series of blog posts. The latest covers an 8th order FIR filter in Verilog.  He covers some math, which you can find in many places, but he also shows how an implementation maps to DSP slices in a device. Then to reduce the number of slices, he illustrates folding which trades delay time for slice usage.

Folding takes a multi-stage parallel multiplication and breaks it into fewer multiplications done over a longer period of time. This reuses slices to reduce the number required for high-order filters.

Continue reading “FIR Filters For Xilinx”

Apple Gets CP/M

In case you wanted to run WordStar on your Mac, [Tom Harte] offers CP/M for OS/X, and it looks like it would be a lot of fun. Of course you might be happier running Zork or Turbo Pascal, and you can do that, too.

There are plenty of Z80 emulators that can run CP/M, but what we found most interesting about this one is that it is written in Objective C, a language with a deep history in the Mac and NeXT worlds.

Continue reading “Apple Gets CP/M”

Hardware Keymapper Routes Through Raspberry Pi

There are a lot of keyboards to choose from, and a quick trip through some of the forums will quickly show you how fanatical some people can be about very specific styles or switches. [Crdotson] doesn’t seem to be too far down the rabbit hole in that regard, but he does have a keyboard that he really likes despite one small quirk: it’s built for Mac, and some of the modifier keys aren’t laid out correctly for Windows. Since Windows has limited (and poor) options for software keymapping, he took an alternative route and built a keymapper in hardware instead.

The build uses a Raspberry Pi as a go-between from the keyboard to his computer. The Pi watches the USB bus using usbmon, which allows inspection of the packets and can see which keys have been pressed. It then passes those keypresses through to the computer. His only modification to the keyboard mapping is to swap the Alt and Super (Windows) keys for his keyboard of choice, although using this software would allow any other changes to be made as well. Latency is only on the order of a few microseconds, which is not noticeable for normal use cases.

While we have seen plenty of other builds around that can map keyboards in plenty of custom ways, if you don’t have the required hardware for a bespoke solution it’s much more likely that there’s a Raspberry Pi laying around that can do the job instead. There are a few issues with the build that [crdotson] is planning to tackle, though, such as unplugging the device while a key is being pressed, which perpetually sends that keystroke to the computer without stopping. But for now it’s a workable solution for his problem.

Should You Build For Windows, Mac, IOS, Android, Or Linux? Yes!

The holy grail of computer languages is to write code once and have it deploy effortlessly everywhere. Java likes to take credit for the idea, but UCSD P-Code was way before that and you could argue that mainframes had I/O abstraction like Fortran unit numbers even earlier. More modern efforts include Qt, GTK, and other things. Naturally, all of these fall short in some way. Now Google enters the fray with Flutter.

Flutter isn’t new, but in the past, it only handled Android and iOS. Now it can target desktop platforms and can even produce JavaScript. We haven’t played with the system enough to say how successful it is, but you can try it in your browser if you want some first-hand experience.

Continue reading “Should You Build For Windows, Mac, IOS, Android, Or Linux? Yes!”

Tiny Raspberry Pi Mac Nails The Apple Aesthetic

We know that some in the audience will take issue with calling a Raspberry Pi in a 3D-printed case the “World’s Smallest iMac”, but you’ve got to admit, [Michael Pick] has certainly done a good job recreating the sleek look of the real hardware. While there might not be any Cupertino wizardry under all that PLA, it does have a properly themed user interface and the general aversion to external ports and wires that you’d expect to see on an Apple desktop machine.

The clean lines of this build are made possible in large part by the LCD itself. Designed specifically for the Raspberry Pi, it offers mounting stand-offs on the rear, integrated speakers, a dedicated 5 V power connection, and a FFC in place of the traditional HDMI cable. All that allows the Pi to sit neatly on the back of the panel without the normal assortment of awkward cables and adapters going in every direction. Even if you’re not in the market for a miniature Macintosh, you may want to keep this display in mind for your future Pi hacking needs.

Well, that’s one way to do it.

Despite this clean installation, the diminutive Raspberry Pi was still a bit too thick to fit inside the 3D-printed shell [Michael] designed. So he slimmed it down in a somewhat unconventional, but admittedly expedient, way. With a rotary tool and a steady hand, he simply cut the double stacked USB ports in half. With no need for Ethernet in this build, he bisected the RJ-45 connector as well. We expect some groans in the comments about this one, but it’s hard to argue that this isn’t a hack in both the literal and figurative sense.

We really appreciate the small details on this build, from the relocated USB connectors to the vent holes that double as access to the LCDs controls. [Michael] went all out, even going so far as to print a little insert for the iconic Macintosh logo on the front of the machine. Though given the impressive work he put into his miniature “gaming PC” a couple months back, it should come as no surprise; clearly this is a man who takes his tiny computers very seriously.

Continue reading “Tiny Raspberry Pi Mac Nails The Apple Aesthetic”