Wednesday, May 20

Drag and Drop file data (Fun with JS)

Short bit of code which when a user clicks inside a webpage, and while continuing holding down the mouse button, drags outside of the web browser, we create a file. This will create a file all on the client side, no server monkey business required. Tested and works in Chrome.


body = document.getElementsByTagName('body')[0];


body.addEventListener("dragstart", function (e) { e.dataTransfer.setData( "DownloadURL", "text/html:filename.html:data:text/html;utf8," + "hello world" ); });

Sunday, May 17

Fun with Kernels - Part 1

Prepping Raspberry Pi

  1. Installing software required to build the kernel
    1. apt-get install git -y  (14.0mb)
    2. apt-get install bc -y  (257kb)
    3. apt-get install libncurses5-dev -y   (37.4mb)
    4. apt-get install make -y   (1.294mb)
      1. apt-get install gcc make bc screen ncurses-dev
        if needed (wasn't needed)
  2. Downloading the kernel source code
    1. git clone --depth=1
  3. Building first Test Kernel Build (8,480,100b Image file)
    1. cd linux
    2. make bcm2709_defconfig
      Raspberry Pi 2
      1. bcmrpi_defconfig
        Raspberry Pi 1's
    3. make  (8:02pm - 11:31pm)
      with an error - so not complete
    4. make (1:13am - 1:32am)
    5. make modules (1:33am - 1:37am)
    6. make modules_install (1:37am - 1:39am)
    7. cp arch/arm/boot/zImage   /boot/kernel7.img
      Copy the built kernel to boot sd card
  4. Second Test Kernel Build (8,480,100b Image file)
    with ".config" from /proc/config.gz
    1. zcat /proc/config.gz > .config
    2. cp .config linux/.config
    3. cd linux
    4. make (1:49am - 1:54am)
    5. make modules (1:54am - 1:58pm)
    6. make modules_install (1:59am - 2:01am)
  5. Third Test Kernel Build ( b Image file)
    1. make menuconfig
    2. make (2:21am - 2:40am)
      Error recipe for target 'drivers/media/tuners/r820t.o' failed
      unable to handle kernel NULL pointer dereference at virtual address
    3. make (2:46am - 
    4. make modules (
    5. make modules_install

Saturday, May 16

Prepping my Development System

With my acquisition of 2 raspberry Pi 2's, I have decided to devote one of them solely for the purpose of developing projects on the raspberry Pi.

I will be starting off with a base 2015-02-18-wheezy-minibian image. These are the initial steps I did to prep my new Pi.

Prep Steps

  1. Initializing the new system (Shell Commands)
    1. passwd root
      Change root password
    2. apt-get clean
      Removes unused files, temporarily frees up file space
    3. apt-get install raspi-config
      Installs the raspberry pi config manager we will use to modify the initial system.
    4. raspi-config
      1. Overclock (7)
        Pi2      1000Mhz ARM, 500Mhz core, 500Mhz SDRAM, 2 overvolt
      2. Advanced Options (8)
        1. Hostname (A2)
        2. SSH (A4)
          Enable SSH
      3. Expand Filesystem (1)
        Expands the filesystem to use the full available space of the SD card
    5. Finish and Reboot
    6. apt-get install rpi-update  (19.4mb)
      Install the necessary  scripts to update the pi's firmware
    7. rpi-update  (46.2mb)
    8. reboot
    9. apt-get upgrade -y (51.3mb)
      upgrades current version of apt-get
    10. apt-get dist-upgrade -y  (26.2mb)
      upgrade current distro files
    11. Reboot
  2. Adding a dev user
    1. adduser {username}
    2. usermod -G sudo {username}
  3. Installing software
    1. apt-get install nano sudo usbutils dosfstools mc tmux samba nodejs -y   (79.5mb)
      Base utilities I like to have

Thursday, April 2

Raspberry Pi - Working with IMG files

One of the first steps to working with the Raspberry Pi is to transfer a version of linux stored in an IMG file to an micro or regular SD Card. Now this is easy if you have a card that is the same size or larger then the IMG file is.

My favorite distro for use on the Raspberry Pi is Minibian Wheezy, mainly for it's small starting size, I find it is a great base distro to build upon. At 488MB it is one of the smaller distros which is usually able to fit onto a single 512MB card.

The Problem:
My Kingston 512MB SD card which I was using to test my base IMG's died. After searching and finally being able to purchase another 512MB SD card, this time by KingMax, I thought I was off to the races.
The KingMax 512MB M-Series SD card actually has a total storage capacity of only 477MB. Exactly 11MB less then the IMG file I have for Minibian Wheezy (2015-02). I needed to trim the IMG file by 11MB so I can start using the KingMax card.

How to work with IMG files

  1. Copying the IMG file I want to work with to a USB key (FAT formated so it will work in Linux and Windows)
  2. I renamed the IMG file to 2015min.img just to save some typing
  3. Insert USB key into Raspberry PI, which is booted off a 4GB SD card with Minibian Wheezy already installed
  4. Mount the USB key
    1. mkdir /mnt/sda
      if you have not already made that directory
    2. mount /dev/sda1 /mnt/sda
      Mounts the USB key partition to directory /mnt/sda
    3. cd /mnt/sda
      switches are working directory to /mnt/sda (The USB Key)
    4. ls
      to confirm we are working with the USB key
    5. parted 2015min.img print
      displays the information about the IMG Disk file
      • Model:   (file)
      • Disk /mnt/sda/2015ming.img: 512MB
      • Sector size (logical/physical): 512B/512B
      • Partition Table: msdos
      • Number          Start           End           Size         Type   File system
      • 1                 8192B    50.0MB    50.0MB     primary    fat16
      • 2              50.0MB     512MB      462MB    primary    ext4
    6. fdisk -lu 2015min.img
      displays the same information in slightly different way
      • Disk 2015min.img: 511 MB, 511705088 bytes
      • 4 heads, 16 sectors/track, 15616 cylinders, total 999424 sectors
      • Units = sectors of 1 * 512 = 512 bytes
      • Sector size (logical/physical): 512 bytes / 512 bytes
      • I/O size (minimum/optimal): 512 bytes / 512 bytes
      • Disk identifier: 0x0004a452
      • Device            Boot     Start         End     Blocks    Id     System
      • 2015min.img        1         16     97727      48856      b     W95 FAT32
      • 2015min.img        2   97728   999423    450848    83     Linux
    7. Mounting a working with the linux partition for the IMG file
      1. Calculate the offset from the start of the image to the partition start
        sector size * Start = (in the case) 512 * 9772850036736
      2. losetup -o 50036736 /dev/loop0 2015min.img
        now the partition resides on /dev/loop0 and we can work with it
      3. mount /dev/loop0 /mnt/lo
        mount the linux partition from the IMG file
      4. df -h /dev/loop0
        displays Information about the filesystem
        • Filesystem         Size       Used       Avail    Use%     Mounted on
        • /dev/loop0   419MB   334MB    60MB       85%    /mnt/lo
      5. cd /mnt/lo
        switch working directory to /mnt/lo
      6. find . -type f -print0 | xargs -0 du -h | sort -hr | head -20
        Displays the top 20 largest files
        • This will show in this case that the top 3 files are located in the /var/cache folder
        • 39MB ./var/cache/apt/archives/raspberrypi-bootloader_1.20150214-1_armhf.deb
        • 18MB ./var/cache/apt/srcpkgcache.bin
        • 19MB ./var/cache/apt/pkgcache.bin
      7. rm -R -i var/cache/apt
        Recursivly deletes everything inside the /var/cache/apt directory
      8. mkdir var/cache/apt
        Recreates the apt directory (Just in case)
      9. df -h /dev/loop0
        Displays Information about the filesystem
        • Changes
        • Used: 254MB      Avail:  139M
      10. cd /mnt/sda
        Changes working directory
      11. umount /mnt/lo
        unmount the partition from IMG file
      12. losetup -d /dev/loop0
        disconnects the device from the IMG file
    8. Clean up and Resize IMG File
      1. losetup -o 50036736 /dev/loop0 2015min.img
      2. fsck -f /dev/loop0
        verify and clean partition
      3. resize2fs -P /dev/loop0
        returns the estimated minimum partition size: (in this case) 244201
      4. resize2fs /dev/loop0 300000
        resizes the partition to 300,000KB
      5. losetup -d /dev/loop0
        disconnect loop0 device from IMG file
      6. parted 2015min.img rm 2
        removes the 2nd partition from the 2015min.img file
      7. parted 2015min.img unit b mkpart primary ext4 50036736   350000000
        builds a new partition as #2 start: 50.0MB End: 350MB
      8. truncate -s 355MB 2015min.img
        truncates the file to the new files size of 355MB
      9. sync
        flushes file buffers
      10. umount /mnt/sda
        unmounts the usb key
After doing these steps I was able to transfer the IMG file over to the new KingMax "512MB" card, and after running resize2fs one last time on first boot. It now fills the card and ready to work.

Hope this helps somebody else ;)

Tuesday, March 3

Raspberry Pi's & Minibian Wheezy

Raspberry Pi
The Raspberry Pi is an inexpensive micro computer running on the strong arm processor set. Though I am waiting for my Raspberry Pi2s to arrive, I am using the older Raspberry Pi B model. 512mb of Ram, 700mhz processor.

Operating System
After testing many of the Linux distros I have decided to use a minimalist distro and add what I need to it, rather then removing "extras" that I don't need.

Tips, Tricks, and Links

  • Base Operating System
    • 2015-02-18-wheezy-minibian (
      • 167 MB download
      • 488 MB uncompressed IMG file
        Should fit on a single 512 MB SD card, though after trying a few I was unable to find a 512 MB SD card that was big enough. It fit quite nicely onto a 1 GB SD card.
      • 2 Partitions on SD Card
        1.  50 MB Fat16
          For Booting, and initial firmware
        2. 460 MB ext2
          Linux file system
  • Setup Steps
    1. Copy 2015-02-18.wheezy-minibian.img to SD Card
    2. Boot Raspberry Pi with SD Card
    3. Login
      • Username: root
      • Password: raspberry
    4. Shell Commands (Updating System)
      1. rm /etc/ssh/ssh_host_* && dpkg -reconfigure openssh-server
        Regenerates RSA/DSA keys for openSSH
      2. apt-get clean
        Removes unused files, temporarily frees up file space
      3. apt-get update
        Updates the apt-get stored library files to latest versions
      4. apt-get install nano sudo rpi-update raspi-config usbutils dosfstools -y
        Installs nano, sudo, rpi-update, raspi-config, usbutils, dosfstools libraries
      5. apt-get clean
        Cleans up files
      6. rpi-update && reboot
        Updates the Raspberry Pi's firmware, and bios files and reboots the system
      7. apt-get upgrade -y
        Upgrades current version of apt-get
      8. apt-get dist-upgrade -y
        Upgrades any necessary files from the Distro
      9. apt-get install firmware-linux-nonfree -y
        Installs Wireless Firmware if necessary
    5. Shell Commands (Resize SD Card to fit)
      1. raspi-config
      2. Select Advanced Options
      3. Select Expand Filesystem
        After selecting this, it will ask you to reboot, confirm, and after a reboot the Linux will be using the complete size of the SD Card it is on
    6. Shell Commands (Adding Software)
      1. apt-get install mc tmux samba nodejs -y
        1. mc "Midnight Commander"
          A Norton Commander style clone file manager for Linux
        2. tmux "Terminal Multiplexor"
          Lets you switch easily between serveral programs in one terminal.
        3. samba ""
          Allows your Raspberry Pi be visible on a Windows network
        4. nodejs "NodeJS"
    7. Shell Commands (Adding Users)
      1. adduser superuser
        Creating a seperate root user
      2. usermod -G sudo superuser
        Adds the user "superuser" to the sudo group
  • Reserve Extra Memory for Linux Kernel
    • Modify the file /etc/sysctl.conf
      Add the following line
    • vm.min_free_kbytes=8192
    • vm.min_free_kbytes=12288
  • Useful Linux Commands
    • free -m
      Displays RAM usage
    • df -h
      Displays filesystem stats

Other Links to check out

Wednesday, February 18

Great List of "Games about Hacking"

As with all lists, this one tries with the powers of the search engines, to be as complete as possible. Bellow is version 1 of:
The Great List of "Games about Hacking"

  1. 868-Hack                         (Windows)
  2. Control-Alt-Hack            (Card Game)
  3. Cypher                             (Browser)
  4. GeekTyper                      (Browser)
  5. HackTheGame               (Windows)
  6. Hack 'n' Slash                (Windows, Mac, Linux)
  7. Hack Run Series            (iOS)
    1. Hack Run
    2. Hack Run Zero
    3. Hack Time
    4. Hack Net
  8. Hackex                           (Android)
  9. Hacknet                          (Windows)
  10. HackWars                       (Browser - Java)
  11. Hacker 2                         (Flash Player)
  12. Hacker Evolution Series    (Windows, Mac, Linux)
    1. Hacker Evolution
    2. Hacker Evolution Untold
    3. Hacker Evolution Duality
  13. Hacker Experience        "The Internet under attack..."     (Browser)
  14. Hacker-Project                (Browser)
  15. Hacker Forever              (Browser)
  16. Hacker vs Hacker          (Flash Player)
  17. Invasion of the Wireless Hackers       (Flash Player)
  18. Nameless                        "The Hackers"          (iOS)
  19. Paradroid                        (Commodore 64)
  20. Quadrilateral Cowboy     (In Development)
  21. Slave Hack                      (Browser)
  22. The Hacker                     (Flash Player)
  23. The Hacker's Sandbox      (Windows, Mac, Linux)
  24. Uplink                              (Windows, Mac, Linux, iOS, Android)

Friday, February 13

FAILED to DisruptGame or Another Disappointment with Steam Greenlight

On July 23rd, 2013, Cara Ellison of Rock, Paper Shotgun, wrote a short exciting article about a yet unheard of game called "Disrupt." Lekë Dobruna a developer, according to the RPS, based in Pristina, Kosovo at the time of the article expelled an intriguing game. A game where you the player find yourself in the role of a powerful hacker. A hacker who accesses secret governmental systems, all for personal gain. There were side missions,  hardware upgrades, software downloading, and city to city travel.

As of Febuary 13th, 2015 we have nothing but silence.

Over 18 months after I first heard of Disrupt, almost 1 full year after being greenlit on Steam, North Rock Games, and Lekë Dobruna have gone strangely silent. The last discussion on Disrupt's Steam Community page, started January 22nd, 2015, starts with "Lord Piggleston's" inquiry:

"Where Are You?"
The website is down, nothing from twitter. is this dead?
And finishes 5 comments later with the assumed, but likely true, statement:
"They be dead."

Disrupt for all it's media cover, strong community members, being greenlit on Steam, and many promises from the developer that Disrupt is still in development;
is M.I.A.

Originally I was typing words like dead, D.O.A., deceased, and departed. But in reality M.I.A. (Missing in Action) is the best way I can describe Disrupt's current status. M.I.A. is also the best way I can find to describe any current news, and comments, about the game Disrupt.

Out of curiosity I have chosen to try and document as complete a history of Disrupt, from hype to today. Unfortunately the DisruptGame website has for the most part also gone M.I.A. Showing only the cryptic word "Loading" as proof that the domain is still active. I will also try and provide as much information as I can about those who appear to be involved with Disrupt.

* A Quick note, all of the information displayed below was found following links on the various websites only! *


  • 2009
    • April
  • 2010
    • October
      • 17
        • Lekë Dobruna tweets UltraVision Labs website is up with temporary template at
          • was ran of a free subdomain of a now defunt domain. (Only up for 5 months)
      • 21
        • Lekë Dobruna tweets "V.I.K.I Alpha build v0.1 release:"
          • also not currently available
          • Last tweet regarding
  • 2011
    • June
    • November
      • 11
        • Last public post on Google+
  • 2012
    • September
        • North Rock Games - Founding date according to
    • October
      • 8
        • Lekë Dobruna joined YouTube
        • Disrupt - First (old) demonstration video posted on YouTube by Lekë Dobruna
  • 2013
    • June
      • 19
        • registered date
      • 21
        • html page title changed to "Disrupt - Coming Soon"
      • 29
        • Academic and Medical servers images tweeted @disruptgame
    • July
      • 22
        • DisruptGame user joined YouTube
        • First post to Google+ Profile
        • Disrupt - Pre-Alpha footage video published to YouTube
      • 23
        • "Assange ‘Em Up: First Look at Disrupt" article published to  Rock Paper Shotgun by Cara Ellison
    • August
  • 2014
    • February
    • March
      • 4
        • @disruptgame tweeted "Happy to announce that Disrupt has been Greenlit in Steam along 49 other titles. Thank you for the support!"
    • May
      • 31
        • Leka74 posts DisruptGame "footer ad" in a post on
    • June
      • 8
        • updated date
    • July
      • 9
        • Steam User "North Rock Games" last played "Black Ice Demo" on Steam
    • October
      • 4
        • Last YouTube video user Lekë Dobruna "liked"
      • 9
        • "Disrupt - Soundtrack #1" video published on YouTube
        • Last Public tweet on @disruptgame
    • November
      • 12
        • Last retweet on @lekedobruna
      • 18
        • Last Reply tweet on @disruptgame to @arxerisdam
          "Nothing we can post about yet but we're still working on it. :)"
    • December
      • 15
        • Last Reply tweet on @lekedobruna to @NirDafnai
          "The game is still in development"
  • 2015
    • January
      • 22
        • Lord Piggleston created a discussion on steam labeled "Where are You."
          The website is down, nothing from twitter. Is this dead? The length of time with no update is what will kill your game before it even comes out. People are have already forgetten that this exists.
    • February
      • 6
        • Steam user "Leka74" last played "Left 4 Dead 2"
      • 9
        • Last SteamCommunity post by Lord Piggleston with
          "They be dead"
      • 13
        • html page title changed to "Disrupt"
    • June
      • 19
        • current expiration date


  • Disrupt Game
    • Developers
    • email 
        • points to roundcube webmail
        • ssl certificate is out of date
    • Greenlight
    • Presskit
    • Press Articles
    • Release Date: "Sometime in 2014" according to:
      • @disruptgame - Twitter
      • - Website
      • Steam Greenlight Page
    • Screenshots

        • Press Articles
    • Twitter
      • @DisruptGame
      • @Leka74
    • website
        • Creation Date: 2013-06-19
        • Updated Date: 2014-06-08
        • Expiration Date: 2015-06-19
        • IP Adress:
        • Registrar: Enom, Inc
        • Server location: Netherlands
        • ISP: i3d B.V.
        • Nameservers
  • North Rock Games
    • Founded: 2012-September
    • Based: Prishtina, Kosovo
      • St. Qamil Hoxha No. 12
        Pristina, Republic of Kosovo
    • Phone: +386 49 853581
    • tumbler:
    • Steam User: 
  1. whois information
  2. html page title records
  3. Leka74 post to
  4. North Rock Games information from
  5. Disrupt - Trailer on youtube
  6. DisruptGame user on youtube
  7. Disrupt Google+ Profile
  8. Disrupt - Pre-Alpha footage video on YouTube
  9. Disrupt - Soundtrack #1 video on YouTube

That's All for now, will update.

  • Links I will be following up with

Monday, February 9

Color Theory - v1.0

Having been told that colors can effect mood and feelings, here is a break down of what I have found on color theory. And the websites that I used.

  • Red
    • Apartment
      • Official color of Romance, passion, etc
      • Increases appetite
      • insinuates anger (When paired with Black)
    • Color
      • More brilliant against a Black background
      • Duller against White background
      • Appears lifeless against Orange
      • Exhibits brilliance against Blue-Green
      • Color of Fire, Blood
      • Associated with Energy, war, danger, strength, power, determination, Courage
      • Passion, Desire, Love
      • Emotionally intense color. Enhances human metabolism, increases respiration rate, and raises blood pressure.

  • Orange
    • Apartment
      • Pride, Ambition
      • More friendly, welcoming then Red
      • Combines the energy of Red with the happiness of Yellow
      • Joy, Sunshine, the Tropics, Fall, Harvest
      • Enthusiasm, fascination, happiness, creativity, determination, attraction, success, encouragement, stimulation
      • Gives the sensation of heat to the human eye

... Hopefully this helps