Archive

Archive for the ‘Software’ Category

KeyRemap4MacBook for a Microsoft Natural Keyboard 4000

February 18th, 2013 Comments off

Do you use a Apple Mac Book Pro at work? If you do, then, and if you like to use Microsoft Natural Keyboard for your day job then you might have found that Microsoft and Apple devices do not quite play well together. Some of the most important programming keys are mapped to strange characters.

Luckily enough, the on the keyboard’s Windows Logo key  is mapped to the Apple Alt key; and the keyboard’s Alt key is mapped to the Apple Command key. So it is not so bad on first use. You can also download the IntelliSense drivers from Microsoft for Apple OS X 10.7 and 10.8 and those help in remapping the Apple Command and Alt keys; fortunately the defaults just worked for me. The Number Lock key does not work at all and there is currently no way to fix this.

The biggest concern was the mapping of the double quotes, ampersand, tilde, back quotes and back slash characters. Because I develop software for a living, this reduced my productivity because they keys were mapped to different keys. I, then, found out about a popular tool called KeyRemap4MacBook. Using this program and help from Takayama Fumihiko, the developer/maintainer of KeyRemap4MacBook, eventually gave me exactly what needed.

Remapping Microsoft Natural Keyboard for Mac OS 10.8 here is the file:


<?xml version="1.0"?>
<!--
 ======================================================================
 Mac OS 10.8
 KeyRemap4MacBook for a Microsoft Natural Keyboard 4000
 United Kingdom Layout
 By Peter Pilgrim 12th February 2013
 peter dot pilgrim at gmail dot com

http://xenonique.co.uk

 ======================================================================
-->
<root>
 <!--

http://stackoverflow.com/questions/3202629/where-can-i-find-a-list-of-mac-virtual-key-codes

 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Headers/Events.h

https://github.com/tekezo/KeyRemap4MacBook/blob/version_8.0.0/src/bridge/generator/keycode/data/KeyCode.data

 -->
 <symbol_map type="KeyCode" name="AMPERSAND" value="0x13" />
 <symbol_map type="KeyCode" name="DOUBLE_QUOTE" value="0x27" />
 <symbol_map type="KeyCode" name="BACK_SLASH_and_PIPE" value="0x2a" />
 <symbol_map type="KeyCode" name="SECTION_SIGN_and_PLUS_MINUS" value="0x0a" />
 <symbol_map type="KeyCode" name="BACK_TICK_and_TILDE" value="0x32" />

<symbol_map type="KeyCode" name="HASH" value="0x14" />

<item>
 <name>Micro Natural Keyboard - Swap Ampersand and Double Quote</name>
 <identifier>private.ampersand_and_doublequote</identifier>
 <autogen>
 --KeyToKey--
 KeyCode::AMPERSAND, ModifierFlag::SHIFT_L | ModifierFlag::NONE,
 KeyCode::DOUBLE_QUOTE, ModifierFlag::SHIFT_L,
 </autogen>
 <autogen>
 --KeyToKey--
 KeyCode::DOUBLE_QUOTE, ModifierFlag::SHIFT_L | ModifierFlag::NONE,
 KeyCode::AMPERSAND, ModifierFlag::SHIFT_L,
 </autogen>
 </item>
 <item>
 <name>Micro Natural Keyboard - Reconfigure Hash and Tilde key</name>
 <identifier>private.hash_and_tidle</identifier>
 <autogen>
 --KeyToKey--
 KeyCode::BACK_SLASH_and_PIPE, ModifierFlag::NONE,
 KeyCode::HASH, ModifierFlag::OPTION_L,
 </autogen>
 <autogen>
 --KeyToKey--
 KeyCode::BACK_SLASH_and_PIPE, ModifierFlag::SHIFT_L | ModifierFlag::NONE,
 KeyCode::BACK_TICK_and_TILDE, ModifierFlag::SHIFT_L,
 </autogen>
 </item>
 <item>
 <name>Micro Natural Keyboard - Reconfigure Backtick and Pipe key</name>
 <identifier>private.backslash_and_pipe</identifier>
 <autogen>
 --KeyToKey--
 KeyCode::SECTION_SIGN_and_PLUS_MINUS, ModifierFlag::NONE,
 KeyCode::BACK_SLASH_and_PIPE, ModifierFlag::NONE,
 </autogen>
 <autogen>
 --KeyToKey--
 KeyCode::SECTION_SIGN_and_PLUS_MINUS, ModifierFlag::SHIFT_L | ModifierFlag::NONE,
 KeyCode::BACK_SLASH_and_PIPE, ModifierFlag::SHIFT_L,
 </autogen>
 </item>
 <item>
 <name>Micro Natural Keyboard - Reconfigure Just Grave Key to Section Sign Key</name>
 <identifier>private.backtick_and_just_grave_key</identifier>
 <autogen>
 --KeyToKey--
 KeyCode::BACK_TICK_and_TILDE, ModifierFlag::NONE | ModifierFlag::SHIFT_L,
 KeyCode::SECTION_SIGN_and_PLUS_MINUS, ModifierFlag::NONE ,
 </autogen>
 </item>
</root>

Basic syntax for customising KeyRemap4MacBook. Now Natural Keyboard developers on Apple Mac Book Pro can be productive again.

Have fun!

+PP+

Categories: Administration, Apple, Software Tags:

QCon London 2012 Part 2

March 18th, 2012 Comments off

 

The last day of QCon, Friday, had already started with a keynote, Resilient Response in Complex System, John Allspaw. The general advice was concentrate on recovery rather than attempting to avoid failure. The talk emphasized the need to train developers and operators in failure situation, following the model of military or emergency services. The idea of a post-mortem, retrospective, learning from the forensics of situations, are needed in order to provide a resilient response. I think Allspaw’s core message was to practice, learn, analyse, and then improve.

 

QCon London 2012

Professor Philip Wadler takes the stage

 

Lambda Belief

 

Friday sessions began on the Scala and Functional language Track. I went to see Faith, Evolution and Programming Languages: From Haskell to Java with Professor Philip Wadler of Edinburgh University. What followed was short history of functional programming and mathematical logic, beginning with the Gerthard Gentzen (1935) , who devised Natural Deduction and sequential calculus.

Natural deduction was the idea that rules of logic come in pairs, with that it is possible to simplify Proofs – in order to prove A and B, then I need to prove A and also prove B, then work on A implies B or vice versa.

Next, came the achievements of a certain Alonzo Church (1932), who invented Typed Lambda Calculus. The lambda calculus permitted construction of functions and records from constituent parts. Phil Wadler introduced a constant running theme throughout his talk – that is, it always two people who appear to make a significant breakthrough in understanding computing and mathematical logic. So in the case of Alonzo Church, it was not until the year 1980 William HowardCurry Howard Isomorphism – conceived the idea of partial functions calling another partial function in order to combine together a real function. Haskell Curry had discovered an artefact in the 1950’s, called combinators and isomorphism. Howard was also influenced by Curry. The main type system used in Haskell is called Hindley-Milner type system, discovered in the mid-1970’s. Robin Milner wrote a seminal paper called Polymorphic Types. Jean-Yves Girard derived System F and John Reynolds found discovered Type Interference for the polymorphic lambda calculus.

The great ideas are so great, that you discover them twice.

QCon London 2012

[R] Professor Philip Wadler, Edinburgh University and dressed in his “Lambda-man” tee-shirt

For the second part of this talk, Prof. Phil Wadler spoke at length on the influence of Gottlob Frege (1879), who formalised mathematical quantifiers as the upside down A “for all implication – assumptions”. It talked about John Reynolds (1974) – who discovered type Polymorphism/ Reynolds was interested in data abstraction, which meant he did not care how you represent on the type entity, but has a certain behaviour. Girard showed that the lambda calculus program can be written to terminate.

From the polymorphism, he introduced his own mark in history Odersky and Wadler (1997) – Pizza Parameteric polymorphism, which told the story of modern times, Igarashi, Pierce, and Wadler – featherweight Java, Gosling, Joy, Steele, Bracha (2004) – Java 5, and Naftalin and Wadler (2006) – Java Collections

The final part of the talk was about Haskell: Type Classes. and some recent ideas, such as finding a canonical language concurrency, search for description that transform one object to another object (parametricity?). Phil Wadler saved the very best for last with two assertions.

Lambda calculus is universal programming language.
Lambda calculus is Omniversal

 

QCon London 2012

[L] Sadek Drobi and [R] Guilluame Bort of Zenexity, co-authors of the new shining star, The Play Framework

 

Let’s Play

I went to the Play Framework presentation: Non blocking, Composable Reactive web programming with Iteratees in Play2 with Guilluame Bort and Sadek Drobi. With Play Framework version 1.x they decided not to use the WAR file, any part of the Servlet API, because of the typical implementation of Java EE web application servers were one-request-per-thread which did not scale. Bort and Drobi knew in order to scale significantly as web platform: a thread did not need to be blocked when doing I/O and with the Servlet API the thread is blocked all the time. Instead, Play version 1.0 was based on reactive programming techniques and the promise to avoid the blocking of Java thread. They also went to templating scheme and followed a Ruby style convention-over-configuration philosophy.

One part of their talk that the authors discussed at length was the quick iteration feature. Developer did not have to deploy to an infrastructure. Instead, the designer and the developer, working together, could just code and watch what happens to the application at runtime, without having to stop and start an application. This idea of quick iteration of change is fundamental to allowing designers to experiment and create better designs.

Zenexity had to work around also the implementation of java.io.InputStream and the read call, which will block the thread if there is no data. These methods block until input data is available. A reactive model had these characteristics 1) inversion of control, 2) the source controls the execution and 3) holds onto the control without loosing it.

The architecture of Play Framework version 2.0 brings in the idea of composable streams and stream handlers Iteratees.  An Iteratee is a consumer. It is just something that consumes the input and it produces a value from the consumption. In combination with Iteratees, Bort and Sadek, also provided Enumerators, which are all about producing streams of a data. Enumerators also have adaptors called Enumeratees!

Overall, this could have been a seriously great talk, because all of that was missing was some tantalising demonstration of the Play Framework for beginners. I would have love to have seen that amazing user interface demo using these brand new Composable entities. New starters may well have been left confused and slightly bewildered by the lack of Scala code explanations.

 

Bazaar

 

Off the beaten track, I went to a talk in the Working Distributed track. It was given by Ola Bini and was called Anarchy, Cooperation and the Bazaar. This was a very good non-technical talk on the subject of open source software and its development. It delved into Eric S. Raymond’s classic paper about the Cathedral and the Bazaar. Ola Bini also delved into business of open source, how it is distributed, how developers work and why it has been a success. He also pointed why certain corporations and entities have failed at open source. There was a purest view of open source GNU and Richard Stallman discussed and contrasted against the pragmatists, Apache, Linux and Mozilla.

I found this talk rather a fascinating diversion and emphasised the learning I have had to do with communication between individuals and teams.

Ola Bini did cover the amazing success stories such as Linux, SourceForge, Codehaus, Github, RapidFTR, to name but a few. He concluded that it will be essential to notice the very low barrier to entry in creating a brand new open source project online with the help of Github. Such GIT developers can easily create an open source project. It is the best way to get people to look at your work, and if they really like what they can read and see, they can branch the code so easily and mash up with their own ideas, and of course they may contribute back to your source. The owness is you and your skills as a source code manager to pull in other contributions.

 

Caching, Grids, and No SQL

The final talk of QCon London 2012 was Caching, No SQL and Grid: What The Bank’s Can Teach Us? by John Davies. The talk started with the discussion of the data statistics of banks. Trading requires lots of data, lots of connectivity and lots of throughput and low latency. The latter two points are finely balanced.

John Davies declared that we need change the programming model. He stated the hardest thing to drill into a programmer is to think about programming for a distributed architecture, which to my mind was a bit sharp and harsh. These thought require techniques and much learning through coaching and mentoring. He spoke at length on the EJB model, which was a start but scalability was limited to the server or cluster of server

After the EJB model. we were offered up the topic of Virtualisation, where Davies announced that we can take any physical location and split it up in order to better share a resource. Each Virtual Machine would independent from the other – all VMs on the same physical machine relied on the same hardware. 

He compared the typical way of deployment applications in any business, including banks with Amazon EC2 (30 minutes). Unfortunately the banks did not at the moment support cloud environment, because of concern data privacy, intellectual property, trade secrecy, auditing, and mainly because of security reasons. John Davies said virtualisation and cloud environment are the way we must go, it is the future, even for investment banks.

The next topic was Local data storage versus Grid storage versus Cloud storage. Davies declared if we can distribute to a local VM [virtual machine] we’re most of the way there. He said that the big problem was provisioning these environments to the next level, from local VM to the local grid VM, especially if we move the VM to other networks. Davies compared strategies:

Local – very fast, perfect for developing and testing

  • Private Cloud / Grid
  • Very secure – perfect for banks & governments
  • Very scalable but there is a slight latency
  • Costly you have to invest in the physical boxes

Cloud

  • Pay for what you eat
  • Extremely scalable
  • Latency and security can be an issue
  • Service provider license could be difficult in a competitive market (when the tide flows it affects all boats in the sea)

Grid technologies

  • GemFire
  • Terracotta (Big Memory)
  • GigaSpaces
  • Coherence
  • Neo4J

Many other technologies overlap in area, predominately the caching side, these too are viable alternatives EHCache, Memcached, JCache.

    No SQL databases
  • MongoDB is pretty popular, HBase with Hadoop and Cassandra occasionally too. Others are rarely seen by John Davies in his context and environments.
  • GemFire – originally an OOD, now has a pure Java implementation, recently acquired by
  • Terracotta – uses Java VM replication, recently acquired by Software AG. It originally came out as a clustering solution, about 10 years ago, and Terracotta became very good at that clustering. Technologies move up.
  • GigaSpaces – originally the only viable implementation of Sun’s JavaSpaces, which was created by East-coast Sun Microsystem. JavaSpaces never really took off since EJB was favoured by the West-coast Sun Microsystem. GigaSpace has the concept of a “Space”, you can write something into a space, read it, take it, and be notified something changes. Perfect implementation of MASTER/WORKER pattern.
  • Coherence – formally “Tangasol”, now owned by Oracle, entity beans had a particularly way of writing to a database, it was originally conceived as a cache. Once people figured out that cache was distributed, you could effectively remove the dependency on the database.
  • Neo4J – The wild-card, a graph database. It is an interesting technology, it is a graph database with fluent and relationship queries, which is quite unique. For instance, “find all the friends of Sarah Plumber that are related to her Mother and over 25 years old.”

I also think that there is some type of standardisation that will come through the cloud development provider. It may be a Java EE 7 specification, if they want to tie together with Oracle and/or it could be separate organisation that does this, particular, like an OSGi for the Cloud PaaS providers. Well the future is bright. Cloud and PaaS will eventually be a requirement for enterprise developers for sure.

QCon London 2012
[L] Sadek Drobi, co-founder and CTO of Zenexity, Paris, France

End Game

 
I enjoyed my two days of work related training at QCon Conference 2012. I would like to thank my employer IB Boost for making my presence available. It was really good to see some familiar faces, and I know I missed somebody. Software development in London is changing, it is optimistic, there are interesting projects going on, despite the economic downtown. The vector of progress is still moving onwards one way or the other. When I go to a conference I intend see just where this vector is pointing, I have some ideas of what to look in the next 12 months. I see you at QCon London 2013.

Shout outs (in no particular order)

  • Robert Smallshire – Dear Fellow, thank you very much indeed
  • Barbora Nasincova – Zero Turnaround
  • Simone Barbieri – application manager at BWin
  • Oliver White – Zero Turnaround
  • Baruch Sadogursky – JFrog Developer Advocate
  • Alex Blewitt 
  • Liz Berstock – QCon
  • Yaov landman- JFrog
  • Chris Richardson – b
  • Floyd Marinescu – b
  • Professor Phil Wadler 
  • Sadek Drobi – Xenevity
  • Guilluame Bort – Xenevity
  • Kresten Krap Thorup – Trifork
  • Aino Vonge Cory – QCon
  • Steve Freeman 
  • Geeta Schmidt – QCon organiser
  • James Strachan – awesome talk
  • Michael Brunford Spall – Guardian
  • Alex Russell – I still want to get into HTML 5 ;-)
  • Adrian Cockcroft – Netflix
  • Gil Tene
  • Ola Bini 
  • Rich Hickey
  • Barry Cranfield – London Java Community
  • John Davies – Incept 5


ACCU 2011: It’s A Wrap

April 18th, 2011 Comments off

I few shout out to wrap up my time at Oxford last week.

  • Giovanni Asproni the outgoing ACCU conference person. Thank you for accepting my proposal Introduction to Scala. It was an honour
  • Ewan Milne the former Chair of ACCU organisation
  • Terry Neason for all of my presentation, performance and communication advice
  • Kevlin Henney, top consultant and speaker, for attending my talk
  • Rachel Davies, Agile coach for attending my talk
  • Julie Archer for allowing me to see Cherwell night and morning before the start
  • Belinda Wiacek for sorting my conference t-shirt, being a good sport of XBox Connect
  • Micheal Alderson-Blythwell
  • Schalke Cronje for inviting me to dinner at the Plough pub w/ Lisa Cripsin and Steve List
  • Steve “The Doc” List
  • Lisa Crispin
  • Russel Winder, for a the fantastic “Keeping Sending The Message Talk”
  • Neil Wilson, for suggesting the fabulous Mayo restaurant, St. Clements, Oxford
  • Pavol Rovensky, for driving Michael, Richard and I to Mayo and back again on Thursday night
  • Martin Winkler, for providing feedback on my Scala talk
  • Robert Fearn, for providing valuable feedback on my Scala talk
  • James Slaughter
  • Allan Kelly
  • Anna-Jayne Metcalfe
  • Charles Bailey
  • Olve Maudal
  • Martin Waplington
  • Emily Winch
  • Didier Verna for the Commons Lisp tutorial on Friday
  • Bernhard Merkle
  • Frances Buontempo
  • Steve Love
  • Sven Rosvall, for a good introduction in cloud computing
  • Anthony Kirby
  • Andy Stoke, chat about Scala adoption
  • James Byatt, chat about Scala adoption
  • Robert Westwood
  • James Bates

If missed anybody else. I am responsible and I am sorry about that. Thanks to everyone that made ACCU 2011 a great success.

 

ACCU 2011

(right) the very dapper Ewan Milne, former Chair of ACCU and I (left)

ACCU 2011

Painting reserved for £400 went for £725 and Michael Alderson-Blythwell beat John Lakos to it

ACCU 2011

(left) outgoing ACCU conference chair, Giovanni Asproni and (right) his replacement, John Jagger

ACCU 2011

From left to right, Lisa Crispin, Agile Tester extraordinair, her husband, Bob and Steve “The Doc” List

ACCU 2011

Moi

 

My Flickr photo-stream mostly on the ACCU Speaker’s Dinner is here.

And thus endeth my week on Scala

Thanks and Enjoy ;-)

ACCU 2011 Introduction to Scala Talk

March 28th, 2011 Comments off

Hey All

I will giving a presentation at ACCU 2011 Conference in Oxford on 13th April: Introduction to Scala. The conference takes place in Oxford at the Barceló Hotel on the outskirts of the town. Registration is still open last time I check, so if you want to go then do it now.

I examined the full schedule and I see my talk is first one on Wednesday morning at 11am in Cherwell.

I plan to give a fair robust overview of programming in Scala. It will cover Beyond Java the landscape that we all face, some the ideas on the adoption, where the JVM platform is going. It will be technical and the syntax and concepts of Scala will definitely covered. There will be guide to the functional side of the Scala. Above all I will be stressing the Yoda line: “with great powers, comes great responsibility”.

The ACCU has a long history with C/C++ in the past and the over decades this has been distilled with object orientation, agile development, patterns, and generally best practice for programmers. I was originally a member of ACCU for its C/C++ years and years ago. I moved on as we all do. I moved to Java in 1998 and left C++ behind.

It is good to represent the Java platform again in Oxford and I am looking forward to it.

PS: James Gosling has joined Google: Bang Goes The Drum!

Cuke-Up Some Cucumbers

March 23rd, 2011 Comments off

You have probably guessed correctly. That’s right! I will be making a personal appearance at Skills Matter tomorrow for Cuke-Up, which is the one day conference about Cucumber BDD (Behaviour Driven Development) tool.

Why am I investing time learning about Ruby testing tool?

  • Well the answer is that many of Ruby’s goodness including RSpec have made their way into Scala world. Bill Venner’s ScalaTest in one framework influenced by RSpec.
  • In the Groovy land they reports of people invoke the WebDriver to execute step definitions. Also the Cucumber website looks awesome, man!
  • Something tells me that learning some ideas of Ruby might be useful later when I look and play around Mirah.
  • Finally, I am at liberty, justice and peace.

Learning Behaviour Driven Development from the horse’s mouth, or a very leading edge person, like Aslak Hellesøy is a no-brainer. There might be still tickets available so hurry. See you there.

Thanks to Wendy / Skills Matter

Meanwhile, let’s enjoy some photos from last Friday’s Functional Exchange:

 

Functional Exchange 2011

 

Functional Exchange 2011

 

Functional Exchange 2011

 

Allie oop!

You Talk For Long Times: Tale of Two Agilities

March 22nd, 2011 Comments off

Today, I know for a fact, that the market is dead. It is easy to see why it is, and why everyone involved agile or agility or so bloody confused.

 

The Tale of Two Agilities by Barry Hawkins, XtraNormals. 

 

Explicit material over 16′s only: adult, swearing, alcohol

  • We do Agile at my job
  • We have the Scrums, there is one everyday
  • They are called compound statements. Books have lots of them. They are typically mastered from the age of three or four.
  • Do you teach Rails?
  • I have been to RailsConf, it was awesome, there were flags and chicks. Rad!
  • I have told my Agile boss that we need maintenance programmers
  • It is waste for me to do maintenance programming
  • Maintenance programmers are cheaper, hardware is cheaper too
  • We are agile we can change what we are doing every time, we don’t plan, timelines are useless
  • You talk for long times

PS: Barry Hawkins played this amusing YouTube video at the JavaPosse Round Up 2011 lightning talks.

Functional Exchange At Skills Matter 18 March

March 17th, 2011 Comments off

After the my usual downbeats posts on Beyond Java on the JVM, I stumbled across Charles Nutter’s blog article [The Future Part One] again and reread it. The date on this article states April 2009 predates my own thinking on the Java platform, at that time, I was more interested in JavaFX Script version 1.1. So the amazing thing is that his conclusions are still valid today and there is still a risk of the entire Java platform not evolving. Headius never did get around to writing the second part of his entry, did he?

I have been brewing some ideas on Beyond Java:

  • Start a campaign – Twitter , Facebook online – some graphics, create web site – we would campaigning to business leader, stake leaders
  • Start lobbying – create a beyond Java manifesto, create some beyond Java web site – we would be lobbying other developers, architects
  • Go viral – I thought about gathering a set web cam or flip HD or Kodak videos that go strung together by from 25-30 well known developers. We can edit them together and upload to YouTube or Vimeo or both – we will be building our self estem, empowering ourselves, putting we others on notice, that we refuse to be held to ransom to ancient tech on the Java platform
  • Down tools and act up –  leading developers could refuse ancient JDK 1.4.2 work or WebSphere 6/7 leave that to laggard developers. It could be a sort of deliberate practice, a tech talent starvation if you will – may be a  couple of institutional business models will fail after the technology model fails.

Anyway, I digress, I am heading to Skills Matter Functional Exchange tomorrow (18 March 2011) in central London [Tickets Might Be Still Available]. My next personal appearance over there, I will be progressing my continual learning, enhancing more core professional competency, and meeting and greeting other developers. (Notice that sick scrawl matches the current human resource invective). Dave Pollak is going to be around for Lift framework talk, Jonas Boner and Victor Klang. Having met Chris Marinos MVP F# Dude from the JPR11, then F# is definitely of interest and the distant cousin of Scala on dotNet platform. This is going be a day out in town, so come along say hello. Ask me about the Future of the JCP, JavaFX 2.0 and Scala when you want.

PS: Thanks to Wendy / Skills Matter

PS PS: How about this as a strap-line? “I am Peter Pilgrim, a top-tier developer in UK and I am Beyond Java on the JVM. There is no going back now. ”

QCon London 2011 Experiences and Community

March 12th, 2011 Comments off

Today, I feel humbled to experience another QCon London conference. It is the fourth time I have been involved, and I consider it the biggest event in my home town.

What were my favourite events and happenings at QCon?

  • Meeting with the people and having inspired conservations about technology
  • Meeting Wendy Devolder of SkillsMatter and discussing the Functional Exchange
  • The Java Community Panel on Thursday afternoon with Stephen Colebourne, Ben Alex, Mark Little, Jerome Dochez and Patrick Curran.
  • Twitter conversation with Alex Blewitt about the JCP, the future of Java
  • Mark Powell’s evening key note on the Jet Propulsion Lab, which contains many Star Trek references
  • Speaker’s dinner where I tabled with Mark Powell, Glenn Vanderburg and Kevin Henney and had a fantastic conversation about The Mote in God’s Eye and science fiction writers, TV, movies and books
  • The speaker dinner’s at the restaurant Inn The Park
  • Meeting individuals like Christian Kellner and Daniel Temme of TimoCom, Duesseldorf, Germany; Juan Germano of Core Security from Argentina; Gary Harvey of Trifork;
  • Winning an Amazon Kindle 3 Wi-Fi bundle in a FuseSource prize drive!!! (Thanks to Matt Thayer
  • Being asked questions about JCP, Future of Java
  • Paul Albettele asked me about the future of Java / Scala. Should I learn Scala? Should I learn functional programming? Michael Klove also inquired about Scala’s future too
  • Chatting with Googler Ade Oshineye and eavesdropping on his photograph tips to a fellow conference goer
  • Meeting Simon Ritter on the Oracle booth and discussing the JavaFX 2.0 early access release and experiments there of
  • Meeting Artifactory / JFrog folk again Yoav Landman, Shlomi Ben-haim and Talin,  et al

What were my favourite sessions?

  • Glen Vanderberg’s Clojure on the Web on Friday
  • The second half of Rod Johnson’s Friday morning keynote: Things I Wish I’d Known
  • The NoSQL at NetFlix on Friday morning by Siddarth Anand
  • Musical singing and playing of a certain Roy Osherove: Team Leadership in the Age Agile (Thursday)
  • Kevlin Henney’s talk Putting “Re” into Architecture (Wednesday)
  • Gil Tene of Azul interesting talk about Java without GC Pauses (Wednesday)

What were the things I did not like this year?

  • No being there for the whole thing, missing out Wednesday and Thursday mornings
  • Dealing with Another Other Business during the conference
  • Being so emotional after the event (always sad to have an ending)
  • Domain Specific Language technical session should have been much better than it was
  • Smaller scale conference party on Wednesday evening

See next year and best endeavours for the rest of 2011

Meanwhile here are some photos:-

QCon London 2011

Collecting the Amazon Kindle from FuseSource’s Matt Thayer

QCon London 2011

Standing with Ade Oschineye near the Google and Wolfram booths

QCon London 2011

Wendy Devolder of SkillsMatter (left) and Ben Shlomi-Haim

QCon London 2011

Geeta Schmidt of Trifork (left) and Floyd Marinescu of QCon (right)

QCon London 2011

The indefatigable Rod Johnson during his Friday morning keynote

QCon London 2011

London Agile User Group night at QCon London

DSCF2498

I suppose nobody can tell any more lies now.

Photos from Creative Commons (cc) Peter Pilgrim’s Photostream on Flickr.com

The Fundamental Business Case for Scala Web Presentation

March 10th, 2011 Comments off

Here is screencast of a web presentation.

It is called The Fundamental Business Case for Scala. I admit this was long overdue by three weeks or so. JavaPosse RoundUp and a new Bathroom installation were in my way and therefore my time was severly crunched. 

This talk is aimed at non-technical staff in the organisation, non-programmers and business oriented people, line managers, team management, and of course the dearest stakeholders. I attempt to fly and pull up to 30000ft above the clouds, so that you ,the business decision maker, are not overloaded with technical programmer jargon. The only things you need to know, you will already know, are: Java the software platform, object-oriented programming and a dose of common sense. The talk is about getting Scala adopted into your organisation through the act of necessity. Change is inevitable and it is happening all around the Java software platform and it includes the wider community ecosystem. Change is uncertainty, what are specific factors that influencing the trend towards Beyond Java? In this presentation I attempted to answer this question.

The Fundamental Business Case for Scala from Peter Pilgrim on Vimeo.

Please do let me know if you have feedback, without it I cannot hope to improve this talk. I really do need to make this a living talk, organic, your ideas and suggestions are valuable. Send me an email or tweet please.

Thank you in advance

(Sitting in the Westminister room at the QCon London 2011, Westminister, London)

Boundaries (Audioboo Rough 173)

February 1st, 2011 Comments off

boundaries exists

Some boundaries are meant to be overcome. For example in the domain of software development and construction we look to bridging the interface between components, especially in architecture. The culture bounds of the software created lie in the boundaries of those who create it.

 

Artificial boundaries enforced by organisations

The first type of boundaries are those dictate by an organisation or working within one:

Divided in two subtypes naturally:

Company

  • non-disclosure, confidentiality, intellectual property
  • know your customer for client facing roles, “onboarding”, external communications
  • corporate rules, regulatory requirements, compliances, company policy
    Culture
  • gossiping, acting like  a sycophant
  • the rumour treadmill
  • office politik
  • value of communication, interpersonal relationships

 

Personal Bounds and Limiting Beliefs

The second type of boundaries are those affecting your professional career path.

  • Your values: confidence in programming Java, or writing decent HTML / designing web pages
  • Your beliefs: build on success of the past, the ideas you know in the current time. right here, righty now
  • Your inspiration: your belief, depends on whether you are follower or leader
  • Your contribution how big or how ever small affects to the ecosystem, the more you involve you are in a community or wider group, and the more investment you put in emotionally, the more you get out.

 

Limiting Belief is Inversely Proportional to Personal Contribution

Your personal contribution, therefore is a direct call-to-action, and thus you can begin pushing up against the real and artificial boundaries. The more you push, the more freedom you should expect to obtain.