MiniZinc is a platform for developing Constraint Programming models and solving discrete optimization problems. In this post, we describe the MiniZinc installation on Debian Stretch. Despite the targeted operating system, steps presented below should be easily portable to other Linux distributions.
Latest Posts
-
MiniZinc Installation on Debian
Linux November 11, 2018
-
CMake Project with Third-party Dependencies
Setting up a build for a new software project requires foresight and experience. Decisions made at this step influence compilation time and effort needed to configure a development machine. Having in mind that there is no replacement for practice, this article aims at providing a baseline configuration for other a C or C++ projects that will be built using CMake. The post targets persons who did not cut their teeth on CMake and consider it as the build tool in their own project.
-
Visual Studio Code as Latex Editor
Latex January 30, 2018
This article provides instructions how to setup Visual Studio Code for writing and editing Latex documents. Our previous article on this subject became obsolete due to recent changes in the editor and its plugins. This post aims to provide the most accurate and up to date configuration. Repeating steps of the tutorial should deliver a robust working environment for Latex with syntax highlight, spell checking and live document preview. The post is concluded by feature comparison between Visual Studio Code and Overleaf.
-
Personal DEB Package Repository using GitHub Pages
Linux June 30, 2017
Keeping a project build in a manageable time range is an important prerequisite for an efficient software development workflow. The more complex projects are the more time, automation effort and tools required to develop and maintain an efficient build pipeline. Regardless of a scale and type of a project the core principle of avoiding unnecessary work is worth applying.
This tutorial presents an approach to simplify a build process by creating a package of a third-party software component upfront and hosting it in an external package repository. It is an alternative to building a component from sources on a development or continuous integration machine.
-
Scalable and Cost Effective Linux Administration
Linux May 20, 2017
Managing multiple machines without automation and tool support could be an annoying duty for a creative person. There are many ways to better spend time than to execute the same command on each machine. Nowadays, a professional system administrator should be able to build and manage networks of thousands computers. Even if a system administration is not your full-time job and the cluster to manage is two orders of magnitude smaller it is still worth to use your time effectively. Why not invest some time upfront and master a few key skills to better manage Linux machines in the future?
-
Device Drivers Installation on Linux
Linux April 22, 2017
Linux operating system family has not yet came with a robust solution to automatically detect missing drivers and install relevant firmware in the background. Fortune favours the bold, so don’t be discouraged by the lack of this feature. This post aims to provide you with general purpose instructions how to find packages with drivers that are required by your hardware assuming firmware is available for your Linux distribution.
-
Linux Productivity Tricks and Tips
Linux April 15, 2017
This article is a the collection of Linux customizations and productivity tricks. Instead of looking for relevant commands in my memory and in the internet every time I need them I decided to organize them here. I hope you will find them useful too.
-
Visual Studio Code as Latex Editor
Latex March 29, 2017
From anecdotal evidence engineers tend to carefully evaluate a tool before including it into their standard toolkit. Naturally, products they spend most of time working with become subject of day to day conversations and an inevitable source of complaints every time they hinder productivity. This article presents a Visual Studio Code as a robust editor for the
.tex
files that does not cause much headache. -
Troque Installation on Ubuntu
Torque is an open-source cluster management system deployed in many supercomputing facilities around the world. A quick search in Google returns me a list of Torque user guides from servers in USA, UK, India and Germany on the first page. Despite wide Torque adoption and extensive Administrator Guide I found it difficult to set up a managed cluster on a dozen of computing nodes with no prior experience. Sources of my problems were no official support for Ubuntu by Adaptive Computing, the company who maintains Torque, and lack of examples for Ubuntu in the Administrator Guide. The goal for this article is to fill this gap by providing detailed setup instructions for configuration of a Torque cluster with two computing nodes running Ubuntu Trusty Tahr 14.04 LTS.
-
Job Submission in Torque
Torque job scripts are developed in a Unix shell or a scripting language with a shell interpreter. Common examples of both approaches are Bash and Python respectively. This post will explain how to submit a Torque job to the batch server and specify extra requirements that should be satisfied by the runtime environment selected to run the job.
-
Job Management in Torque
This post provides general overview of tools for querying, filtering, cancelling and tracing of Torque jobs.
-
Application Virtualization using Turbo.net
Windows Virtualization February 17, 2017
Application virtualization is a powerful concept where instead of virtualizing entire operating system to run an application, the application is being ran in an isolated sandbox also known as container. Networking stack and audio drivers will not be loaded if you are running Excel. Using the analogy to cell phone carriers, you pay as you go and the offer is tailored to your needs.