Building an ErgoDox Keyboard

ErgoDox is an open-source split ergonomic mechanical keyboard.
And being open-source means that you can build it completely by yourself!

I built an ErgoDox keyboard a few months ago and have been using it full-time ever since. I definitely enjoy typing on the ErgoDox and want to describe the build experience just in case someone finds it useful.

Here is my 30-min build video:

Continue reading

Advertisements
Posted in DIY, ErgoDox, Keyboard, Mechanical Keyboard | Tagged , , , | Leave a comment

Two years with Vim

Two years ago I was using Visual Studio Code for my daily tasks, and it was pretty good to me. But then I saw a video from Nick Nisi (vim + tmux) that changed my mind completely.

I switched to Vim and have been using it full-time ever since. And now I want to discuss my experience with this transition and share some of the things that I’ve learned along the way.

Prior to my switch, I had heard a lot about Vim being too complicated and requiring a lot of configuration time. While this partially true, it’s worth it when you consider what the end result is. The end result is a personalized tool which meets your exact workflow specifications.

If you can’t find a beer that you like, it might be time to brew your own. It might take some time until you get the ingredients just right. But it’ll be worth it in the end!

That’s how my editor looks now:

Continue reading

Posted in Editor, IDE, Linux, Tmux, Vim | Tagged , | Leave a comment

F# Mentorship program

Recently I participated in an F# Mentorship program and want to share some great opportunities that it provided.

In this program, mentors and mentees are randomly paired up to work on some projects together for a couple of months.

I was paired with Mårten Rånge, a great programmer who taught me a lot about functional programming!
Continue reading

Posted in .NET, F#, FP, Mentorship | Tagged , , , , | Leave a comment

Merging .NET assemblies using GulpJS and ILMerge

It’s possible to merge a few .NET assemblies into one by using the ILMerge utility. This can be helpful if you want to ship your project results in one assembly but internally you still prefer to break the project into smaller parts (projects and libraries).

Another good practice is introducing build systems like the GulpJS, to your projects, especially if these projects have multiple steps in the build flow.

So in this post I’d like to share my experience of using the ILMerge in the GulpJS build system.

Continue reading

Posted in .NET, build, GulpJS, ILMerge, nodejs | Tagged , , , | Leave a comment

Fix for Security and Indexing Events – Sitecore 8.1

Recently I played around with Security and Indexing events but was not able to get them to work on the latest Sitecore 8.1 rev. 151207 (Update-1) version. However, I was unable to trigger any events.

This issue involves two event groups:
security:loggedIn
security:loggedOut

index:start:rebuild
index:end:rebuild

It turns out that these events don’t work properly in Sitecore 8.1 rev. 151207.

Sitecore Support has provided workarounds for these two cases, which I will describe below.
Hopefully, this will save you some time as you work with these events in the current version of Sitecore.
Continue reading

Posted in C#, Sitecore | Tagged , | Leave a comment

Razl – Keep Your Sitecore Synchronized

Let’s talk about Sitecore synchronization.

Sometimes a new feature needs to be tested with a set of real data. For example: Content Management(CM) data a UAT server.

There are common approaches like restoring DBs, creating packages, serializing items, etc. However, there are tools specifically designed for this task.

Continue reading

Posted in build, PowerShell, Razl, Sitecore | Tagged , | Leave a comment

How to avoid NullReferenceExceptions while working with Sitecore

Today we’ll talk about our favorite exception in C# 🙂

The purpose of this article is to help rid the codebase of nulls and create somewhat of a “null-safe” domain where everything can operate smoothly without nulls creating object property access issues (e.g. item.Parent.Language.Name)

I work with Sitecore, so all of the following examples will use Sitecore objects. But this approach could be applied to all “nullable” objects (which are all reference types in C#).
Continue reading

Posted in C#, Sitecore | Tagged , | Leave a comment