Sparkling gems and new releases from the world of Free and Open Source Software

RSpamd 1.4

For the past three years, I've been the maintainer of the Linux Voice mail server. Over that time, as you might expect, it's taken a hammering. And as anyone who runs a mail server will know, that hammering is thanks to the 9999:1 spam to real email ratio. Fighting spam is a full-time job in itself, and one that equally consumes your time, your computing resources, and network bandwidth. It's partly what makes hosted email services like Gmail so attractive as Google uses its vast network of data to filter out spam automatically. But, even with Google's resources, spam emails still get through.

For many years, the vanguard of open source spam fighting has been SpamAssassin, an email filter that runs on the mail server in conjunction with a Mail Transfer Agent (MTA) like Postfix. SpamAssassin uses a variety of clever techniques such as online blacklists, Bayesian filtering, and machine learning to mark and drop email before it hits your inbox, and considering the scale of the fight on its hands, it's very, very good. But SpamAssassin has started to feel a little neglected lately. Updates have slowed and more spam is getting through, and it's still difficult to configure and maintain. This isn't always SpamAssassin's fault though. It does the job so well that a spammer will often use a local installation to run their emails through, tuning their content until they can squeeze past the latest filters. As a result, I've kept an open mind about finding an alternative. And, after coming from nowhere, RSpamd appeared untested on the horizon. After the release of a new major update, version 1.4, it seemed the right time to finally jump the SpamAssassin ship and give something else a try.

Installing a new spam filter into a complex Postfix and Dovecot email system is never going to be easy, and installing RSpamd isn't easy. It uses its own Rmilter to talk to Postfix and stores data using Redis – none of which will be typically installed on the average mail server. But installation is easier than SpamAssassin, and the final part where you open your dreaded Postfix configuration file is actually the easiest part. After that, everything just seems to work. That's what's most impressive. Even with no email training, I found the default options in RSpamd to be slightly more effective from first installation than my SpamAssassin configuration with three years of heuristics.

RSpamd also includes a very helpful web UI. This gives immediate feedback on how many emails are getting through, how many are blocked, greylisted, or marked. Greylisting is a delay and a resend request, letting the filter make a deferred decision on its status, whereas marked email are probably spam and are flagged as such in their headers. Thresholds for each level can be easily changed, and you can dive into the details for each filter through the web to create a configuration that works best for you. You can even use the web UI to help RSpamd learn from those emails that get through, as well as scan emails manually.

Thanks to a module system that uses LUA scripts, you can create your own filter modules or modify the included modules to suit your needs, and you can even import your own SpamAssassin filters, which will be huge benefit if you're thinking of migrating to RSpamd. Which is exactly what we've done. It may be early days, but so far, the results are excellent.

Project Website

https://rspamd.com/

RSpamd has a web user-interface, which offers valuable feedback that SpamAssassin can't touch without installing something like MailScanner.
For us, RSpamd discovers more spam than SpamAssassin, and performance is better too.

NES Emulator

LaiNES

It's taken many years, but for once Nintendo has listened to its audience and created something most of us would never have thought possible – a recreation of the classic Nintendo Entertainment System. It's a smaller, self-contained console that can't take those old cartridges, but it's packed with 30 games and includes the controller. And it's even running Linux! For once, those of us with a hankering to play the many classic NES games of the 80s don't have to resort to emulation.

But that doesn't mean emulation is dead. It really means the opposite as Nintendo is obviously using emulation within its embedded Linux system, and developers are still creating new emulators such as LaiNES. What's remarkable about LaiNES is that it's a cycle accurate NES emulator written in approximately 1,000 lines of C++ code. Even though this total doesn't include a couple of libraries, it's still a hugely impressive accomplishment. So, too, is the way the emulation is cycle accurate. This means the cycle iteration of each chip within the old NES, and the way those chip cycles were clocked against each other, is perfectly emulated. It makes the emulator much more CPU intensive, but it also makes it much more accurately and theoretically capable of recreating all the same quirks and glitches that many games designers used as features back in the day.

It's size is evident in the speed the source takes to compile – under two seconds on our system, and the resulting binary loads instantly. A simple GUI lets you navigate to your games, scale the view to either double or triple the original resolution, and change which keys are used for the two controllers. After that, the emulation just works. Select your game and play!

Project Website

https://github.com/AndreaOrru/LaiNES

LaiNES is resource hungry, taking around 40 percent of our i6700k CPU, but the main reason for this emulator is the source code.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News