Jul 09 2010

Simplified Ad Hoc Distribution in Xcode 3.2

Category: objective-cgiordano scalzo @ 11:41 am

Currently, Ad Hoc distribution is the only way to share an application to try itin to several devices or users (to maximum of 100 devices).
Despite the Apple’s reputation to create simple and effective things, the Ad Hoc Distribution is one of awkward and cumbersome process I’ve ever seen: I admit every time I need to change a certificate to add or remove certain devices or I’ve to check another application, I hold my breath and start cold sweat until the end of process… but, in Xcode 3.2 they simplified it a little bit.

In Build menu you can find a new entry, Build and Archive, that creates your application and archive it, allowing to share and signing it in a more confortable way:

All archived applications are in a new window of the Organizer:

When you “share” an application an ipa file is created and you can share it with your betatesters:

Just a little thing, but it’s useful to manage all versions.

More information can be found in this interesting post by Jeff LaMarche: if are serious about iPhone development you must subscribe his blog (and buy his book too ;-) )

Technorati Tags: , ,

Tags: , ,


May 10 2010

“Better Software Developers” slides from Better Software 2010

Category: agile, me, presentationgiordano scalzo @ 3:15 pm

Here are the slides from my presentation I gave at Better Software 2010: a humble attempt to spread the Software Craftsmanship philosophy among developers and managers.

Technorati Tags: , ,

Tags: , ,


Apr 02 2010

“Agile iPhone Development” at Xpug Milano

Category: me, objective-c, presentationgiordano scalzo @ 9:29 am

Spring is almost arriving and it’s time for another Xpug Milano meeting in coding dojo format.

This month we practiced with ObjectiveC; I gave an introductory presentation about the language, the ide and the framework, then we faced up to a nice Kata I proposed, inspired by some work of Brett Schuchert: the KataRpnCalculator.

I admit I’m amazingly surprised by how quick the Xpuggers learned the basic of the language and how good is the code they produced: awesome!
It’s the proof that it’s always a people problem not a technologic problem, and people with the right attitude can produce very good code, even though they don’t know very well the language.


Mar 17 2010

AgileCamp 2010: richness of difference

Category: agile, bdd, me, objective-c, presentationgiordano scalzo @ 2:59 pm

Some weeks ago, I has been lucky enough to attend to AgileCamp 2010, an awesome Barcamp organized by Sketchin, a Swiss UX and Web agency.
With my good fellows XpUg-gers Gabriele, Andrea and Indrit, we reached a lot of old and new friends, all of them caring about quality and “Things Got Right”.
I came back really enriched, mainly because I met people with experiences and point of view different than mine.

It has been my first Barcamp, so I though it was necessary to present something, and I decided to assemble a little introduction to Tdd coding for Iphone.

Here there is the video of my presentation:

AgileCamp – iPhone agile DEV (di Giordano Scalzo) from Sketchin on Vimeo.

Technorati Tags: , ,

Tags: , ,


Mar 01 2010

I’ll speak at “Better Software” 2010

Category: me, presentationgiordano scalzo @ 2:38 pm

Better Software 2010
Better Software is a quite new IT Conference, mainly addressed to non technologic parts of making software.
This year I’ll give a speech about passion, enthusiam and pride to be a developer, and the how that can be used by the companies to make a lot of money ;-) . See you there!

Technorati Tags: ,

Tags: ,


Feb 06 2010

Milano XpUg January Coding Dojo

Category: java, presentationgiordano scalzo @ 3:04 pm

Lately, I’m more and more involved in Milan XpUg meetings; last week I had the pleasure to attend my first Coding Dojo.
A Coding Dojo is a meeting where some people practice Tdd and try to learn new things, without schedule and deadline pressure.
As introduction I prepared a little presentation, mainly with the aim to clarify the “Ocp Way” to do katas, as conceived by Matteo Vaccari in his blog:

We had a lot of fun, and we are committed to arrange another Dojo, at the end of February.
If someone is interested to practice more, here you can find the text of the kata we practiced and here the code we produced.

Technorati Tags: , ,

Tags: , ,


Jan 19 2010

Objective-C for busy Java Developers 1: Calling methods

Category: java, objective-c, tutorialgiordano scalzo @ 2:34 pm

At last I got a wonderful MacBookPro, so I started to study Objective-C to develop some cool Iphone applications.

Objective-C is a language derived from C, to which it adds some modern features as ObjectOriented or Smalltalk-style messaging.

As far I’m a complete newbie, I’m trying to learn it recalling some well know patterns and scenarios as made in Java , following this good tutorial.

Objective-C has a little strange way to call method, that could be disorienting at first glance:

Java:

object.method;
object.methodWithInput(input);

output = object.methodWithOutput();
output = object.methodWithInputAndOutput(Object input);

Objective-C:

[object method];
[object methodWithInput:input];

output = [object methodWithOutput];
output = [object methodWithInputAndOutput:input];

Obviously, it’s possible to call methods of class, instead of instance:

Java:

Object oString = new String();

Objective-C:

id oString = [NSString string];

The

id

refers any kind of object, so it’s little different from Java counterpart.
Better code is:

Java:

String sString = new String();

Objective-C:

NSString* sString = [NSString string];

With this style, it’s a little cumbersome write nested calls:

Java:

calculator.add(numbers.split());

Objective-C:

[calculator add:[numbers split]];

This syntax disencourage the nesting of more than one method.

Some methods take multiple input arguments, Objective-C deals with that allowing split method names:

Java:

boolean writeToFile(String path, boolean useAuxiliaryFile)

boolean result = myData.writeToFile("/tmp/log.txt", false);

Objective-C:

-(BOOL)writeToFile:(NSString *)path withAuxFile:(BOOL)useAuxiliaryFile;

BOOL result = [myData writeToFile:@"/tmp/log.txt" withAuxFile:NO];

Objective-C has properties built in, in Java you need to implement getters and setters:

Java:

photo.setCaption("Day at the Beach");
output = photo.getCaption();

Objective-C:

photo.caption = @"Day at the Beach";
output = photo.caption;

A property should be marked

@property

in declaration and

@synthesize

in implementation.

To create an object, the function

alloc

should be called and then an init method should be called:

Java:

object = new ComplexObject(1.0f);

Objective-C:

object = [[ComplexObject alloc] initWithFloat:1.0f];

When working in an environment without garbage collector, any object created with alloc should be released:

Objective-C:

[object release];

To complete this introductory post, take a look at this ObjectiveC CheatSheet: it contains all the most used constructs needed to start to code for Mac.

Technorati Tags: , ,

Tags: , ,


Dec 23 2009

What I learned doing a Katacast

Category: me, presentationgiordano scalzo @ 10:32 am

As said before, last week at Milan Xpug meeting, we organized a kata evening, with the same challenge done with different language.
During the practice to reach a quite well solution, I publicized my attempts through Twiiter gaining attention from Corey Haines hinself who asked me if I was interested to appear on katakasts.com as a guest: wow, I felt like a teenage U2 fan who, while playing in garage, receive a call from The Edge asked him if interest to play some concerts with them!

Anyway, I tried to record a good enough kata, that means without compilation error, in resonable time and typed in smooth way.
That could sound as a straightforward thing to do (I thought it that way), but I invite everyone tho give it a try: I did almost 10 complete recording, not counting all false starts or big mistakes near the end of kata.
I noticed how often I did errors in first steps, I think while I’m not into the “flow”, or at the end, when I start to relax.

Anyway, the only way to perform a Kata in a acceptable time for katakasts.com (less than 15 minutes) is to master the editor of choice.
I use vim for kata, but I’m far to be ‘fluent’ on it! Anyway, to save precious time, I learned a few usefu thricks.

First of all, we need to forget to navigate the text throught 'hjkl' or arrows keys, and use the line numbers features of vim.
With this command:

:set number

every line will appear with its number.
Almost every command of vim should be applied to a range of rows.
For example with this:

:20,30 co 35

we copy the block from line 20 to line 30 to line 35.
Or with this:

:20,30s/java/scala/g

we change word java with scala in previous code.
A little variant is

:20,30 co .

that copies the block at the current cursor position.

Anyway, you can enjoy these and other basic vim tricks in my Katacast:

KataCast: StringCalculator in Scala from giordano scalzo on Vimeo.

Technorati Tags: , ,

Tags: , ,


Dec 17 2009

StringCalculator Kata at Xpug

Category: agile, bddgiordano scalzo @ 2:18 pm

Last evening the wonderful Xpug Milano hosted a Kata Meeting: three people, three language, one problem, one pomodoro each!

After the launch of http://katacasts.com/, this kind of practice has begun to spread around the world.

As far as I know, that was one of the firsts meeting held in Italy and it has been exciting (and a little scaring) to be one of the performer.

The simple problem to solve was the StringCalculator kata, proposed by Roy Osherove as simple exercise to repeat to assimilate Tdd.

Luca Marrocco performed the kata in Ruby, Raffaele Salmaso a Python version, the benevolent dictator of Xpug Milano a backup kata in Erlang, and yours truly a Scala version.

Below the live recording of my session, with errors, mistakes and pauses made during the execution:

StringCalculator in Scala Kata live at Xpug Milano from giordano scalzo on Vimeo.

Any kind of suggestion about the solution, the process, the way I performed are absolutely welcome.

Technorati Tags: , ,

Tags: , ,


Dec 04 2009

An evening at Xpug: Bdd presentation

Category: agile, bdd, me, presentationgiordano scalzo @ 10:24 pm

Last evening, I gave a speech about Bdd, at the wonderful Milan XPUg.
The meeting has been very pleasant: I believe the members are among the most brilliant mind I know.

I could admit I didn’t know very well Bdd, but following the good old advice “teach to learn“, I got a triple win:
I taught something new to Xpug guys, I learned a lot of new things and I improved my presentation skill.

Moreover, after a couple of hours after I put online my slides, the Slideshare team promoted my presentation in home page as features presentation: what a great result for a weekend presentation hack!

Technorati Tags: , ,

Tags: , ,


Next Page »