Skip to content

Trip to Arabnet Shift Digital Summit in Beirut

Last week I got an opportunity to do a presentation in Arabnet Shift Digital Summit about iPhone development. This took place at Beirut in Lebanon. The submit was held for three days and was an outstanding experience for me. Had a chance to meet lot of people from the middle east region.

On the second day Arabnet team took us for a tour to Downtown Beirut

The city is very old and has so much history. They had rebuilt the city for the eight time after the war. The city traffic was horrible and that was the moment I felt so proud about Dubai’s traffic. The most annoying thing about the city is the taxi, you can get easily ripped off if they find that you are a outsider. There is no meter for any taxi and everything is random. You won’t believe I ended up paying different amount every day from the hotel I stayed to the submit. Food was so yummy and I enjoyed the grills so much. If any one is going to Beirut make sure you try out Shish Taouk.

Book Review – WordPress 3 Complete

“Wordpress 3 Complete” book written by April Hodge Silver is a excellent guide to kickstart, tweak and to play with your wordpress blog. This books comprises of 11 chapters which covers from installing wordpress to writing your own plugin (This book author recommends some programming knowledge in PHP, HTML and CSS).

Chapters covered in this book 
  • Introduction to WordPress
  • Getting Started
  • Creating Blog Content
  • Pages, Plugins, Image Galleries Menus, and More
  • Choosing and Installing Themes
  • Developing Your Own Theme
  • Feeds and Podcasting
  • Developing Plugins and Widgets
  • Community Blogging
  • Creating a Non-Blog Website
  • Administrator’s Reference

Each chapter is explained with screenshot, examples, code snippet and reference if you want to learn a particular topic in detail. I would recommend this book to everyone who are new to wordpress and wants to customize your blog with custom themes and plugin.

You can buy this book from the following store

WordPress 3 Complete by April Hodge Silver From Packt Publishing

WordPress 3 Complete by April Hodge Silver From Amazon

Energy & Dynamic Braking

Energy: You can’t destroy it, but you can certainly waste it. That’s what most motorized vehicles do, including trains. Usually, the energy generated when you stop a moving vehicle is dissipated as heat, and is lost to the atmosphere. With GE’s ecomagination we’ve discovered that you can capture and store that energy, then reuse it – that’s how our hybrid systems work. Watch the video to see a simple illustration of the physics behind dynamic braking. Keep in mind an object’s force is measured in newtons, using the equation force = Mass x Acceleration.

Good to break the silence after a long time….. ;-)

Remote Desktop Software Comparison Chart

Amy Rinehart from remotedesktopmac.com has done a great comparison chart for remote desktop softwares.

Wow..!! That’s a big chart.

iPhone SDK base64 encode / decode

I found this useful class for base64 encoding / decoding. It is written by Kiichi Takeuchi

Base64.h

@interface Base64 : NSObject {
}

+ (void) initialize;
+ (NSString*) encode:(const uint8_t*) input length:(NSInteger) length;
+ (NSString*) encode:(NSData*) rawBytes;
+ (NSData*) decode:(const char*) string length:(NSInteger) inputLength;
+ (NSData*) decode:(NSString*) string;

@end

Sample Usage

[Base64 initialize];
NSData * data = [Base64 decode:@"SGVsbG8gV29ybGQ="];
NSString * actualString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@",actualString);
[actualString release];

Download base64 encode / decode class

iPhone SDK generate MD5 Hash of a string

This function will help you generate MD5 hash of a given string

Class.h

+ (NSString *)getMD5FromString:(NSString *)source;

Class.m

+ (NSString *)getMD5FromString:(NSString *)source{
	const char *src = 1;
	unsigned char result[CC_MD5_DIGEST_LENGTH];
	CC_MD5(src, strlen(src), result);
    NSString *ret = [[[NSString alloc] initWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
					  result[0], result[1], result[2], result[3],
					  result[4], result[5], result[6], result[7],
					  result[8], result[9], result[10], result[11],
					  result[12], result[13], result[14], result[15]
					  ] autorelease];
    return [ret lowercaseString];
}