RSSAmplifier

Blog

Geeky Nuggets

Jonathan Foucher's blog & web development notebook

jfoucher.comRSS feed ↗10 posts

Latest posts

Planck 6502, an open hardware extensible retro computer

Retro computing Going back to the roots of your field can provide new insights into your day to day experience. For me, the roots are located in the 70s / 80s a time when personal computers were much simpler and could be fully understood by a regular person. This is a time when the most popular computers were the Vic20, Apple II and later Commodore 64. These computers booted in less than a second…

Mailocal, a simple SMTP server and web interface to debug your emails

Testing emails The way I used to do it is to have all emails sent to me via a configuration setting in either Symfony or Laravel. This works fine but there can be a significant delay between the moment when the email is sent and the moment it is received, which is annoying. I have heard about mailtrap, which is a hosted service that does more or less what Mailocal does. But I’m not a fan of…

Stati, a PHP static site generator that works on any existing Jekyll site

Success ! Well it’s been quite a week. Having had an unexpected lull in my contract work, I decided to work on something fun. I use jekyll for most of my static sites, and I quite like it. It’s still a mistery to me why I decided to build a clone of it. But anyway, one week later, here we are. Stati can now build all my ex-Jekyll sites properly. Actually this blog is now generated with Stati!…

Processing custom events in kernel.terminate

What is the kernel.terminate event? It is the last event that is triggered in Symfony, just after the response has been sent to the client (only on php-fpm). This means that we can do some heavy lifting here because our response time is not affected. The client gets the response quickly and our processing will occur afterwards. The Symfony SwiftMailer bundle does this by default, so we should be…

Timeseries charts with Chart.js

Somehow I always end up having to do timeseries charts. Chart.js is my tool of choice for that task, but I never seem to remember what options to pass and what format the data should have. Yesterday I must have spent 2 hours looking at the docs and trying various things, mostly because it didn’t occur to me to check the last project where I used them, Budgt So anyway, note to self : this is how…

Communication between iframes with React and postMessage for an html template editor

I’m working on a project where I need some sort of simple landing page editor, where “blocks” are defined at the template level and they can be rearranged, text changed or added, and not much more. Most of the software I could find was either way too complex for my needs, gave the user the freedom to completely destroy the template, or were otherwise pretty useless. If it was frustrating for me I…

One project per month during 2017. Here are my first two for January and february

So at the start of January I discovered the One Project per Month project, and decided to give it a go. You can follow my progress here and I’ll also try to post here somewhat regularly about my experiences. The first project was an app that does budget tracking . Well, not really budgeting, more like to track what I was spending. I’ve been wondering where all the money went, and this app was made…

Building a webGL and webworkers boat hydrostatics app

I’ve recently felt the urge to start designing boats again, as I have had some ideas I wanted to explore, specifically for boats of the Mini 650 class . The software I use has basic hydrostatics capabilities, but only for an upright boat. It cannot calculate the GZ curve, or get the righting moment at specific heel angles, which is a crucial data for the kind of craft I wanted to design. Existing…

How I built running shoes for my whole family in one sunday afternoon (Huarache sandals)

Some time ago, Diego Santamarta casually mentioned that the shoes he was wearing were not regular flip flops, but rather some kind of sandal which I had never heard about. “Oh ok” was my less than enthusiastic answer. In the meantime, and even before, I had been reading about barefoot running, even though I had never run more than a few hundred meters without panting uncontrollably. Yes, 15 years…

Installing PHP, Apache2 and nginx for faster websites

My contract with my previous shared hosting contractor is coming to a close, and as they seem to have all but abandoned their business, I decided it was time to move away. I looked at using Amazon’s EC2, but ultimately decided to go with Bhost, with which I’m fairly happy so far. To get some decent performance out of it, I planned to use Nginx as my web server Keep using Apache as usual All my…