133 lines
5.3 KiB
HTML
133 lines
5.3 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en-us" dir="ltr">
|
|
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width" />
|
|
<title>
|
|
Posts | Coding with Andrzej
|
|
</title>
|
|
<link rel="alternate" type="application/rss+xml" href="http://localhost:1313//index.xml" title="Coding with Andrzej">
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="/css/main.css" />
|
|
|
|
|
|
<link rel="stylesheet" href="/css/syntax.css" />
|
|
|
|
|
|
<link rel="stylesheet" href="/css/defaults.css" />
|
|
|
|
|
|
|
|
|
|
|
|
<script src="/js/main.js"></script>
|
|
|
|
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<a href=http://localhost:1313/><h1>Coding with Andrzej</h1></a>
|
|
|
|
<nav>
|
|
<ul>
|
|
<li>
|
|
<a href="/">Home</a>
|
|
</li>
|
|
<li>
|
|
<a aria-current="page" class="active" href="/posts/">Posts</a>
|
|
</li>
|
|
<li>
|
|
<a href="/tags/">Tags</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
|
|
|
|
</header>
|
|
<main>
|
|
|
|
<h1>Posts</h1>
|
|
|
|
|
|
|
|
|
|
<ul class="page-list">
|
|
|
|
|
|
<li>
|
|
<h2 class="center"><a href="/posts/buzzer-game/">Classroom Buzzer App</a></h2>
|
|
|
|
|
|
<time datetime="2024-11-24T15:23:50+01:00">November 24, 2024</time>
|
|
|
|
<h2 id="i-started-working-on-a-new-project-today">I started working on a new project today.</h2>
|
|
<p>The client is an educational services provider and wants me to develop a tool to facilitate in-person group activities. This tool should:</p>
|
|
<ul>
|
|
<li>provide a platform which students can log into from a mobile device, in a frictionless process that takes seconds</li>
|
|
<li>allow a teacher to assign groups and pairs in</li>
|
|
<li>allow the teacher to dynamically reassign groups without repeating combinations</li>
|
|
<li>implement a simple score-keeping functionality</li>
|
|
<li>be able to run a ‘buzzer’ game</li>
|
|
<li>have a clean, appealing, and user-friendly UI</li>
|
|
</ul>
|
|
<p>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.</p>
|
|
|
|
<a href="/posts/buzzer-game/">Read more...</a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
<h2 class="center"><a href="/posts/cache-busting-2/">More cache-busting</a></h2>
|
|
|
|
|
|
<time datetime="2024-11-15T22:33:10+01:00">November 15, 2024</time>
|
|
|
|
<p><strong>Well, that was easy.</strong></p>
|
|
<p>At the end of <a href="cache-busting">my last post</a>, 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 <em>only</em> 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.</p>
|
|
|
|
<a href="/posts/cache-busting-2/">Read more...</a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
<h2 class="center"><a href="/posts/cache-busting/">Invalidating the browser cache</a></h2>
|
|
|
|
|
|
<time datetime="2024-11-14T14:24:21+01:00">November 14, 2024</time>
|
|
|
|
<p><strong>I had a bit of an issue with my <a href="https://demos.ajstepien.xyz">website</a> recently.</strong></p>
|
|
<p>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 <em>were</em> styled when I loaded the same page in Chrome.</p>
|
|
<p>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 <code>CTR + SHIFT + R</code> (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? <strong>I needed to cache-bust.</strong></p>
|
|
|
|
<a href="/posts/cache-busting/">Read more...</a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
<h2 class="center"><a href="/posts/permissions-strike-again/">Permissions strike again</a></h2>
|
|
|
|
|
|
<time datetime="2024-11-13T11:53:13+01:00">November 13, 2024</time>
|
|
|
|
<p>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.</p>
|
|
<p><em><strong>And it almost always has to do with permissions.</strong></em></p>
|
|
<p>So, I’m writing this post both as a means of christening this devlog (<a href="https://demos.ajstepien.xyz">Hi! I’m Andrzej! Hire me!</a>) and also as a reminder to myself that <em>the home folder is not executable by default.</em></p>
|
|
|
|
<a href="/posts/permissions-strike-again/">Read more...</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</main>
|
|
<footer>
|
|
<p>Copyright 2024. All rights reserved.</p>
|
|
|
|
</footer>
|
|
</body>
|
|
</html>
|