I am currently available for work from May 2013 onwards. Please mail me at marc@anyware.co.uk.
My name is Marc Palmer - I’m a freelance senior developer & product designer. I blog about technology and business at transition.io.
I’ve been programming and creating software products for 30 years, over 24 of those in commercial environments. I have written code in 68000 assembly language, Pascal, “C” & C++, through to Java, Grails, Groovy and Objective-C. I’ve also been product manager for many projects during that period.
Aside from development work, I can also help you and your team do things better.
Skip to What I do ~ Recent projects ~ Achievements ~ Talks ~ Availability ~ Skills ~ Work history ~ Skills in detail
I write server-side applications using Grails, and mobile applications for iOS in Objective-C.
I have created lots of Open Source Grails stuff under the banner Grailsrocks including several popular Grails plugins such as the Resources framework, Platform Core, Platform UI, Feeds, Bean-Fields and Cache-Headers. I get excited about using Grails to hide development complexity.
I typically do client work on Grails applications and plugins, providing Grails/Groovy development and mentoring for established companies and startups. I also offer consulting on application usability and user experience.
I am able to produce relatively high quality technical documenation where required, for web APIs or in-house libraries. I have also been commissioned to produce in-house screencasts and presentations to train team members in aspects of Grails development.
Contact me if your team could do with some help.
Skip to What I do ~ Recent projects ~ Achievements ~ Talks ~ Availability ~ Skills ~ Work history ~ Skills in detail
I spent the last year or so with Spoke Technologies as architect and developer of the back-end API for their SPOKEnPHOTO™ iPhone and iPad applications, as well as consulting on team development processes.
I also recently helped CentraStage migrate their application to Grails 2.2, and helped Brinqa improve their Grails application.
Recently I published my first albeit small e-book, a user guide for The Email Confirmation Plugin published using LeanPub. The aim was to test the market for low cost, high quality user guide documentation and the time required to produce high quality documentation of this kind.
I also created my first Kickstarter project to see if the Grails community can fund the development required for a release of Grails Resources Plugin 1.2. While this was not successful, it was a valuable experience and enabled the community to move forward with the work required.
…and on a complete tangent, I recently released a free tool call uncoop.me for UK Co-operative Bank customers to download their bank statements (something which is impossible using the online banking service) in CSV or OFX format by way of an advanced bookmarklet.
Skip to What I do ~ Recent projects ~ Achievements ~ Talks ~ Availability ~ Skills ~ Work history ~ Skills in detail
I was a some-time core Grails development team member, although mostly I shout from the sidelines these days.
Over the years my contributions to Grails core became less about code and more about the user experience. Initially I contributed to the creation of the Codecs mechanism, Artefact API, Custom Validators and the Stacktrace sanitization that was then carried over to Groovy itself. More recently GSP whitespace handling, the Resources framework integration and the design of the improved Grails 2 stacktrace rendering.
I launched a startup called NoticeLocal, of which I am a founder and original architect.
Some of my most novel ideas/work achievements include; The Grails Resources plugin which is now part of the default Grails 2.0 offering and the improved stack trace output, delivering more user-friendly exception traces to developers.
In the dim and distant past I designed and implemented a novel solution for The Met. Office used in shipping, for visualizing tidal swell and wind forecasts over time to establish viable time-windows for shipping activity.
Amusingly, I once had to design and implement a client/server system for display-less mobile fax machines to receive and send e-mail and browse web sites. Yes, the only display was printing onto paper.
Skip to What I do ~ Recent projects ~ Achievements ~ Talks ~ Availability ~ Skills ~ Work history ~ Skills in detail
It doesn’t happen often but I have been a speaker at conferences including
Skip to What I do ~ Recent projects ~ Achievements ~ Talks ~ Availability ~ Skills ~ Work history ~ Skills in detail
Please write to me at marc@anyware.co.uk to ask about my current availability.
You can also follow me on twitter @wangjammer5 or github
Please note: I'm not interested in working on defence projects, for companies that perform testing on animals, gambling related products, or projects that are directly based on environmental damage / fossil fuel extraction or any other stuff that I consider to be a bit nasty. Ethics are complicated - if in doubt, please ask!
Skip to What I do ~ Recent projects ~ Achievements ~ Talks ~ Availability ~ Skills ~ Work history ~ Skills in detail
I’ve been using and contributing to Grails since version 0.4. I have many years experience of Java, Groovy, JavaScript and Objective-C.
I started out programming around 1983 with Basic (ZX Spectrum and BBC Micro). I then got into machine code with some 6502 assembly language and then moved to 68000 assembly language on the ATARI ST, Pascal and Object Pascal, C, C++ and Java, JavaScript and Groovy and most recently Objective-C. I can do PHP and some AppleScript, but like most sane people I don’t like to.
While I can code all these, please note that I don’t take paid work currently for anything except Grails or iOS development.
I’ve a good eye for usability and a creative outlook, but I will strongly recommend your team gets a professional designer to work with the development team.
I’m Apple all the way.
See here for full list of experience and acronyms| 2013 | SPOKEnPHOTO (Grails Contracting, UX and Consulting), CentraStage (Grails Contracting), Brinqa (Grails Contracting) |
| 2012 | SPOKEnPHOTO (Grails Contracting, UX and Consulting), ikentoo (Grails Contracting), jCatalog AG (Contract Weceem CMS development & other UX consulting), NoticeLocal, Grails plugins |
| 2011 | doc4web (Client contracts), Claritum (Consulting), jCatalog AG (Contract Weceem CMS development & other UX consulting), NoticeLocal, Grails plugins, ChemAxon (Consulting) |
| 2010 | jCatalog AG (Contract Weceem CMS development & UX consulting), NoticeLocal, Grails plugins, Speaker at Grails Exchange 2010 & JAX London 2010, ChemAxon (Consulting) |
| 2009 | Historic Futures Ltd. (Contract, Grails development), jCatalog AG (Contract Weceem CMS UX consulting), NoticeLocal, Grails plugins |
| 2008 | G2One Inc. (Contract, Grails development. Now owned by SpringSource), Enotions Ltd. (Contract, PepsiCo UK websites: Tropicana, Copella, Tropicana Go!. Also Cobra Beers), Aegeon Inc. (Consulting), Grails plugins |
| 2007 | Southampton University (Contract, BOPCRIS 18th Century parliamentary papers archive), Enotions Ltd. (Contract, PepsiCo UK websites: Tropicana, Copella, PJ Smoothies, Tropicana Go!), Speaker at Grails Exchange 2007 |
| 2006 | Enotions Ltd. (Contract, PepsiCo UK websites: PJ Smoothies, Tropicana Go!), Staellium Ltd. (StealthText, architect) |
| 2005 | Wangjammers (J2ME Game development & production), 8-bit Games (J2ME porting), The Vegetarian Cookery School (website), Telesoft Technologies Ltd., Staellium Ltd. (StealthText, architect) |
| 2004 | Wangjammers (J2ME Game development & production), Demuths Restaurant (website) |
| 2003 | Wangjammers (J2ME Game development & production) |
| 2002 | Possio AB (Contract J2ME platform architecture for OSGi Wifi/BT hotspots) |
| 2001 | Possio AB (Contract J2ME platform architecture for OSGi Wifi/BT hotspots) |
| 2000 | Possio AB (Contract Client/Server app architecture & implementation for IP-enabled faxes, flash-memory filesystem and proportional bitmap font rendering system implementation in C) |
| 1999 | Sift Plc (Contract Delphi development, stock ticker app), Possio AB (Contract Client/Server app architecture & implementation for IP-enabled faxes), 5 @ 6 Ltd. (startup architect & developer) |
| 1998 | Badger Design Systems Ltd. (Contract Delphi development, dynamic database forms), Matra Marconi Space / The Met. Office (Contract Delphi development) |
| 1997 | CableNet Ltd. (Windows internet apps development), AnyWare Ltd. (Channel Maker application for Windows ), Badger Design Systems Ltd. |
| 1996 | CableNet Ltd., dWinsock shareware team (Delphi VCL components for sockets, multithreaded, including RFC compliant POP3 and SMTP client and server implementations) |
| 1995 | CableNet Ltd., dWinsock (Delphi VCL components for client and server sockets) |
| 1994 | Musicalc Ltd. (Windows development, custom binary protocols and SMTP client in C++), CableNet Ltd. |
| 1993 | Musicalc Ltd. (Windows development in Pascal and C++) |
| 1992 | Musicalc Ltd. (Admin and tech support), Atari ST demo writing (The Lost Boys) |
| 1991 | Musicalc Ltd., Atari ST demo writing |
Some people want to know all this. You probably do not.
Programming languages: OOD/OOP - over 15 years; Objective-C 3+ years, Groovy 6+ years; Java well over 10 years; JavaScript, PHP. Ancient stuff: Borland Delphi 4 years, Borland C/C++ & OWL 3 years, Borland C++ Builder 1 year; Borland/Turbo Pascal 4-7 & TurboVision library 3 years; Motorola 68000 Assembly Language 3 years;
Technologies: iOS SDKs 1 through 6; OCUnit; HockeyApp; CocoaPods; Grails 0.4 to 2.2; Grails Plugins; jQuery & jQuery UI; RESTful services; Basecamp API; Lucene; Java from 1.1.8 to 1.6; JUnit; Spring; J2ME CLDC/MIDP/MMAPI; J2ME CDC + Foundation; JAXP & XML parsers; Extensive hand-coded HTML & XHTML Authoring - 10 years; Advanced XML authoring (DTDs, parsed external entities etc.); DocBook XML/XSL Authoring; Apache FOP - 1 year; Apache Tomcat - 7 years; Resin; WebMacro template engine; IBM WebSphere/J9 VM with J2ME CDC/Foundation on Linux StrongARM platform; Java Cryptography Extensions, BouncyCastle, Rijndael, 3DES & RSA ciphers.; Java Advanced Imaging API (JAI); Java 3D; JavaComm serial communications API; GSM Modems & GSM AT+ command set, SMS Message protocol; OSGi 1 and 2; IBM SMF, Prosyst, Gatespace and SUN JES OSGi implementations; JavaCard 2 applets for Maxim/Dalsemi iButton devices;