Thursday, May 31, 2007

MacBooks on the Rise: Tools revisited

More and More of my friends, colleagues and acquaintances turn to Mac OS X so I think its time to revisit my list of essential tools.
The List is based on personal experiences and my starting point were:
Lets start with some picks from Stefan's list (for a detailed discusson of the applications he used to like at the time see his list):
  • Stefan's Emacs is (of course) replaced by vim/gvim on my list - unfortunately not as nicely ported as on Linux and Windows - but it still does the job for me.
  • Quicksilver definitely is a must - when working on windows one the the shortcuts I use the most is Windows-R (Run a single "Command"). Quicksilver goes far beyond that and is indispensible on a Mac when you're a keyboard addict.
  • Terminal (iTerm) omitted - no advantage for me. I'm happy with the built-in Terminal.app
  • The Omni Group's productivity suite was also very basic (not as in "simple", but as in "need to have") stuff - at least if you have to organize thought and discussions (OmniOutliner) and draw expressive diagramms and pictures effectively (OmniGraffle). The browser (OmniWeb) was a nice add-on but tends to interfere with my powersaving options so I switched back to Safari (the built-in browser). Unfortunately the productivity suite seems to be no longer available - wich makes it easier to focus on the important products.
  • Talking about browsers: Of course different browsers like Camino and Firefox come in handy if I use any Web2.0ish sites (and how could I avoid them nowadays)
  • Instead of ecto I went for Qumana for blogging - and ended up using a texteditor, and OmniOutliner for the job ;-)
  • I always preferred Addium over Proteus, but since AIM- and ICQ-user can also be reached via the built-in iChat I don't use any of them any more. For more compatibility with windows users Skype (> 2.0) comes to the rescue.
  • Ssh-keychain: well - yes i use it too.
  • And allthough I do very little development on my Mac Eclipse really does a great job for those little chunks of java that come along.
Now lets look at my ~/"Application" and the main "Application" folder.
Here we've got (noteworthy only):
  • Productivity
    • I can't work without a mindmapping tool. My Choice is Freemind - a java based application that runs nicely on Windows and OS X. And with a little finetuning it even shows the brushed metal look and feel of OS X.
    • Another "promiscuous" application as Larry Ellison might have said in the early eigthies is GanttProject which also runs on windows allmost as well as it does on a Mac. A simple but effective tool - for those situations where you just have to visualize your plans in such a way - that is written in java..
    • Every once in a while I have to make a little note. Using quicksilver I usally just start up a texteditor, make the note and save the file to the desktop. But I'm trying to change to sidenote - it would be so much easier...
    • AquaPath (again a recommendation from Stefan) to play with XPath expressions.
    • I'm quite happy with vim/gvim (I think I mentioned that already ;-) ) but sometimes a more GUI-ish editor is helpfull. That's where Smultron enters the scene - I'm not yet in the need to get Textmate.
  • Not necessary but nice
    • The MBPs are known for there "offensive" thermal behaviour. And even though I know that there is little to worry about I still like to check with Temperaturmonitor.
    • WordPod is a nice little tool to transfer textfiles to an iPod for reading - not heavy in use but usefull.
    • AudioRecorder as a lightwight alternative to firing up GarageBand just to record a few minutes. Saves directly to an AIFF, Apple Lossless (M4A and MOV), MP3, MP4 (M4A and MOV), or WAV file.
  • The office stuff
    • Pages and especially Keynote are some great alternatives to the standard MS-Office apps. So iWork was one of my first aquisitions (actually I ordered them together with my Mac)
    • But still - since most of my clients are hooked on Microsoft MS-Office is a must.
    • And for those who try to avoid the MS-Office trap and turn to OpenOffice NeoOffice is my choice of interaction.
    • Whenever I have to fiddle with graphics that I can't handle with OmniGraffle or the built-in apps (iPhoto does it for 99% of my photo editing whishes) Posterpaint and Seashore come to the rescue.
    • The essential tool for web development of course is a texteditor! ;-) But the way CSSEdit lets me fiddle with css styles is unmatched by anything I've seen before. Coda might turn out to be a great addition, but im not yet sure.
    • Being the lazy person I am I try to avoid typing as much as I can. RapidoWrite helps me by replacing abbreviation with any text I like (as long as I've defined the abbreviation of course)
  • One of the nice things about OS X is the fact that pdf is a native format. Still some tools come quite handy for some Tasks.
    • PdfMergeX gives a little more flexibility to the handling of pdfs.
    • PDFView is an alternative to the built-in Preview application and is in some ways more "natural" to the eye.
    • Although many printer drivers allready support "brochure" layout CheapImposter is my tool of choice if I want to be able to create brochures on not-so-smart printer without duplex capability.
    • With Yep! there's a great alternative to searching pdf all over my harddrive - and I really should use it more ...
  • System tools
    • SyncTwoFolders does exactly as the name implies - great for keeping USB-sticks up to date.
    • Going back in broser's cache is not always easy - but Retrospective makes it easier.
    • Even a nnn-GB drive gets stuffed after a while. With Filelight and GrandPerspective it's easy to identify the hotspots - actually I use almost exclusively GrandPerspective - Filelight is just an alternative for "special cases".
  • Connectivity
    • As always the Mac (at least mine) just works when it comes to wireless networks. But sometimes I want to now why and how. iStumbler doesn't tell me to much about my system - but it tells me all (almost) I want to know about the WiFi networks in my vicinity.
    • And once I'm connected to a network Flame tells me wich bonjour services are available. (Run in an airport lounge just for fun - it's amazing how many people intend to share their music and printers whith everybody. Especially considering the fact that you deliberately have to turn on sharing in OS X)
    • The built-in Mail.app does almost exactly what I want - but sometimes I just want to check my mailbox just to see if it's expedient to burn bandwith (think of UMTS/GPRS in aforeign country) by really accessing my Mailbox. Thats where MacBiff - an IMAP-savy menu extension is exactly what I need.
    • Even Apple doesn't always get it right - to really get the best compatibility with my Palm I needed to install the MissingSync. Now everything works fine.
  • Multimedia
    • VLC - any questions? Handles all the video formats out of the box.
    • But when I use Quicktime I sometimes would like to run it fullscreen. Thats very easily possible by sendig AppleScript command to the player - even without the "Pro" version. Fullsceen4Free does exactly that and includes a (nice?) GUI.
    • Before CoverFlow was integrated into iTunes i definitely liked it better. May or may not be available in the future. Last download possibility I knew was at MacUpdate
    • One of the esential tools for iTunes is of course beaTunes. This tool analyses Songs not only by BPM but also by "colour" - kind of representing the overall mood of the song - and really helps building better playlists.
And - last but not least - the system extensions I use
  • Although not really necessary, Growl is very helpfull when many application are running in the background and their user notification shall appear at least somewhat co-ordinated.
  • As you might have guessed by my use of Temperaturmonitor I really like to know whats going on inside my machine. MenuMeters provides exactly the information I want.
  • Even though the MDI-Interface is the standard for OS X applications there is no standard way to acces all the windows vie the keyboard. Witch gave me back the capability to "tab" through all open windows. (Arguably thats not really necessary once one gets used to exposé)
Oh - did I mention dashboard widgets?
But it's getting late, my battery is almost empty and I still got a lot of other work to do - so here's just a taste...

Wednesday, March 14, 2007

You want better estimates? Give us more dice.

I'm not sure whether the title works in English, but regarding the way projects are installed in some companies I started to attain the aforementioned attitude.


This is especially helpfull in situations when you're asked "We're not yet exactly sure what we want - but how much will it cost?"

In German: "Ihr wollt bessere Schätzungen? Gebt uns mehr Würfel!"


Powered by Qumana

Monday, December 18, 2006

The 'T' in 'IT' is the worst thing ...

...that happened to 'IT' in the last decade.


Once upon a time...
the craft of software development was performed under the umbrella of data processing and those performing the tasks had titles like programmer, designer, analyst or something along that line. Some of them even came from "computer sciences" or "informatics" but: all of them acted on data or information.


Nowadays - I'd say since the late nineties of the last century - there seems to be a clear line between "business" on one side and "IT" on the other. That wouldn't need to be too bad, but since the "T" in "IT" stand for "Technology" it is.


The "Technology*" metaphor affects both sides. Developers, projects managers and even (software) analysts and designers just take the input - be it concepts or orders or functional descriptions - and try to implement it (or design the system) as good as they can. Business analysts - or who ever describes the content of the project - concentrate on their part of the story and ignore any technical implications.


Sounds fine - doesn't it?


Unfortunately it does! But this seemingly sound separation of concerns is in fact one of the main reasons for time-and-budget overruns, immense time to market durations and similar problems (aka "the new software crisis").


Lets have a slightly closer look at the problems arising from that separation.


Technology & method savvy people get confined to the "techno-space"


Putting all those people with systems design education and experience on the technological side of the imaginary "IT fence" leaves no-one with up-to-date knowledge on the business side of that "IT fence". Of course some business analyst are happily nudging away on the business side of the fence, but they are clearly in the minority.


Most businesses are un-precise by definition - so that is what the business people need to be


To be successful in business a certain degree of leeway is absolutely necessary - people (and most customers are people, even if some of them - namely some of those from the centralised purchasing departments - try to hide the fact) are extremely informal in their perception of the world and in order to generate business you'd better be flexible too.


Business problems don't have to be hard to be expensive - it's sufficient if they are based on "common knowledge"


In the early time of software development software simply was the only way to solve very complex but well defined problems. Finding the correct trajectory to shoot three people from florida to the moon would be one of those well defined but complex problems. Later on there came other types of problem: seemingly simple problems with ambiguos definitions - lets say tax collection. Although theses are 'not exactly rocket science' and you easily get along with the four basic calculation types there are volumes and volumes of law textbooks and interpretations even for one type of tax.


The problem gets worse when people try to describe - or even define - a process 'unambiguously' without proper knowledge. Just try to describe the behaviour of a lift without diagrams. Now add time-awareness and route optimization. And add a second lift, coupled with the first one.


Formal methods should be applied much earlier


Now if you thought of all those fancy diagrams from one of your favourite methods to describe the problem above your probably living rather close to the "T-fence". I personally cross the border very often - either from one assignment to the other or during one single assignment - and every time I introduce some little formal method to business people I am overwhelmed how fast and efficient these methods are applied. It's not that these business people are dumb or ignorant - the problem is just that they don't have a focus on formal methods and are often actively separated from them by the IT-departments.


Agile processes try to circumvent this problem but fail to consider typical german mindsets


It's not only that business and IT use different (formal) languages but also the distance a piece of information has to cover to get from people thinking "business" to people thinking "systems" and back. So the poor guy trying to implement something has not only got to figure out how to implement it but also "what did he/she think that he/she thought what he/she was thinking - and what the heck could be the business reason behind all of these interpretations?". These assumptions - made by the last poor guy in the line - are what eventually make the systems work.


In my opinion the agile processes are a very good way to bridge the distance from business thinkers to systems thinkers (e.g. by placing them very close together) but they unfortunately fail to take local (in this case German) mindsets and organisational patterns into account.


To effectively overcome this situation the "fixed price addiction" (as one of the more direct agile protagonists once put it) has to be overcome - but I'm afraid that will still take a while. In the meantime it could help offer more support to business people earlier.


"bring together, what belongs together"


On the other hand it might be a good idea to allow for more business awareness in the IT-Departments to become more of "systems thinking departments". Although most of the systems work in the end they could get there much faster if the implementing departments would be willing to think more business oriented.


Although this will probably not happen any time soon (at least in Germany) this is one of the occasions where a small step backwards might turn out to be a giant leap forward. So perhaps it's not only about insourcing ousourced IT-departments but about integration of IS knowledge.


Stop using the term IT, make it IS (Information Systems) or something even more appropriate.


Any suggestions?


* BTW: It is even worse with the german word "Technik" because that is often interpreted as "mechanics".


Powered by Qumana


Thursday, October 19, 2006

Reuse considered harmfull?

Although sometimes treated like the "holy grail of the software industry" reuse has never appealed to me as a primary goal.
After I discussed this topic with Olli (sorry: no blog, no personal homepage => no link) last week he dug up the diploma theses from Rupert Stützle (in German) called "Wiederverwendung ohne Mythos" (roughly: "Reuse without myth") which puts a little foundation behind my gut feeling.


I've personally always considered reuse to be an indicator of good architecture and design but the real goal for me is to to have flexible systems where the change impact is as localised as possible. I'll have to take a look at the theses to see if that point of view is also backed up by hard facts.


Powered by Qumana


Sunday, September 03, 2006

Location Changer: Good Idea, unlucky (for me) implementation

I just gave WiLMa a try run and prompty had to reconfigure my mail system. Here is an excerpt from my mail to the author:


One of the great things in apples Mail.app (unlike the last version of T-Bird I tried or some other mail clients) is that it handles SMTP-Servers on an account basis.
I don't use an open SMTP-Gateway and I neither like nor encourage open SMTP-Gateways. Therefore each of my outgoing mail addresses (private, business, community work) has to use its own SMTP Server/Gateway.
The first time I started WiLMa and went to the 'SMTP Servers' pane I knew I was in (mild) trouble: Only one SMTP-entry...
I switched to Mail.app and guess what: All accounts already bore the same entry for their SMTP-Servers. And obviously one of them even disappeared from the list (probably because I have two account on the same machine).


At least my other system settings were left alone (sigh), and it only took about 10 Minutes to reconfige the accounts. (Testing included)


Update, less than a day later:
I just got Mail from the author - he really seems to be very responsive, so I think I'll give it another try in december.


Here's (part of) what he wrote:
[...]As for the software's initial behavior, I hadn't thought of it from that angle and will try to get this fixed in time for the October release. Perhaps an opt-in for features instead of an opt-out would be a good solution?[...]


Powered by Qumana


Thursday, August 31, 2006

O/R-Mapping: A loose-loose situation?

Today (while researching SOAP-Bindings...) I stumbled across a great (and comparatively recent) article from Ted Neward  where he compares O/R-Mapping with the vietnam war. Although this seems a little unpopular to some I'll have to go deeper into the article as time permits. From a first glance I have to say that I couldn't agree more (at least on the technical side)


Powered by Qumana


Sunday, August 27, 2006

Cynical Reengineering ?!?!

I'm not shure really about it right now, but Daniel pointed me to an article about "Cynical Reengineering" wich really appealed to me from the title alone. I'll have to go deeper into this as soon as I find the time.


Powered by Qumana


Wednesday, August 23, 2006

Online Feed reader


Sometimes it's usefull to read your feeds - like blogs or update sites - via a browser.


From Stefan I learned about bloglines which seems quite OK - except that the confirmation mail they sent me was "considered spam" by Apple-Mail (at least it passed my providers Mailfilters ;-) )


Might be a handy way to stay up to date when no internet-access is available for my laptop.



Powered by Qumana


Saturday, August 19, 2006

Automated acceptance tests @ agile-cologne

tonight at the 15th meeting of the agile cologne user group (in German) Andreas Thiel reminded me (and all of us at the meeting) of an important statement from the Fitnesse Website (cited a bit liberally):


Unit tests help to build the system right


while


Acceptance tests help to build the right system


A good thing to remember!


Powered by Qumana


Friday, July 07, 2006

Thats why.

Today I learned about the real reasons behind working Software - it's all based on quantum-theory... (via Burghard)

Wednesday, May 17, 2006

Mac OS X newbies

Perhaps this thread should be read by all Win to OS-X convertees. Although it's a little long it's worth scanning through it.

OS-X Simple Graphic Tools

One thing - apart from the cd-copy stuff - that really bugs me in OS-X is the absence of anything even remotely resembling MS-Paint. I suppose most Mac users own some Version of Photoshop or the like but I'm a consultant and developer not an artist that's why I'd like to have something lightweight, easy and free.
After some googling I found
Seashore (probably a little heavy)
Seashore
Seashore
and
Posterpaint

let's have a look at them... more to come
-mm

P.S.: Drawing could be done with
Inkscape or
ArtRage 2.1