Jahed Ahmed

The Video Game Museum

I came across The Video Game Museum (VGM) recently while doing some research for a side project. It's a website dedicated to archiving the history of video games. I'm personally really interested in the video game preservation and archeology scene, mainly due to the sheer nostalgia I feel when remembering the past.

VGM Logo

Read more

World Wide Wanderer

The web is a place full of passion and imagination. However, over the last decade, it's slowly started to lose this essence. At least, for me. With the advent of massive social media platforms by Google, Facebook, Twitter and many more, browsing the web has been restricted to a handful of portals. Now and then I'd follow a link elsewhere but immediately bounce back, visiting the same websites over and over.

It wasn't always like this. The freedom of the web and its many dedicated communities is one of the factors that drove me to where I am now. And I want to rediscover those forces again.

In this series, I'm going to explore the web again. Find the stuff I appreciate, and actually put some thought into it. I don't have any strict plans for it, no candidates, no structure. I'll just go with it and see where it takes me.

You can follow it by going to its feed.

FrontierNav Update: Affinity Charts

Blade Affinity Charts for Xenoblade 2 are ready. Well, only Dromarch's is, but the others will be ready soon.

Take a look at Dromarch's Affinity Chart.

Affinity Chart Desktop Preview
I've immitated the look and feel from the game.

Read more

@jahed/bem, A Brief History

@jahed/bem is a simple library I pulled out from one of my existing projects to demonstrate why it's beneficial to use BEM with CSS Modules.

Moving over to this approach has made the dependency between my components and stylesheets a lot less complex. I'll be going through this migration to give some context to my conclusions.

Read more

Using CSS Modules with BEM

CSS Modules are often touted as the next step from CSS methodologies like BEM (Block Element Modifier). In this article, I'll explain why BEM should still be used alongside CSS Modules for consistent and intuitive styling.

Read more

FrontierNav Report: January 2018

Progress Report

Where's December's Report?

I didn't get to do much in December as mentioned previously since to Xenoblade 2 was released, and it was a holiday month.

Changes in January

January's been a productive month. Behind the scenes, I've continued to move the application towards a more pluggable approach. It's going to be a slow process as I work on other features like new game guides and improve the user experience.

Xenoblade 2's data is fed through a spreadsheet which makes it much more easier to edit. The process is still a work in progress but I've got a good idea of where to take it. Once it's ready, I'll be moving the other games from the previous JSON-based approach to this new one.

I didn't make a release post about "Spoiler Gates" since it's pretty simple. The app can now show/hide spoilers based on the user's preference. This won't mean much for existing guides, but I can take it into considering for new guides.

Read more

Introducing Night Patrol

In the fast moving technology stacks of JavaScript, Nightwatch has grown to become one of the most popular front-end end-to-end testing frameworks around. It's an all-in-one solution allowing you to write tests without additional dependencies and effortlessly run them either locally or remotely.

We've been using Nightwatch at Unruly for a year now, and while it's not perfect, it's proven to be a lot more convenient than similar frameworks.

One of the problems we've had with Nightwatch is related to how we debug tests. During deployment, we'd run tens of tests and only one may fail. Finding this failing test and running it in isolation has always been tedious and time consuming since there's no IDE integrations to easily jump around the code base from Nightwatch's output.

Running tests in Night Patrol.

This is where Night Patrol comes in. In the simplest sense, Night Patrol does what we would've done manually. It keeps track of various inputs sent to Nightwatch and keeps track of the resulting outputs. In this article, I'll be going through how Night Patrol works and how it's used.

Read more

FrontierNav Update: Favourite Pouch Items Guide

I've released a simple guide to each Blade's favourite pouch items. Take a look.

While it's a simple guide, there have been major changes in the background to move the data pipeline from JSON documents to a Google Spreadsheet. Once this process has been streamlined a bit more, it should provided an easier way for others to contribute data.

Pouch Favourites Preview
I've immitated the look and feel from the game.

FrontierNav Update (2017-03-19)

User Profiles

I've added user profiles. They existed before but were rudimentary, now they're a bit more fleshed out. Here's mine (link).

My user profile.

There are two types of profiles: Community Profiles gives an overview of the user across the website, and Game Profiles gives an overview of the user for a specific game.

With game profiles, you can also mark the status of a game (playing, completed, etc.) and keep track of your progress as you mark pages such as locations and missions as complete.

I actually released this feature almost month ago but forget to mention it since Breath of the Wild came out!

FrontierNav Update (2017-02-07)

App Notifications for Game Events

You can now see game events in FrontierNav. Currently the only ones implemented are the Global Nemesis events which are retrieved from Miiverse.

App notifications.

The biggest feature here is that you can subscribe to these events to get notifications on your phone, tablet or computer. So you don't need to keep looking, the app will tell you when something's changed!

Other Changes