Archive

Author Archive

Build your Twitter API app in Clojure, Part 1

September 22nd, 2009

Building your own Twitter API application in Clojure is made real easy now thanks to clojure-twitter and clj-oauth libraries.

In this part, I will simply show you how easy it is to access the Twitter API using clojure-twitter. Here, I update my own Twitter status:

(require 'twitter ['oauth.client :as 'oauth])

(def consumer (oauth/make-consumer <consumer-token>
                                   <consumer-token-secret>
                                   "http://twitter.com/oauth/request_token"
                                   "http://twitter.com/oauth/access_token"
                                   "http://twitter.com/oauth/authorize"
                                   :hmac-sha1))

(def request-token (:oauth_token (oauth/request-token consumer)))

(oauth/user-approval-uri consumer
                         request-token
                         <callback-uri>)

(def access-token-response (oauth/access-token consumer
                                               request-token
                                               <verifier>))

(twitter/with-oauth consumer (:oauth_token access-token-response)
                             (:oauth_token_secret access-token-response)
  (twitter/update-status "#clojure is awesome"))


Making it all work:

  • Download the latest version of clojure-twitter
  • Download the latest version of clj-oauth
  • Add clojure-twitter.jar and dependents in the clojure-twitter/lib directory to your classpath
  • Next, you will need to register an application at Twitter here in order to obtain a Consumer token and token secret
  • Once you have register the application, launch REPL and replace <consumer-token> and <consumer-token-secret> in the above code snippet accordingly
  • Additionally, replace the <callback-uri> with the “Application Website” you defined in the application registration.
  • Once the user approval URI has been accessed and accepted, the verifier PIN code will be provide which needs to replace the <verifier>

In part 2, I will go through a more detailed, step-by-step example that demonstrates building a real-world Twitter API app in Clojure. Follow me on Twitter and I’ll keep you posted.

alen Clojure , ,

CS Research Topic Generator, in Clojure

September 14th, 2009

If you need a worthy topic for your CS research project, let this very simple CS topic generator spark some ideas.
http://www.cs.purdue.edu/homes/dec/essay.topic.generator.html

I’ve decided to get myself more familiarized with functional programming so I picked Clojure as my language of choice. It’s new, its a Lisp dialect, it has a great concurrency API and it runs on the already familiar JVM.

Here is my implementation of the “CS topic generator” in Clojure:

(ns com.alenribic.topic-generator
 (:use [clojure.contrib.str-utils :only (str-join)]
       [clojure.contrib.seq-utils :only (rand-elt)]))

(defn compute-article
  [word capitalize?]
  (let [vowels #{\a \e \i \o \u} a (if capitalize? \A \a)]
    (if (vowels (Character/toLowerCase (first word)))
      (str a \n) a)))

(defn gen-phrase
  [col1 col2 col3 first-phase?]
  (let [word1 (rand-elt col1) word2 (rand-elt col2) word3 (rand-elt col3)]
      (str-join " " [(compute-article word1 first-phase?) word1 word2 word3])))

(defn gen-random-topic []
  (let [col1 [
      "integrated", "parallel", "virtual", "interactive", "responsive",
      "synchronized", "balanced", "virtual", "meta-level", "optimized", "active", "parameterized",
      "conceptual", "scalable", "dynamic", "high-level", "collaborative", "type-safe"]
     col2 [
      "mobile", "functional", "programmable", "distributed", "logical",
      "digital", "concurrent", "knowledge-based", "multimedia", "binary", "object-oriented",
      "secure", "high-speed", "real-time", "functional", "parallelizing", "watermarking",
      "proxy"]
     col3 [
      "network", "preprocessor", "compiler", "system", "interface",
      "protocol", "architecture", "database", "algorithm", "toolkit", "display", "technology",
      "solution", "language", "agent", "theorem prover", "work cluster", "cache"]
     conn ["for", "related to", "derived from", "applied to", "embedded in"]]
    (str-join " " [(gen-phrase col1 col2 col3 true)
		   (rand-elt conn) (gen-phrase col1 col2 col3 false)])))

alen Clojure ,

Technical Debt a wonderful metaphor for Calorie Surplus

March 3rd, 2009
Lately there has been quite a bit of buzz around Technical Debt in the software industry.

What is Technical Debt?

Technical Debt is a wonderful metaphor developed by Ward Cunningham to help us think about the problem that doing things the quick and dirty way sets us up with a technical debt, which is similar to a financial debt. Like a financial debt, the technical debt incurs interest payments, which come in the form of the extra effort that we have to do in future development because of the quick and dirty design choice. We can choose to continue paying the interest, or we can pay down the principal by refactoring the quick and dirty design into the better design. Although it costs to pay down the principal, we gain by reduced interest payments in the future.

By keeping an explicit list of the technical debt that a software project accumulates, the debt is visible. Regularly putting aside time to pay off your code and design debt keeps your software nice and lean.

What is a Calorie Surplus?

A calorie surplus means that your body burns less calories than you consume every day. What this means is that you are eating more than your body needs either by accident or on purpose, with the effect of gaining weight.

What is a Calorie Deficit?

A calorie deficit means that your body burns more calories than you consume every day. There are two ways you can create this calorie deficit:

1) Decrease your caloric intake from food.
2) Increase the amount of calories you burn through exercise.

The secret to having a leaner body is to eat more of the right foods and use exercise to burn off the fat.

Why is Technical Debt a wonderful metaphor for Calorie Surplus?

As the term Technical Debt helps us take conscious notes of quick and dirty solutions in our software projects that need attention (through refactoring or other means), the term Calorie Surplus can help us become conscious of when our body is burning less calories than it consumes every day; which results in gaining weight.

Just as our software can get bloated accumulating Technical Debt, our bodies can get bloated accumulating excess weight through Calorie Surplus.

We put so much effort into getting our software to be as lean as possible, why neglect out own bodies?

As yet, there exists no formula to calculate Technical Debt, so quantifying its effects are near impossible. Fortunately, the same does not hold true for Calorie Surplus.

There are two well known formulas as general methods used to estimate the daily calorie requirements of an individual, using their basal metabolic rate or BMR:

The Harris-Benedict formula and a more accurate formula The Katch-McArdle formula.

The Harris-Benedict formula

  • for men,
  • for women,

The Katch-McArdle formula

  • The Formula is based on the lean body mass
    where LBM is the lean body mass in kg.
I've incorporated these handy formulae into a simple Calorie Deficit Calculator. This will allow you to correlate your BMR with activity level and calorie intake, enabling you to turn the Surplus into a Calorie Deficit.

[inline]

Do you know your body fat percentage? Yes  No

 
 
years
%
 help
 
[/inline]

Conclusion

Generating a calorie deficit will get you started on the path to getting more lean. Ultimately, this should be followed by changes to incorporate general habits like exercise and healthier eating into your lifestyle. In the same way as having good software practices, why not apply similar practices to getting your own body in better shape?

This balance certainly made a difference in my life.
http://www.hackersinshape.net/archives/16


alen Health & Fitness , , ,

Aggregating data collections made simple in Django 1.1

February 24th, 2009
Aggregation, the new addition to Django QuerySet in version 1.1, makes it really simple to summarizing data collections. I am currently working on a site that will provide free online petition hosting with a key focus on the South African public. I decided to have an embarrassingly simple "Top 10" page on the site that will show currently popular petitions. The new Django aggregation support makes this task simple. Requirement: List top 10 petitions grouping them by "total number of signatures" and "newest signature, published date" per petition. Order petitions in descending order by "total number of signatures" and "newest signature, published date". Simple solution using the new Django annotate() clause:
top_petitions = Petition.objects.annotate(
    Count("petitionsignature"),  
    Max("petitionsignature__pub_date")
).order_by("-petitionsignature__count", 
    "-petitionsignature__pub_date__max")[:10]

>>> top_petitions[0].petitionsignature__count
5
>>> top_petitions[0].petitionsignature__pub_date__max
datetime.datetime(2009, 2, 15, 18, 55, 23, 263325)
Both the above attributes, petitionsignature__count and petitionsignature__pub_date__max are name identifiers for the aggregate values. By default, the name is automatically generated from the name of the field and the aggregate function name separating the two with a double underscore. You can manually specify the name for the aggregate value by defining it directly in the aggregate or annotate clause. For more information on Django aggregation support, you can read the official guide here: http://docs.djangoproject.com/en/dev/topics/db/aggregation/

alen Programming, Python , ,

All your base, are belong to us!

February 4th, 2009
I was given a task to fix up the "Authentication and Authorization" component in one of the flagship products for the Company I work for. Its a Java (J2EE) Web Application that has gone through several versions over a period of about 5 years. To my surprise, I came across this piece of code in the Authenticate Servlet and couldn't help but share the snippet.
/**
 * @author Ian , updated by Adam
 */
public class Authenticate extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) 
        throws ServletException, IOException {

        ...
        if (!init(username,response))
            return;
        ...
    }

    boolean init(String username, HttpServletResponse r ) {
	    if(username.equals("pustulio")) {
		    try {	
			    r.getOutputStream().print("all your base, are belong to us!");
		    }
		    catch (Exception e) {

		    }
		    return false;
	    }
	    return true;
    }
}
Thats just the tip of the iceberg. The try, catch logic, everywhere, catches Exception thrown instances and does absolutely nothing about it. I will pay anyone $50 if they can tell me the whereabouts of these meatheads, "@author Ian , updated by Adam". Regards, -Alen

alen Java ,

Going to gym in the morning is better…

February 4th, 2009
Do you go to gym in the morning or evening? I'll tell you why I believe morning is the better of the two, IMHO.
  • Keeps you more mentally alert for the day.
  • Keeps you more energized for the day.
  • Gyms are usually less fuller in the mornings than the evenings.
  • Less excuses when making your way to the gym in the first place. (Its funny that in the evening we tend to find more excuses not to go at all.)
  • Oh, and if you miss your session in the morning, you still have the evening to catchup.
Only problem of course is getting up in the mornings in the first place. The way I go about it is quite simple. I have a wonderful girlfriend named Aisha who wakes me up. :-) Couple of snoozes later, in the weights section, pulling some rather odd faces... Breaking sweat ...so since Aisha is already up, I got myself a really good partner. My girlfriend giving me a lesson

alen Health & Fitness ,

Hacker’s Guide to Getting in Shape - First Year in the Bag

December 10th, 2007
Me The first year of living healthy and training has come to an end and I am ecstatic with the results. I have achieved my goals for the year and am very confident in my ability to maintain this new lifestyle. It has been a while since my last post. Good news is that I monitored my transformation process through data and pictures which I will post over the course of next few weeks. In the mean while here are the final results for the year:

My original goals:

3 months - I will loose most of my excess weight around my waist
    Weight: 176.37 lbs (80 kg)
    Desired Body Fat: 17 % (Body Fat is my ultimate goal and not so much Weight)
6 months - I will be a lot leaner now. Waist will be narrow and shoulders broader
    Weight: 171.96 lbs (78 kg)
    Desired Body Fat: 13 % (Body Fat is my ultimate goal and not so much Weight)
9 months - I want to see that six-pack start shining through
    Weight: 167.55 lbs (76 kg)
    Desired Body Fat: 10 % (Body Fat is my ultimate goal and not so much Weight)
1 year - I will look lean; have clearly defined muscle tone and shape. I will also be fit and Healthy
    Weight: 163.14 lbs (74 kg) to 167.55 lbs (76 kg)
    Desired Body Fat: 8 % (Body Fat is my ultimate goal and not so much Weight)

My original measurements:

[BEFORE] As of 9th of December 2006:

Weight:187.39 lbs (85 kg)
Height:180 cm
Age:26
VO2 max:37
Sex:Male
Body Fat:25.1 %
BEFORE

My measurements:

[AFTER] As of 9th of December 2007:

Weight:162 lbs (73.5 kg)
Height:180 cm
Age:27
VO2 max:56
Body Fat:7 %
AFTER

Now that the first year is in the bag, I don't see this as the end of the journey, I see this as the beginning of the new lifestyle that I looking forward to maintaining for the rest of my life.
Oh and take a note of my fingers in the BEFORE shot and then the AFTER shot. See any difference? ;-)

alen Health & Fitness

Hacker’s Guide to Getting in Shape - Motivation and Goal Setting

February 7th, 2007
Me My journey into the fitness world began with a pen and paper in my hands and a bit of imagination. I began describing what motivates me to take on this big challenge.

Motivating yourself

Lets do a little exercise here.

Find a quiet place, as we need full concentration. Close your eyes and visualize the new you. Focus on the bigger picture at first and then move onto the more detailed areas. Can you see your midsection? Can you see the shape and tone of your thighs? How about your biceps? Next, take a look around you; can you see where you are? Are you at the beach? Perhaps you are at a competition of some sort? How does this make you feel? Does it bring a smile to your face?

The process of visualization is very important. Here is an extract from Stephen R. Covey’s book "The 7 Habits of Highly Effective People":

"Dr. Charles Garfield has done extensive research on peak performers, both in athletics and in business. One of the main things his research showed was that almost all of the world-class athletes and other peak performers are visualizers. They can see it; feel it; they experience it before they actually do it. They begin with the end in mind."

When begging with new challenges in life, having the end in mind is vital. It’s what motivates us to be victorious in our journey. You need to motivate yourself. "Motivate" is a verb; it represents action. This brings me to my next point in this entry and that is goals setting.

Setting your goals

Now that you have a good visual image of yourself to be, you need to set some goals. Both long term and equally short term goals are important. (Long-term represents a big picture and short-term goals build and show progress of the big picture.)

Here is another extract from Stephen R. Covey’s book "The 7 Habits of Highly Effective People":

"It’s incredibly easy to get caught up in an activity trap, in the busy-ness of life, to work harder and harder at climbing the ladder of success only to discover it’s leaning against the wrong wall."

I think this is a brilliant quote and one that clearly shows that we need some way of measuring our progress. This is why goal setting is a fundamental part of success. It lets us know if our ladder we are climbing is leaning against the right wall.

Short-term goals help us pick up any problems early in time. They also tend to act as great motivation boosters. (Seeing good results on frequent measures.)

Ok, now its time to put your goals on paper. Oh and keep them handy at all times!

Short-term goal 1 description here
    Weight:             lbs / kg
    Desired Body Fat:             %
Short-term goal 2 description here
    Weight:             lbs / kg
    Desired Body Fat:             %
Short-term goal 3 description here
    Weight:             lbs / kg
    Desired Body Fat:             %
Long-term goal description here (As per your visualization)
    Weight:             lbs / kg
    Desired Body Fat:             %

Here is an example of my goals:

3 months - I will loose most of my excess weight around my waist
    Weight: 176.37 lbs (80 kg)
    Desired Body Fat: 17 % (Body Fat is my ultimate goal and not so much Weight)
6 months - I will be a lot leaner now. Waist will be narrow and shoulders broader
    Weight: 171.96 lbs (78 kg)
    Desired Body Fat: 13 % (Body Fat is my ultimate goal and not so much Weight)
9 months - I want to see that six-pack start shining through
    Weight: 167.55 lbs (76 kg)
    Desired Body Fat: 10 % (Body Fat is my ultimate goal and not so much Weight)
1 year - I will look lean; have clearly defined muscle tone and shape. I will also be fit and Healthy
    Weight: 163.14 lbs (74 kg) to 167.55 lbs (76 kg)
    Desired Body Fat: 8 % (Body Fat is my ultimate goal and not so much Weight)

Final words

At this point you should have your motivation and goals to support the motivation. Remember to keep your goal list handy so you can refer to it frequently. (For example, stick it by your PC monitor or on your fridge.) Should you achieve your goals sooner or should you need more time, revisit your goal list and adjust it accordingly to lineup with your progress and current, desired, expectations.

If you forget everything I have written so far in this weblog, please don’t forget this. (Write it down!)

"Begin with the End in Mind"
See it! Feel it! Experience it before you actually do it!

Ok, now my question to you fellow hackers. I would like to know how you keep yourself motivated in general? What are your suggestions in relation to fitness motivation and goal setting?

Peace out to you all; till next time!

-Alen

alen Health & Fitness

Hacker’s Guide to Getting in Shape - Be Proactive

February 3rd, 2007
Me 9th December 2006
So it began. Like any other hacker would, I fired up my Firefox browser and began to do some Googling on the subject of Fat Burning, Muscle Building and Fitness in general. Few well-reviewed books caught my attention especially a book by Tom Venuto titled "Burn the Fat, Feed the Muscle" (Available in PDF format).
This book has been my starting point, a guide to a change in my existing lifestyle as a Software programmer. What I really enjoyed about this book is that it was straight out facts backed by independent research and it is very scientific in a way (perfect match for a hacker!). Basically, you become the captain of your own ship. (You set and monitor your body's direction it progresses in.) I will explain this in greater detail in my up and coming weblogs. Ok, enough hype about the book, time to reveal some of my data results.

My measurements:

[BEFORE] As of 9th of December 2006, here are my measurements:

Weight:187.39 lbs (85 kg)
Height:180 cm
Age:26
VO2 max:37
Sex:Male
Body Fat:25.1 %

Here is me in Sweden, visiting my cousin Melisa. Enjoying the good food with a smile on my face. (Hairstyle has to go!)
Me in Sweden looking nice and round Me in Sweden looking nice and round

[AFTER] as of 3rd of February 2007, results are rather very impressive:

Weight:167.55 lbs (76 kg)
Height:180 cm
Age:26
VO2 max:42
Sex:Male (Well, lets hope this one remains the same :-))
Body Fat:14.16 %

Here is new me, closer resemblance to the shape of the body I wish to have. Slashing away the tire around my waist has been a great experience. (Now just to build that six-pack. :-) ) Oh and the reason I'm not smiling in this one is because I'm pulling some muscles. Its like try to keep your eyes open when you sneeze.
New me as of 3rd February 2007

Now that we have some numbers out on the table, there are probably lots of question, and perhaps maybe even some skepticism. :-)

From birds-eye-view, this has been my formula for success so far: "Motivation with clearly defined goals executed with correct nutrition, cardio (aerobic) and weight training."

As it is well know and documented, nutrition is a greatly important factor to achieving your fitness goals. However, combined with cardio (aerobic) and weigh training, results are exponential!

1. Motivation and Goal setting

The first thing that greatly contributed to my success so far has been my "Motivation". Peter Parker in Spider-Man Movie, has a six-pack? Well heck, I would like a six-pack too. Taking a proactive stance here is important. As Stephen R. Covey in his book "7 Habits of Highly Effective People" says "Be Proactive", I decided to be proactive and turn the "I would like to…" into "I will…". So once I had a mental picture in my head what I want to look like, next I needed to set some realistic goals. Both long term and equally short term goals are important. (Long-term represents a big picture and short-term goals build and show progress of the big picture.)

My Goals as of 9th December 2006:

3 months - I will loose most of my excess weight around my waist
    Weight: 176.37 lbs (80 kg)
    Desired Body Fat: 17 % (Body Fat is my ultimate goal and not so much Weight)
6 months - I will be a lot leaner now. Waist will be narrow and shoulders broader
    Weight: 171.96 lbs (78 kg)
    Desired Body Fat: 13 % (Body Fat is my ultimate goal and not so much Weight)
9 months - I want to see that six-pack start shining through
    Weight: 167.55 lbs (76 kg)
    Desired Body Fat: 10 % (Body Fat is my ultimate goal and not so much Weight)
1 year - I will look lean; have clearly defined muscle tone and shape. I will also be fit and Healthy
    Weight: 163.14 lbs (74 kg) to 167.55 lbs (76 kg)
    Desired Body Fat: 8 % (Body Fat is my ultimate goal and not so much Weight)

Goals like: "I want to be skinnier" or 'I want to be bigger" are no good. You like numbers? I do. This is a good place to put some to paper. Bring up a Python interpreter and play with some numbers, if you are lost now, Excel spreadsheet will do. :-)

2. Nutrition

This has been by far the most difficult part for me. I think if it hasn't been for my Motivation, this part would probably fall flat on its head and in turn pull my overall results with it.

Genes are what makes us unique. With that said, it is very important to understand that there is no nutrition recipe that will work for everyone. (No magic here.) So, for example, when you friend tells you that what he eats and quantity he eats, is what makes him pickup muscle, it won't necessarily work for you. I have determined that I am dairy product sensitive. My body doesn't seem to digest it well. So I take less dairy products and replace it with other foods that will still give me the relevant results and keep me healthy.

You may be thinking at this stage: "But does this mean no more junk food?" Well, the answer to a great extent is Yes. As Tom Venuto says "There is no magic pill if you want a body for a lifetime". It also very much depends on your body type. Due to our uniqueness, some people can eat anything and still have Peter Parker six-pack. :-) Unfortunately that are the gifted few, for the rest of us, proper nutrition will be a must.

As a hacker, I still love pizza of course. Make no mistake I still eat it, however in much smaller quantity and less frequently. I will go into the nutrition topic (general and my nutrition plan to date as an example) in greater detail in my up and coming weblogs.

3. Cardio (Aerobic) training

Cardio is the first form of exercise that I kicked off with. Italian friend of mine, Carmine, has been keeping fit for some time and has been doing quite a bit of running. I live in Cape Town, South Africa. It's a beautiful place and has some great spots for running along the seaside. So I decided to join him. We started running 4 times a week. To target body fat, we ran at a slower pace for no more or less then 40 minutes. (As a hacker I love gadgets, so yes I got myself one of those Running Computers that reads your heart rate, uploads the data to an online Web Service where then you can do some analysis. Love it. :-) ) I advise you to get one. It has different sport zones, depending what you wish to achieve. Like targeting body fat, enhancing aerobic power, etc.

I did a lot of running for the first month, as I was quite a bit overweight. (4 to 5 times a week.) Combined with good nutrition, the results reflected very quickly and that's great addition to my existing motivation! :-)

I can't stress enough how important it is to monitor your body. Am I loosing too much weight now, but also muscle in the process? (Hmm, that means I might be doing too much cardio but not enough weight training.) This type of self-talk is very important.

For hackers with high metabolisms (You eat a lot but you are always skinny), you may need to do a bit less cardio of course and focus more on the nutrition part and the weight training to pile on some lean muscle mass. I'll get into this topic in greater depth in up and coming weblogs. See the below Final words note for details.

4. Weight training

Ok, now this is a fun part. Well at least I though it would be until I woke up the next morning after my first weight training session. Ouch, but nonetheless after only first few days of training, it would take longer for my muscles to fatigue. I was getting stronger and still am by the day. There are number of books on weight training. I started of with the Arnold Schwarzenegger's book titled "The NEW Encyclopedia of Modern Bodybuilding". Must say that it's a bit too intense for an average hacker like myself. I just did less of what he advised. I do weight training 5 times a week now for a maximum of 30 to 40 minutes. (I mean 30 to 40 minutes intense training and not chatting to other fellows in the gym.)
Through my journey so far, I have determined that heavier weights, less repetitions (reps) per set seem to work better. Firstly I finish quicker, and my muscles get nicely swollen up (pumped). Next, I found that after about 2 weeks of lifting same size weights, my muscles get used to it and don't get a work out that one would expect. Muscles hit a bit of a plateau. So to break it, every week I go a bit heavier then previous. This really works wanders. Another thing to note is to change up the exercises you do once a month. At the moment I have 2 routines and I switch then once every 4 weeks. In the up and coming weblogs, I will spend more time sharing more information on weight training, what's my weight training routine and schedule, reference to some good weight training books, etc.

Final words

Ok, just to clear up a few things just in case some are tempted to flame me for some reason or another. :-) Firstly I am not associated with any fitness, health or supplement business. I am completely doing this out of my own will and determination. So if you do have remarks, comments or suggestions, feel free to comment, as I would greatly appreciate you honest feedback. Secondly, I am really enjoying this healthy change in my life. I feel better then ever. I certainly hope many of you will take this as a positive influence and take a proactive stance on better fitness and health in your own life.

Finally, I would like to take a few words to recap on the important things to remember here.

If you were to take anything from this weblog I would say take this.
"""
Formula to having a six-pack like Spider-Man, Peter Parker, is striking a good balance between Nutrition, Cardio (Aerobics) and Weight training. Combination of "the three" results in exponential results!
"""

Thank you for taking time to read this weblog and I hope you found it interesting and useful to some extent. :-) Add this site to your RSS reader if you wish, as I will be publishing follow-ups in the coming days.

Up and coming weblogs:

  • Motivation and Goal Setting in Detail
  • Nutrition Explained - Hacker2Hacker
  • What to do when you don't feel like exercising - Tips and Tricks
  • Cardio (Aerobic) training explained
  • Weight training explained
  • Realistic way to fit it all into your daily schedule

Note that on each weblog I will attach my own progress results. How close am I to achieving my goals, etc.

Peace out to all my fellow hackers.
-Alen

alen Health & Fitness

Hacker’s Guide to Getting in Shape - Introduction

February 2nd, 2007
Me My name is Alen Ribic and I'm an IT Specialist working for IBM. Yes, I develop software for big corporates and get to play with loads of cool new technologies on daily basis. I've been working as a Programmer and Java Enterprise Architect for about 7 years now. (Must say that I love Python more then any other language!)
I love what I do. I'm a geek and I love hacking! But at the end of 2006, I was watching Spider-Man, the movie (again), and thought to myself: "Hey, I know I’m a geek but who is to say I can’t have a six-pack like Peter Parker?" So, this weblog is all about "Hacker meets Fitness World" talk (and occasional entries relating my view on IT news and developments...kept to minimum of course). I have begun my journey on the 9th of December 2006 and I have and will monitor my progress along the way on weekly basis. I will be posting my progress to date in the next few days with some pics and data of course. I'll be talking about the following in great depth: - Nutritional intake details (Timing factors, Nutrition types. Is Coffee good for you? ...and for your body? :-) - Weight training - Cardio (Aerobic) training And last but not the least: - Motivation and goal setting. I hope you will enjoy following my journey into the unknown and maybe even follow along and see if one of us can play the part in the next Spider-Man movie as Peter Parker! ;-) Peace out for now, -Alen

alen Health & Fitness