All blogs / Software / engineering practice
DJ Adams
Reserving the right to be wrong.
- Posts
- 793 from 31 Jan 2001 to 7 Oct 2026
- Posting
- weekly (44 in the last year)
- Kind
- personal blog
- Feed
- https://qmacro.org/feed/feed.xml
2026 40
- Markdown previews in lf with leaf
- Exploring joule studio skills
- A community graph for people and things onedevatlas
- Cap september 2026 release
- Making oauth 2 0 auth code flows work between containers and their host os
- Notes on simple agentification of a cap service
- Balancing context size and callable tool metadata with caps mcp adapter
- Knowledge and netiquette in todays ai era
- Timeless principles agnostic design and the power of caps abstractions
- Recap 2026 talk resources
- Computing memories
- Blogging in en gb
- Cap service authentication at design time and in production
- Book overflow and two architectural patterns in cap
- Local first dev with cap node js mocking messaging
- Local first dev with cap node js mocking remote services
- Local first dev with cap node js mocking auth
- Local first dev with cap node js mocking data
- Local first dev with cap node js
- Cds expressions in cap notes on part 6
- Cds expressions in cap notes on part 5
- Cds expressions in cap notes on part 4
- Cds expressions in cap notes on part 3
- Cds expressions in cap notes on part 2
- Cds expressions in cap notes on part 1
- Genres cuids and a bit of awk
- Improving the sap community together one comment at a time
- Shift left with cap
- Series of did you know videos
- Path expressions nested projections aggregations and expressions in queries with cql and cxl in cap
- Modifying queries replacing the where clause
- Odata deep dive rewrite in the open
- Modules modularity and reuse in cds models part 5 digging into capire common
- Constraints expressions and axioms in action
- Modules modularity and reuse in cds models part 4 from passive to active with capire common
- Modules modularity and reuse in cds models part 3 publishing the simple reuse package
- Modules modularity and reuse in cds models part 2 creating a simple reuse package
- Why i use services cds in simple cds model examples
- Modules modularity and reuse in cds models part 1 an introduction
- Modules modularity and reuse in cds models
2025 28
- A new hands on sap dev mini series on the core expression language in cds
- A simple exploration of status transition flows in cap
- Some ramblings on simple cds modelling with cdl
- Hands on domain modelling with caps cds at ukisug connect
- Quiet cds test output two ways
- Modelling contained in relationships with compositions in cds
- Using capire modules from github packages
- Cds source formatting and readability
- Upcoming talks in autumn 2025
- Auto formatting extensionless bash scripts in neovim
- Neovim configuration for file and module navigation in cds models
- Excluding specific diagnostics in neovim
- A recap intro to the cds repl
- A modern and clean neovim setup for cap node js configuration and diagnostics
- Editing markdown in a neovim environment
- Point free coding and function composition
- Adjusting the preview width in telescopes horizontal picker
- Fp function chains and cap model loading
- Array prototype reduce and the optional initial value
- Functional programming resources
- How i run executables in containers
- Level up your cap skills by learning how to use the cds repl
- Migrating github issue based url bookmarks to wallabag
- Tasc notes part 9
- Tasc notes part 8
- Tasc notes part 7
- Cap node js plugins part 3 writing our own
- Cap node js plugins part 2 using the repl
2024 52
- Cap node js plugins
- Tasc notes part 6
- Functions as first class citizens in sicp lecture 1a
- Tasc notes part 5
- Tasc notes part 4
- The elements of programming with respect to cdl and sicp
- The art and science of cap
- Tasc notes part 3
- Tasc notes part 2
- Creating the new tech aloud intro and outro music
- Flattening the hierarchy with mixins
- Five reasons to use cap
- Separating concerns and focusing on the important stuff
- Restricting access via facets with masked elements
- Keeping things simple in domain modelling with cds
- Immutable layers file deletion and image size in docker
- Cap node js plugins part 1 how things work
- Tasc notes part 1
- Setting up a cache server for apt packages
- Using lazydocker with ssh based remote contexts
- New source for lxd images on crostini
- Automatic validation in odata and rest calls with cap
- Highest value in js different ways
- Reduce the ur function
- Turning an odata expand into a cds ql cql query with a projection function in cap
- Enabling document fragment links for headings in sap community blog posts
- Digging into csn diffs for cds models
- Codetalk interview living and working on a narrowboat
- Using arg in a dockerfile beware the gotcha
- Defining a custom after handler in cap with each
- Obtaining auth code grant type oauth 2 0 tokens for google apis with a script
- Controlling automatic http requests in cap node js design time loops
- Simple script for previewing cds models in csn cdsray
- Running non production cap services in cf
- Using cap js sqlite in cf for your cap services
- Easily add an explicit cds requires db to your cap projects package json
- Improve your cap dev container shell prompt
- Avoid design time cap server restarts when maintaining local data files
- Cap cds cdl csn and jq finding associations
- Cap cors and custom headers
- Test drive joules generative ai features in sap build code now
- Curating a collection of jq functions
- Iso content for common cap types
- Quick conversion of multiple values using with entries in jq
- Opening files from the terminal in bas dev spaces
- Successful double codejam in wroclaw and warsaw
- Ghost cratch fitted
- Exploring codespaces as temporary dev containers
- Accuracy and precision in language
- Developing cap in containers three ways
- A simple jq repl with tmux bash vim and entr
- Battlestation 2024
2023 32
- Using the docker cli in a container on macos
- From twitter to mastodon
- Tmux plugin development with a local repo
- Til two tmux plugin manager features
- Solving the sap teched easter egg on the web
- Devtoberfest the best developer prep for sap teched
- Bash shell expansion inside double quotes
- Odata query operations and url encoding the system query options with curl
- Curing my stove aboard the narrowboat
- Mercia marina to shobnall fields and burton on trent
- Resources for navigating the canal network
- Oil change and a visit to mercia marina
- Sap codejam report service integration with cap in guetersloh de
- Selecting the related endpoints from a github api response using jqs with entries
- Sap codejam on service integration with cap in brescia
- Living on a narrowboat layout details of the stern
- Improving my interactive jq workflow with ijq bash and tmux
- More on the comma as generator and streaming with select in jq
- Double sap btp goodness in isernhagen
- Learning from community solutions on exercism part 3
- Recognising patterns and embracing the stream
- Living on a narrowboat the stove as the heart of the home
- Learning from community solutions on exercism part 2
- Learning from community solutions on exercism part 1
- Podcast all about the cap service integration codejam in utrecht
- A deep dive into odata and cds annotations
- Sap community memories
- Sap codejam on the btp cli and apis in heilbronn
- Sap codejam on service integration with cap in utrecht
- Living on a narrowboat embracing constraints
- Working from a narrowboat internet connectivity
- I m moving onto a narrowboat
2022 35
- Learning from exploring a question on jq
- Array push with autovivification in jq
- Managing resources on sap btp what tool do i choose
- 24 days of sap community door 09 advent of code
- Extracting blog post dates from urls with jq
- Some notes on modular json schema definitions
- More untappd data explorations with jq my top ranking beer types part 3
- Stop asking for slides in advance
- More untappd data explorations with jq my top ranking beer types part 2
- More untappd data explorations with jq my top ranking beer types part 1
- Untappd data with jq my top brewery countries
- Understanding jqs sql style operators join and index
- Summing and grouping values with jq
- Reshaping data values using jqs with entries
- Multiple level filters in jq
- Exploring json with interactive jq
- Products by supplier in odata and jq
- Json object values into csv with jq
- Exploring github repo name distribution with jq
- Converting strings to objects with jq
- Some thoughts on jq and statelessness
- Bash notes 3
- A classic example of yak shaving and some stream editing
- Bash notes 2
- Bash notes
- Understanding jqs reduce function
- Setting up my own cloud foundry
- Exploring service brokers and service consumption on sap business technology platform
- Exercism and jq
- Sap tech bytes btp cli new home for configuration
- How i got involved in the sap community
- Allowing my intangible core to catch up with the rest of me
- Boosting tutorial ux with dev containers part 3 containers into action
- Boosting tutorial ux with dev containers part 2 embedding prerequisite details
- Boosting tutorial ux with dev containers part 1 challenge and base solution
2021 55
- Truncation and neat terminal output
- Controlling chrome from the cli
- Setting up hadolint a dockerfile linter
- Getting btp resource guids with the btp cli part 2 json and jq
- Getting btp resource guids with the btp cli part 1
- Utfrw unofficial teched fun run walk roll share your pics
- Sap open source webinar on the open documentation initiative
- Exploring fff part 2 get ls colors
- Embracing jq and json
- Sourcing vs executing in bash
- Sap tech bytes btp cli autocompletion
- Using functions more
- Sap tech bytes btp cli managing configuration
- Improving shell fu with practice
- Sap tech bytes btp cli logging in
- Exploring fff part 1 main
- Sap tech bytes btp cli installation
- Learning by rewriting bash jq and fzf details
- Todays til trio
- Session switching with the tmux menu
- Tmux output formatting
- Reopening pull requests and github actor
- Unix tooling join dont extend
- Early thoughts on warp
- The apc smt750ic ups works with the synology nas ds1621
- Remote access to docker on my synology nas
- Collaboration missions for the open documentation initiative
- Adding a drive to my synology nas
- Equality in tech
- Introducing the open documentation initiative
- Supporting developers with sponsorship
- Notes on markdown linting part 2
- Notes on markdown linting part 1
- Solving mysterious unrendered markdown headings
- Unpacking bash shell tips from a github actions workflow
- Github actions workflow browser
- Producing json with jq for appending issue titles
- Sap tech bytes exploring sap samples with gh and fzf
- Mainframes sdsf and github actions
- New tmux panes and windows in the right directory
- Deeper connections to everyday tools
- Two phase video uploads with youtube api and curl
- La pavoni maintenance successful
- Mass deletion of github actions workflow runs
- A new journal experiment thinking aloud
- Aborting a script with parameter expansion
- Sap teched developer keynote info central
- Sap tech bytes approuter user api service
- Fzf the basics part 2 search results
- Fzf the basics part 1 layout
- Thoughts on video content
- Do less and do it better
- Columnar layout with awk
- From classics to developer advocate
- Updating your fork of the developer keynote repository
2020 51
- Waiting for jobs and the concept of the shell
- Sap teched 2020 channel 1 at home
- Implicit values in bash for loop construct
- Utfrw unofficial teched fun run walk
- Sap teched developer keynote dk100 the story
- My sap teched 2020 what i m looking forward to
- An overview of sap developers video content
- The myriad meanings of pwd in unix systems
- Computer unit 1979
- The subtle art of quoting newline characters
- Case modification operators in parameter substitution
- Mid and shell parameter expansion
- Understanding declare
- Desnowballification with set o errexit
- Improving my shell scripting
- Checking a command is available before use
- Curl and multipart form data
- A new learning source for shell scripting
- Using exec to jump
- Shell parameter expansion with is useful
- Reducing writing friction
- Programmers day mission 2020
- You can mask sensitive hostnames with wildcards and host aliases
- The open square bracket is an executable
- Why we have bin and usr bin
- String prototype replace can take a function
- Continue on error can prevent a job step failure causing an action failure
- In an mta yaml file you can use the service name parameter to point to an existing resource
- Git diff can emit different exit codes
- Sap npm packages now on npmjs org
- Removing the knob on a la pavoni steam valve
- Sap community coding challenge 2 finalists
- Sap community coding challenge 2 contestants
- Remote mount setup on the raspberry pi
- Sap community coding challenge 2 update
- Terminal tip a cf remote monitor script
- Sap community coding challenge nr 2
- Terminal tip remotely monitor a cf deployment
- Terminal tip switching cf targets
- Terminal tip parsing cf app logs
- Terminal tip truncating cf output
- Initial pi configuration via ansible
- Code at home episodes
- Code at home
- Brambleweeny cluster experiments
- Finding the pis on the network
- Preparing the os image
- Starting out with raspberry pi experiments
- Mini adventures with mtas and the cloud foundry cli
- Scripting cloud foundry activities in trial
- My learning list for 2020
2019 17
- Help us to help you good questions beget good answers
- Mission use cap and sap cloud sdk to extend s 4hana an overview
- Cap is important because its not important
- Shell power and simplicity
- Submit suggestions for tech aloud during sap teched 2019
- Tech aloud podcast an introduction
- New podcast tech aloud
- Happy programmers day
- Hitchhikers style in sea of sorrows
- Computed field example in cap
- We can do better than polynimbus
- The observers book of js style
- David edward adams
- Double sap codejam athens a report
- Revisiting ui5 on codetalk
- First thoughts on the 2019 stack overflow developer survey results
- Es6 reduce and pipe
2018 67
- Housekeeping
- Vim markdown and writing
- Monday morning thoughts looking back and forwards
- Monday morning thoughts digging deeper
- Monday morning thoughts indirect influence
- Monday morning thoughts learning media and mechanisms
- Monday morning thoughts rethinking like the web
- Monday morning thoughts longevity and loose coupling
- Monday morning thoughts on starting blogging
- Monday morning thoughts exploring reuse
- Monday morning thoughts dynamic language
- Set up vs code on chrome os for local application programming model development
- Monday morning thoughts big school and community
- Sap cloud application programming model cap start here
- Monday morning thoughts more on abap in the cloud
- Monday morning thoughts impostor syndrome
- Monday morning thoughts growth is upwards
- Monday morning thoughts workflow forms and the definition of a developer
- Monday morning thoughts abap in the cloud
- My take on wireds google and urls article
- Monday morning thoughts considering graphql
- Monday morning thoughts a good blog post
- Monday morning thoughts odata
- Monday morning thoughts the cloud is the computer
- Monday morning thoughts mainframes and message documentation
- Monday morning thoughts local http servers and containerisation
- Sap codetalk sessions
- Monday morning thoughts what not how
- Monday morning thoughts abstraction
- Monday morning thoughts curiosity and understanding
- Monday morning thoughts developers and advocacy
- Interview with rui nogueira on the new application programming model for sap cloud platform
- Monday morning thoughts programming models
- Monday morning thoughts community engagement
- Monday morning thoughts core data services
- Monday morning thoughts the learning continuum
- Monday morning thoughts programmers and identity
- Collaboration tools
- The business rules service overview and getting started
- Monday morning thoughts milestones
- Monday morning thoughts functions what functions
- Balancing features with simplicity
- Monday morning thoughts containers and silence
- Monday morning thoughts editors and editing
- Monday morning thoughts debugging approach and greasemonkey revival
- Monday morning thoughts upload download in a cloud native world
- Monday morning thoughts a cloud native smell
- Introduction to sap cloud platform workflow summary
- Scripting the workflow api with bash and curl
- Monday morning thoughts cloud native
- Becoming an sap mentor alumnus
- Debugging fiori and ui5 materials
- Thoughts on whats next for the sap community
- Apps script privacy policy
- Discovering scp workflow service tasks
- Discovering scp workflow script tasks
- Discovering scp workflow recommendation ui
- Discovering scp workflow component startup
- Discovering scp workflow user tasks
- Discovering scp workflow workflow definition
- Coming home
- Discovering scp workflow service proxy
- Discovering scp workflow using postman
- Discovering scp workflow
- Discovering scp workflow instance initiation
- Consumption based scp pricing initial thoughts
- Discovering scp workflow the monitor
2017 13
- Things i do to make my work life better
- Scp business rules roadmap 5 observations
- Sap cloud platform pricing
- Fix blink
- Functional programming baby steps
- Meeting request details
- Google cloud functions sheets apps script actions on google win
- Yabp yet another blogging platform
- Sap on the google cloud exploring the possibilities
- Best practices for mobile reporting
- The beauty of recursion and list machinery
- Reaching out to the new new kingmakers
- Debugging sap fiori apps the fifth d
2016 40
- Excluding with vims wildignore
- Better collaboration through chemistry
- F3c parts 9 and 10 functors
- F3c part 8 promises
- F3c part 7 recursion
- F3c part 6 currying
- F3c part 1 higher order functions
- F3c part 2 map
- F3c part 3 reduce basics
- F3c part 4 reduce advanced
- F3c part 5 closures
- F3c a funfunfunction companion series
- The fiori revolution disruption at its best
- Community and collaboration at sap inside track manchester
- Understanding the sap fiori cloud edition
- Top 10 misconceptions about fiori
- Fofp 2 1 a look at filter
- Fofp 1 1 introduction
- Fofp 1 2 trying things out
- Fofp 1 3 some basic list processing
- Fofp 1 4 a different approach with map
- Fofp 1 5 creating functions
- Fofp fundamentals of functional programming
- Language minutiae and learning to swim
- Finding a wonderland number
- Enlightenment in action
- Fiux2 week 7 build your own sap fiori app
- 4clojure puzzle 66
- Fiux2 week 6 extend sap fiori apps
- Fiux2 week 5 enhance an sap fiori master detail app
- The sap fiori launchpad as a dashboard for my running kpis
- Quick hcp title hack with the navigation manager
- Fiux2 week 4 create your first sap fiori app
- Fiux2 week 3 get ready to create your first app
- The evolution of the sap community
- Fiux2 week 2 design your first sap fiori app
- Fiux2 the opensap fiori course 2016 edition
- Fiux2 week 1 get to know fiori ux
- Building blocks of language structure and thought
- The future of app building on the sap hana cloud platform
2015 65
- Digital devolution in local authorities putting people first
- Impromptu js session at ukisug15
- Coffee time javascript recreation
- Speaking at sap teched emea 2015
- Breathing through the reduction meditation
- Celebrating the engine of the fiori revolution the 30ui5 ebook
- A meditation on reduction
- My journey to clojure
- Give me a browser and i ll give you the world
- The advent of ui5 1 30 and what it means for us
- Cookies
- Building blocks for the future normal
- The origin of becoming a fundamental enabler for fiori
- Revisiting the xml model
- Ui5 version info
- A non techie pms view of ui5
- Ui5 looking back and forward
- The experimental client operation mode
- An introduction to sap ui define
- Taming the resource model files
- Merging lists with ui5
- Spreading the ui5 message
- Fragments and minimum viable code
- A short ui5 debugging journey
- Mvc model view controller minimum viable code
- Ui5 and fiori the story of open and free
- Ui5 and coding standards
- The ui5 support tool help yourself
- Speeding up your ui5 app with a component preload file
- Multi language support out of the box ui5s pedigree
- Base classes in ui5
- Handling dates with the date picker
- Bootstrapping ui5 locally and in the cloud
- User notifications with the message popover
- The app descriptor
- Creating native applications with ui5
- Openui5 walkthrough
- Semantic pages
- Expression binding
- Javascript dos and don ts for ui5
- Lightweight notifications with the message strip
- Welcome to 30 days of ui5
- Email discipline
- Json list binding and maps
- Opensap experiences
- This week in fiori 2015 16
- This week in fiori 2015 15
- This week in fiori 2015 14
- This week in fiori 2015 13
- This week in fiori 2015 12
- Making information more useful
- The makers schedule restraint and flow
- This week in fiori 2015 11
- Why i m staying close to ui5
- 10 tips to get you started on your fiori development journey
- Can i build a fiori app yes you can
- Ui5 features for building responsive apps
- Speaking at mastering sap technologies
- Fiori and ui5 related videos
- Morning fiori fix
- Openui5 at fosdem 2015
- Atom snippets tabs and cson parsing
- Fiori app data into a spreadsheet challenge accepted
- Running 2014 in review and some clojure
- Dna is still in our dna
2014 40
- The inaugural sap architect and developer summit
- Creation and reload of ui5 uis in the chrome developer console
- Addressing emails
- This week in fiori 2014 43
- Speaking at the sap architect and developer summit
- This week in fiori 2014 42
- This week in fiori 2014 40
- This week in fiori 2014 39
- This week in fiori 2014 38
- Scratching an itch ui5 icon finder
- This week in fiori 2014 36
- This week in fiori 2014 35
- This week in fiori 2014 34
- This week in fiori 2014 33
- This week in fiori 2014 32
- This week in fiori 2014 31
- Keyed vs non keyed root json elements and ui5 binding
- This week in fiori 2014 30
- Openui5 tutorial at oscon 2014
- This week in fiori 2014 29
- This week in fiori 2014 28
- This week in fiori 2014 27
- Webinar and more understanding sap fiori
- Understanding sap fiori webinar the directors cut
- Sap developer advisory board your input
- Sap mentor monday on ui5 links
- Paying it forward links
- Openui5 codetalk links
- Small steps openui5 toolkit now in jsbin com
- Reaching out
- Mocking up the payroll control center fiori app
- The essentials sapui5 openui5 and fiori
- Public sap mentor monday 24 mar 2014 ui5 with andreas kunz
- M is for responsive
- Alt k reading notes
- Xml views and resource bundle declarations
- Ui5 xml views another example
- Help us to help you share your code
- Meta education or teaching the teachers
- Quick hack calendar inviter
2013 25
- Mobile dev course w3u3 rewrite xml views an analysis
- Custom sorting and grouping
- Sap uk and ireland user group conference demo jam
- Codetalk sapui5 and sap fiori
- Mobile dev course w3u3 rewrite xml views an intro
- Mobile dev course w3u3 rewrite app and login
- Mobile dev course w3u3 rewrite productlist productdetail and supplierdetail
- Mobile dev course w3u3 rewrite index and structure
- Mobile dev course w3u3 rewrite intro
- Building sap fiori like uis with sapui5
- Sheetasjson google spreadsheet data as json
- An amazing 36 hours at sap labs israel
- Engaging the next generation
- Yrs2013 hacks on github
- Happy birthday scn old friend
- Simple sapui5 chrome icon for lazy developers like me
- Codeclub thoughts
- Review of dark reserve nr 3 from lovibonds
- Functional python itertools exploration
- Our computational future
- 30 day challenge no beer
- Getting started with sapui5 alternative guide
- Public github repo sapui5bin available
- Jump to shell workset item from url
- 30 days challenges
2012 22
- Review of fourth dementia old ale from kuhnhenn brewing company
- Bind paginator to model
- Codeclub and becoming a stem ambassador
- The silent club and recharging alone
- Odata everywhere
- Blog it forward dj adams
- Review of norwegian wood from haandbryggeriet
- Recent interests
- Serial interest in the raspberry pi
- Gateway metadata cache check always abap true
- Sapui5 the future direction of sap ui development
- Two tools for gateway trial host nplhost
- On enterprise geeks podcast
- Firebase and sapui5
- The developer connection connect like never before
- Sapui5 powered scn forum finder
- New omniversity course video
- Review of red rice ale from hitachino nest
- Sapui5 says hello odata to netweaver gateway
- Making odata from sap accessible with the icms help
- Sap icf course marketing video
- On the information diet
2011 25
- The developer renaissance
- Html5 sap
- Movember please donate
- Sap developer center
- Web programming with saps icf new course dates
- Moving on to bluefin solutions
- Review of milk stout from left handed brewing co
- Reading list mark 2 part 5
- Reading list mark 2 part 4
- Reading list mark 2 part 3
- Reading list mark 2 part 2
- Reading list mark 2 part 1
- Automated email to task mechanism with google apps script
- Ad hoc data workflows with google apps script
- Stand steady on the shoulders of giants
- Review of torpedo from sierra nevada
- Beer review dark stars saison
- Soa scaffolding and development architects
- Danger graduate conveyor belt
- Review of saison from dark star
- Gmail contextual gadgets talk at manchester gtug
- Json and other animals talk at manchester jquery meetup
- My browser a z
- The past and future of sap integration guest bluefin blog post
- Project gateway a call to arms or at least to data
2010 6
2009 25
- Tech skills chat with jonerp a follow on story
- Rest orientation controlling access to resources
- A new rest handler dispatcher for the icf
- Mainframes and the cloud everything old is new again
- Sap and google wave conversation augmentation
- Book review sap business one implementation
- One way of dealing with blogtheft from sdn through images
- Dealing with blogtheft from saps developer network
- Command lines of the future and simplicity of integration
- Coffeeshop screencast http conneg resource representations and json
- 2nd coffeeshop rest http screencast
- Google wave xmpp and complexity
- Webhooks postbin example for coffeeshop
- First coffeeshop demo screencast
- Coffeeshop lightweight http based pubsub
- Information vs behaviour
- A return to the sdn community and a touch of javascript
- Tarpipe rest connector in 5 minutes
- Twitters success
- Analysing cv searches with delicious
- Sap everywhere
- An http connector for tarpipe tarbridge
- Tarpipe com programming 2 0
- Back from real life
- Old feed urls fixed with a bit of mod rewrite voodoo
2006 1
2005 24
- Java and goslings fud madness or desperation
- Sap and open source the debate continues
- Acorn atom and my start in computing
- MoonOverFailsworth
- SAP and Open Source: an analysis and letter to SAP and Shai
- Whither SAP?
- SDN, Blogging, and Planet SAP
- The SAP developer community 10 years ago
- Turnkey MVS 3.8J on Hercules S/370 Screenshot
- Hacking the SAP service portal to make OSS notes better
- SAP: temporary loss of touch with reality?
- Ubuntu? Thanks. But no thanks.
- Europe, SAP, and two-way conferences
- Flickr Pro from Robert
- SDN Meets Labs
- SDN Meets Labs gets underway at SAP University
- Muscle cars
- An overcorrection too far?
- Postcode bookmarklet
- Weblog happy in new home - note new URLs!
- Honest application requirements
- Ralphm on sjabber
- Blosxom entries into MT
- A fresh start
2004 22
- (Mini) Installfest in the SDN clubhouse at TechEd
- Photos from SAP TechEd Munich
- SAP TechEd first day - notes from Munich
- The meaning of LIFETIME_RC
- SAP TechEd here I come ... with session slides!
- The integration irony of SAP's technology directions
- The Curious Incident Of The Dog In The Night-Time
- A little taste of SAP at EuroFoo
- SDN Meetup in Walldorf - a summary
- SDN Meetup in Walldorf - pictures
- TechEd talk winners - congrats
- Forget SOAP - build real web services with the ICF
- Real Web Services with REST and ICF
- NW4, OSS1 and logon group selection for OSS
- SAP at JAX 2004
- WAS 6.40 testdrive for Linux is here!
- Successful installation of EP plugin into testdrive WAS 6.10 system
- Tim O'Reilly and the three 'C's
- FOSDEM, and small OSS Notes Browser Hack
- FOSDEM and Brussels, here I come!
- Hawo's Queen of Grain Mills
- Hello, 2004
2003 39
- Evaluation WAS 6.40 on Linux - top reason for attending CeBIT 2004
- Food for thought: LDBs and ABAP Objects
- BSP: Mangled URL Decoder
- SAP TechEd - Collaborative notes
- Dashboard as extension to R/3 and SAPGUI client
- Plums and the antithesis of technology
- Improving the OSS note experience
- SAP InfoTag on Web Application Server
- SAP talk at OSCON, and RSS
- Google Pocket Guide out now
- Another great OSCON
- Thanks, Randal
- Dashboard, a compelling articulation for realtime contextual information
- Bittersweet
- SAP and Open Source BOF at OSCON
- Some ramblings on URIs and identity
- Thinking vs doing
- SAP stuff at OSCON
- The SAP/MySQL Partnership
- "A brilliant literary mash-up"...
- Speaking at OSCON 2003
- Weblogs and Wikis - Blurring the Boundaries
- New Blosxom plugin 'submission'
- 'Conneg' and the duality of weblogs
- Tiki parser for MoinMoin
- Blosxom 2.0 Beta1
- RSS aggregators and user-agent information for Blagg
- Tinkering with RSS and NNTP
- Asleep in 2002
- Your wishlist in 'consumable' XML
- The fragility of retro-engineering
- Transferring my Amazon wishlist to AllConsuming.net
- Content-Type and Blosxom's RSS
- Presentations, Wikis, and Site Navigation
- The universal canvas and RSS apps
- Wisdom, diplomacy, or serendipity?
- A new year and a new approach
- Creating the "Entry index"
- The disruptive engineering spectrum, and "booktalk", an AllConsuming app
2002 67
- Startups and software patents
- For REST, read 'Architectural Style'
- "Assaults on the Internet's end-to-end-architecture"
- Ben's RSS book
- RESTifying RT
- 'Practical RDF' book up for public review
- Notes to self: What should the rdf:about point to?
- A moment of clarity: The significance of RSS 1.0 as an RDF application
- The case of the missing rdf:Description
- More thoughts to ponder
- XML Scripting, data manipulation, and RDF
- Moving from description to content:encoded in my RSS 1.0 feed
- From RSS 0.91 to 1.0
- The RDF in RSS
- Moving between Mozilla tabs with the keyboard
- Mozilla "Bookmark This Group of Tabs"
- REST, Google, and idempotency
- Cacheing on XSLT service
- Sidebars, Mozilla, RSS: old and new
- Just finished re-reading: The Player Of Games (Iain M Banks)
- The OS tables are turning...
- You know you're getting old ...
- From REST to URIs, the Semantic Web, RDF, and FOAF
- The mist is clearing ...
- The 80/20 of HTTP
- Reflecting weblogs.com 'ping's with SOAP, Jabber, and Pubsub
- Programming Jabber review
- Accessibility and Blosxom
- A change and a rest
- 'Blosmail' - add and maintain your blog entries via email
- Standing on the shoulders ... Exploring Weblog Neighbourhoods with Blogdex
- Changed link tags
- Small Blagg mod to enable custom formatting of 'blaggregated' items
- Collapse/Expand feature for my Blaggregated display
- HTML link tag for Blogroll
- Extreme Computing 2002
- HTML LINK to RSS source
- RSS's underlying structure, and meta-RSS.
- ETag-enabled wget
- Top tip
- More thoughts on HTTP, Email, and Jabber
- "Web^H^H^HInternet Services"? Some Ramblings.
- Amphetadesk Links
- (Jabber-)Browsing the Panopticon data
- Jabberconf Blaggplug version 0+1b
- The Panopticon
- Subscription from Radio
- Blaggplug: jabberconf
- Mr 80-Percent
- YARM: Yet Another Referers Mechanism
- Calendar code
- One small step ... one giant leap ...
- Blog software review
- Blosxom vs the world
- Bring on the SSI
- community(disagreement + debate) = inspiration
- "Blog Locally, Publish Globally"
- Other side of the coin: 5335 now resurrected
- Coffee Mugs and weblog interop
- Original Peerkat-based weblog back up for reference
- Cross pollination and blossoming of scripts
- My bookmarks
- Off with the (relatively) old, on with the new
- Bot window as command line of the future
- Hello Blosxom
- Interview on jabber.org
- FOSDEM interview