Roman Kagan

26 posts
Roman started working as a programmer as a teenager when he was hired to hack Prolog at a Minsk artificial intelligence lab. Roman was one of the first developers using Java to create web applications. Since 1991, Roman has been consulting for companies including Hewlett-Packard, EDS, GM, Ford, Chrysler, Fanuc Robotics, Comerica and Polk.

Jewish Calendrical calculations

A well-known mnemonic for calculating days of the week is the Calendar Atbash. An Atbash is a simple cypher where the first letter of the alphabet is replaced by the last, the second by the next to last, and so on. Thus Aleph is replaced by Tof, Beth by Shin […]

About C++ 11

C++ is a very popular language and after 30 years, it’s still widely considered a best choice for many types of projects, including large scale systems and applications coding. If you consider the layers of technology in a computer system as a stack, C++ is used to write code at […]

Best practices in designing RESTful APIs

An affordance is a quality of an object, or an environment, which allows a user to perform an action. You can follow these steps: Identify stakeholders Identify activities Break activities into steps Create API definitions Validate API The following questions should be asked: Can resources exist one without the other? […]

How to set AWS Command Line Interface

pip install awscli Usage The AWS Command Line Interface User Guide walks you through installing and configuring the tool. After that, you can begin making calls to your AWS services from the command line. $ aws ec2 describe-instances … $ aws ec2 start-instances –instance-ids i-1348636c … $ aws sns publish […]


Knockout.js released by Steve Sanderson in summer of 2010. Although Steve works for Microsoft the decision to release knockout.js as an open source project was right. It is a standalone javascript library relying on MVVM and Observable patterns. The key principles of knockout.js are: * a clear separation between domain […]

Installing CUDA Toolkit 5.0

Installing CUDA Toolkit 5.0 on Ubuntu 11.10 Linux The following explains how to install CUDA Toolkit 5.0 on 64-bit Ubuntu 11.10 Linux. I have tested it on a desktop with AMD Phenom II X4 CPU, 4GB RAM, 1TB hard drive, 800W power supply, and NVIDIA GeForce GTX 650 graphics card. […]