An Introduction to Git

What is Git?

Git is an extremely fast, efficient, distributed version control system ideal for the collaborative development of software. Every Git clone is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. In other words, you can use git when you are offline, and synchronize changes when you are online. There are loads of cool GUI tools too so don’t be afraid, it’s not gonna be a CLI fiesta. 


Why are we talking about Git?

Git is great for effective collaborative development of software.  It is therefore important that towards the GTUG Hackathon participants learn how to use Git so that development would be fast and fun. Git can also makes deployment super easy. 

Is it hard?

NOPE! Git is FUN! Git makes collaborative development EASY!!! Beware, Git is ADDICTIVE!!!

Who should be interested?

Primarily software developers and UI designers. However Git can be used for all types of files and not just source code. If you are working on any project where changes are made to text or binary files and you want to add version control the you should be interested. 

Platform Compatibility

windows_big.png      osx_big.png     tux_big.png

Ready to get going?
Try getting your hands dirty TODAY by 
  • Installing Git on your development platform. You can get started here:
  • Install SmartGit
  • Create a local repository, make changes and commit. 


Please ask. 

Google Partners with Startup Weekend

Yesterday, Google announced a partnership with Startup Weekend – a global organization committed to promoting real entrepreneurship in local communities.

Organizers of local Startup Weekend and Google Technology User Groups (GTUGs) will be working together to run pre-Startup Weekend “Google Bootcamps.” These bootcamps are designed to help attendees develop their technical skills so they can jump head-first into their Startup Weekend project.

If you missed the last Startup Weekend event (September), you can read more about that event here:

The First GTUG-Lagos Hangout

We had such a good time on Saturday that it’s been decided this should happen more often.
The event took place at CcHub and kicked off a little late – at 11:25am with Googlers – Luizella Mazza, Richard Ngamita and our very own Emeka Afigbo all joining us via Hangout.
We also had a couple of other people like Chinedu and Abayomi Ayoola join us over the net as well. And we went through a session led by the Googlers which talked about the current features and limitations, new additions and future roadmap of the Google+ api.
Two photos from the event:

Next in line was the “Android App in 15 minutes”. Well it took a little longer than 15minutes (about 25) as we debated the actual implementation of certain parts of the application. The app is named – My501Quotes – it displays a new famous quote, wise saying, facts e.t.c. every time the app is launched or the user clicks on refresh. Furthermore, the user is also able to share any of those quotes with friends via Facebook, Twitter, Email and SMS. The sourcecode code is attached to this post.The GTUG-Hackathon:
To help inspire active developer participation, it was unanimously decided on Saturday that we should have a hackathon before the end of the year. While many of us have participated in different events like WaterHackathon, Tech-in-Governance, Startup Weekend, Garage48 e.t.c., this will (as far as I know) be the first one being driven by a clearly defined and growing community of developers – the GTUG. More information of what the focus areas are, when the event will take place, modalities, e.t.c. will be available soon.
We then moved to talk about the current initiatives, competitions and drives by companies – namely MTN, Nokia and Samsung (arranged in alphabetical order). They each have different plans but one goal in mind – growing and tapping into local content app developers.
MTN is currently running a monthly competition the best apps in each month are rewarded with Samsung Galaxy devices ( 1st and 2nd positions) and they have plans to launch their own app store by January, with some of these apps in the forefront.
Samsung has also indicated interest in helping developers push their apps and are particularly interested in local content apps and apps directed towards corporate organisations.
Nokia is constantly also running competitions – the Nokia Create for Millions (and the Regional one for West Africa) which has been running for some time and a few members have already submitted their applications for it.
All in all, they believe that growing the local developer base is a sure way to tap into the the rapidly emerging market for mobile applications in Nigeria.
Lastly, we had Bosun Tijani, Co-founder of CcHub talk about CcHub as a pre-incubation space to help connect, incubate and accelerate tech ideas. They have also made the hub available for future GTUG events.
If you participated in the event via hangout or were physically present during the event, please fill the short questionnaire sent to your mail help improve future events.
Next GTUG Event:
Another GTUG event is being planned for the 26th of this month. More details shortly.Hope to see you at that next event!

Source code for My501Quote [Click on Download Original for Entire Source Code]

Other Links:

  1. Google+ API
  2. Controlling a Laser Turet from a Google+ Hangout
  3. MTN App Competition
  4. Samsung Developer Interest
  5. Nokia Create for Millions
  6. Abiodun Thorpe’s blog post on event

Android: Implementing Push Notifications

Happy Independence Day Anniversary ( in arrears – I just realized it’s past midnight already )

I spent the last couple of days working on an android application and it’s been a joyful ride maybe because this time around, I’m serious about it 🙂

As I dug deeper into the documentation and began implementing required features of the application, more and more creative ways of structuring the actual implementation and getting things done came up. Like below –

I have been thinking about the most effective way to communicate with the limited group of users (40) of the app and without polling my web server periodically or sending emails, sms or worse – phone call. Welcome – Push Notifications!

Over the past couple of years push notifications have become a standard in the mobile space, and it is readily available on the android platform. It’s called the Android Cloud to Device Messaging Framework.

Android Cloud to Device Messaging (C2DM) is a service that helps developers send data from servers to their applications on Android devices. The service provides a simple, lightweight mechanism that servers can use to tell mobile applications to contact the server directly, to fetch updated application or user data. The C2DM service handles all aspects of queueing of messages and delivery to the target application running on the target device.

This means that you can design your own app and push new messages to it, anytime.

You can find out more on C2DM here

Google Web Dev Spoon Feed (A fresher’s experience)

When I got a buzz on my Facebook message asking for volunteers to get the Lagos GTUG’s (Google Technology User Group) website running, I felt that it would be an opportunity for me to horn my interest in Web development by watching the “masters” do their thing and get to learn new tools, but that didn’t hold true because I got an approval with a condition that I spearhead the project. What?!

Eventually, we were able to register our site, design and apply various feels using the Googleweb development environment with a basic WYSIWYG interface for creating and editing pages and, believe me, it was easier than I thought.

When you hear “Google” what comes to mind is search engine! But Google has come a long way to provide services beyond just search engines, emails and contact information  management to actually help you create and develop your own world directly on the web with unlimited, likewise, controlled access to supplied information files, ranging from video, images, books, applications and more.

Anyway, here we are with a functioning site that is not only dynamic and simple but also easy to implement and deploy all by yourself! All you need to get cracking is a Google username and password (just like you have your Yahoo login name and password) voila! You are good to go.

Basic tools: A functioning internet service, your hands and interest!

INTRODUCTION Google Web Creator is a free Google service that allows you to create a website using an online web creation wizard together with an online What-You-See-Is-What-You-Get (WYSIWYG) web editor. The pages are published and hosted on Google’s web servers free of charge.

GETTING STARTED It’s fairly easy to get started. If you don’t have a Google Gmail account, you’ll have to sign up for one. With that same account name and password, you will be able to log into the Google Page Creator. You should choose your Google Gmail account name carefully, however, before you start, because whatever name you select for that Google webpage will wind up as part of your URL e.g.  Given that your sites name is deespetproject, then your sites url will be


Recent Site Activity: This helps to display the various activities that had been performed on certain web pages by listing the time, date and the name of the user who made the changes.

Pages: From here, you can view the various web pages that have been created.

Attachment: Fresh files like images and other documents can be uploadviewdownload,rename, replace and remove from here.

Templates: This page handles the standard templates of the site and you can includedisable,enable and remove any of your templates from here.

General Setting: From the site setting page, changes can be made to site name (title of the site), site description and matured content display option, landing page, statistic (analytics), site display languages and other actions.

Sharing: From this page, you can release access to your site by defining roles. I.e. you can specify people you would like to have access to the site and also place restrictions on them. Note that contacts can be selected from your Google account directly from this page.
Monetise Pane: This provides Adsense (AdSense ads) tool that you can place on your site for monetary gain. How? It enables you to earn money by placing targeted text and image ads on your site.

Google automatically chooses which ads to show based on your sites’ content and users and you earn money when visitors view or click on these. It is advisable not to enable this tool until you are sure of what you would like to achieve with it because “all that glitters…”

Web Address: This page displays your current web address and new web address can also be included to the site from here.

Web Templates and Web Layouts: It is fairly easy to get started on a website with Google’s web design offering. You can select a design from a variety of web templates and standard layouts and make changes to the size of the columns for proper definition on the page.
You can also change the arrangement of your menu item either by adding more menus or changing the position.
Changing the Appearance of Your Text (Colors & Fonts): From the site Manager page, you can make changes to the colors and font of various areas on the site, e.g. background, sidebar gadget, content area and the navigation gadget area.
Theme: Google was able to provide numerous themes that you can choose from to make your site attractive with well defined colors and feel. You can preview each of the themes before applying your desired choice directly from this page.

Adding Images, Cropping, and Resizing: Included in the web page builder is the facility to insert images from either another website or from your computer. I was able to upload .jpg images using the image picker tool which also has the ability to move, crop, resize, and even change contrast and brightness of the image as desired by you.

Inserting Links: The web page wizard allows you to insert links to other websites. There is also a simple-to-use facility to link to pages that you have created within the Page Creator system, as well as to files you have already uploaded. If you are creating a link to a new page on your site, you will not have to mess about with getting the filename correct. The web editor handles this behind the scenes for you.

HTML TITLE Tag: When your page is created, Page Creator automatically forms your

Gadgets, Extensions and Web Apps: The interface also allows you to add gadgets and other Google functional tools to your website, such as a calendar, Google search box, etc. This may or may not appeal to you, depending on the purpose of your website, but it is right at your disposal.

Publishing Your Site: Publishing your website is as simple as clicking a button that says “Publish”. That’s it. You don’t have to mess around with FTP settings (the stumbling block for many newbie’s) or finding a web host (Google Pages is your host).

Online Web Builder Freezes: You might (like I have) experience some unresponsive downtime and the only way out might be to quit and re-login again or to go to “My Account” and re-enter the editor. Until this bug is fixed, or even when it is fixed, I would advise that you save your work regularly.

Service Uptime and Responsiveness seems good.

In Conclusion  Google Web Creator looks very promising. It has a simple, uncluttered interface that makes it easy for newcomers to quickly get their website published. Users can easily benefit from the selection of web templates and standard layouts to easily create their site. The developers appear to have put in some thought into the utility of the editor for the new webmaster, automating things that normally confuse them, such as automatically creating a TITLE tag from the user’s own title for the page. Other aspects of the service also show the same consideration given to usability – for example it is easy to add a link to another page and create the page that it links to without having to worry about filenames. The web builder automatically takes care of building the correct link to the page.

All in all, I would say that this free web service is useful for a novice who wants to create a simple website for fun, a group of students who want to handle their projects online, small entrepreneurs as well as professionals willing to maximize the various tools that Google has got to offer and also develop on it. It provides most of the rudimentary facilities for creating and publishing a website, and for the most part, makes the process simple. Among its benefits, it is possible to add other functionalities to one’s site like we were able to do on LagosGTUG site with the addition of an Event Calendar and the Blog tab. Winky!