abidibo.net

Weblog

Securing django with Let's Encrypt

django https security ssl

I just finished to setup ssl encryption for abidibo.net, using Let's Encrypt Certificate Authority. This post serves as a reminder for me, and maybe a sort of guide for you.

This post assumes the website runs with the following technologies:

  • django >= 1.8
  • nginx
  • debian 8 (jessie) with ssh access

Why Let's Encrypt?

Let's Encrypt is a free, automated, and open certificate authority (CA), run for the public’s benefit. It is a service provided by the Internet Security ...

read the full post


Images, thumbnails, entropy and PHP

php programming

Years ago' I developed a php class to create image thumbnails on the fly, evaluating the interesting part of the image. I wrote about this in my company's blog, now I'd like to share these concepts here, in my poor english.

Why, what?

Generate thumbnails from images is a common task in modern web applications, because there is no reason to serve oversized images, when they are used as 800px wide (or less) images in a template. There is no reason to make a user download the whole image (many KB or MB), if then it is resized through css.

But how to deal with thumbnails?
There are two main approaches used by modern web applications:

  1. have the backend generate ...

read the full post


Bootstrap progress bar animation

bootstrap javascript tips

Boostrap progress bar is a nice component that comes in handy when loading async contents, large images or, for example, when rendering a complex google map.

But as is, it is quite useless if you want to implement a dynamic loader, which progress value changes over time. There are two major problems:

  1. when updating the value there is no animation, but just a jump to the new provided value;
  2. if the value updates are set immediately one after another, you ...

read the full post



Set material-ui TextField value for testing purposes

material-ui react redux sinon testing

Recently I began my trip in the world of react and redux. Everyone is hot with these "new" technologies, and after my previous experiences with angular I decided to give it a try.

In this entry I just want to share a tip about how to set the value of a material-ui TextField for testing purposes.

Scenario

I have a simple login form, with username and password fields, and a submit button. When the submit button is clicked, a function ...

read the full post


Django debug with vim and vdebug

dbgp debug django python vim

I'm currently re-configuring all my vim stuff, operation which I perform every x months/years. I used to debug django application using pdb and its set_trace method, this time I decided to integrate a debugging tool inside vim as I always did for PHP using xdebug.

I decided (after some other attempts), to use vdebug, which (as described in the ...

read the full post


How I developed my first gnome-shell extension

gnome gnome-shell qaepq

Recently I installed qpaeq as a system wide mixer on my ubuntu 14.04 machine. Now I want a way to launch it from the status bar, so I began looking for a way to create a simple gnome-extension. Lucky me, the extensions are written in js, unfortunately the documentation is not so good.

A good starting point is this excellent post (a bit outdated, not all scripts presented work).

Let's proceed by steps.

Create a boilerplate project

We can ...

read the full post




How to get the best of your low end smartwatch

android smartwatch tasker u8

On April 1, 2015 I wrote an article about how to get the best of your U8 smartwatch, it turned out to be the most read content om my website, summing now more than 88k visits.

The article shows a way to enhance the U8 smartwatch capabilities with the help of Tasker, an app available on the google play store.

Even if my original article targeted the U8 smartwatch by U Watch, indeed the concepts and ideas fit well also ...

read the full post


Your Smartwatch Loves Tasker!

Your Smartwatch Loves Tasker!

Now available for purchase!

Featured