Skip to content

Instantly share code, notes, and snippets.

View andreagrandi's full-sized avatar
🏠
Working from home... permanently!

Andrea Grandi andreagrandi

🏠
Working from home... permanently!
View GitHub Profile

Keybase proof

I hereby claim:

  • I am andreagrandi on github.
  • I am andreagrandi (https://keybase.io/andreagrandi) on keybase.
  • I have a public key ASClZLE2JRXY3NdFfmpwO-4yEwrmRL45_zVUR6heAwiKWgo

To claim this, I am signing this object:

Keybase proof

I hereby claim:

To claim this, I am signing this object:

@andreagrandi
andreagrandi / website_migration_notes.txt
Last active July 2, 2017 09:00
Step by step notes to migrate andreagrandi.it to a static website
- create andreagrandi.it repository on GitHub
- clone andreagrandi.it repository locally
- copy files from andreagrandi.co.uk repository to andreagrandi.it one
- change extras/CNAME content to: www.andreagrandi.it
- change SITEURL in publishconf.py to: https://www.andreagrandi.it
- change DISQUS_SITENAME to ‘andrea-grandi-it’
- get a new GitHub token from https://github.com/settings/tokens
- activate TravisCI for repository andreagrandi.it
- run travis encrypt GH_TOKEN=……… from inside andreagrandi.it repository
- copy the generated value to .travis.yml
@andreagrandi
andreagrandi / microchristmas.py
Created December 14, 2016 21:58
Microbit Christmas Tree
from microbit import *
image_1 = Image.XMAS
image_2 = Image.HAPPY
status = 'OFF'
while True:
if button_a.is_pressed():
status = 'ON'
@andreagrandi
andreagrandi / permissions.py
Created September 30, 2016 09:49
IsAdminOrReadOnly is a custom Django Rest Framework permission class that allows Admin users to POST and anonymous to GET
from rest_framework.permissions import BasePermission, SAFE_METHODS
class IsAdminOrReadOnly(BasePermission):
def has_permission(self, request, view):
if request.method in SAFE_METHODS:
return True
else:
return request.user.is_staff
@andreagrandi
andreagrandi / merge_spammers_list.py
Created May 25, 2016 18:15
Merge Jason Cartwright spammer list with spammy-recruiters one
#!/usr/bin/python
spammy_recruiters = []
jason_recruiters = []
with open('spammers.txt', 'r') as f:
spammers = f.readlines()
for domain in spammers:
spammy_recruiters.append(domain.replace(' OR \n', '').replace('\n', ''))
from microbit import *
while True:
reading = accelerometer.get_x()
if reading > 20:
display.show("R")
elif reading < -20:
display.show("L")
else:
display.show("-")
@andreagrandi
andreagrandi / random_names.py
Created March 18, 2016 15:17
Get random name from a list on microbit
from microbit import *
import random
names = [
"Mary", "Yolanda", "Damien", "Alia",
"Kushal", "Mei Xiu", "Zoltan"]
display.scroll(random.choice(names))
@andreagrandi
andreagrandi / make_me_happy_microbit.py
Created March 13, 2016 11:38
Make microbit happy pressing button A or make it die pressing B
from microbit import *
while True:
if button_a.is_pressed():
display.show(Image.HAPPY)
elif button_b.is_pressed():
break
else:
display.show(Image.SAD)
@andreagrandi
andreagrandi / hello_pycon_microbit.py
Created March 11, 2016 15:05
Hello world example in MicroPython
from microbit import display
# This text will scroll on the 5x5 matrix display
display.scroll('Hello PyCon Italy')