Blog
-
The Problems with Microsoft Dropping Edge
If you're a web developer, then it shouldn't be a shock now to find out that Microsoft is planning on ditching their Edge browser in favour of a new one based on the open-source Chromium project (not to be confused with the related but closed-source Chrome browser.) This will see Microsoft dropping their EdgeHTML engine in lieu of the Blink engine. The Initial Reaction On the face of it, this…
-
10 Mistakes Made in Web Translations (and How to Fix Them)
There are many assumptions made by developers when it comes to creating multilingual websites, and any one of these mistakes is easy to make when starting work on your first multilingual Web project. I've compiled a list of 10 (this number was only reached by happy coincidence, not by setting a deliberate target!) common mistakes made by developers and others, and how to avoid them. Contents A…
-
PHP 7.4 Upcoming Features
The last few years has seen PHP undergo an incredible amount of work to improve the language. The latest couple of proposals for the 7.4 release contains a major feature that many have wanted in PHP for years: typed properties on object instances. Typed Properties This is the big one we've all been waiting for. As a developer who works across many languages, being able to type the properties…
-
One Div CSS Halloween Spooks and Ghouls
Playing around with CSS to create single <div> works of art is, while largely useless for production-worthy code, a lot of fun, especially to see how far a technique can be pushed. In the past I've created CSS Animals and even an animated BB8. Contents Ghost Gravestone Pumpkin Frankenstein's Monster The Head The Neck Animating the Eyes Conclusion …
-
Accessible Modal Dialogs
Modal dialogues are a part of the web whether we like them or not, and there's plenty of reason to not like them when they're implemented in a really intrusive way. They do serve a very useful purpose though; they allow extra content to be presented to the user in a way that temporarily breaks out of the normal flow of the page without altering the existing content flow. Contents What Should…
-
Why You Should Not Use Rimraf
A little over a year ago I got into a discussion about the rimraf package . At the time I was using a mix of Mac and Windows and I was looking for a quick and easy way to remove the whole node_modules directory from an Angular project. My search led me to rimraf, which was touted as a cross-platform alternative to the traditional rm -rf written in node. Why Delete node_modules Anyway? The initial…
-
Creating a Streaming Proxy with PHP
When using cURL the most typical code examples will have you fetch a whole remote response in one go by putting it into a variable. This is fine for small requests, like a web page, but when you scale up, you will run into issues with memory consumption, timeouts, and a poor user experience. A Simple Proxy Extending the Functionality Stream the Response The Result Imagine the scenario…
-
CatImgPHP - Preview Images on the Command Line with PHP
I was reading an article recently about the catimg tool used to preview images on the command line. I saw this as a fun way to keep my PHP skills sharp. The Inspiration I installed the catimg tool locally to test it out and see what kind of output it produced. It's included in most Linux distributions, and is available on MacOS via Homebrew, but Windows users will need to build it from source…
-
Dyslexia and Fonts
Generally, when asked about web accessibility, peoples first thoughts tend to go towards visual impairments. One group of less obvious issues is that of learning difficulties, such as dyslexia. Dyslexia affects about 10% of the UK population according to the British Dyslexia Association. Being a hidden disability, it's often overlooked in any web accessibility checks. Contents What is Dyslexia Can…
-
Accessible Tables
For many years, tables were the only tool available to lay out our websites as we wanted to achieve something that went beyond what you'd probably come to expect with your typical word-processed documents. Then for the last decade (or so) we were told that tables were evil, and using them was a sin that would earn us a spot in the 6th circle of IT hell. More recently we've learned that that anti-table…
-
Interactive Burger Menu with SVG, CSS and no JavaScript!
CSS goes far beyond being just a styling language for HTML, allowing you to style any XML based language too. This includes SVG documents, which becomes a powerful tool for achieving some great affects without the use of JavaScript. This experiment blends HTML and SVG to create a menu where you make your own burger by selecting what you want from the menu. To start things off (as I'm really…
-
PHP 7.3 Upcoming Features
Although PHP 7.3 doesn't have a released spec yet, it's a fairly good bet looking at the list of approved RFC documents at what we can expect in the next release of PHP 7. Exceptions with JSON Errors Allow a Trailing Comma in Function Calls …
-
Checking Password Strength with Regular Expressions
Randall Munroe of XKCD explains wonderfully how through 20 years of effort, we've successfully trained everyone to use passwords that are hard for humans to remember, but easy for computers to guess. As humans, we see a password that seems entirely nonsensical and assume it to be as difficult to crack as it is to remember. Despite this logical fallacy, developers worldwide still insist on enforcing…
-
Single Div CSS Mona Lisa
In the world of CSS, there is little as fun and challenging as the single <div> challenge. It's a creative idea that's been taken to some impressive lengths by Lynn Fisher of the 'A Single Div' website. The technique has been picked up by many front-end developers, who have created some amazing works with it, like Sasha's Mike Wazowski, and the wonderfully festive Christmas tree by Ari…
-
New Features in Web Content Accessibility Guidelines 2.1 and What You Need to Do
In January there was a recent update to the WCAG that introduced some changes in what's expected of you as a developer to make your web content accessible. The majority of these are fairly obvious and straightforward, with some nice additions that enhance accessibility on smaller hand-held devices. Criterion Conformance Level 1.3.4 Identify Common Purpose AA 1.3.5…
-
PHPUnit - Testing Core PHP Methods
A lot of my focus recently has been outside of PHP so I'm trying to spend some of my personal time working on a personal project. My recent child (code-wise, not my actual child which would go to explain why my time is so lacking the past year) is imogen which is a system built to generate images for email as the email client requests them. My Christmas reading of Clean Code and The Clean Coder game…