Remotely accessing your computer’s desktop, files and network from anywhere has enabled remote working (i.e. ‘work from home’) for the last several decades. Modern PCs have more than enough computational grunt for Virtual Network Computing (VNC), but where does that leave our retro computing community? [Marcio Teixeira] has it covered with MiniVNC, a brand-new remote desktop server for (very) vintage Macintosh computers.
Now before you say anything, it’s true that ChromiVNC has existed for some time, and is a pretty decent remote desktop server for old Macs. However MiniVNC has several significant advantages, most notably, MiniVNC is fully compatible with MacTCP. Apple’s very first TCP/IP networking stack landed on the Macintosh platform with System 6. As such, MiniVNC can serve up a remote desktop on some of the oldest Mac computers, including the Macintosh Plus.
It’s hard to overstate just how cool that is – the iconic Macintosh Plus was released in 1986, runs at a pedestrian 8MHz and supports a maximum of 4MB memory. While much of MiniVNC was written in C++, portions of the software (including TRLE encoding) had to be handwritten in 68K assembly language to ensure decent performance. The entire focus of MiniVNC was on performance and flexibility, with accuracy coming in second, which seems like the right decision. The odd screen artifact and missed update seems to be reasonable trade-off to get this running somewhat smoothly on a Motorola 68000 processor.
Continue reading “Remote Desktop Fun For Your Old Macintosh”
While the Google Stadia may be the latest and greatest in the realm of cloud gaming, there are plenty of other ways to experience this new style of gameplay, especially if you’re willing to go a little retro. This project, for example, takes the Atari 2600 into the cloud for a nearly-complete gaming experience that is fully hosted in a server, including the video rendering.
[Michael Kohn] created this project mostly as a way to get more familiar with Kubernetes, a piece of open-source software which helps automate and deploy container-based applications. The setup runs on two Raspberry Pi 4s which can be accessed by pointing a browser at the correct IP address on his network, or by connecting to them via VNC. From there, the emulator runs a specific game called Space Revenge, chosen for its memory requirements and its lack of encumbrance of copyrights. There are some limitations in that the emulator he’s using doesn’t implement all of the Atari controls, and that the sound isn’t available through the remote desktop setup, but it’s impressive nonetheless
[Michael] also glosses over this part, but the Atari emulator was written by him “as quickly as possible” so he could focus on the Kubernetes setup. This is impressive in its own right, and of course he goes beyond this to show exactly how to set up the cloud-based system on his GitHub page as well. He also thinks there’s potential for a system like this to run an NES setup as well. If you’re looking for something a little more modern, though, it is possible to set up a cloud-based gaming system with a Nintendo Switch as well.
Continue reading “Cloud-Based Atari Gaming”
The Android phone that you carry in your pocket is basically a small computer running Linux. So why is it so hard to get to a usable Linux environment on your phone? If you could run Linux, you could turn your cell phone into an ultra-portable laptop replacement.
Of course, the obvious approach is just to root the phone and clean-slate install a Linux distribution on it. That’s pretty extreme and, honestly, you would probably lose a lot of phone function unless you go with a Linux-specific phone like the PinePhone. However, using an installer called AnLinux, along with a terminal program and a VNC client, you can get a workable setup without nuking your phone’s OS, or even having root access. Let’s see what we can do. Continue reading “Linux Fu: The Linux Android Convergence”
Malware embedded in office documents has been a popular attack for years. Many of those attacks have been fixed, and essentially all the current attacks are unworkable when a document is opened in protected view. There are ways around this, like putting a notice at the top of a document, requesting that the user turn off protected view. [Curtis Brazzell] has been researching phishing, and how attacks can work around mitigations like protected view. He noticed that one of his booby-trapped documents phoned home before it was opened. How exactly? The preview pane.
The Windows Explorer interface has a built-in preview pane, and it helpfully supports Microsoft Office formats. The problem is that the preview isn’t generated using protected view, at least when previewing Word documents. Generating the preview is enough to trigger loading of remote content, and could feasibly be used to trigger other vulnerabilities. [Curtis] notified Microsoft about the issue, and the response was slightly disappointing. His discovery is officially considered a bug, but not a vulnerability.
Researchers at Kaspersky took a hard look at several VNC implementations, and uncovered a total of 37 CVEs so far. It seems that several VNC projects share a rather old code-base, and it contains a plethora of potential bugs. VNC should be treated similarly to RDP — don’t expose it to the internet, and don’t connect to unknown servers. The protocol wasn’t written with security in mind, and none of the implementations have been sufficiently security hardened.
Examples of flaws include: Checking that a message doesn’t overflow the buffer after having copied it into said buffer. Another code snippet reads a variable length message into a fixed length buffer without any length checks. That particular function was originally written at AT&T labs back in the late 90s, and has been copied into multiple projects since then.
There is a potential downside to open source that is highlighted here. Open source allows poorly written code to spread. This isn’t a knock against open source, but rather a warning to the reader. Just because code or a project uses an OSS license doesn’t mean it’s secure or high quality code. There are more vulnerabilities still in the process of being fixed, so watch out for the rest of this story. Continue reading “This Week In Security:Malicious Previews, VNC Vulnerabilities, Powerwall, And The 5th Amendment”
Thermal cameras are one of those tools that we all want, but just can’t justify actually buying. You don’t really know what you would do with one, and when even the cheap ones are a couple hundred dollars, it’s a bit out of the impulse buy territory. So you just keeping waiting and hoping that eventually they’ll drop to the price that you can actually own one yourself.
Well, today might be the day you were waiting for. While it might not be the prettiest build, we think you’ll agree it can’t get much easier than what [vvkuryshev] has put together. His build only has two components: a Raspberry Pi and a thermal camera module he picked up online for about $80 USD. There isn’t even any wiring involved, the camera fits right on the Pi’s GPIO header.
Of course, you probably wouldn’t be seeing this on Hackaday if all he had to do was just buy a module and solder it to the Pi’s header. As with most cheap imported gadgets, the GY-MCU90640 module that [vvkuryshev] bought came with some crusty Windows software which wasn’t going to do him much good on the Raspberry Pi. But after going back and forth a bit with the seller, he was able to get some documentation for the device that put him on the right track to writing a Python script which got it working under Linux.
The surprisingly simple Python script reads a frame from the camera four times a second over serial and run it through OpenCV. It even adds some useful data like the minimum and maximum temperatures in the frame to the top of the image. Normally the script would output to the Pi’s primary display, but if you want to use it remotely, [vvkuryshev] says he’s had pretty good luck running it over VNC. In fact, he says that with a VNC application on your phone you could even use this setup on the go, though the setup is a bit awkward for that in its current incarnation.
This isn’t the first DIY thermal camera build we’ve seen, and it isn’t even the first one we’ve seen that leveraged a commercially available imaging module. But short of buying a turn-key camera, we don’t see how it could get any easier to add heat vision to your bag of tricks.
Many years ago, in a rainy concrete jungle on the west coast of Australia, I worked for a medium-sized enterprise doing a variety of office-based tasks. Somehow, I found myself caught up in planning a product launch event outside the official remit of my position. We got through it, but not before the audiovisual (AV) setup of the event turned into one giant hack.
The initial planning stages went remarkably smoothly until less than a month out from the big day when three weeks of frantic changes and revisions to the presentation rained down. These were some of the hardest days of my working life to date, as it seemed that we would lock in a new arrangement, only to tear it up days later as some new vital criteria came to light, throwing everything back into disarray.
Things came to a head on the night before the event. Working with two different AV teams we had planned for four projection screens and five flat screen televisions spread throughout the venue and controlled from the central AV desk. But somewhere in all those changes the televisions were set up to all display a still image, or nothing at all. I needed to show different videos on each and have the ability to black them all out.
It was at this point I realized we were screwed. The production team simply didn’t have the hardware to drive another five screens, but they could source it — for the sum of $5000. Management were furious, and were under the impression, like myself that this was what we had asked and paid for already. I was at an impasse, and beginning to wonder if I’d have a job come Monday. I wandered off to a corner to curse, and more importantly, think. After all, I’m a hacker — I can get through this.
Continue reading “Hacker Heroism: Building Your Way Out Of AV Hell”
Eager to get deeper into robotics after dipping my toe in the water with my BB-8 droid, I purchased a Raspberry Pi 3 Model B. The first step was to connect to it. But while it has built-in 802.11n wireless, I at first didn’t have a wireless access point, though I eventually did get one. That meant I went through different ways of finding it and connecting to it with my desktop computer. Surely there are others seeking to do the same so let’s take a look at the secret incantations used to connect a Pi to a computer directly, and indirectly.
Continue reading “Networking: Pin The Tail On The Headless Raspberry Pi”