Have you ever walked into an arcade and marveled at the flashing lights, the sound effects, and the seemingly magical way that the machines work? If so, you’re not alone. For many of us, arcade machines are the epitome of technology working well – they’re fun, immersive, and they feel almost like magic.

But what makes arcade machines feel like magic? Part of it is the sheer amount of technology that goes into them. From the complex algorithms that drive the games to the intricate mechanics that control the physical movements of the machines, there’s a lot happening behind the scenes.

But the real magic comes from how seamlessly all of this technology comes together. When you drop a coin into an arcade machine and start playing, you’re not thinking about the millions of lines of code that are running in the background. You’re not worried about the intricate mechanics that are keeping the machine running smoothly. All you’re thinking about is the game itself – and that’s exactly how it should be.

The fact that we can enjoy arcade machines without having to think about the underlying technology is a testament to how well that technology is working. It’s the same way with any other technology that we use on a daily basis – when it works well, we don’t even realize it’s there.

Of course, this doesn’t mean that there aren’t challenges when it comes to technology. There are always going to be bugs, glitches, and other issues that need to be addressed. But when technology is working well, it’s indistinguishable from magic – and that’s something we should all be grateful for.

Emulating retro games on a Raspberry Pi and using an FPGA like the MiSTer both have their advantages and disadvantages. In this blog post, we’ll explore the differences between the two approaches and why the MiSTer FPGA may be the better choice for some users.

One major difference between the Raspberry Pi and the MiSTer is the hardware they use to run the emulators. The Raspberry Pi is a small, low-cost computer that uses a traditional CPU (central processing unit) to run emulators and play games. The MiSTer, on the other hand, uses an FPGA (field-programmable gate array) to recreate the hardware of classic gaming systems like the Nintendo Entertainment System (NES) or Sega Genesis.

One advantage of using an FPGA like the MiSTer is that it can be more accurate and faithful to the original hardware. Because the MiSTer uses actual hardware components to recreate the original system, it can more accurately replicate the behavior and performance of the original hardware. This can be especially important for users who are looking to play games as they were originally intended, without any compromises in performance.

Another advantage of the MiSTer is that it can be more easily expanded and customized. The FPGA used in the MiSTer can be reprogrammed to add new features and support for additional systems, making it a more flexible platform for retro gaming. In contrast, the Raspberry Pi is a more closed system that can be more difficult to modify and expand.

However, the Raspberry Pi does have some advantages over the MiSTer. One major advantage is that it is significantly cheaper and easier to set up. The Raspberry Pi is a complete computer with a variety of ports and connectivity options, making it a convenient choice for users who want a quick and easy way to start playing retro games. In contrast, the MiSTer requires a separate computer monitor and input devices like a keyboard or game controller, and may require additional hardware like a USB hub or audio amplifier.

Another advantage of the Raspberry Pi is that it is more widely supported and has a larger community of users. The Raspberry Pi is a well-established platform with a large user base, which means there are a wide variety of resources available for users who need help setting up or troubleshooting their systems. In contrast, the MiSTer is a more niche platform with a smaller community of users, which may make it more difficult to find help and support when needed.

Ultimately, the choice between the Raspberry Pi and the MiSTer will depend on the individual needs and preferences of the user. The Raspberry Pi is a more affordable and convenient choice for users who want a quick and easy way to start playing retro games, while the MiSTer is a more accurate and customizable platform that may be better suited for users who want a more faithful recreation of the original hardware.

The Motorola 68000 is a microprocessor that was widely used in a variety of computer systems and game consoles in the 1980s and 1990s. Some of the most popular systems that used the 68000 include the Apple Macintosh, the Commodore Amiga, and the Sega Genesis.

As a result of its widespread use, the 68000 has become a popular target for emulation on FPGAs (Field Programmable Gate Arrays). One way that developers have been able to recreate these systems on an FPGA is by reverse engineering the chip. This involves studying the chip’s hardware and software in detail to understand how it works and how it can be accurately represented on an FPGA.

To do this, developers often use programming languages such as Verilog and VHDL (VHSIC Hardware Description Language) to write code that accurately emulates the behavior of the Motorola 68000. These languages are commonly used to design and implement digital circuits on FPGAs, and they provide a powerful and flexible way to recreate the behavior of other chips and systems.

Once the code has been written, it can be compiled and loaded onto an FPGA like the Terasic DE-10 Nano, which is used in the MiSTer FPGA platform. The DE-10 Nano is a compact and powerful FPGA that is well-suited for emulation, and it has been used to recreate a wide range of computer systems and game consoles with a high level of accuracy.

Overall, the use of Verilog and VHDL to reverse engineer chips like the Motorola 68000 has made it possible to recreate popular systems like the Apple Macintosh, the Commodore Amiga, and the Sega Genesis on FPGAs like the Terasic DE-10 Nano with accuracy that is indistinguishable from the original hardware. This has allowed developers to recreate these classic systems and give fans of these systems a chance to experience them in a new and exciting way.

As technology advances, many of the integrated circuits (ICs) that were once used in classic arcade games are no longer being produced. This can make it difficult for enthusiasts and collectors to maintain and repair these beloved machines, as they may be unable to find replacement parts.

Enter Mister FPGA. Based on the Terasic DE-10 Nano, this field-programmable gate array (FPGA) is designed to replicate the functionality of discontinued ICs. This means that, with the help of MiSTer cores written using Verilog VHDL, it is possible to keep classic arcade games running without having to rely on scarce and often expensive original ICs.

But the importance of MiSTer goes beyond just preserving the classic arcade game experience. FPGAs can also be used to replicate the functionality of ICs that are no longer being produced in a variety of other industries, including aerospace, defense, and medical devices. This allows businesses to continue using and maintaining equipment that would otherwise be difficult or impossible to repair.

In short, MiSTer FPGA is an essential resource for those looking to keep classic arcade games and other equipment running, and for preserving our technological history. Without projects like MiSTer, many of the ICs that were once integral to our daily lives would be lost to time.

The Commodore Amiga is a beloved and iconic personal computer that was first released in 1985. It was known for its advanced graphics and sound capabilities, which made it a popular choice for gaming, music, and video production. In recent years, there has been a resurgence of interest in the Amiga, with many enthusiasts looking for ways to experience the computer’s software and games on modern hardware.

One solution that has gained popularity among Amiga fans is the MisterFPGA, a compact and affordable FPGA-based device that can be used to emulate the Amiga. An FPGA, or Field Programmable Gate Array, is a type of integrated circuit that can be programmed to mimic the behavior of other digital circuits. This makes it ideal for emulating older hardware, such as the Amiga, because it allows the user to run original Amiga software without the need for a physical Amiga computer.

There are several reasons why the MisterFPGA is a great option for emulating the Commodore Amiga. First, it is relatively small and portable, making it easy to take with you and use on the go. This is a big advantage over other emulation solutions, which can require a full-sized desktop computer or complex setup. The MisterFPGA is also affordable, with a price point that is accessible to most Amiga fans.

Another advantage of the MisterFPGA is its compatibility with a wide range of Amiga models and software. It is capable of emulating the Amiga 500, Amiga 1200, and Amiga 4000, as well as most of the popular Amiga software and games. This means that users can experience a wide range of Amiga software on the MisterFPGA, including classics like “Lemmings,” “Shadow of the Beast,” and “Turrican.”

In addition to its compatibility and affordability, the MisterFPGA also offers excellent performance. Its FPGA-based architecture allows it to run Amiga software at full speed, without any slowdowns or lag. This makes it a great option for playing games or using software that requires fast performance, such as music production or video editing.

Overall, the MisterFPGA is an excellent choice for anyone looking to experience the Commodore Amiga on modern hardware. Its compatibility, affordability, portability, and performance make it a great option for Amiga fans of all levels, from casual users to hardcore enthusiasts. If you’re looking to relive the glory days of the Amiga, the MisterFPGA is a great way to do it.

I’ve struggled with some shit in my day but I have officially thrown in the hat when it comes to installing Linux Mint 15. First off, it won’t boot. Not just on my physical desktop, but even as a virtual system. I wasted so much of my time trying to track down the issues. First I thought UNetbootin was to blame, so I switched apps that write .iso’s to USB. Still no go. I finally discovered the issue on my desktop. I have a Intel i3 Ivy Bridge CPU with Intel HD graphics. The loader was using some invalid mode my monitor couldn’t support so after the boot my screen went and stayed blank until I found a trick. i915.modeline=0. That’s great you can install Linux Mint, hurray, but guess what. The damn thing still won’t boot and using i915.modeline=0 in GRUB won’t fix it. Screw it I give up trying to make it work right as dual-boot, so I’ll run it in a virtual machine. WRONG. The damn thing STILL WON’T BOOT.

Put the brakes on. This is a distro targeted at end users. Those end users have desktop systems, laptops, lots of different hardware to support right? So whats the issue here Linux Mint? Is my hardware really that unique? Every other distro boots and runs great, but it so happens the top ranked distro on distrowatch is more hassle than its worth on my hardware – or virtualized hardware for that matter.

I’m back to the drawing board. Since I primarily use CentOS or Debian (now I know why..), I’m going to use one of them as my desktop. Its been a long time since I’ve fired up Debian so I’m thinking I’ll be investing more time in that relationship, so stay tuned.

For many years now distrowatch has been my go-to for keeping up to date with Linux distributions. Each time I visit I find a new distribution that has different goals. For example, some distros try to include only software that is free, or only released under a certain license type. Others aim for minimalism, only including enough software to boot and provide a shell. You can also drill down and figure out exactly what version of a software package comes pre-installed. One other neat thing distrowatch does is keep a ‘Hit Page Ranking’ for all distributions. This essentially gives you an idea of a distro’s popularity among the community.

Dominating that Hit Page Ranking for a long time now is a distro called ‘Linux Mint‘. I usually stick to what I know best – RHEL, CentOS, and Debian. But the goals of Linux Mint are much different than what someone wanting to deploy an enterprise class server would want. Linux Mint is aimed providing the best desktop experience, one that can replace a Windows based system. It aims to be comfortable, easy to use, and ‘just work’ as you come to expect with Windows based systems. All of the multimedia codecs you might spend extra time installing on other Linux based distributions are already there with Linux Mint.

So just how useable is it?

I’ve been a Linux sysadmin for over 13 years and have worked in IT for over 18 and I have a confession to make. I use a Windows based desktop and always have. Why you ask? Becuase when I need to open that Word doc or edit an Excel spreadsheet, I know that Windows is going to work (well, 90% of the time..). When I need to experiment with a new piece of software I know that the way I download / install / and run it is going to work exactly the same way for me as it is a co-worker. In otherwords, I don’t have time to play games fiddling with missing packages, dependencies, or permissions. I have a job to do supporting Unix and Linux servers in an enterprise that require 99.99% uptime and as ironic as it sounds I do that with Windows.

I decided that really no longer fits with my philosophy. Microsoft is evil, proprietary, and failing. Linux is taking over everything including the Android smartphone market. I own, use, and love my Linux based Chromebook. Its time to eat my own dog food and replace Windows on my desktop for good.

If the goals of Linux Mint are to be a true desktop replacement then I should have no trouble switching to it from a Windows based system. I’m going to take the challenge and spend a full month using only Linux Mint. Just to be safe I’m going to leave Windows installed on my dual-boot system, but it won’t be the default. I’ll be providing updates as I go – things that an everyday Windows user would try to do and how those tasks can be accomplished in Mint, alternative software choices for Linux, and general impressions and observations – from a Linux sysadmin standpoint.

Are you an ex Windows user? What is your desktop distribution and why? When did you make the switch? Leave your comments and stay tuned for updates on my experiment.

After setting up my automated upload to Dropbox cronjob in my last post I realized the timezone on my server was set to MSD or ‘Moscow Daylight Time’. That was causing some issues with my job since it was running at 5PM CDT instead of 2AM CDT.

[root@alderaan ~]# date
 Sat Jul 20 19:05:45 MSD 2013

No biggie. On a CentOS based system your timezone is determined by a symlink from /etc/localtime to the timezone data file appropriate for your region. Since my DotVPS server is hosted out of Chicago (CDT), you can change your timezone by creating a new symlink:

[root@alderaan ~]# ln -sf /usr/share/zoneinfo/America/Chicago /etc/localtime

Then check to make sure it worked:

[root@alderaan ~]# date
 Sat Jul 20 10:09:25 CDT 2013

Now that I have invested some time and content into my blog I decided to get serious about making sure I have a good backup system. One of the primary reasons I use Dropbox is because of its awesome cross-platform support for Windows, Mac, and Linux so I figured some genius must have already figured out how to make backups work from Linux.

I found a script called Dropbox Uploader hosted on GitHub that appeared to be exactly what I needed. Follow the instructions on the project’s site to either git clone the repo or simply (as I did) use curl to pull it down to your webserver. Once you execute the script for the first time you will be prompted to access a couple of URL’s, setup a new Dropbox app and provide authorization.

Once you have that working you can upload and download anything from the command line. You should test to make sure its working at this point since from here on we’re focusing on automation.

I created a script to prepare my backup before invoking the Dropbox uploader then clean it all up when its done. Its really a hack, there’s no error checking or backup file rotation. It will continue to backup until you run out of space on your Dropbox so keep that in mind.

Change the 3 bolded values to match your site:

create_site_backup.sh

#!/bin/bash

#Setup Environment

BACKUP_SRC=”/var/www/SITENAME
BACKUP_DST=”/tmp”
MYSQL_SERVER=”127.0.0.1″
MYSQL_USER=”root
MYSQL_PASS=”PASSWORD
NOW=$(date +”%Y.%m.%d”)
DESTFILE=”$BACKUP_DST/$NOW.tgz”

# Dump MySQL DB + Compress
mysqldump -u $MYSQL_USER -h $MYSQL_SERVER -p$MYSQL_PASS –all-databases > “$NOW-Databases.sql”
tar cfz “$DESTFILE” $BACKUP_SRC “$NOW-Databases.sql”
rm -f “$NOW-Databases.sql”

/root/bin/dropbox_uploader.sh upload “$DESTFILE”

rm -f “$DESTFILE”

Kick it off once and you should see Dropbox sync a tarball with your entire site inside:

Fullscreen capture 7192013 111405 AM

On CentOS any script in root’s /bin directory is automatically in the PATH. I put both my dropbox_upload.sh and create_site_backup.sh scripts in /root/bin.

Edit root’s crontab to kickoff the script every night at 2AM:

crontab -e

# Minute Hour Day of Month Month Day of Week Command
# (0-59) (0-23) (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat)
0 2 * * * /root/bin/create_site_backup.sh

That’s it. Completely hands-off Dropbox backups of your self-hosted WordPress site. Keep an eye on it and stay tuned for an update on how to add some enhancements to the script.

If you followed my last post you wound up with a killer VPS running WordPress. One that crashes a little too often. Whoops. So here’s how to correct that issue.

MySQL uses InnoDB as its default Storage Engine. Well as it turns out InnoDB consumes a lot of RAM which makes it not very VPS friendly. So just disable it, right? Yeah of course not quite so easy. Since its been on from when you started setting up your wordpress DB, everything is already in InnoDB format. By switching it off, WordPress won’t be able to see the tables and will want to start over from scratch. Luckily a little Google search turned up a quick and painless way to convert between the 2 storage engine formats. Easy for you that is, I spent a good hour trying to sort this all out.

First, take this handy little php script and save it on your server:

<?php
#This script will change all the table engine types for a given database!
#All the DB tools I have (GNU/freeware) will not change a list of database
# types, so this script saves time when a CMS or other populates a database
# with tables we cannot use! This can be migrated to InnoDB by changing line
# 23, col 46 from MyISAM to InnoDB (double check the capitals there!).
# Change these variables relative: serverName, userName, password, databaseName

# 20051410 JLynch
# myisamFixer.php

ini_set(‘display_errors’, ‘On’);
error_reporting(E_ALL);

$link = mysql_connect(“localhost“,”root“,”myrootpass“)
or die(“unable to connect to msql server: ” . msql_error());

mysql_select_db(“wordpress“, $link)
or die(“unable to select database ‘db’: ” . msql_error());

$result = mysql_query(“show tables”);
if (!$result) {
die(‘query failed: ‘);
}

while ($row = mysql_fetch_array($result)){
mysql_query(“ALTER TABLE “.$row[0].” ENGINE=MyISAM; “);
#Command Reference: ALTER TABLE tableName ENGINE=MyISAM
}

?>

Ovbiously you need to change the bolded values to match your own config.

Next, stop mysql:

service mysqld stop

Execute the .php script from the command line. It might throw a couple of errors about such and such command is now deprecated, whatever bitch, it works:

php myisamFixer.php

Next, edit /etc/my.cnf. Add these 2 lines somewhere in the [mysqld] section:

ignore_builtin_innodb
default_storage_engine=MyISAM

Start mysql back up:

service mysqld start

Thats it. Back in business with all your content and settings preserved running MyISAM instead of the memory-hungry DB crashing VPS hatin nightmare InnoDB. Had I done this from the start I could have avoided the conversion.