Understand Functional Programming in 20 Minutes

Functional programming has a reputation for being notoriously hard to understand. In this post, we examine its basic principles, abstractions, and building blocks. Hopefully, after reading this, you will be able to decide for yourself whether you really want to embark on a trip into this wonderland.

Read More

How to Design Software Systems?

The notion of software design may imply a multitude of various aspects. For example, it may be concerned with the quality of user experience or subtle intricacies of project management. If you are asking yourself more mundane questions, such as: “How should I assign responsibilities to these classes?” or “How to implement API of the service layer?” this post is for you. We begin with well-known basic concepts that you may have encountered elsewhere, but not suspected that they are all parts of a larger picture, and finish with rarely-read graduate-level literature. Maybe in the end, you will find your own answer to the question - how to design software systems?

Read More

The new life of command interfaces

Command interfaces - an integral part of life in the 1980s - gain a new breath with the advent of Enso Launcher and iShell Extension. Although graphical user interfaces have opened a new world in the computer industry, in certain domains text commands still offer advantages in usability and accessibility. With the tools mentioned above, you can create powerful commands that will free you from routine GUI interactions.

Read More

Create dynamic capture templates to use with org-protocol. In Windows!

org-protocol offers a nice possibility to capture URLs along with some selected text from many web-browsers into Emacs org-mode. But most of the tools you can find out there allow a little control over the process - usually, it is only possible to put just plain text into some hard-coded org file. Below we develop an iShell Extension command which allows to capture org-formatted text under any headline in one of the several user-specified org files. If you are interested only in iShell or only in Org (or only in Windows), you may still skim through the code to find out how things work.

Read More