Amateur Icon Design for MilTRAC Project

I have decided to design some icons for my current project in Milsoft. It is a MRO (Maintenance, Repair, Overhaul) application to automate complex maintenance operations, like maintenance of an aircraft. Project name is MilTRAC. Below are the various icons I have designed with Illustrator and Photoshop.

Tank 32x32 Tank f16 32x32
Miltrac with start 64 Miltrac 64
Miltrac with start 128 Miltrac 128
Milsoft miltrac wrench 128 Miltrac rounded white backgorund 128
Miltrac with start 256 Miltrac 256
Tank 256 transparent background Tank 256 white background
Milsoft miltrac wrench 256 Miltrac rounded white backgorund 256
 Miltrac with start 512
Miltrac rounded white backgorund 512
Milsoft miltrac wrench 512
Tank 512 transparent background
Miltrac 512
VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)

Amazon EC2 small instance + JIRA + Confluence + Apache + MYSQL, OwnCloud + VPN

I am currently running JIRA, Confluence, Apache web server, MySQL, VPN Server and ownCloud on an Amazon EC2 small instance. Of course it is not a heavily loaded system. It is working pretty efficient for my personal experiments. 

top – 19:55:47 up 2 days, 7:04, 1 user, load average: 0.13, 0.19, 0.13
Tasks: 73 total, 1 running, 72 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.1%sy, 0.0%ni, 97.7%id, 0.0%wa, 0.0%hi, 0.0%si, 2.0%st
Mem: 1706220k total, 1638056k used, 68164k free, 113384k buffers
Swap: 0k total, 0k used, 0k free, 228788k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
24589 ubuntu      20 0  692m 547m 8620 S 0.4 32.8 12:11.39 java
16921 ubuntu      20 0  688m 557m 4628 S 0.4 33.4 11:48.61 java
 9070  mysql        20 0 336m  57m  4292  S 0.1 3.5 3:49.98 mysqld
24601 www-data 20 0 45360 12m  4244  S 0.0 0.8 0:03.44 apache2
24278 www-data 20 0 45332 12m  4048  S 0.0 0.8 0:03.75 apache2
24271 www-data 20 0 45308 12m  4096  S 0.0 0.8 0:04.62 apache2
24761 www-data 20 0 45296 12m  4088  S 0.0 0.8 0:02.07 apache2
24260 www-data 20 0 45192 12m  4148  S 0.0 0.8 0:05.03 apache2
28162 www-data 20 0 44912 12m  4016  S 0.0 0.7 0:00.72 apache2
24261 www-data 20 0 44668 12m  4176  S 0.0 0.7 0:08.30 apache2
24758 www-data 20 0 44668 12m  4316  S 0.0 0.7 0:02.23 apache2
24262 www-data 20 0 44660 12m  4024  S 0.0 0.7 0:03.22 apache2
24259 www-data 20 0 43048 10m  4280  S 0.0 0.7 0:08.05 apache2

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)

Installing JIRA on Amazon EC2 Ubuntu Small Instance

I have recently purchased a jira starter license for myself and decided to host it on my Amazon EC2 Ubuntu server. Memory of a small instance is only 1.7Gbytes and I am planning to run JIRA, Confluence, Stash, Mysql, VPN Server on that machine. I am planning to give each tomcat instance a 512MB memory. It may be possible to install JIRA and Confluence on the same Tomcat installation but this is not recommended by Atlasian.

  • Install Java

    #sudo add-apt-repository ppa:webupd8team/java
    #sudo apt-get update && sudo apt-get install oracle-jdk7-installer
     

  • Install mysql

     sudo apt-get install mysql

  • Connect to mysql with root account and password you have created during mysql installation

    mysql -u root -p

  • Create a database for JIRA  called jira

    mysql> create database jira character set utf8 collate utf8_bin 

  • Create a user named jira and grant access to jira database from anywhere

    grant all on jira.* to 'jira'@'localhost' identified by 'your_jira_user_password'  

  • Download JIRA

    wget http://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-5.2.10.tar.gz 

  • Unzip JIRA installation

    tar -zxvf atlassian-jira-5.2.10.tar.gz

        This will extract JIRA to atlassian-jira-5.2.10-standalone folder.

  • Download Mysql JDBC driver, unzip it and copy it to atlassian-jira-5.2.10-standalone/lib folder.

    sudo apt-get install unzip
    unzip mysql-connector-java-5.1.24.zip
    cp mysql-connector-java-5.1.24/mysql-connector-java-5.1.24-bin.jar ~/atlassian-jira-5.2.10-standalone/lib/

  • Adjust memory settings of JIRA installation by editing the bin/setenv.sh file as follows. We have reduce this values a little bit.

    JVM_MINIMUM_MEMORY="128m"
    JVM_MAXIMUM_MEMORY="512m" 

  • Before we run JIRA we need to create and configure a JIRA_HOME folder.

    mkdir -p ~/atlasian/jira

    Change atlassian-jira-5.2.10-standalone/atlassian-jira/WEB-INF/classes/jira-application.properties file as follows

    jira.home = /home/users/ubuntu/attlasian/jira

  •  Start the JIRA installation using

    ./start-jira.sh

  •  Enter http://your_elestic_ip_address:8080 into browser and enter values you have adjusted above.

     

    NewImage

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)

Snapping Windows and Moving Them Between Screens in Mac OS X

One of the best features of Windows’ user interface is its ability to snap windows to edges of the screen. Mac OS X does not have this capability natively. There are several applications that could do this and all of them are paid applications. Some of them provides just snapping capability and some also provides capability to move windows between screens. After trying a few of them I decided to go with BetterSnap Tool. It has 5 star rating in the Mac App Store. Also it is very cheap when compared to other alternatives. 

NewImage

You could drag windows to edges to snap them, a preview screen will be shown to indicate the window size and position after snapping it. I suggest you to auto start it when your mac starts.

NewImage

BetterSnap Tool is also keyboard shortcut friendly. I have defined shortcuts to maximise, snap to left, right, top and bottom using cursor with a combination of control, option and command buttons. It is really difficult to find a suitable empty shortcut combination. I have also defined a shortcut to move current window to second monitor. I have gone with maximise on next monitor option, because my second screen’s resolution is significantly lower. If I choose the move to next monitor option window may not fit the available space.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)

Setup a HTML5 Development Environment with IntelliJ

In this post I will explain you how you could set a simple web project to experiment with your favourite javascript libraries. IntelliJ has support for NodeJS, Javascript, HTML and CSS. For NodeJS support you have to install NodeJS framework to you computer. After you install NodeJS, you should install IntelliJ NodeJS plugin and allow it to download source of NodeJS core modules. Without them auto complete will not be available. If you follow default installation procedures, IntelliJ itself will find where your node executable is and with jus a few clicks it will download required sources.

Screen Shot 2013 03 27 at 1 02 23 PM

After installing the plugin use the green NodeJS icon on the toolbar to start NodeJS configuration.

Skitch

 

IntelliJ will guide you for downloading source code of core NodeJS modules.

Node config

Create a new Project with “Web Module” selection.

New Project

We will need a web server, since we have NodeJS installed we could easily run our simple web server using connect middleware for NodeJS. Open command line, and go into the your project folder and Install connect using:

$ npm install connect 

This will download and install required NodeJS modules in node_modules folder. After that we could write our simple web server using JavaScript.

var connect = require('connect')
connect.createServer(connect.static(__dirname)).listen(8080);

Now we will create a new launch configuration by right clicking on server.js file an selecting “Run server.js” from the menu. This will create a new launch configuration as follows:

Run Debug Configurations

Before running your server, you should define deployment configuration from Tools->Deployment->Configuration… menu. In this screen we will define how folders of our web project maps relative to context root of our web server we have created in above server configuration. Click + sign on top left corner and add a new “In place” deployment using the type combobox. In first screen, enter the web server root URL according to port you have specified in your server.js file. In my case it was 8080.

Deployment Connection

Click on the Mappings tab and add mappings of you project folders relative to context root of web server. In my case I have specified root of my project folder as root of my web server.

Deployment Mappings

Now we can execute our NodeJS web server using the toolbar as shown below.

Server

VN:F [1.9.22_1171]
Rating: 9.0/10 (1 vote cast)

Switching Mac OS X from Windows

In the past I have mostly used Windows as my main operating system. Some times I have used Ubuntu, especially as file server with ZFS port of ubuntu. I had tried it on my work laptop but it was very unstable mainly due to 3D Nvidia drivers used for composite desktop effects.  Later I have used a Mac Mini my home file server, it is connected to LCD TV and host all pictures, musics. But am not using it as a desktop computer.

Last week I have bought my first Macbook pro laptop. I have very satisfied with it. Nearly all of the programs I have used to in Windows have Mac OS X ports. I have performed following adjustments to my Mac since last week:

  • Install XtraFinder: I have used to TotalCommander in Windows. Which mainly adds side by side dual panel and tabbed view besides other productivity features. 
NewImage
  • Installed sparrow for mail. It has unified inbox for your multiple mail addresses. Supports every feature of Gmail, including labels, archiving etc.
  • Installed iterm 2 to replace mac terminal. It provides dual pane and tab support.
  • Installed TextMate2 for text editing.
  • Installed Parallels 8 for running Windows virtual machine. See below, office application.
  • Installed MarsEdit 3 for blogging. See below, problems section.
  • Installed IntelliJ 12 for my software development projects. Although it is not a native Cocoa application it has no problems with retina display.
  • Installed gfxCardStatus application to track which graphic card is being used, and which application is using it.
  • Installed iStatMenu to display CPU, Temprature, Memory, Network, Disk statistics in status bar.
  • Installed Chrome and disabled flash plugin. It uses a lot of cpu. Since it i disabled most of the sites offering html5 content. If I need flash absolutely, I open that site in safari.
  • I am reading a few books on Mac OS X safari books. You could discover most of the features by yourself, but there are some advance features, like AppleScript and Services which may be difficult to learn by yourself.
  • Installed Android File Transfer to transfer files between my android phone and Mac OS.
  • Purchased and installed BetterSnap Tool. It is very chip and effective program when compared to other alternatives like Cinch.

Problems so far:

  • Different Shortcuts: Applications has different bookmarks than I have used to in Windows. This is especially a bigger problem in shortcut heavy applications like IntelliJ.
  • Skitch: It is causing discrete graphic card to be used even when it is running in the background. This significantly reduces laptops battery life. I have submitted a bug report on this problem. I have traced which application is using gfxCardStatus application as shown below. Actually a lot of simple applications are causing Macbook to switch discrete graphic card.

Skitch gpu

  • Blogging software. Mac has nothing comparable to Windows Live Writer. Finally I have decided with MarsEdit but it is costly, $40. Windows Live Writer is superior to it and it is free. But MarsEdit is also causing discrete graphic card to be used which significantly reduces battery life. 
  • Maximize button (the green plus icon) does not work well.
  • I could not use my office key for Mac, this mean I have to purchase Office again. I do not want to do this, because I use it rarely. 
  • There is nothing comparable to Fiddler2 to debug http. Even the paid applications are not as capable as Fiddler2. I think I will use Fiddler2 on Windows using parallels.

 

 

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)

Clone a Postgresql Database

May be there are more efficient ways of doing this, but I could only found following procedure:
1) Create a new DB
   createdb -U db_user new_db_name
2) Dump data from original DB
  pg_dump -U db_user -Fc original_db_name > dump_file_name
3) Restore to new db
   pg_restore -U db_user -d new_db_name dump_file_name

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)

Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]

This error occurs when you try to reinstall an android application that is signed with a different key than already installed application. This may occur if you are a developer and installed the signed version of the application to your device (from Google Play Store) and you want to install a debug version of the same application for development purposes. To prevent this you may sign your development/debug versions with the same key that you use for publishing your application to Google Play Store. To do this you have to change your debug certificate with your real certificate. Debug certificate used is stored in the .android/debug.keystore file in your home directory. You have two options:

    Export your release key from your release keystore and import it to debug.keystore Copy your release keystore over your debug.keystore and change store and key passwords to “android

I will describe steps for second option.

    Copy your real keystore (release keystore) over ./android/debug.keystore file Change keystore password to android using keytool:

             keytool –storepasswd –new android –keystore debug.keystore

    Use keytool to list keyaliases:

             keytool –list –keystore debug.keystore

    Above command will list key aliases and their corresponding certificate fingerprints. Find your key alias you have used to sign your application for Google Play Store

    Now change password of the key you have used to sign your application for Google Play Store to android:

             keytool –keypasswd –alias your_key_alias –new android –keystore debug.keystore

    Now rename your key alias (your_key_alias on above command) to androiddebugkey:

             keytool –changealias –alias your_key_alias –keystore debug.keystore

   Above command will ask you destination alias name, enter androiddebugkey. It will also ask your store password like all above commands.

After that your debug versions can be installed over the version downloaded from Google Play Store.

References:

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)

My First Published Android Application:Kids Photo Album

Kids Album is a photo album application.

Main focus of the application is taking periodic photos of your kids and displaying them in a timeline view.

Main Features:

Create your kids profiles
Customizable reminder to remind you at which period you would like to take photos
Daily,weekly,yearly photos
Display photos in timeline
Add old photos to timeline from your phone’s gallery or other applications
Merge selected photos from timeline
Share merged photos on facebook, twitter,instagram, e-mail …

Download:
QR Code generator

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)

How to Speed Up Android Emulator for Debugging and Testing

I usually prefer to use my real phone for debugging and testing my application. But I want to see it in other device configurations, especially the user interface. Even you build the user interface with a visual editor you need to see it runtime to fully visualize everything. Android emulator is very slow because it is emulating ARM code on an x86 system. Especially it is very slow to start so you should keep it open. To start it fast you may use Snapshot feature of emulator. Enable Snapshot while creating virtual device as shown below:

You have to enable Snapshot and start the device from this snapshot while launcher the emulator.

Increasing the devices RAM size to 1024M may also help a lit bit as shown on the first image. Especially on newer images.

But these will only make your emulator start fast, it will be still slow at run time. To make it fast at run time you have to use Intel’s x86 Android image. Install it using the instructions here. After installation execute the HAXM setup from <android-sdk>\extras\intel\Hardware_Accelerated_Execution_Manager folder. While creating your emulator using AVD Manager, you should select Intel x86 Atom as CPU type. For it to be enabled you have to select API level for which you have installed an Intel x86 Android Image. Note that, it is only available for API levels starting from 15. Also select GPU emulation, but this could not be used together with Snapshot feature. So you have to disable it. You will appreciate the speed difference when compared to ARM based emulator. Of course you can not use x86 emulator if you are doing hardware dependent development.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)