Thoughts of

Orestis Ioannou

I blog about OS, python, react, gatsby, grommet, debian...

Building a subscription SaaS platform with Hasura, serverless and Auth0

April 20, 2020
10 min read
The last months of staying at home and practicing social distancing have given me ample time to play around with Hasura and serverless environments to challenge myself into building a Subscription based application platform using as less backend code as possible. By backend code I mean the typical CRUD workflow but also auth handling, payments registration, authorization and task handling. As i am building this I am documenting the most common issues and architectural… Read more

One step closer to ... Gatsby incremental builds: the DIY approach!

January 29, 2020
11 min read
In case you landed here by accident or out of sheer curiosity, Gatsby is one of the many tools evolving around the JAM stack and serverless universe. It goes by many definitions, a static site generator, an approach to building hybrid applications that live somewhere between the static and dynamic land and their official one . The one I like the most is create-react-app on steroids. Last few months it has been getting, deservedly, a lot of traction and many sites have been… Read more

My presentation at about image-heavy gatsby sites!

July 31, 2019
2 min read
On the JAMstack paris 4th edition I had the opportunity to talk about image-heavy websites in the Gatsby world! The talk was recorded and you can check it on 👉 youtube! Slides are online as well at Netlify Giving my first talk! When I saw the call for talks I was quite hesitant to propose something, after all besides giving brief presentations at the university I had no experience whatsoever talking in public! After taking the step to propose something I was amazed that my… Read more

Building gatsby on CircleCi and deploying on Netlify

March 06, 2019
3 min read
When deploying gatsby sites, Netlify is my go to option. It is free, with great features and with a solid interface. Only issue I am facing: builds are slow (about 1.5-2 times slower than my PC) and the hard timeout of 15 minutes is sometimes easy to reach. Normally deploying Gatsby sites is blazing fast! Like pretty impresive fast. There is a significant factor though that can greatly influence the build time, image processing! It all started during the 3rd blog post on… Read more

Migrating from material-ui to grommet

March 04, 2019
6 min read
Initially posted on Medium If you came here for a material-ui vs grommet article then you came to the wrong place. This article documents the why and how I did it and the aftermath. The why Migrating from one UI library to another is no easy task! Almost always the APIs are completely different, their components do not match and there are a lot of broken things before you get to a bare minimum working site again. For most projects there’s never a reasonable need to go through… Read more

Recent open source fun and joining the grommet team

February 19, 2019
3 min read
This was initially posted at medium For the last few months I got myself again into Open source. It has been a while since my last contributions, dating back to a few months after my Google Summer of Code. Reasons were that I got my first job and it was hard to balance out life, work and leisure. As it turned out reading books and contributing to open source was somehow forgotten in my long TODO list. Breaking the barrier Things changed when I finally got some free time to… Read more

Second iteration of my personal website

January 23, 2019
2 min read
Last few months I've been playing around with some great new technlogies in the sphere of the JAMstack and React. I've always been fascinated by blazing fast websites, static websites and recently got a lot of interest in React. I've been using it at work and was never happier creating front-end applications. When I first found out about Gatsby I couldn't believe it was possible to combine in one static websites (well ok static assets) and React. I remember being in a train… Read more

Using debsources API to determine the license of

February 09, 2016
1 min read
Following up on the hack of Matthieu - A one-liner to catch'em all! - and the recent features of Debsources I got the idea to modify a bit the one liner in order to retrieve the license of The script will calculate the SHA256 hash of the file and then query the Debsources API in order to retrieve the license of that particular file. Save the following in a file as license-of and add it in your $PATH Then you can try something like: Notes: if the checksum is not found… Read more

Debian - your patches and machine readable copyright files are available on Debsources

February 08, 2016
3 min read
** TL;DR All Debian license and patches are belong to us. Discover them here and here.** In case you hadn't already stumbled upon in the past, Debsources is a simple web application that allows to publish an unpacked Debian source mirror on the Web. On the live instance you can browse the contents of Debian source packages with syntax highlighting, search files matching a SHA-256 hash or a ctag, query its API, highlight lines, view accurate statistics and… Read more

GSoC Debsources midterm news

July 22, 2015
2 min read
Midterm evaluations have already passed and I guess we have also reached a milestone since last week I finished working on the copyright tracker and started the patch tracker. Here's the list of my reports on soc-coordination for those interested week #1 week #2 week #3 week #4 week #5 week #6 week #7 Copyright tracker status Most of the functionalities of the copyright tracker are already merged. Specifically navigating in the tracker, rendering the machine readable… Read more

GSoC Debsources updates

June 23, 2015
2 min read
The first 4 weeks have been really great. I had the chance to work on the new webapp, the copyright tracker. Here are my first 4 reports for the weeks: week #1 week #2 week #3 week #4 Summary During these weeks i completed the navigation (by prefix, list of versions etc) for the copyright tracker, the license rendering and the API for searching by checksum and by package/version/filename. Still under review the batch API (request many files at once) and the the respective… Read more

GSoC Debsources report: #1

May 31, 2015
1 min read
Heya, this is my first report on my work on Debsources during the coding period of Google Summer of Code 2015. I am not going to go into details on what I've done each week as this is purpose of the report in the mailing list. However I intend to share my feelings, once a while, about this experience and present some interesting problems, solutions we encounter. Anyway my main tasks this week were: review the copyright spec file refactor the navigation code used in the… Read more

Debian accepted me for Google Summer of Code 2015

April 28, 2015
3 min read
Yay! I found out that I got accepted by Debian to work on the Debsources project for Google Summer of Code 2015. This announcement pretty much ends up two exciting months for me. My research project was completed and i received some great feedback on that! moar I got some really helpful feedback from Stefano Zacchiroli for the patches I have sent for Debsources. I participated in another successful 2-days conferences for the Libre. Journees du Logiciel Libre I travelled to… Read more

Thoughts on my research project

March 05, 2015
1 min read
My research project (moar details), is now over. I have presented my research and the implementations to the jury and you can check my slides or / and my report (in French) here. I had to the chance to work for more than two months with Fabien Laguillaumie on this project and his help, advice and direction was extremely helpful and enthusiastic. Thus, I thank him for taking the time to "fabricate" a research project adressing my interests (Cryptography, Elliptic curves… Read more

Mixing Tornado Flask and Websockets

February 20, 2015
2 min read
Part of my research project (moar details), was to create an application that would measure and illustrate the process of voting on the internet using elliptic curves. A major part of that was to create the mixnets and having a server (backend) communicating with the mixnets as a server-client communication. I chose to implement this, using WebSockets. I ended up choosing Tornado for the backend and Flask for the frontend and I implemented a mixnet client using the Python's… Read more

Tor middle relay - Raspberry pi

January 11, 2015
1 min read
Recently I took some time to configure my raspberry pi as a middle relay. Exit relays can be dangerous depending where you live so I decided to help a bit tor with a middle relay. This was easy to do and fun, and its nice doing something fun and easy while helping out others! What you need! Well not much, just a raspberry pi and an internet connection! Getting ready As always update and upgrade Then you might want create another user just for tor using: and edit the sudoers… Read more

Codingame - A game for programmers

November 14, 2014
1 min read
I have recently found out about a greate game called "codingame"! It is actually a game for programmers where there are many puzzles and contests in many different languages (20). CodinGame Contests are online programming competitions, where software developers / programmers from all over the world can compete for fun, or to get in contact with companies they like and that are recruiting. CodinGame consist in developing computer programs to solve complex problems in a limited… Read more

Install Debian Jessie on MacBookPro

November 11, 2014
4 min read
This tutorial covers the process of installing Debian Jessie on a MacBookPro. I've chosen to document this process as I found it hard to overcome some problems I had during my several tries installing Debian on a Mac, mostly problems with grub and making things work (Nvidia, keyboard backlit, wifi etc). Motivations The main reason I wanted to install Debian was the need of more freedom for my pc. I wanted to get out of the closed system the mac is offering, although it works… Read more

Tor hidden services - dynamic IP

October 29, 2014
3 min read
This post mainly covers reasons behind my motivation on having a Tor hidden service on my Raspberry Pi as well as a small tutorial configuring this. I am using my rpi as a development server testing different open source projects, as an irssi service in order to get the backlog on different channels I am interested in and to work on different projects requiring a server. Dynamic IP This setup has a "flaw" when the internet provider is serving dynamic IPs and is requesting… Read more

Sublime Text - Plugins - Themes - Configurations

October 23, 2014
2 min read
I am using Sublime Text on a daily basis for almost anything. From keeping notes to programming to writing reports. I find that it offers great capabilities with its great interface and the numerous plugins available. If only it was under a CC licence. What i find really good with this text editor is the ability to have everything under control. It has so many key bindings that are really usefull when you actually code a lot. I wont write an article about how great it is as… Read more

Python Conference Lyon 1

October 21, 2014
1 min read
Hello everyone, On the 25 until the 28 of October a Python conference will take place at the University Lyon 1. It is organised by the AFPy, Association Francophone Python, and it is free and open access. You can already find out the list of conferences, agenda that will take place on the 25 and 26 as well as propose projects for sprints, proposals during the 27 and 28. You can find more on the pyconfr here. For the moment it looks really promising with many conferences… Read more

Complete Redesign

October 20, 2014
1 min read
Hello readers and welcome to my new complete redesigned website. This is a step forward in my web capabilities as I used the awesome micro-framework Flask ( yes no more PHP! Viva Python ) and another framework I really appreciate and find useful, Bootstrap. With this new website I am aiming to present better the projects, jobs, internships i am taking part in as well as blogging about coding, the open source tools i daily use and anything I might find interesting and… Read more