Recent blog entries (19 still unpublished)

  • I'm leaving .NET
  • Looking at Kotlin - The rest of it
  • Looking at Kotlin - Fun with functions
  • Looking at Kotlin - Kicking the Java Inheritance Addiction
  • Looking at Kotlin - Classes and Functions
  • Looking at Kotlin - a few notes made
  • Evented Github Adventure - Sentiment Analysis of Github Commits
  • Evented Github Adventure - Temporal averages
  • Evented Github Adventure - Crossing the streams to gain real insights
  • Evented Github Adventure - Temporal queries, who doesn't trust their hardware
  • Evented Github Adventure - Who writes the sweariest commit messages
  • Evented github adventure - database storage and backing up
  • Evented Github Adventure - Emitting Commits as their own events
  • Less abstract, pumping data from Github into the EventStore
  • Creating a projection per stream in the EventStore
  • Re-partitioning streams in the Event Store for better projections
  • Basic projections in the EventStore
  • Pushing data into streams in the EventStore
  • Playing with the EventStore
  • OMeta OData ODear - polishing it off
  • The final OData query bits, yes we're nearly there
  • Parsing those pesky filtering functions in OData
  • Precedence grouping, you first.. no you (Odata parser)
  • Adding arithmetic operators to our OData parser
  • These are NOT the results you are looking for - OData parser
  • Recursive expression parsing in our OData filter parser
  • Our OData parser - looking at filterby
  • Paging support in our OData parser
  • The OData parser - applying modifiers to our query
  • Parsing OData - service operations
  • Parsing OData - nested resource paths
  • Writing an OData parser - starting at the beginning
  • Building an OData parser in OMeta
  • Building a basic JSON parser in OMeta
  • Learning OMeta in Greece
  • I am interested in talking about work
  • My relationship with SOLID - The overloaded D
  • My relationship with SOLID - Seeing I to I
  • My relationship with SOLID - The misunderstood L
  • My relationship with SOLID - The big O
  • My relationship with SOLID - Starting with S
  • A note on working hours and working at home
  • Why I stopped using AMD
  • Stop using relative paths in your JavaScripts
  • This week, let's create a start-up - Day 5
  • This week, let's create a start-up - Day 4
  • This week, let's create a start-up - Day 3
  • This week, let's create a start-up - Day 2
  • This week, let's create a start-up - Day 1
  • This week, let's create a start-up
  • The fallacy of the Dreyfus model in software development
  • The price of abstraction - using LevelDB in RavenDB
  • Secondary indexes on top of LevelDB
  • Streaming large values from LevelDB
  • Uncle Bob's viewpoint considered harmful
  • Writing a transaction manager on top of LevelDB
  • Transactional guarantees on top of LevelDB
  • Basic operations with LevelDB
  • Investigating RavenDB on Mono for reals
  • Custom query inputs in RavenDB
  • Talking at DevSum 2013
  • RavenDB - Avoiding ambiguity in result transformers
  • Result transformers - not just for querying
  • RavenDB ResultTransformers - a new way of looking at things
  • The problem with result transformations in RavenDB
  • Re-thinking result transformations in RavenDB
  • Next, we run new RavenDB indexes in memory
  • Automatically merging indexes in RavenDB for optimal performance
  • Getting rid of temporary indexes in RavenDB
  • Auto idling auto indexes in RavenDB
  • Adding idle indexes to RavenDB
  • Working at Hibernating Rhinos
  • Lots of small things
  • Never write code again
  • Why work for free
  • I am not looking for a job
  • Learn Functional Programming With Me - Attributes And Vectors
  • Learn Functional Programming With Me - Moving The Square
  • Learn Functional Programming With Me - Drawing A Square
  • Learn Functional Programming With Me - A Mission Statement
  • Github Live
  • Anatomy of a 48 hour HTML5-JS Game
  • Asset packaging in browser based games
  • Anti-templating languages
  • Lessons learned building a multiplayer game in NodeJS and WebGL
  • Your container is not wanted here
  • What does it look like when I code
  • Hoverbattles Released (and more)
  • A relaxed attitude towards the pragmatic delivery of 'okay' software
  • CQRS is too complicated
  • RavenDB Consultancy
  • SLJS.org - a Silverlight - Html/JS converter
  • 5 reasons to give node.js some love
  • Static analysis of Simple.Data code to generate databases
  • Cloud9 on Cygwin with Node and Npm
  • WebGl Pong is alive
  • A Javascript game loop for multiplayer WebGL
  • Speaking at NDC2011
  • Why WebGL and node.js (and websockets) are important
  • Service location is (not) always evil
  • My DDD9 Experience (and slides from my talks)
  • CUDA - A basic parallelised task
  • CUDA - A brief looksee into the world of generalised GPU computing
  • A word of advice for recruiters
  • RavenDB - Document design with collections
  • RavenDB - StackOverflow style voting with Live Projections
  • RavenDB on Mono
  • Adventures in Mono
  • I have handed in my notice and am looking for a job
  • RavenDB - The Image Gallery Project (XVI) - Adding Edit Functionality (I)
  • Oredev - Post conference review
  • RavenDB-The Image Gallery Project (XV) - Improving Tag Search with AutoComplete
  • RavenDB - The Image Gallery Project (XIV) - Implementing a real-time tag search
  • RavenDB-Image Gallery Project (XIII)- Understanding Indexes
  • RavenDB - The Image Gallery Project (XII) - Integrating our view with ASP.NET MVC
  • RavenDB - The Image Gallery Project (XI) - Our First View
  • RavenDB - Photo Gallery Project (X)-File Storage
  • RavenDB - Image Gallery Project (IX)-The Basic Image Model
  • #NhDay - A post-mortem debugging session
  • Upcoming talks (mostly on RavenDB)
  • RavenDB - Image Gallery Project (VIII) - Signing In + RavenDB Testing
  • RavenDB - Image Gallery Project (VII) - User Registration
  • Working with RavenDB Documents + Entities - The Debate
  • RavenDB - Image Gallery Application (VI) - Entities, Repositories and Commands
  • RavenDB - Image Gallery Project (V) - The Structure
  • RavenDB - Image Gallery Project (IV) -Tracking Documents
  • RavenDB - Image Gallery Project (III) - The Application Lifecycle
  • RavenDB-Image Gallery Project (II) - Setting Up
  • RavenDB - Image Gallery Project (I)
  • DDD9 Announced
  • TwitterFS - A HackCamp 2010 Production
  • Sqlite-Csharp and NHibernate
  • RavenDB & CouchDB - Map and Reduce
  • RavenDB & CouchDB - Basic Queries
  • RavenDB - What's the difference
  • RavenDB - How stale do you want it
  • RavenDB - The HiLo what how and why
  • RavenDB - An Introduction
  • Playing with RavenDB - A Precursor
  • A gotcha for those Fluent interfaces
  • AutoPoco 0.4 released - features features features
  • Why diversity and choice are good things
  • AutoPoco v0.2 Released
  • AutoPoco v0.1 Released
  • Multi-tenancy in ASP.NET MVC - Controller Actions (Part II)
  • Multi-tenancy in ASP.NET MVC - Controller Actions (Part I)
  • DDD8 Feedback... feedback
  • Multi-tenancy in ASP.NET MVC - Views
  • Multi-tenancy in ASP.NET MVC - DDD8 Video
  • Multi-tenancy in ASP.NET MVC - Breaking it down
  • Multi-tenancy in ASP.NET MVC - Why do we want it
  • Multi-tenancy and ASP.NET MVC
  • DDD8 - Post Event
  • NUnit 2.5.3 and [SetUICulture]
  • Dynamically Switching between Master Pages in ASP.NET MVC
  • Why Linq2NHibernate isn't ready for production use
  • Times have changed
  • Featured work

    Lots of small things

    /lots-of-small-things

    A small blog entry about maintaining large projects in JavaScript

    Leetspeak - Building and testing full stack node apps

    vimeo.com/leetspeak-rob

    I gave a talk in Sweden about full-stack node applications, it was recorded

    NDC - Introduction to RavenDB

    youtube.com/ndc-ravendb

    I gave a talk in Norway about using RavenDB, it was recorded

    DDD8 - Multi-tenant ASP.NET MVC

    vimeo.com/ddd8-multitenancy

    I gave a talk in England about Multi-tenancy in ASP.NET MVC1, it was recorded

    Hoverbattles

    github.com/robashton/hoverbattles

    Hoverbattles was an experiment in writing a full-stack multi-player JavaScript game using WebGL and websockets, the code isn't pretty but it taught me a lot!

    Zombify

    github.com/robashton/zombify

    Zombify is an attempt to make it easy to write end-to-end tests for ASP.NET MVC projects in JavaScript that run quickly, it works.

    RavenDB

    github.com/ravendb/ravendb

    This document database isn't mine, but I contributed some important features to it back in the beginning :-)

    Swallow

    github.com/robashton/swallow

    Asset packing for web-based games - I use this if I'm not using an engine and want to download all the things at once!

    Molyhole

    github.com/robashton/molyhole

    A 48 hour creation for "molyjam", a rather unique game jam indeed

    Plane Thinking

    github.com/robashton/plane-thinking

    a 48 hour creation as a warm-up for Ludum Dare 22, it's an awful game but it works

    LD22 - You don't have to be alone

    github.com/robashton/ld48-22

    My first Ludum Dare Game jam entry, a 48 hour creation which crashes in most browsers after 5 minutes. Oops!

    A time-lapse is available, as is the game itself

    LD23 - Tiny earth protector

    github.com/robashton/ld4823tw

    MY second Ludum Dare Game jam entry, a 48 hour creation that works well - but the game play is a bit slow until later levels. Lesson learned!

    The game itself is available

    Github Live

    github.com/robashton/githubfall

    A few hours work one weekend with a friend in a coffeeshop, shows live commits across Github as they happen

    Why templating languages aren't the answer

    /anti-templating-languages.html

    A short blog entry describing why I don't really like pull-based templating and think it causes pain sometimes

    Lessons learned building a multiplayer game in nodejs and webgl

    /lessons-learned-building-a-multiplayer-game-in-nodejs-and-webgl.html

    A retrospective of Hoverbattles, a multiplayer game I wrote in WebGL

    A relaxed attitude towards the pragmatic delivery of "okay" software

    /a-relaxed-attitude-towards-the-pragmatic-delivery-of-okay-software.html

    A mid project retrospective of Hoverbattles, describing my approach to building software at the time, I still mostly agree with it

    CQRS is too complicated

    /cqrs-is-too-complicated.html

    Okay, it's link-bait - I actually write about the different types of CQRS, and how it evolves to manage different kinds of complexity

    Keeping JS Sane

    codebetter.com/keeping-js-sane

    A blog post I wrote about JS, following up a talk I gave at a conference in England

    Finding a balance with ASP.NET MVC

    codebetter.com/finding-balance-mvc

    A blog post I wrote after talking about ASP.NET MVC at a conference in England

    In the land of content delivery, HTTP is king

    altdevblogaday.com/http-is-king

    I blog entry I wrote about using HTTP for content delivery in games, I don't think I agree with this too much now

    Resource managment in JS based games

    altdevblogaday.com/resource-mananagement-js

    A blog entry about asynchrony and the management of assets in browser based games

    The two worlds, a project retrospective

    altdevblogaday.com/two-worlds-retrospective

    Another retrospective about Hoverbattles, this time focusing specifically on network interaction and design

    Packaging assets for browser based games

    altdevblogaday.com/asset-packaging

    A description and overview of why Swallow was created and what it is for

    JavaScript sucks and it doesn't matter!

    youtube.com/javascriptsucks

    A talk I gave at the wonderful Polish event, DevDay about JavaScript

    Rob Ashton

    Rob Ashton