Monday, May 30, 2011

My Review of Seven Languages, Seven Weeks, the beginning

Last time I blogged about Seven Languages, Seven Weeks, the beginning, I was thrilled at how much you folks liked the book - which I got week before it went on sale on Amazon. I like to pre-order books especially when I know they will be classics like The Tales of Beedle the Bard, Collector's Edition. Since then it has been on my shelf gathering dust until now. Although I attempted to read it immediately I received it, I didn't really spend as much time as I wanted on it because work, other books and family commitments got in the way.

If you didn't know about Seven Languages, Seven Weeks, the beginning, it is written by Bruce Tate of Pragmatic Programmer fame - he's also the author of many other books highly regarded books including Better, Faster, Lighter Java.

This book covers seven languages over seven weeks (which is a big challenge) - breaking them into very manageable size for you to cover each of the languages in one week. What I love about this book is that it covers some of the latest top languages (Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby). For those who already know other languages like Java, Python and C++, you will definitely enjoy reading this book. Once you've finished and attempted all the problems accompaning each of the languages, you will be ready to use them in anger.

Like I said in the initial blog post, I'm very happy that Python or Java was not used in this book - you don't want to be relearning the language you already use; so the use of these new languages is a wise move. It has been in my todo list to learn new languages, so when this book came on the radar, I could not contain my excitement. If you are a serious developer you will benefit immensely from this book as it will allow you to expand your programming knowledge and add these languages to your toolbox.

If like me you love programming languages, then you will love this book.

Tuesday, May 24, 2011

Developing Android Applications with Adobe AIR

If you want to use your ActionScript skills to build mobile applications for the Android OS, this Developing Android Apps with Adobe AIR guide will show you how to use the unique programming environment, architecture, and tools in the Adobe AIR for Android SDK. You'll get practical hands-on experience on a wide range of development topics, from device-specific features to optimization techniques and best practices -- including how expand your mobile development experience beyond Android to other platforms.
Developing Android Apps with Adobe AIR takes you through the entire development process, with ready-to-run example code that implements each feature discussed, including:
  • Touch and gesture events, and screen orientation
  • Saving and retrieving data on the device
  • Features such as geolocation and the accelerometer
  • Animation, scrolling, device resolution, and vector images versus bitmaps
  • Architecture for one screen at a time and breadcrumb navigation
  • Advanced topics, such as security, custom views, and optimization

About the Author

Veronique Brossier is Senior Flash Engineer at MTVNetworks and adjunct professor at ITP/New York University. She has worked on applications for the world of art and entertainment, including The New York Visitor Center and the 9/11 Memorial site for Local Projects, NickLab for R/Greenberg Associates, Cartoon Network Online, the Hall of Biodiversity at the American Museum of National History, and many more.

Monday, May 23, 2011

The Materials I Used to Learn Python

The last time I posted a piece about how to download totally free Python ebooks and other materials, someone emailed me and wanted to know how I got into Python Programming as a lady. Like most things I have done so far in my life, it started when I was in school and didn't know what I wanted to do with my life. Luckily of me, one of the classes in school those days included a class in introduction to computers.

It was there that we first got exposed to programming in Modula-2. I picked it quite quickly that I was writing and debugging my own code properly within days of learning the language. It felt surprisingly natural and exciting to anything I had ever done. Imagine coming to class explaining to my colleagues how to get their programs to run. I was always moving from one desk to the other just helping people to get their program running. The buzz I got was awesome. The go-to girl :)

Fast forward several years later...having used Java, Perl, and C++, I thought I would learn Python Programming. I had many project  ideals and wanted to work on some of them with Python and learn the language in the process. I did a bit of research and found wikiversity's introduction to computer science - managed by the same folks behind Wikipedia. This is good for beginners new to programming in general and Python in particular. Being a veteran of programming languages, I didn't find it too useful as it caters for beginners. Don't get me wrong, there's a lot to learn from that site if you are new to programming in general. In fact, it has a number of quality links to other resources you might find quite handy. You should get a solid understanding of programming background, problem-solving and what algorithms are.

That said, you might find  Head First Programming to be a nice place to start learning python - it uses Python as the main language to teach the basics of programming. This is what I always recommend to those who enjoy having exercises at the end of every chapter. This  Head First Programming  assumes that you are just starting off in programming; as such approaches it from a teacher-student perspective. Be sure to look around for bargains, but you can pick one up for $12 on Amazon.

If you prefer to read online, I would suggest you check out Dive Into Python - there's a free online version - or you could download the PDF onto your computer. What I like about the PDF version is that it comes with searchable feature making it possible to jump around the huge file using the table of content.


I had the link to the MIT Open Courseware program, but can't seem to remember where I bookmarked it. I will post here when I bump into it again. But in the mean time, if any of you know the link please post it in the comment.

The book I have now that I'm working my way through as we speak is  Programming Python - it is the latest version published in 2011, updated for Python 3 and still manages to cover all the advance topics you would expect. Try and get a copy if you can

Sunday, May 22, 2011

Using Version Control with Git

Seeing how fast technologies move on, I have decided to get my hands on Git and learn how it works. During my years of software engineering, I have used everything from CVS to Subversion - so I know how these tools and technologies work. They all have areas where they shine, and other areas where they could be better. So, that is why I'm looking to try out this Git system.

You might want to see How Software Professionals Are Making Money Online.

I've heard a lot of good things about it - I figured one of the best ways to get started is create a free account on Github and download the client for your platform. I work on both Windows and Ubuntu Linux, downloading for these platforms is very easy especially for Windows. Here's a link on how to download and install it on your platform. There's nothing particularly difficult about getting started, just follow the simple installation process and you will be running in no time. Another thing I did after installation was fork an exiting project and start from there...easier than starting all over with a new project.

Although there are lots of free materials online for learning to use, I prefer to use books when there's no access to the internet. Apart from that, I like collecting books especially when they are the first edition of their niche; which Version Control with Git is.

I only just started using it and can't really tell how useful the book is, this is my first day of using it so in a couple of days to come I should be able to post my experience and thoughts. Remember you don't have to get the book, you can read the free online version of the book by bookmarking it on your computer. This allows you to  get the up to date version every time the official documentation is updated.

But of like me you like to buy books and display them on your bookshelve after reading, then you should buy a copy. I saw it on Amazon for $10 - so check in case the price has gone down since last week.

Monday, May 16, 2011

The IT Jobs Are Exploding in 2011. Are You Ready?

Despite the state of the economy and the financial industry, it looks like the IT industry is seeing one of the biggest growth in the whole of the services industry. We have been hiring new staff members, and the forecast is that that trend is only going to keep improving.

You might want to see How Software Professionals Are Making Money Online.

As these jobs are coming fast and thick, are you ready to take advantage and see your earning grow as well? If you have not thought about improving your skills, I think now is the best time to really start considering it. There are more jobs in emerging technologies and languages like Scala, Python and NoSQL - as always, these jobs require new skills, so it is imperative that you keep learning.

One way to see how these new generation languages are spreading in the industry is to take a look at one of the top freelancing sites - Odesk.com. Some of the jobs on that site require that you use any of these latest technologies. There's no excuse not to update your skills...if you rely on the C/C++ you learnt over 10 years ago, you will soon become a dinosaur and quickly become extinct. But if that's not an option, you could start today. It all starts with a search online for sites that offer certificates on Python, Perl, Database and Linux/Unix administration, Java, PHP/SQL, client-side, Web, .Net, and Open Source programming.

The cool thing is that you can use tools like FREE Transcender demos! to help you learn all of these technologies for free from the comfort of your home. Most of developers I know use these tool and it has changed their life and massively broaden their job prospect.

Don't wait for some young college graduate to come and knock you off your job, download one of these FREE Transcender demos! videos and start learning to program for free.

Friday, May 13, 2011

The Harmony Project - Where is it Today?

Back in 2005, I was fresh out of university where I was finishing my post graduate program. I had the whole time in the world to spend on open source projects and other personal stuff. It was then I managed to write the only commercial software I have ever written on my own and marketed it.

I still remember clearly remember where I was when I first heard about Harmony project; I was on the Underground Tube train and read about it in Computing magazine. When I got home I checked out the site, within weeks of that initial encounter quickly joined the project...working on testing and documentation. Soon after joining the project I posted this message almost a day to the day I posted it 6 years ago.

It was a great project - I spent most of my time working on it, answering questions in the IRC, keeping the documentations up to date...doing all that whilst still holding down a full time job else where. Sadly, it wasn't until the when Sun rejected our request for the testing kit that some of the guys became disillusioned.

I changed job, got married and started a family. All these did not give me the time to spend on the project, so I slowly lost focus and interest. It was not until this morning that one of the little reminders on my desktop popped up with a link to this post.

Not sure harmony is doing great, but would have been cool if they managed to persuade the then Sun to hand over the testing kit.

Saturday, May 07, 2011

Mastering Regular Expressions Should Be In Your Toolbox

If you work with Python or Perl on a daily basis, chances are that you will have used a great amount of Regular Expression for manipulating text as part of your project. For Perl programmers, regular expression is a major part of the language and you are expected to master it if you are to succeed using the language, but for others, you will only use it now and again on some projects that require it; so you may end up not requiring to know a lot of regex.

However, for most beginners, one thing they find quite challenging with programming is getting to grips with regular expression - even some experienced folks out there still find themselves struggling with it. It does not matter how long you have been programming, if you are not making use of this feature as part of your everyday project, it is easy to forget the syntax altogether. To make matters worse, most programming books do not cover it, instead they just make a passing reference to it. So if you have a need to use it in anger, you will most likely use one of the best and widely used resources.

Mastering Regular Expressions is one of the most highly recommended books on Regular expressions out there today. This book starts by looking out how regular expressions work and sets out to explore how you can create them in C#, Java, Javascript, Ruby, Python, PHP, Perl, VB.NET.

I have had this book on my shelf for as long as I can remember, only recently went back to it because of the recent heavy lifting work I'm doing in Python. The cool thing about Regular Expression is that it works across languages - you don't have to learn it all over again for each language. It is one of the few things in programming that is the same no matter what language you choose.

The writing style is great, it shows you clear examples on how regular expressions work and how to use them. It has definitely helped me to become a better Engineer. The cool thing about this book is, unlike most other one out there, it focuses wholly on Regular Expressions. It covers everything you will need to know regardless of language and platform. It does not matter how long you've been programming, this important feature for text manipulation is a vital programming aspect that everyone should master.

It doesn't matter what programming language you work with, if you are looking for ways to learn how regular expressions work, I highly recommend getting a copy of Jeffrey Friedl's book
Related Posts with Thumbnails