Category Archives: Uncategorized

Override DNS v5.5.1 released

Changelog from v5.4.1 to v5.5.1.

  • User facing improvements:

    • bugfix: null pointer exception on predefinedDNS singleton
    • toast a message when modifying SSID you’re connected to
    • bugfix start service/enable app Android N
    • added fine location request on O+ to get SSID
    • MainActivity improved
    • bugfix automatic DNS change in Android N
    • Removed Cisco predefined DNS, does not work
    • Added log message when updating SSID list
    • Adaptive icon
    • Added test button when possible
    • Added a dedicated service for Oreo+ versions and a persistent notification (can be switched off)
    • Added “always use iptables” option for N+ Android versions
    • Improved logging: added autoscroll, timestamp, failure reasons, live messages, persistance
    • Fixed rotation problems, ProgressBar, layout for small screens, buttons layout
    • Improved: notifications, app load time, root detection
    • removed Showcaseview library
  • Internal improvements:

    • Better LiveMessage dispatching
    • enable NetworkMonitorService for N+
    • use my setools-android fork as submodule
    • Makefile: use full path for adb
    • Cleanup iptables rules switching to unsupported network
    • Preparing for my DNS tester service
    • Fixed: SELinux detection, Magisk detection, restore button, network disconnections detection
    • Improved: Wi-Fi SSID detection, code style
    • Reduced preferences size, source code, compilation time
    • Simplified mantainability with command templates
    • Disabled StrictMode in release versions
    • Introduced: Gson, ButterKnife

Install UBCD on a bootable USB stick

Ultimate Boot CD was a really good tool when I worked as a sysadmin and I thought it was a good thing to keep a USB stick around.

Download UBCD

There are several options to download a copy of UBCD iso, all listed on the dedicated page. A good way is to use torrent (here’s the magnet link).

Indetify your USB device

Please be careful here, if you are wrong, you are going to delete the wrong disk.
I’m not responsible of any data you loose.

There are few ways to detect the right USB device, I usually take a look do dmesg output

$ dmesg | grep -A8 'Direct-Access'
[  844.712601] scsi 6:0:0:0: Direct-Access     Generic  Flash Disk       8.07 PQ: 0 ANSI: 2
[  844.713050] sd 6:0:0:0: Attached scsi generic sg2 type 0
[  844.716347] sd 6:0:0:0: [sdc] 15663104 512-byte logical blocks: (8.01 GB/7.46 GiB)
[  844.716774] sd 6:0:0:0: [sdc] Write Protect is off
[  844.716780] sd 6:0:0:0: [sdc] Mode Sense: 03 00 00 00
[  844.716969] sd 6:0:0:0: [sdc] No Caching mode page found
[  844.716972] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[  844.719175]  sdc: sdc1
[  844.720364] sd 6:0:0:0: [sdc] Attached SCSI removable disk

In this case I’m sure that the device is sdc because I’ve only one disk with 8GB of storage.

I’ll use sdc in this document, you should use your device name, it’s really important.

Format the USB stick

Be sure that the OS you are running have not automatically mounted any previous partition on the stick:

$ sudo umount /dev/sdc*

Then you could use GParted or do it manually as I like.

$ sudo parted -s /dev/sdc mklabel msdos
$ sudo parted -s /dev/sdc mkpart primary fat32 0 700
$ sudo parted -s /dev/sdc set 1 boot on
$ sudo mkfs.vfat -F32 /dev/sdc1
$ sudo parted -s /dev/sdc print
Model: Generic Flash Disk (scsi)
Disk /dev/sdc: 8020MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start  End    Size   Type     File system  Flags
 1      512B   700MB  700MB  primary               boot, lba

Extract ISO data on a folder

$ mkdir ubcd534
$ sudo mount -o loop,ro ubcd534.iso /mnt/misc/
$ rsync -avr /mnt/misc/ ubcd534/
$ sudo umount /mnt/misc

Copy ISO data to USB

$ sudo mount /dev/sdc1 /mnt/misc/
$ sudo rsync -rtv ubcd534/ /mnt/misc/
$ sudo umount /dev/sdc1

Make the USB device bootable

$ cd ubcd534/ubcd/tools/linux/ubcd2usb
$ chmod +x syslinux
$ sudo ./syslinux -s -d /boot/syslinux -i /dev/sdc1

How to display PHP errors only in public_html directories

How to display PHP errors

I always use servers where PHP errors are not shown by default and I always forget how to enable error messages in development environments.

My situation

On a server I usually prefer Debian OS, but when I develop on the go I use laptops with Ubuntu.
In this case I’m running Ubuntu 14.04 LTS with Apache2 (v2.4.7) and libapache2-mod-php5 (v5.5.9).

I want PHP errorors displayed for projects in my public_html folder.

Solution 1 (only Apache conf files)

Create the file /etc/apache2/sites-enabled/800-public-html.conf with this content:

<Directory /home/*/public_html>
  AllowOverride Options
  php_admin_flag display_errors On
</Directory>

Solution 2 (using .htaccess)

Create the file /etc/apache2/sites-enabled/800-public-html.conf with this content:

<Directory /home/*/public_html>
  AllowOverride Options
</Directory>

Create the file /home/max/public_html/project1/.htaccess with this content:

php_admin_flag display_errors On

Conclusions

It’s easy and easily forgettable. Don’t forget to add

error_reporting(E_ALL | E_NOTICE);

in your .php files.

Meet the “It’s All Text!” Firefox extension

Yes, I’m a vim addicted. I mean vim the text editor. I’m so addicted to it that I tend to use vim’s shortcuts even in LibreOffice documents, thunderbird e-mails, web forms etc. with awful results.

Then I found It’s All Text, a Firefox extension which saved my web experience when editing long textareas.

It’s really simple: it puts an overlay “edit” button beside each textarea which is visible only when overing it. When you click it, your preferred editor will come up filled of the text of the textarea. Now you can make your edits, close it and boom, the text is in the textarea.

Wonderful.

For me it’s a productivity boost.

I use it everywhere, like now, I’m writing this blog post in my preferred editor.

The nerd tip

There a deeper tip I use: I’m opening vim from a gnome-terminal.

I created a bash script under my $HOME/bin directory with this name editor-for-it-s-all-text.sh and which content is

#!/bin/bash
/usr/bin/gnome-terminal --full-screen -e "vim '$1'"

Then I configured “It’s All Text” to use that editor and now I use my beloved vim in a full screen terminal window.

Awesome.

Detect Markdown files in vim

Quick tip which force vim to recognize .md files as Markdown formatted files:

  • create, if not exists, the needed directory
    mkdir -p ~/.vim/ftdetect/
    
  • create the file ~/.vim/ftdetect/markdown.vim with this content
    autocmd BufNewFile,BufRead *.md,*.mkdn,*.markdown :set filetype=markdown
    

Done.