Tom Forbes

Python developer living and working in Lisbon

Django Docker Box is now an official Django project!
October 17, 2019
Testing my dotfiles with Github actions
October 12, 2019
I hope I hate this code one day
September 28, 2019
Europython 2019 Talk - Rewriting the Django autoreloader
September 22, 2019
Redesigning my blog
September 21, 2019
Creating an index of Apple Watch/MacOS/iOS features per-country
June 04, 2019
XCat 1.0 released or: XPath injection issues are severely underrated
December 09, 2018
Invited to join the Django software foundation
December 02, 2018
Bulk Update lands in Django 2.2
October 04, 2018
Queryset.explain() released in Django 2.1
August 01, 2018
Filtered aggregates lands in Django 2.0!
May 12, 2018
How not to make an april fools joke
April 08, 2018
Suggestions added to Django manage.py
February 24, 2018
Goodby Simple, hello Gatsby
January 16, 2018
Counting Pizza with Python
July 28, 2016
Syntax highlighting and CSS support added to wordinserter
July 26, 2016
Segfaulting Python with afl-fuzz
March 06, 2016
Scraping websites with Cyborg
January 04, 2016
HtmlToWord is now WordInserter
May 24, 2015
HP Support Solutions Framework Security Issue
April 11, 2015
Dell System Detect RCE vulnerability
March 23, 2015
Simple 2
December 13, 2014
Exploiting XPath injection vulnerabilities with XCat
July 25, 2014
A test RSS feed service
April 01, 2014
2 years of blogging
March 06, 2014
Opera is really nice
February 13, 2014
Submitting a patch to Python’s lxml library
January 09, 2014
How much code is there in the Python Package Index?
December 21, 2013
University Presentation
November 27, 2013
Hack things, acquire clothing.
November 22, 2013
Restricting Thrift clients to specific IP addresses with Twisted
November 11, 2013
Adding tail-call optimization to Python
October 15, 2013
My Uni's timetable system sucks, so I built a better one.
October 11, 2013
Purchasing a £30,000 numberplate for the price of a bus ticket
October 07, 2013
Breaking out of secured Python environments
September 25, 2013
Inspecting .NET applications with ILSpy
September 19, 2013
Automatically inline Python function calls
August 01, 2013
SSDs are awesome, buy one.
July 25, 2013
Displaying a processes output on a web page with Websockets and Python
July 15, 2013
Profiling Django templates with Django-Debug-Toolbar
April 18, 2013
More holes than swiss cheese
April 11, 2013
Just how slow are Django templates?
March 13, 2013
Finding fried chicken with C-Sharp, Mono and ServiceStack
March 02, 2013
HtmlToWord
February 18, 2013
Adding mobile support to Simple
September 22, 2012
Parsing Wikipedia database dumps with C-sharp and Postgres (6 degrees of Wikipedia)
September 12, 2012
Transplanting/Replacing Django child instances without deleting the parent
August 31, 2012
Using Python metaclasses to make awesome Django model field choices
August 13, 2012
In favour of ORM's
May 14, 2012
Making a film recommendation site by cheating
May 08, 2012
Creating a URL shortening service with Django
April 20, 2012
Using a custom SQLAlchemy Users model with Django
April 13, 2012
Draconian internet filters
April 12, 2012
Simple.
March 29, 2012