Social media preview images for static website
How to dynamically generate Open Graph images with Ruby and add them into a nanoc static site generator pipeline.
Semantic search in Rails
Search by meaning instead of literal keywords in Rails using OpenAI, pgvector and neighbor gem.
LastPass slows down your browser
Suggesting email address using string similarity algorithm
By using inexact string matching techniques and string similarity metrics you can get more customers and increase your revenue. In this article we will improve customers' onboarding experience by fixing typos in their sign up emails.
The Great Computer Experiment: Ruby Edition
In this article I'll put 4 machines and 5 different operating systems through a true test. What am I trying to achieve? I don't know. But I intend to share my experience with you.
Progressive web application as a share option in Android
With the new Web Share Target API you can register your progressive web application as a share intent on Android devices. This is supported on mobile Chrome from version 71.
Tips for getting a programming job abroad
A few years ago I moved across the globe to search for a programming job in a country where I had no connections in. I'd like to share a few tips with you that will make it easier if you decide to do the same.
Garbage collection in C#
Garbage collection is part of almost every modern programming language. It enhances programmer's productivity by automating the application memory management. This article explains the basic concepts of tracing and generational mark and sweep garbage collection and dives into details of CLR and C# implementation.
Automate your macOS development machine setup
There is a few powerful tools that you can use to set up your development environment on macOS when doing a clean install.
Progressive Web Applications
I had a chance to play with Progressive Web Applications over the past few days and I built a small prototype in Rails. This article tries to give you the answer if it is a good fit your needs or you should stick with classic mobile development.
Using tags to browse ruby and gem source with Vim
Using tags brings your Vim closer towards a fully capable IDE and makes code browsing and navigation easier. This setup allows you to jump into not just the project code but you also inside your gem and ruby source.
Git auto-completion on Mac
Using tab to speed up your git workflow with auto-completion is a must for every developer that likes to live in the terminal.
Summing up records in large CSV with ack
UNIX tools are handy when it comes to processing large structured files full of data. This time we are going to use a simple awk command to sum up numbers in a CSV column.
Maintaining work ticket
Part of being a great developer is to make sure that everyone from your team can take over your work at any time and maintaining a work ticket is one of the prerequisites of that.
How to write work assignments for developers
Communication with developers might seem hard and threatening, but it doesn't have to be. You don't have to shout *scrum* three times while turning in circles before a meeting. You don't have to choose the right colour of post-it notes that matches the current moon phase and goes well with your kanban board. And you don't even have to sacrifice five sharpies to the Agile Gods to speak the developers' language.
Refactoring techniques: replace if with dictionary mapping
A simple technique for refactoring long if statements into a hash when they represent configuration of some kind.
Select files based on CSV with Powershell
A simple script can save you hours of manual labour so it is worth to get some knowledge of scripting languages that are available to you.
Inspecting a source of a Chrome extension
How to view the source of a Chrome extension on Windows machine to check whether it doesn't do anything harmful.
Improve battery life on Linux
There is a small tool for every notebook users running Linux on their machines that improves their battery life.
Offline dictionary for terminal
These two small tools for your terminal are very handy for people using a second language that find themselves often without or on an unreliable internet connection. One is an offline dictionary and the other provides spelling suggestions similar to the Google ones.
Fast and light-weight Linux browser
Chrome and Firefox are not the best browsers on a resource limited machine with Linux, so I was looking for a decent light-weight alternative, found Midori and been happy with it so far.
On the importance of focus in a daily work of a software developer and 3 things that will stand in the way of achieving perfect concentration.
How to check single reponsibility principle
Most of you know that object should have just one responsibility in a good object oriented design, but do you know how to validate it?
Size of Postgresql database on Ubuntu
How to get a size of Postgre database on Ubuntu server via terminal.
Create record if it does not exist in ActiveRecord
A sleek and concise way to retrieve or create a record if it doesn't exist based on passed parameters with ActiveRecord in Ruby on Rails.
Whiteboard for task management
The role of a physical whiteboard for managing task in an agile team. Is it really worth the effort?
Keep Ubuntu virtual machine up to date
If you are too lazy to keep your VM up to date with all the security patches and software updates seek no more.
Forward SSH keys for Capistrano deploys
You don't need to setup SSH keys for your remote server just to access your git repository with Capistrano.
Upload files to Azure Storage with Azure CLI on Mac
This article shows you how to upload files into Azure Blob storage on OS X with Azure CLI tool.
Running ExUnit tests when file changes
3 different approaches of running Elixir tests automatically when a test or source file changes.
Resize images in blob storage with Azure Webjobs
Generate thumbnails and resize images in the Azure Blob Storage with Azure Webjobs on Azure Websites using ImageProcessor.
Increase request length in Phoenix to upload large files
Easy way how to upload files bigger than 8MB in Phoenix framework.
Elixir undefined function xmerl
How to solve undefined xmerl function issue on Ubuntu machine for Elixir calls to Erlang.
Adding Ecto model in Phoenix throws path/3 undefined
Read the output of the generator before starting to panicking that something went wrong while creating a new model in Phoenix framework with Elixir.
Elixir Ecto database create failed on SQL_ASCII
An UTF8 SQL_ASCII incompatibility issue with default postgresql configuration and ecto default settings on OS X is pretty simple to overcome.
Uploading file to Azure Blob storage from Elixir
How to publish blobs into Azure Storage account from Elixir with Erlang erlazure library.
How to host static website with SSL for free
Using Github pages and CloudFlare to host your static website on HTTPS with git publishing support.
Full text search on static website
How to implement a client side search in a single page manner with a search index provided as a JSON. This tutorial uses a static website generator nanoc to create the JSON, lunr.js for performing the client side search and history.js to use URL parameters without a need to refresh the location.
SVG as a submit button
How to use an inline SVG image as a submit button for a form. This technique is also available for any other form of images.
Run shell command and save its output in ruby
How to run unix shell command from ruby program and save its output into variable.
Full text search in rails with pg_search
Adding a search functionality to your rails application is straightforward. If you are using postgresql you can make use of pg_search gem which adds simple scopes to models for you to query.
How to speed up your rspec workflow
Running tests with rails might get slow, but there are tools that can speed up your testing workflow. Spring reduces the initial rails loading time and guard keeps an eye on files and run tests when they change.
Facebook and Twitter link preview
How to create awesome open graph and twitter card link previews for your website.
Create e-book from website with ruby
How to scrape websites and create e-books out of them with ruby and Sigil.
Using monit to keep your rails app alive
Making your services more robust makes your rails application much more reliable.
Improve user experience when using Turbolinks
How to improve user experience when using turbolinks by adding a simple progress bar.
Add keyboard shortcut to Chrome extension
Adding custom keyboard shortcuts to invoke Chrome extension is super easy.
Display SQL in Rails console
Viewing the SQL of Active Record calls is very usefull especially for development. You can display it in your console for every call to database you make.
Having a side project is a great thing and I'll tell you why you should have one and how to get into it.
Enumerator with index
How to get a map item with index in the block? Combine enumerator and with_index methods on a collection.
Respond to different formats in Rails controller
How to act as a web service and share the logic inside controller and respond to different formats.
Fix washed colours with Dell U2414H
How to fix a problem when Dell U2414H is connected with HDMI and the colours are not quite right.
Auto backup and restore PostgreSQL
A simple way how to backup and restore your production postgresql database.
Set default user and key for SSH connection
How to set a default user and SSH key for specific SSH connection without the need to type it every time.
How to maintain programmer's health
A guide to become a healthy programmer without any back pain and repetitive strained injuries. The ancient secrets of the most agile office rats has been revealed today.
Manage windows on OS X
Moving from one operating system to another can be a bit painful and you will miss some of the features from the previous one. This article shows you, how to organise, move and resize windows with keyboard shortcuts on OS X with a fantastic app called Spectacle.
How to check collection for items
Difference between any? exists? when testing for an item presence in collections and associations.
Debug Rails with byebug
Answers the question how to debug a Ruby or Rails application
Remember current session in Vim
A simple tip to save and restore the current session in Vim
When to use self in ActiveRecord models
A simple article about using self identifier in Rails ActiveRecord models
Legacy software development with LINQPad
A funny story from another Wellington .NET User Group meetup
Future of C#
Ivan Towlson brought news about the future of C# straight from the BUILD to Wellington.
Improvements in Bonobo Git Server 3.0 and 3.1
There is a lot of new major improvements in Bonobo Git Server for Windows version 3.0 and 3.1
Font Awesome in ASP.NET MVC WebGrid
Adding Font Awesome icons to places where it is hard to add custom HTML.
Using bower in ASP.NET MVC
Simple guide for installing a front-end library manager bower with ASP.NET MVC.
Avoiding duplicity in Razor with helpers
How to avoid duplicates in Razor views in ASP.NET MVC
Add Git Changes to Bash in Ubuntu
This is the description
Managing front-end libraries with Bower in Rails
What's new in Bonobo Git Server 2.1
Bonobo Git Server for Windows version 2.1 has been released with lots of new useful features.
When should I use exception?
A short article about throwing exceptions in C# with guidelines.
Dynamic Dispatch in C#
Describes how to achieve (multiple) dynamic dispatch in C# with dynamic keyword, visitor pattern and dictionary.
Arithmetic Overflow in C#
What an arithmetic overflows is, how you can handle it in C# and what the best practices are.
Insert Multiple Items in One Line with MSSQL 2008
Microsoft SQL Server 2008 and higher allows you to insert multiple records in just one line INSERT.
Registered Servers in SQL Server Management Studio
Registered Servers window inside SQL Server Management Studio is useful for running queries on multiple servers at once and for grouping them in logical groups.
Phonegap CordovaActivity Problem
How to solve the following error -- No Java files found which extend CordovaActivity -- when using the new version of Phonegap for Android.
Solution Explorer in SQL Server Management Studio
SQL Server Management Studio is built on top of Visual Studio and that means that there are some useful features already available in it. One of them is the Solution Explorer.
Colored Status Bar in SQL Server Management Studio
This is the description
Adding Line Numbers to SQL Server Management Studio
How to add line numbers to query editor in Microsoft SQL Server Management Studio.
Collection Asserts with NUnit
Improve your tests with the use of CollectionAssert from NUnit framework.
Test Cases with NUnit
Using NUnit test cases to simplify your test suites.
Extension Methods with Null Object
Don't forget that extension methods are just a syntactic sugar for calling a static methods.
Add Git Changes to Bash in Ubuntu
How to display git changes and status in Ubuntu bash (or any other) - similar to posh-git from Powershell.
What to do with an old disk after SSD upgrade?
So, you upgraded your PC with an SSD drive and you put an old magnetic drive to a closet? I'll tell you what you can do with it.
Descendants vs. Elements in Linq to XML
What is the main differences between Descendants() and Elements() methods in Linq to XML.
Careful with Serialization
You should always specify invariant culture when serializing and deserializing data with the use of ToString method.
Why You Should Be Able to Work from Home
Few reasons why programmers should work from home on regular basis.
ASP.NET MVC Basic and Windows Authentication Side by Side
This is the description
ASP.NET MVC Forms and Basic Authentication Side by Side
How to have forms and basic authentication in one application.
Butterick's Practical Typography Review
Butterick's Practical Typography is a fantastic book about typography from Mathew Butterick.
Confession of a Public Speaker Review
Review of a book by Scott Berkun called Confession of a Public Speaker.
Show Current File in Solution Explorer
When lost in solution explorer press this magical shortcut.
Custom Fonts for All Browsers with Font Face
This article describes how to embed custom font face to your website in a way that should work on every major browser.
Introduction to Informative Speech
Informative Speech is the most useful types of speeches. There is always an opportunity for performing this speech - work, school, research. This article shares the basics with you.
The Most Important Skill of Programmer
What is the most important skill for a programmer.
How to Improve Speech Delivery
This blog post is aimed to help you with better landing of your presentations. Following techniques helps you to deliver a clear and concise speech.
Defeat Public Speaking Apprehension
Public speaking apprehension or anxiety is one the most common reasons people avoid public speaking as much as they can. This article focuses on simple techniques how to overcome the fear of public speaking.
Access Total Commander Path with Shortcut
How to access Total Commander address-path bar in a browser like way.
Better Structure of Impromptu Speech
This blog post helps you with the structuring your impromptu speech.
Visualize Directory Size with Total Commander
How to visualize directory content within Total Commander.
Introduction to an impromptu speech. Shows and how to focus on delivering a speech clearly and in an engaging way. Describes the basic structure of the speech.
Introduction to Public Speaking
This article introduces public speaking and its importance to your normal life. It gives you an overview on rhetorics and few simple speech concepts.
Pro Tip - Faster XAML Files Opening with Visual Studio
How to open XAML files in Visual Studio with lightning speed.
Pro Tip - Show File in Solution Explorer with Resharper
When lost in the large solution you can navigate to the current file with the simple shortcut.
Remember Username and Password with Bonobo Git Server
You can remember username and password for your git repository with the new version of Bonobo Git Server.
Pro Tip - Navigate Between Class Members with Resharper
With Resharper you can navigate easily between class members.
Blogging with Nanoc
This is the fourth part of the series about nanoc. It shows how nanoc can be used to create a simple blogging engine.
Pro Tip - Change Vim Color Theme
Tips for programming professionals and power users. This one shows how to change color schemes in vim.
Merge Files with Git Merge Tool
This article shows you how you can merge branches in git with git merge and how to use git mergetool for conflict resolution.
Compare Files with Git Diff Tool
This is post shows how to set up difftool in git and how to use it to compare files from git command line.
Nanoc Project Structure
This the third part of the series about nanoc. It describes how the project structure looks like and how the things are put together.
Creating Simple Site with Nanoc
This is article describes how to statically generate simple web site. It's the second part of the series about creating HTML with nanoc.
Introduction to Static Site Generation with Nanoc
This is the first part of the series about static html content generation with nanoc. It describes how to create simple page and shows some basic facts about nanoc.
CSS on Steroids - Introduction to LESS/SASS
This article is an introduction to LESS and SASS based on presentation from Czech Windows User Group called CSS on Steroids.
C# Naming and Layout Guidelines
On the notion of C# naming and layout guidelines to support communication and understanding in the team.
Basic Authorization Attribute in ASP.NET MVC
Describes how to use basic authorization effectively in ASP.NET MVC.
Composing Converters Together in WPF
How to create composing converter in WPF.
How to Design Maintainable Web Page
Describes how to create basic css and html structure for your web site.
Object Oriented Programming - Inheritance
Notes about inheritance in object oriented programming.
Retrieve Computer Uptime in C#
How to retrieve computer uptime in C#.
Shows how to apply autoincrement in PostgreSQL.
MSSQL Select From Union
Shows how to create SELECT FROM UNION construct in Microsoft SQL Server.
MSSQL Default Values
Describes how to set default values for a columns in Microsoft SQL Server.