Friday, 8 February 2013

Shit you talk about while redeploying on a Friday...

We must do everything we can to stop scenes like this happening again... You can avoid this from happening with JRebel.

<Anton> lol http://www.youtube.com/watch?v=kfVsfOSbJY0
<Simon> was a conclusion ever reached?
<Simon> Did Rebecca Black ever say which seat she would sit in? The back seat or the front seat?
<Luke> she kicks it in the front seat while sitting in the back seat, an impressive feat
<Simon> I'm not even sure what that means but I'm impressed
<Kesh> i think she is actually asking whether she should kick it in the front or back seat
<Kesh> shes gotta make her mind up
<Kesh> which seat she should taaaaaake
<Kesh> its a coming of age tale.
<Luke> truely the song of a generation
<Mike> that deep kesh...
<Kesh> We all know what happens in the back seat
<Sean> yes, rebecca black kicks it there
<Mike> obviously
<Erkki> or she might kick in the front seat
<Greg> She questions "which seat CAN I take?", not should I take. Who is stopping her from taking whatever seat she wants?
<Erkki> the establishment
<Mike> go back and refer to kesh's analysis...
<Simon> whoa! I look away for a couple of minutes and look what you all get up to when unattended :)
<Simon> So, the establishment is stopping her taking her preferred seat - I like it
<Mike> BTW - in the video she chooses the back seat. Just saiyin'
<Ben> Maybe there's a car seat in the back seat.
<Simon> with 2 girl friends - work that one out @Kesh
<Aaron> I'd actually like focus on another part of the song--the hip hop accompaniment and its function as a song within a song, sort of a meta-critique of the teenage experience. Let's focus our attention for a moment on the line "Fast lane--switching lanes!" which is clearly a metaphor for the fast paced unpredictability of the teenage girls life. The use of the car, and the act of speeding on the freeway as the vehicle (so to speak) for delivering the metaphor only enriches it, as the operation of a vehicle is one of the most universal coming of age milemarkers.
<Sean> what about the male rapper who identifies himself as "being rebecca black" ?
<Aaron> @seanroche It all just goes to the universality of the teenage experience that is at the heart of "Friday"
<Simon> She's a genius
<Aaron> Greg and I just had a really interesting discussion about the line and wording of "Gotta get down on Friday"
<Kesh> it's not an option.  rebecca must get down on friday
<Sean> its all about living life in the fast lane and switching lanes. rebecca is trying out different styles and approaches to her young life; which one will she take?
<Aaron> Well not only MUST she, but by not getting down she risks alienation from not only her peers, but her own sense of identity as a teenager
<Kesh> it will all be revealed in my essay, being delivered Monday, titled  Fast Lane: The Maturization of the Teenage Girl in America
<Sean> "We gonna have fun, c'mon, c'mon, y'all" this symbolizes peer pressure which is an unfortunate part of any young teens life
<Aaron> Well that's what's really striking about it. At its core, Friday is a song about the way a teenager (and possibly all of us) synthesize moments of peer pressure and position them in our own psyche as moments of authentic fun
<Simon> You all have such great vision. What's your deep understanding of the line "Fun Fun, Think about Fun, You know what it is. I got this, you got this, my friend is by my right. AAAAAAaaaaaaa"
<Joonas> There was a South Park episode about digging a deep point out of nothing, I think it applies here.
<Simon> This bit - http://www.youtube.com/watch?feature=player_detailpage&v=kfVsfOSbJY0#t=75s
<Sean> @simon - is that really her friend though? Or is she implying their relationship has no true substance ?
<Aaron> I think "Fun, you know what it is" is one of the great moments of irony in Friday. On one hand you want to think that she is having fun in the car with her friends, but in reality she's reminding us to look beyond moments like this and to remind ourselves what "fun" really is. Maybe the pure fun we had as children, which becomes more and more abstracted and bastardized as we age
<Kesh> that line, IMHO, is rebecca trying to reassure herself that it will all be ok.  she says she's got this, you got this, but do any of us really get this? No, i dont think we do.
<Simon> and AAAAAAaaaaaaa?
<Aaron> A gutteral scream expressing frustration at the levels and layers of irony present in the teenage experience
<Sean> @kesh - think allanis morisette - so talented yet so tortured
<Kesh> as are all true artists
<Aaron> Well, here is the great thing about Alanis, Roche
<Aaron> She was actually able to see the view from outside her own ironic existence as a pop start trying to remain an authentic human. A view expressed in the song "Ironic." Which for my money is one of the great pop songs of the last 30 years.
<Sean> she was a bitch , but still maintained her status as a lover.
<Aaron> Well I think what she shows us is that it's possible to be both and still exist as a single vessel
<Simon> Whoa, back to work, redeploy is done.

Don't forget, joining the rebellion will help you and your friends avoid listening to or talking about Rebecca Black.

Wednesday, 21 November 2012

Joining the Rebellion

The last few weeks have been awesome - Spending lots of time with the family and really enjoying my time off between jobs.  This time off has made me ready for my new venture which started this morning.  Today is the first day in my new role as a Technical evangelist for ZeroTurnaround - I've joined the rebellion.

I wanted to join ZeroTurnaround as they looked like a really smart, fun, energetic outfit which produced some really cool products.  I'll be learning up JRebel and LiveRebel and will soon be preaching all about their awesomeness :o)

My work will be very community focused, so I'll continue to work with groups like the London Java Community, the Graduate Developer Community, as well as others.  I'll be aiming to create technical content around the products and the product areas as well as continue to speak at conferences.

As I learn more about the technology areas and products I'll share what I've learnt here and on the ZeroTurnaround site, so you can learn with me :o)

Oh and ZeroTurnaround have *the* greatest business cards...


Monday, 5 November 2012

LJC Open Conference 2012


On November 24th 2012, the LJC will be hosting it's annual open conference at IBM South Bank, Waterloo.  If you have attended this event before you do not need to read any further, go and sign up now :) if you have not been attended an LJC Open Conference before, it's awesome! The day is scheduled as an unconference whereby sessions can be suggested in advance, but the timetable is created on the morning of the conference. We also have refreshments throughout the day, food, beer plus giveaways all paid for by our sponsors (tba soon). Here's a rough schedule of the day:


8.30 am Sign-in hands over to security
9.30 am Brief introduction, discussing how day will work and organising the board
10.10 am Conference Keynote
Open conference Sessions
12.40 Lunch
Open conference Sessions
5.30 pm Conference wrap up
5.30 pm+ Social event TBC



Sessions typcally include a wide range of topics, not just specifics of the Java language, Spring, Hibernate, Open Source, OSGi, etc, but also about tools and practices - eg. software craftsmanship, BDD, TDD, Kanban, Agile and other practices that enhance our world.
So a one day Java conference in London... Should cost quite a bit right? WRONG! £20 is all we ask per person, bargain.  Oh, there are only 120 places and 50 have already gone... Sign up now and avoid disappointment!

Looking forward to meeting you/seeing you there!

Simon -- LJC Open Conference co-organiser.

Friday, 26 October 2012

Leaving big blue


Yep, I'm calling it a day with one of the biggest and by far *the* most important company in the history of computing (and before that, tabulating!).  So why leave?  Well that's mostly between IBM and myself :o)  But I really want a new challenge with a new company which have a very different dynamic to a large corporate.  I will be letting you know about my future plans soon enough, but this post is all about IBM and me :o)

I've worked at IBM for over 11 years, and I wanted to share my experiences with you.  The Hursley site is a truly wonderful place to work, but the most important asset onsite is the people.  IBM have built up a friendly, highly technical group of people, many of whom I consider my good friends which I will continue to meet up with beyond my career at IBM.  The portfolio IBM produces in my opinion is second to none on the market, and I look forward to continue watching IBM perform well in the future, on the other side of the fence.

So what am I doing?  Well for now I'll say that I'll still be working as a technical evangelist, but for a very different company indeed.  IBM has over 300,000 employees, whereas my new venture has < 100.  Yes, it's going to be a big change and I'm looking forward to tackling the new challenges.  I'm still going to be involved around the Java space and will be involved with the London Java User Group (London Java Community - LJC) more than ever.  I'm sure there will be aspects I will miss, and I'm sure there will be aspects I will not miss ;o)

I'm really excited about this new move and the prospects it brings and look forward to sharing this with you in more detail soon when the time is right.  For now, thanks to everyone at IBM for making my time here amazing.  Thanks for your support, from a technical, career and friendship point of view.  I've met many great people, none more so than my wife, Liz!

So long and thanks for all the fish.

Wednesday, 12 September 2012

WAS Liberty Profile has joined the Rebellion

As announced by Zero Turnaround, the JRebel 5.0.1 release now supports the WebSphere Application Server 8.5 Liberty Profile - Awesome!  But what does this mean to the typical developer?

Well, you'll now be able to perform more complex operations that can effectively be hotswapped into the Liberty Profile runtime and see your changes take effect at runtime without restart of the application server or application. The more complex operations include such things as adding and removing methods and fields as well as a long list of others.

So what does this really mean to Liberty Profile devs? Well, for the most part, you don't need to worry about redeploying anymore! This is great news if you have large applications that take time to build, export and deploy, as now you can just hit 'Ctrl+S' and your updates will be used by the Liberty Profile environment (via some JRebel agent magic).

Here's the setup on my mac:

Eclipse IDE (Indigo)
WebSphere Application Server developer tools (WDT)
JRebel plugin (Just using a trial licence for now)
WebSphere Liberty Profile 8.5
JRebel agent jar

Here's it working:


How cool was that!  Imagine all those little changes you could now make and test in an instant, that you'd previously bundle up as one big update and spot a glaringly obvious mistake as soon as you deploy! Oh... is that just me? :o)

Time to get cooler... (cranks the dial to 11) lets use remoting, a service which allows you to perform the same as above with a manual sync step but to a remote machine.  Let's say oooooh a Raspberry Pi!  I chose a Raspberry Pi because i) it's a machine which wouldn't be able to (sensibly) run a big IDE like eclipse, ii) to keep up my reputation - Simon the Pi man! iii) Raspberry Pi's are cool!

Here's it working:


Wednesday, 27 June 2012

Social area at JAX Conf - driven by the Liberty Profile and a Raspberry Punnet

This year, IBM will not only be the Gold sponsor at JAX, it will also be sponsoring and running the new Social Area at the conference which will be a place for people to chill, have breakouts, see and present demos, have interviews by the JAX enter and developer works teams and also get a bunch of info around the conference from a web front end which I'll be developing.


The web front end will be powered by a mac mini as the load distributor, and a cluster of raspberry pis, each running the Liberty Profile as the application server our webapps will run on. At this point I should mention that IBM do not own all these Raspberry Pis, it owns one, just like the vast majority.  We're borrowing two other personal Pis kindly on loan by Ross Pavitt and Kevin Turner, fellow IBMers - thanks guys!  If you're attending JAX Conf in San Francisco and want your Pi to be part of the biggest Pi-experiment to around 1000 people, let me know, via a tweet/comment or bring it along on the day and we'll connect it up and it can join the punnet and serve content to the whole conference.

The other reason the mac mini will be in place is to monitor load and performance, and step in where necessary to bail out the punnet during busy times :)  I want to take a photo of each device and make sure that when a user get's a webpage back, they see the physical device which served up the page, be it a Pi or a mac mini!  The aim to to get pages viewable on mobiles, tablets and laptops.

So, what will this social area web content provide?  Here are my ideas so far:
  • A tweet stream following the JAX Conf hash tag
  • A twitter word cloud, showing what's hot at the moment, one for the day and one for the last 30 mins
  • A mash up with Lanyrd for people to engage with feedback on sessions
  • Latest timetable info - what's on now and next
  • Breaking news/changes from the JAX Conf team
  • Info on Social area demos, interviews, breakouts, Q&As etc, as they happen
These are just some of my thoughts which I aim to implement over the next week and set up on the cluster.  The reason for this post though is to get your feedback - what do you want to see up on the Social Area site? What have you found useful info in the past at conferences that you'd love to see here?  Or do you think we've got a good set?

Please let me know at @sjmaple or comment on this post.  Thanks for your feedback and look forward to see you there!  Note: we may have some spare tickets to the event, which we'd look to reward feedback with! :o)

If you want to attend the event, here's a code which will give you a great discount on ticket price:

JAXIBM1 Get $50 off a 1 day pass
JAXIBM2 Get $100 off a 2 day pass
JAXIBM3 Get $200 off a 4 day pass


Sunday, 3 June 2012

How can a Pi control a house from 50 miles away?

Easy!  Here's my Pi recipe:

My Ingredients:
1 Raspberry Pi
1 IBM J9 JVM
1 WebSphere Liberty Profile server
1 Really Small Message Broker (RSMB)
1 Eclipse Paho client library
1 Andy Stanford-Clark!

Architecture:

Andy has a very pervasive house with many devices set up to both tweet and publish messages based on events which occur to those devices.  Furthermore, some devices can be controlled by sending messages to topics which they are monitoring, such as a pond fountain, an outdoor light and even a heated towel rail!  The messaging design used was to bridge from the RSMB on the Pi to the existing message broker Andy has set up to monitor and controll his devices.  Any messages sent from or received by either broker will be mirrored by the other via the bridge.  This makes the remaining design on the Pi beyond the RSMB easy, as we can consider everything is local, to the RSMB. Neat!  The visual and interactive side will be taken care of by a web application on the Liberty Profile app server, which connects to the RSMB via an eclipse open source MQTT client project called Paho.

My Method:

I already had a Debian install with both the OpenJDK and IBM J9 JVM installed with my Liberty Profile application server, which I used to run the snoop servlet that I wrote about in a previous post, and also for a cool dynamic development demo for the new Liberty Profile I ran at the IBM Impact conference in May 2012.  My first step was to install, configure and run the RSMB.  It doesn't currently run on the ARM architecture, so I needed to build the source on the Pi and it then just worked out the box, easy.  Next I needed to create a broker.cfg file which had info to pointed to Andy's existing broker, such as IP address and port number, and also describe which topics I wanted to bridge.  This is simply a list of topics with my intended actions, such as 'in' to listen.  That's all I needed to do with the RSMB.

My web application itself is a jsp and servlet based webapp which automatically refreshes itself every 5 seconds to keep the dashboard up to date.  It bundles the Paho client library which it uses to connect to the RSMB and subscribe to a number of topics which passes messages of interest to the dashboard.  The webapp stores info it requires locally in memory for history graphs such as energy consumption.  This data is sent to the Google chart facility (why on earth are Google deprecating this cool graphing function?  Maybe someone can fill me in via comments). The application server config just has the one feature included, the jsp-2.2 feature, as that's all we need in this environment!  This keeps the application server runtime nimble and fast with a low memory footprint.

Results:



So what's next?

I've got a couple of things I want to play with next, I quite fancy connecting the Pi up to my current cost meter at home and to my TV as well and display a channel which shows my energy usage.  If you have any ideas of what you'd like to see, let me know :o)

For more info check out:

WebSphere Liberty Profile http://wasdev.net
Raspberry Pi - http://raspberrypi.org
Eclipse Paho - http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.java.git/
RSMB -  https://www.ibm.com/developerworks/mydeveloperworks/groups/service/html/communityview?communityUuid=d5bedadd-e46f-4c97-af89-22d65ffee070
MQTT - http://mqtt.org