1. Rubymine warning - Typo: in word

    When using Rubymine, you will invariably reach the point where it starts complaining that a word that makes sense to you is considered a typo by Rubymine and highlighted as a warning. I normally try to keep these clean if I can.…


  2. Ruby Tips 12 - Simplify your code with Ruby Array values_at

    A programming language like Ruby comes with lots of features and capabilities which we often don’t learn in detail and instead end up rewriting things in our application code. This post shows how values_at in the Ruby Array class can simplify your code in some cases.…


  3. Textile, RedCloth and Jekyll

    Most people use Jekyll with Markdown as a converter, but I prefer to use Textile. In this post, I note down the steps needed to make Jekyll work with Textile and how configuration is done.…


  4. Making Mermaid Sequence Diagrams Prettier - Part 1

    I like Mermaid but I find the rendered diagrams do not look at pretty as some of the other tools, so I set out to find out more on how the diagrams could be styled to look different. In this post, I summarise my findings and approach for styling sequence diagrams (the diagram that I want to use the most).…


  5. Ruby Learning by Reversing: Native Gems, Part 7

    The first series of Learning by Reversing examines a Ruby native gem to understand how it works. Part 7 examines how native code is documented.…


  6. Escaping Liquid Tags in Jekyll

    If you need to show a piece of Liquid markup in a code sample in Jekyll, you need to escape it. The way to do it is to enclose it within another tag raw and then end that with endraw so that it is not interpreted as tags.…


  7. Rendering Mermaid Diagrams in Textile pages in Jekyll

    Recently, I have taken a strong interest in Diagrams as Code and specifically, I have been looking at Mermaid, Structurizr and C4 models. I want to be able to include some diagrams in this blog but wanted to do it without using extra gems. This post explains how to do it if you’re writing pages for Jekyll using Textile markup.…


  8. Ruby 3.3 on Windows: Day 0 - install and Hello World

    Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write (from the Ruby web site). On Christmas Day 2023, the core team released version 3.3 with major improvements and new features included. Now that RubyInstaller 3.3.0-1 has been released and is available for all to try, it’s a good time to set it up on Windows and try the features of Ruby 3.3. This post will help you get started with Ruby 3.3 on Windows, and covers the basics of installation. This post is along the same lines as the JRuby Day 0 post from earlier.…


  9. Die Hard is a Christmas Movie

    Every year, I receive messages and see numerous posts debating whether Die Hard is a Christmas movie. Every year, I respond with the same messages and the strong conviction that it is indeed so.…


  10. You're probably not using your Calendar enough

    Just over six years back, I wrote up my 6 tips for travel, calendars and time zones to share what I have found to be helpful while travelling. When travel resumed after COVID-19 and I started to travel again, I realised that I have started to use my calendar on the phone even more to help when I travel. This is a follow-up post with my new learnings.…


  11. Rails 7.1 with Ruby 3.2 on Windows: It just works!

    Rails 7.1 was released a couple of days back and as a Ruby user primarily on Windows, I was keen to see if it works and runs on Windows.…


  12. Ruby Learning by Reversing: Native Gems, Part 6

    The first series of Learning by Reversing examines a Ruby native gem to understand how it works. Part 6 examines how the benchmark is run to compare the performance of the native version with the original Ruby version.…


  13. Ruby Learning by Reversing: Native Gems, Part 5

    The first series of Learning by Reversing examines a Ruby native gem to understand how it works. Part 5 digs looks at the C code needed to interface with the Ruby code.…


  14. Ruby Learning by Reversing: Native Gems, Part 4

    The first series of Learning by Reversing examines a Ruby native gem to understand how it works. Part 4 digs into the development Makefile and how it supports different activities during development.…


  15. Ruby Learning by Reversing: Native Gems, Part 3

    The first series of Learning by Reversing examines a Ruby native gem to understand how it works. Part 3 continues the exploration by looking at what is included in the gem and how it is set up so that the native extension is built and available once the gem is installed.…


  16. Ruby Learning by Reversing: Native Gems, Part 2

    In Part 1 , we looked at the background to the gem that we are going to explore and saw how the gem works, and also how to change, rebuild and install the gem locally. Part 2 explains how the gem gets picked up and used by Ruby when you require it, and how Ruby knows what to do. In this part, we will jump across a number of files to figure out what is happening. We will not rebuild the gem or look at the Makefile, etc. in this post.…


  17. Ruby Learning by Reversing: Native Gems, Part 1

    In this series of posts, I want to look at how to create a native gem for Ruby in C. Actually, it would be more accurate to say – I want to look at how a native gem has been created in C for Ruby. So, I will look at one native gem and we will reverse back and understand what has been done and what it means.…


  18. Ruby Learning by Reversing: Series 1 - Native Gems

    In this series of posts, I want to look at how to create a native gem for Ruby in C. Actually, it would be more accurate to say – I want to look at how a native gem has been created in C for Ruby. So, I will look at one native gem and we will reverse back and understand what has been done and what it means.…


  19. Getting FreeMind to work with OpenJDK

    This is a short note for me to remember how I got the fantastic open source FreeMind mind mapping software running on Windows 10 using OpenJDK instead of the Oracle JDK. It seems like FreeMind is really old and has not been updated for a while but honestly, it does a lot of things and most of them really well.…


  20. Ruby 3.2 on Windows: Day 0 - install and Hello World

    Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write (from the Ruby web site). On Christmas Day 2022, the core team released version 3.2 with major improvements and new features. Now that RubyInstaller 3.2.0-1 has been released and is available for all to try, it’s a good time to set it up on Windows and try the features of Ruby 3.2. This post will help you get started with Ruby 3 on Windows, and covers the basics of installation. This post is along the same lines as the JRuby Day 0 post from earlier.…




All Posts by Tags