Posts
-
Classroom Buzzer App
I started working on a new project today.
The client is an educational services provider and wants me to develop a tool to facilitate in-person group activities. This tool should:
- provide a platform which students can log into from a mobile device, in a frictionless process that takes seconds
- allow a teacher to assign groups and pairs in
- allow the teacher to dynamically reassign groups without repeating combinations
- implement a simple score-keeping functionality
- be able to run a ‘buzzer’ game
- have a clean, appealing, and user-friendly UI
A quick read of this brief should make it clear that what is required here is a server capable of handling multiple, live, two-way connections. The server needs to be able to update the clients whenever the teacher wants to shuffle the groups, and the buzzer game requires that when a student ‘buzzes’, state is propagated via the server to all other clients. The solution to this problem is websockets, and a server capable of handling concurrency.
Read more... -
More cache-busting
Well, that was easy.
At the end of my last post, I had successfully written a script to stop stale CSS from getting stuck in the browser cache. It was a rough-and-ready solution — mine usually are — but it did the job. The one optimization I wanted to make was to ensure that the cache gets busted only when there is fresh CSS, as opposed to on every build. I had expected to get a nice long blog post out of this, but it turns out to be a very easy job.
Read more... -
Invalidating the browser cache
I had a bit of an issue with my website recently.
I pushed some changes incorporating images for the first time (I know – very swish, very modern), and everything seemed to be working just fine, but when I loaded the production site in Firefox… the images were not styled. Stranger still, they were styled when I loaded the same page in Chrome.
The experienced computer touchers amongst you will be saying “this is obviously a cache problem”, and you’re right, it is obviously a cache problem. Pressing
Read more...CTR + SHIFT + R
(which forces Firefox to clear the cache and do a full reload) proved this thesis, and solved the immediate problem for me, on my machine. But what about other people’s machines? I needed to cache-bust. -
Permissions strike again
Configuring Apache really isn’t rocket science. There are a wealth of great tutorials online, the documentation is very well documented, and the defaults work more or less out of the box. But it’s one of those jobs that I do just infrequently enough that I always forget things in the interim, and end up making the same old mistakes.
And it almost always has to do with permissions.
So, I’m writing this post both as a means of christening this devlog (Hi! I’m Andrzej! Hire me!) and also as a reminder to myself that the home folder is not executable by default.
Read more...