Category: Music

Back in Australia

MoranReserve

WOW! I just realised that it’s been a year since I did a blog post. I knew it had been a while, but I figured around 6 months max… Well, I suppose I needed it, and the good news is that I’M BACK!

I’m not going to go in to what has transpired over the past year since an agile adoption, as it’s quite involved and will come out in some successive posts, but will focus on where I am now and what my Posting Plans are.

Near the end of last year we started planning a return to Australia after almost a decade in the UK – what a BLAST! So many lovely experiences, people, places and new friends :-) Eventually though, it was time to return to Australia as it really is my home and although I may have a few gripes about it, Australia really is an amazing place and as the old cliche goes: I now really appreciate how lucky I am to live in this country after being away so long. That shot above is from my local beach which is 3 mins drive, and I can get in to the city (in the distance) in around 1/2h with a walk and public transport – that’s a pretty good lifestyle.

So what’s in the pipe? A much more varied mix than when I started out doing just “software stuff”:

  • Reflections on life in the UK and Europe
  • Observations on life in Australia now I’m back
  • Reviews of gadgets
  • Travelogues as I explore my own country – now I’ve probably seen more of Europe than I have of Australia, so it’s time to correct that
  • Process  – yes, I’m still on the agile path
  • Architecture – looks like that will be my primary area of work still
  • Software – which I’m gradually getting back in to, with the current focus being Clojure
  • Probably the odd bit of music or photography to round things out
  • Anything else anyone would like me to write about…

YachClub

Welcome 2015!

London Fireworks 2015M25 Carpark

It’s been quite a while since I’ve posted much, mainly due to a contract which requires me to drive on the M20 and M25 (aka “the carpark” for those outside the UK) and as a result, I just don’t seem to of had the time and energy…

Javelin TrainOh, how I long for those lovely trains, and will never complain about a 30 or even 60 minute delay – the worst I’ve had in a car is a 1h trip taking 4h!!!

I look forward to getting on something where someone else is doing the driving so I can use my time effectively

Amazingly, it seems like only 7% (4.5 Million) people in the UK use public transport. Given that nearly 1/3 (22 Million) live in the South-East, where transport is generally pretty good, that seems pretty low. No surprise given the number of people on the motorways – I’ll be happy to take one more off them next contract.

So what’s up for 2015 for me and this blog?

For one, I plan to start getting back in to a bit more of a rhythm, both with my posts and the associated (play) work (generally outside “real work”), and I will continue to post based on my experiences – recent and past…

theme : ecologyWhat are the themes though? Here’s a list of where I’d like to go:

  • Lifestyle & Reviews
  • Process & People & ScramJet
  • Clojure
  • Architecture, including Enterprise & SOA aspects

in no particular order. I won’t get in to specifics as much of it is not yet planned, or I’m working on it but don’t want to reveal it until I have enough meat on the the bones so I can be sure it will fly.

teaserHere’s a few teasers though based on posts I know I’ll write or have in draft form:

  • Review of Bob Marshall’s “Thinking Different” happening last year
  • Review of the: BMW i3 electric car; Samsung Galaxy Alpha
  • Corporate Subversion – in a positive manner of course :-)

and that’s really just the “boring stuff” – there should be some very interesting posts coming as I hit my stride.

I hope you’ve all had a great XMas & New Year break and look forward to some great interactions in 2015!

Changearc – the thinking person’s RiczWest ;-)

Today I’m (@RiczWest) starting a new twitter account. It’s called ChangeArc. For those who follow me, you’ll recognise this as my “Blog Name” – so what’s the purpose?

Simple – when I started using Twitter, it was primarily as a bookmarking tool. To some extent I still use it as such, but also for so much more…

There’s one problem though – as I look at a lot of content, that means a lot of tweets, and not everyone likes that, including me! There are a number of great people I’d like to follow, but I can’t because they tweet too much.

To that end, I’m going to start a much lower volume (only a few tweets per day) account which is ChangeArc. So what can you expect apart from less tweets? Extremely high quality tweets that will include any posts I do.

I don’t know how this will evolve, but it will be interesting to see…

EuroClojre – Day 2

Wow! I thought Day 1 was Great – Day 2 just as good, including some great but “enterprise geeky” topics like Enterprise Integration in Clojure and A Perfect Storm for Legacy Migration ;-) Plus, we had Stuart Halloway’s…

Keynote – Narcissistic Design

20131015-104648.jpg

  • Stuart Halloway
  • Examples
    • Build Tools
    • ORM
  • Advanced
    • Integrating narcissism and agile practice
    • Technologies to avoid
      • Functional languages & databases
    • Never eliminate complexity, automate around it
    • Manage by pull request, because code is the first and best unit of discussion
  • Top 10
    1. Use OO, and don’t forget those setter methods!
    2. Prefer APIs over data
    3. Start with DSLs
      – Nothing says “screw you” like a DSL
      – JVM
    4. Always connect (and never enqueue)
    5. Create abstractions for information
      – Encapsulate!
    6. Use static typing across subsystem boundaries
      – Exceptions
    7. Put language semantics on the wire
      – Focus on programming rather than data languages
    8. Write lots of unit tests
      – Example Based Testing
      – TDD
      – Always be coding
      – Never get on the hammock
    9. Update information in place
      – The one thing about OO: gives you all the complexity but no history
    10. Leverage context

Using Clojure to Serve The Internet of Things

20131015-110116.jpg

  • Kontiki
    • Lightweight OS
  • Nest
  • How do I get iot on my CV?
    • Dev kits
      • mBed
      • Electric imp
      • RasberryPi
      • Arduino
    • Beagle bone
    • Open data sets
    • Web / Mob apps
  • Xively
    • LogMeIn
    • Went from Ruby
      • To Clojure
        • Order of magnitude improvement!
  • Architecture of “thermometer”
    • Twitter
      • Clojure hero ku
        • Clojure Xivi
          • ?
  • IoT
    • 1.1b PCs
    • 2mm2 32-bit computer with wiFi for $1
      • 32kB RAM
      • 128kB Flash
      • Radio
      • Weightless – OS?
        • Batt
          • 50 bytes/h for 10y on 2 AA Batt!
    • 5.8b mob
    • 1T Things
    • Main challenges
      • Discovery
      • Directories
      • Provisioning
      • Security
    • Should take off due to economies of scale
    • Massive Data Volumes
      • Motor
        • 1Gb data / h

Newspaper Massacre!

20131015-123343.jpg

  • Conways Law
  • Daily Mail
    • Mail Online
      • Largest online newspaper
        • Serve 154Bn images!
        • Cached by Akamai
        • Serve 1000 articles/s
      • Very long home page
  • Mobile
    • Gamechanger
      • Personalisation
        • Trying to scale
  • Published messages from Legacy to Topic
  • Challenge
    • Render the homepage
      • No caching
      • Response <300ms
  • Mustache
    • Templates Library
    • Themes
      • e.g. Mobile
  • Libs / Projects
    • Memcached
    • Mule
    • Reddis
    • Riemann
      • Graphite
      • Logstash
    • GitHub.com/mailonline
  • Ppl
    • @clifcunn
    • @jonpither
      • Pitheringabout
  • Config
    • Avout
      • Wrapper around Zookeeper
  • Services
  • Built a library around software infrastructure
  • Future
    • Rewrite everything
      • ~13kLOC
  • Devs sit next to newsroom
    • E2E Ownership
    • Responsibility
  • Terrible Legacy
    • Using Spring

(into reduce transient)

20131015-125828.jpg

  • Clojure.core/ancestors
    • (Ancestors (class []))
  • Libraries
    • avl.clj
    • core.rrb-vector
  • Guy Steel Talk
    • About sequential reduction

Lightning talks: Literate Programming, Bare Metal Lisp & Templating

20131015-153632.jpg

In search of workflow nirvana: Clojure, Emacs, Org

    • Rich Hickey
      • Ant Simulation
    • Org – mode in EMACS
    • Literate Programming
      • “is what you need to rise above the ordinary level of achievement”
    • Pedestal
    • Working on functional CMS system
    • hackerretreat.com

Lithium: a small Clojure-inspired Lisp on the bare metal

      • Compiles to x86
        • No runtime dependencies
      • Fluchtpunkt Lisp
      • Paper: An incremental approach to compiler construction
      • Movitz
        • Similar for Common Lisp
      • Synthesis: an efficient implementation of fundamental operating system services

Templating In Clojure

    • Hiccup
      • HTML as a data structure
      • No real separation
      • Good if full stack devs
    • clj-jade
      • Successor to HAML
      • Use Jade for J
      • Or moustache
    • Enlive
      • Transformations of HTML
      • Good for front-end
      • CSS Selector based
        • Can break transformations
      • Lacks HTML abstraction
        • + Hamilito

Enterprise Integration in Clojure

20131015-173247.jpg

  • clumsyjedi @ GitHub
  • Enterprise Integration Patterns
  • Looked At
    • Mule
      • Not used – too many problems
    • Camel
      • HolyGrail
    • Use
      • core.async
      • + Threaded Macros
    • Lamina
      • Event Stream Processing Library
        • Superset of EIP
      • Rysome
    • Storm
      • Java / Clojure Hybrid
        • Chosen
    • ClamQ
      • Clojure i/f for ActiveMQ
    • EEP
      • Good visualisation
  • Areas of Interest
    • Systems Integration
    • Business Rules Capture
    • Distributed Systems Orchestration
  • Using Vim
  • Beyond Patterns

A Perfect Storm for Legacy Migration

20131015-181427.jpg

  • Twitter Storm
  • Clojure
  • Distributed runtime
    • For “eXtreme Processing”
  • Apache Thrift
  • Nimbus
  • ?
  • Gives
    • Stream Processing
    • Realtime Analytics
    • Continuous Computation
    • Distributed RPC
  • Concepts
    • Bolt
    • Spout
    • Topology
    • Grouping “field”

Reflections on 2012

Reflections 2012It’s that time of year where everyone is reflecting on the last year, so I thought I’d toss my hat in to the ring. Personally, it’s been a year of great change, having moved from a highly toxic street in Reading (where our dog unfortunately passed away just before we left) to a beautiful one in Ashford where we are much more settled and I’m at last able to relax, grow and learn in a supportive environment.

That’s enough about me though, what about the IT Industry and wider world from my perspective?

Industry

  • The year Apple Stumbled – It wasn’t just iMaps, it was the lack of innovation and wierd and frequent release schedules which all smacked of internal chaos – understandable given that Jobs passed away late the previous year, but they’ll need to get back on track if they want those stock options to be worth something
  • The year Microsft Stumbled – two words: Windows 8 or Windows RT or Microsoft Surface. I must admit that I’m less disappointed with W8 than I though I would be – only going by playing with it in a store though as I’d never install it on any of my computers. It’s not over though, so the real question is what’s going to happen with W8 and Surface (Pro)

Software

  • SEMAT – Software Engineering Method and Theory has been pretty much defined by Ivar Jacobson and his merry band of Industry Legends and Corporations. It was favourably received by the OMG in December
  • ArchiMate picks up steam – for me at least before this year, it was only occasionally being used, whereas now, many organisations are using it for Enterprise and Solution Designs and then linking these to UML Technical Designs and Realisations
  • Clojure – I’ve been getting in to this and went to the London Skills Matter Clojure eXchange. Rather than a bunch of enthusiasts though, I met a bunch of enthusiasts, 1/2 of whom were working in Clojure! It seems this is probably an increase of a few hundred percent over the previous year, so something is happening. This may be part of the wider movement to “different” and sometimes functional languages.
  • Light Table – at the moment this is only a Clojure IDE, which will be expanded to handle other languages, but I’m yet to be sold on it. The demo was really cool, but the releases won’t run my code (which obviously works in other environments) and the interface feels a bit too simple at the moment. They’ve got kickstarter funding, so here’s hoping that we start seeing more features and functionality from the original demo as it could be one of the best development environments ever!

Hardware

  • Raspberry Pi – how can this not be mentioned??? It’s a UK concept that is taking the world by storm and riding a wave that was started by Arduino, DreamPlug and the like. The great bit is that Raspberry Pi only opened the space, much as OLPC did for small cheap laptops. The side effects already are and I’m sure will be awesome
  • FreedomBox, first proposed by Eben Moglen is gradually getting there. Not there yet, but it will get there and hopefully redress much of the planned snooping that governments around the world have fallen in love with
  • The Maker Movement seemed to jump up a level with people even 3-D printing guns and starting to sue each other over who owns what and can sell it
  • Fibre rollout in UK seems to be really happening and I’m liking what I see. I signed up on the minimal (and slowest) plan but it’s easily enough for me at 75G : ~ 30Mbps down and ~10Mbps up (real rather than pretend bandwidth). The great bit is for an extra £10 or so I can double those rates! The best way to get decent FTTC seems to be by going through a BT Reseller such as Xilo / Uno

Process

  • Nonviolent Communication – highlighted by Bob Marshall and created by Marshall Rosenberg, this seems to be gaining ground, along with concepts like Soft Power. This (hopeful) trend towards a kinder, gentler and more humane approach may hopefully only be the start
  • Lot’s of Noise from the Quiet People ;-) There seems to be a pick up in dialogue about introversion and quietude – all good stuff
  • The continuing Industrialisation of Agile. Agile stopped being done widely (in smaller numbers, but more effectively) ages ago. What we seem to have now is a bunch of PM’s who have done “Scrum” or “Agile” training and are operating using the same patterns – “I want that velocity increased next sprint!”

The World

That’s pretty much it. We’re off this evening to watch the London fireworks on a cruisey boozy boat on the Thames, so I hope you all have / had a great NYE.

ClojureX 2012 London

Yesterday I attended the Skills Matter ClojureX conference – one of the best I’ve been to. It had the same feeling as JavaOne before it got all commercial and Apple’s WWDC before every person and their animal started attending… As one person remarked, an “ordinary conference” would of taken two days to deliver what this one did in one!

The standard of talks was consistently high, and only one speaker payed the price of “live coding” with things not quite going to plan. Even that session was still fun as the audience shouted out possible solutions to her problem (think group programming :). A small price to pay when you consider how much live coding increases the quality of the presentations – one of the advantages of the REPL.

What were my favourites?

  • Live Programming with Clojure – this was the intro presentation and literally ROCKED!
  • The Refined Clojurist – I’ve been thinking about working with Prolog and Clojure. No More! Now I know about Core.Logic and the fact that it’s effectively a “mini Prolog”. I’ll definitely be coding and writing more about this.
  • The Language of the System – Hey, this is Rich Hickey’s talk, so it goes without saying that it’s interesting and covers a lot of thought provoking ground.

I must also mention (as I did in a tweet) that almost 1/2 the people at the conference were working on commercial products for Banks, Media companies, Start-ups and I’m sure a whole lot more. It wasn’t until near the end of the day that I personally met someone who wasn’t a commercial Clojure programmer! Anyone who dis’s Clojure as “academic” or “too geeky” had better watch out because it’s in your rear-view mirror and it’s a Ferrari! If your competitors start using it (well) then you won’t know what hit you. Overall I came away feeling extremely positive for the prospects of Clojure in the industry.

The videos are certainly worth watching, but if you don’t have time, here are the takeaways I got as a mind-map (which I’ve been using for the past few years to take notes – I find it more effective). As I knew that the talks would be on-line (some of them were within an hour or so!) my notes are about topics of immediate interest to me – mostly around new tools to investigate or articles to read, so if one of the topics really interests you then it will be worth watching the related video.

ClojureX

and also in list form if you’re in to that ;-)

  • ClojureX
    • Core.Logic
      • Post Functional
        • Talk from TechMesh
        • miniKanren
        • Constraint Logic Programming
      • Ciao!
        • Lien repl :headless
        • How about working on Definite Clause
          Grammars?
    • USwitch
      • Mississippi
        • Lib for data validation?
      • Part of Forward Group
      • Charts
        • D3.AS
        • C2
    • Playing Nice
    • Google+
    • Persistent Data Structures
      • Book: Purely functional data structures
      • Phil Bagwell
    • The Language of the System
      • Riak
      • Armstrong Thesis
      • Coursera
      • Eden
        • Better than json
      • ZooKeeper
      • Use java.util.concurrent.queue
    • Music
      • Monome
      • MaxMSP
      • JazzMutant Lemur
      • Arc
      • Performance
      • Sifuka
        • On iPad
      • Ableton Live
      • jsui
    • ClojureScript
      • MongoDB
      • Express – application
      • Hiccups – library
      • Catnip – CS IDE?
    • Sam Aaron
      • Freesound Website
      • EMACS Live
    • API design
      • Clojure Training
        • 23-25 Jan ’13
    • Web
      • James Reeves

Why we should all be Rennaisance People

According to Wikipedia, the term applies to “People* of the Renaissance who sought to develop skills in all areas of knowledge, in physical development, in social accomplishments, and in the arts.”

Again, from Wikipedia: “They had a rounded approach to education that was typical of the ideals of the humanists of the time. A gentleman or courtier of that era was expected to speak several languages, play a musical instrument, write poetry, and so on, thus fulfilling the Renaissance ideal. The idea of a universal education was pivotal to achieving polymath ability, hence the word university was used to describe a seat of learning”

Intellectual: Being in IT, that’s obviously the first area covered, well at least in a few areas, but what about the other areas?

Physical: As we all know, IT or any office work is notorious for being physically bad for you, so let’s assume that we’re all doing some form of physical exercise or discipline in order to counteract that.

Artistic: This of course exercises the right brain through activities such as painting, photography, poetry, music etc… Yet how many of us devote a reasonable amount of time to the practice and development of any of these skills?

I’ll hold my hand up and admit that in recent years I’ve dropped the ball on the Artistic front. I used to be an avid photographer and musician (synthesizers, of course ;). It’s only now that I’ve moved to a safe environment that I’m finally getting back in to these two pursuits, and loving it! To put my money where my mouth is, here’s a little “noodle” I call “Space Guitar”

and here’s a photo I took during a recent walk through Kings Wood near Challock

How about you? How is your “softer, creative and artistic side” going? The great thing is that you’ve got your profession, so you don’t need to become a professional in this area, just do and enjoy it :-)

Although this post is aimed at IT People, I think it wouldn’t be that bad for society overall, given it’s current left-brain, (bad) capitalistic** bent which seems to be sending us headlong down a road or track that doesn’t seem very nice – it’s not too late though.

PS Wondering why the graphic at the beginning? It’s from a ground-breaking Sci-Fi animation called Renaissance – well worth a watch

Notes

* The Wikipedia entry says “Gifted People” but I don’t think that’s what we need to strive for here. I do photography and music – not to a professional level, but to one that makes me happy – I think that’s the key for this.

** I think there is such a thing as “good capitalism”, it’s just that we’re not seeing much of it at the moment as it needs some input from the right brain in order to enact qualities such as empathy and humanity