Software Systems Architecture

Working With Stakeholders Using Viewpoints and Perspectives



Software Systems Architecture is a practitioner-oriented guide to designing and implementing effective architectures for information systems. It is both a readily accessible introduction to software architecture and an invaluable handbook of well-established best practices.

It shows why the role of the architect is central to any successful information systems development project, and, by presenting a set of architectural viewpoints and perspectives, provides specific direction for improving your own and your organization’s approach to software systems architecture.



Android NDK Environment Setup and Development

About Android NDK...........................................................................................................


Use of Android NDK.........................................................................................................



Android SDK & NDK Environment Setup........................................................................... 


Basic project sample..............................................................................................................


Native level implementation ..................................................................................................


Android Application UI implementation ...............................................................................


Client Setup............................................................................................................................


Pilot run.........................................................................................................................Enjoy


All credits goes to Marakana Inc and Aleksandar Gargenta

Setting Up Blogger Crawler and Index

Now Blogger has great feature for search engine visibility.Now we can visible our blog in search engines with robot.txt. To active this feature go to Settings | Search Preferences, click Edit next to "Custom robots.txt" and select Yes. After this selection text box will be visible to give the crawler code for your site.

Note: which was mention in blogger site
Warning! Use with caution. Incorrect use of these features can result in your blog being ignored by search engines.

by default the robot.txt has following code,
User-agent: Mediapartners-Google
Disallow: 

User-agent: *
Disallow: /search
Allow: /
Sitemap: http://www.example.com/feeds/posts/default?orderby=updated

User-agent: Mediapartners-Google is a robot from Google Adsense, leave it as is because if you mistakenly change that than the ads served will not fit with your content.

The next line is for all the robots and marked with an asterisk (*). On the default configuration, it is clear that the label of our blog is not indexed Disallow: /search.

Keep in mind that a slash (/) is as your homepage, so for example if you want the label to get indexed, do not just fill up with a slash like this Disallow: / because that would be you do not allow the robot tracing your blog

Finally your code can be like bellow,
User-agent: Mediapartners-Google 
Disallow:
User-agent: * 
Disallow: /search?updated-min= 
Disallow: /search?updated-max= 
Disallow: /search/label/*?updated-min= 
Disallow: /search/label/*?updated-max= 
Allow: / 
Sitemap: http://www.youtdomain.blogspot.com/feeds/posts/default?orderby=updated

After the changes, make sure everything is fit like what we want by visiting www.example.com/robots.txt. Replace the Example.com with your domain name.

android: No Launcher activity found

Error:

[2005-01-06 19:56:38 - my_Android] No Launcher activity found!
[2005-01-06 19:56:38 - my_Android] The launch will only sync the application package on the device!
Usually this is happening by the AndroidManifest.xml. You need to specify the MAIN and LAUNCHER in the the intent filter for the activity you want to start on launch.

<application android:name="MainApplication" android:debuggable="true">
<activity android:name=".MainActivity" android:launchMode="singleInstance"
    android:label="@string/app_name" android:icon="@drawable/icon">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
                    <action android:name="org.onaips.vnc.ACTIVITY_UPDATE" />
    </intent-filter> 
</activity>
</application>
Here the action tag detail should be like as it is .Because through the activity tag we aretelling to android which is the main Activity and Launcher.

Hide and Show Mac Files using Terminal


Viewing hidden files on a Mac is useful for accessing the hidden UNIX directories or for recovering Music from an iPod. Additionally, by prefixing the name of a folder with a '.', you can create a folder that is seemingly hidden from prying eyes.
To view hidden folders:
  1. Open the Terminal (located in /Applications/Utilities/)
  2. At the command prompt type
    defaults write com.apple.finder AppleShowAllFiles -bool true
  3. Press return to execute the command.
  4. For the changes to take effect, either log out then log back in again, or relaunch Finder (this can be done from the Force Quit Window or by typing 'killall Finder' in a Terminal window).
To hide the hidden files again:
  1. Open the Terminal
  2. At the command prompt type
    defaults write com.apple.finder AppleShowAllFiles -bool false
  3. then press return to execute the command.
  4. Log out then back in again, or relaunch Finder (explained above).

Reference : http://guides.macrumors.com/

Remove login/username from menu bar

One of my first customization after installing Mac OS X Lion was to remove the annoying login – username option from the top menu bar. And to explain “annoying”, I find it quite too long displaying my Name Surname, and an option that I would never need to use, as there’s only a single user on my Mac.
Removing it is quite easy: hold command button and drag it off the menu bar.



If you really want to keep it, you can reduce its length to the username or to an icon:

System Preferences -> Users & Groups -> Login Options -> (Click on the bottom left lock if everything is greyed-out) -> Show fast switching user menu as… -> Check/uncheck to show/hide it, or use the drop-down menu for the various options.

Setup Android SDK in 64 bit Ubuntu 12.04 virtual machine


Needed Applications for Build Android Environment in Linux 

Here we are going to build Android Environment in 64-bit linux .Normally the android SDK was not support to 64-bit linux So we have add a library to run SDK on linux . First of all we have to download some application from Android developer site.

Step 1
Install the Java Virtual machine (JDK) with required version it can be 64bit or 32 bit
To check java version :

If you don't install JDK the download is from oracle and install it click

OR

sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update
sudo apt-get install sun-java6-jdk sun-java6-plugin

Step 2
Extract the download android SDK and NDK in any location in side of your home directory and follow the instruction http://developer.android.com/sdk/installing.html#Installing in this link

using tar -xvf android-sdk-(version) to extract

After the installation you have to install the platform for your android virtual environment
Follow the link this will good instruction to install


Note: if you are dealing with native layer also then extract the android NDK file as well And to change the permission of a folder
 chmod -R 777 for android-sdk-linux_x86, platform-tools and adb. to change 

Step 3
Install 32 bit supported library for 64 bit linux machine

sudo apt-get update
sudo apt-get install ia32-libs

Step 4
install the Eclipse from the Eclipse . Note Don't install the eclipse  from ubuntu market because it was customised one.Therefore use the latest version from eclipse .
Here we have to install android ADT tool in eclipse for that we need to add the specific link to new installation path


If you faced any problem with installation like bellow

"Software being installed: Android Native Development Tools 20.0.0.v201206242043-391819(com.android.ide.eclipse.ndk.feature.group 20.0.0.v201206242043-391819)

Missing requirement: Android Native Development Tools 20.0.0.v201206242043-391819(com.android.ide.eclipse.ndk.feature.group 20.0.0.v201206242043-391819) requires 'org.eclipse.cdt.feature.group 0.0.0' but it could not be found".

Then this is happening because it don't have the supported versions file .So for that we have to do some procedures  like bellow


  1. Go to Help/"Install New Software..."
  2. Click on "Available Sofware Sites"
  3. Search "http://download.eclipse.org/releases/indigo and enable it
  4. Search "http://download.eclipse.org/tools/cdt/releases/indigo and enable it
  5. Come back to Help/"Install New Software..."
  6. Check "Contact all update sites during install to find requiered sofware"
  7. Install ADT Plugin
  8. IT MUST WORK!!!
After this process continue with your installation .

Step 5
setup the android SDK path using terminal
First of go in to your admin user profile in terminal then 
 -> sudo gedit ~/.bash_profile and don't use gedit /.bashrc and enter the below path depend on your folder path 
# Android tools
export PATH=${PATH}:~/android-sdk-linux_x86/tools
export PATH=${PATH}:~/android-sdk-linux_x86/platform-tools

export ANDROID_SDK_HOME=~/android-sdk-linux_x86/tools
export PATH=$PATH:$ANDROID_SDK_HOME


Uncover mountain lion 43 wall papers



OS X Mountain Lion has a semi-secret directory stuffed full of beautiful wallpapers, including photos from National Geographic and images taken with the Hubble Space Telescope. Luckily, they're easy to find and use. You just have to know where to look.
This tip comes to us from the folks at OS X Daily. To uncover these hidden wallpapers, press ⌘ + Shift + G from your desktop to bring up the "Go to folder" dialog. Then paste this in and press enter:
/System/Library/Frameworks/ScreenSaver.Framework/Versions/A/Resources/Default Collections/
Enjoy the hidden mountain wall papers :)

Mac OS Host setup for cracked applications


Use ⌘ + space  
Type “terminal” and open it! 
Enter  “ sudo nano /private/etc/hosts “ to enter the blocking servers 
Enter your password to access the hi level 
Copy and paste the blocking servers in that hosts listed in CMD  
Finally:
⌘ +x to exit. Press Y to save.
Example: Sample blocking IP's  
127.0.0.1 activate.wip.adobe.com
127.0.0.1 activate.wip1.adobe.com
127.0.0.1 activate.wip2.adobe.com
127.0.0.1 activate.wip3.adobe.com
127.0.0.1 activate.wip3.adobe.com
127.0.0.1 activate.wip4.adobe.com
127.0.0.1 adobe-dns-1.adobe.com
127.0.0.1 adobe-dns-2.adobe.com
127.0.0.1 adobe-dns-3.adobe.com
Cool now you can rock with cracked applications.