Magnasanti: The Largest and Most Terrifying SimCity

Here is an interesting story for all the fans of SimCity and similar games, as well as for anyone who still thinks that computer games are a useless time waste.  I’d like to see you try doing something even remotely close to this:

This story reminds me of all the time I spent playing Transport Tycoon Deluxe and OpenTTD.  The game is fun and I learned a lot about transportation.  But no matter how hard I tried, I never came close to the real pros (there are many actual professionals from the transportation industry playing the game and trying things out).  Have a look at this monster train station, for example (found in this forum thread):

Just stop and think for a moment.  How much do you really know about transportation? Trucks, buses, trains, ships, airplanes and helicopters?  Roads, maintenance, history and technology change?  Road planning, bridges, tunnels, semaphores, roundabouts, ports, loading stations, warehouse? I can go on …

These games teach you a great deal about the complex world around you.

Creating a 1.3 Million vCPU Grid on AWS using EC2 Spot Instances and TIBCO GridServer

This Amazon AWS blog post provides a great insight into the benefits of the cloud computing in general and Amazon AWS in particular.  The whole thing is well worth the read, but here are a few of my favorite bits.

The scale:

The grid grew to 61,299 Spot Instances (1.3 million vCPUs drawn from 34 instance types spanning 3 generations of EC2 hardware) as planned, with just 1,937 instances reclaimed and automatically replaced during the run, and cost $30,000 per hour to run, at an average hourly cost of $0.078 per vCPU. If the same instances had been used in On-Demand form, the hourly cost to run the grid would have been approximately $93,000.

The size of the Amazon AWS customers:

1.3 million vCPUs (5x the size of the largest on-premises grid)

The evolution of computing power over the last few years:

To give you a sense of the compute power, we computed that this grid would have taken the #1 position on the TOP 500 supercomputer list in November 2007 by a considerable margin, and the #2 position in June 2008. Today, it would occupy position #360 on the list.

Now, just for fun, exercise the idea of building something like this in house…

Windows Notepad Finally Supports Unix, Mac OS Line Endings

This Slashdot story links to this blog post by Microsoft.  33 years later, one of the most annoying issues with the Notepad text editor is resolved:

Starting with the current Windows 10 Insider build, Notepad will support Unix/Linux line endings (LF), Macintosh line endings (CR), and Windows Line endings (CRLF) as usual. New files created within Notepad will use Windows line ending (CRLF) by default, but it will now be possible to view, edit, and print existing files, correctly maintaining the file’s current line ending format.

They shouldn’t have invented their own line ending in the first place.  But it’s great to see that they finally acknowledge the existence of the rest of the world.

PhpMetrics – static analysis tool for PHP

PhpMetrics is yet another tool in the ever growing list of the static code analyzers for PHP.  Compared to the rest, I think this one is the easiest to install and run.  And it produces the most eye candy reports ever.  The generated report is in the HTML format, with fancy charts and graphs, and makes it really easy to spot and fix the issues.

Design for Blockchain

Design for Blockchain” is a collection of articles about user interface and user experience design for blockchain and cryptocurrency projects and tools.  Blockchain, due to its nature, is quite a technical subject, so making it friendly for non-technical users is a challenge.  These articles are exploring the domain problem.

Database Flow – modern, self-hosted web interface for SQL and GraphQL

Database Flow is a modern, Open Source, self-hosted, web-based tool for working with SQL databases and GraphQL APIs.  It supports a variety of the database engines: IBM DB2, Oracle, H2, PostgreSQL, MySQL, SQLite, Informix, and Microsoft SQL Server.  It features an advanced SQL editor, query plan analyzer, GraphQL client, schema explorer, charting, query history, and more.

The only visible downside so far is that it’s written in Java.

Vim, cfdo, Ale and RipGrep

This blog post goes over several grep-like tools and their integration with Vim.  If that’s something you do often, it’s worth a read.  The tools are:

  • Vim’s built-in “:cdo” and “:cfdo” commands.  Here’s another blog post with a nice explanation of what these are and how to use them.
  • Ale – asynchronous lint engine.
  • RipGrep – a very fast tool for recursively searching directories for a regular expression.  Extra bits for Vim integration are provided by the vim-ripgrep plugin.

composer-plugin-qa – Composer Plugin for PHP Quality Assurance Tools

composer-plugin-qa is a Composer plugin which adds all the most popular PHP quality assurance tools as composer scripts, so that you don’t have to install and set them up one by one.  The list of tools includes the following:

  • PHPUnit: Testing Framework
  • PHPCOV: CLI frontend for the PHP_CodeCoverage
  • Paratest: Parallel testing for PHPUnit
  • DbUnit: Puts your database into a known state between test runs
  • PHPLOC: A tool for quickly measuring the size of a PHP project
  • PHPCPD: Copy/Paste Detector
  • PHP_Depend: Quality of your design in the terms of extensibility, reusability and maintainability
  • PHPMD: User friendly frontend application for the raw metrics stream measured by PHP Depend
  • PhpMetrics: Static analysis tool, gives metrics about PHP project and classes
  • PHP_CodeSniffer: Detects violations of a defined set of coding standards
  • PHP-CS-Fixer: A tool to automatically fix coding standards issues
  • Security-Checker: Checks if your application uses dependencies with known security vulnerabilities

This list is very similar to the one in my other recent post.

The Nightmare Letter: A Subject Access Request under GDPR

The Nightmare Letter: A Subject Access Request under GDPR” article features an example worst-case scenario (or so) of a Subject Access Request (SAR) under the General Data Protection Regulation (GDPR).

On one hand, the example letter is quite extreme.  On the other – it’s quite realistic, especially given the (almost) template.

So, who’s ready for this?  And who’s laughing now?

Found via the comments to this Slashdot thread, which is also worth a read.