<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Web-Dev on Max Halford</title><link>https://maxhalford.github.io/tags/web-dev/</link><description>Recent content in Web-Dev on Max Halford</description><generator>Hugo</generator><language>en-US</language><managingEditor>maxhalford25@gmail.com (Max Halford)</managingEditor><webMaster>maxhalford25@gmail.com (Max Halford)</webMaster><lastBuildDate>Tue, 21 Jul 2026 21:18:41 +0200</lastBuildDate><atom:link href="https://maxhalford.github.io/tags/web-dev/index.xml" rel="self" type="application/rss+xml"/><item><title>Server-sent events in Flask without extra dependencies</title><link>https://maxhalford.github.io/blog/flask-sse-no-deps/</link><pubDate>Mon, 04 May 2020 00:00:00 +0000</pubDate><author>maxhalford25@gmail.com (Max Halford)</author><guid>https://maxhalford.github.io/blog/flask-sse-no-deps/</guid><description>&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Server-sent_events"&gt;Server-sent events (SSE)&lt;/a&gt; is a mechanism for sending updates from a server to a client. The fundamental difference with &lt;a href="https://en.wikipedia.org/wiki/WebSocket"&gt;WebSockets&lt;/a&gt; is that the communication only goes in one direction. In other words, the client cannot send information to the server. For many usecases this is all you might need. Indeed, if you just want to receive notifications/updates/messages, then using a WebSocket is overkill. Once you&amp;rsquo;ve implemented the SSE functionality on your server, then all you need on a JavaScript client is an &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/EventSource"&gt;&lt;code&gt;EventSource&lt;/code&gt;&lt;/a&gt;. Trust me, it&amp;rsquo;s very straightforward.&lt;/p&gt;</description></item><item><title>Setting up a droplet to host a Flask app</title><link>https://maxhalford.github.io/blog/flask-droplet/</link><pubDate>Tue, 14 Jul 2015 00:00:00 +0000</pubDate><author>maxhalford25@gmail.com (Max Halford)</author><guid>https://maxhalford.github.io/blog/flask-droplet/</guid><description>&lt;p&gt;After having worked for some weeks on the &lt;a href="http://openbikes.co"&gt;OpenBikes website&lt;/a&gt;, it was time to put it online. &lt;a href="https://www.digitalocean.com/"&gt;Digital Ocean&lt;/a&gt; seemed to provide a good service and so I decided to give it a spin. Their documentation is quite good but it doesn&amp;rsquo;t cover exactly everything for setting up Flask. In this post I simply want to record every single step I took.&lt;/p&gt;
&lt;p&gt;OpenBikes is a project with a Flask backend and a few upstart jobs. It lives at the &lt;a href="http://openbikes.co"&gt;openbikes.co&lt;/a&gt; domain name. In this blog post I will list every step it takes to make it happen on Ubuntu 14.04 with Apache (it&amp;rsquo;s robust and easy to setup). I didn&amp;rsquo;t always say when to use &lt;code&gt;sudo&lt;/code&gt; before the commands to avoid clutter, however you can safely use it everywhere.&lt;/p&gt;</description></item></channel></rss>