Sunday, March 3, 2019

big release weekend

during this weekend I have released pair of my pet projects:
Mvn-Golang now can not only install artifacts into Maven repository but also use them as dependencies. SciaReto distributives have been reworked and now including JDK image, so that user doesn't need preinstalled JDK.

Monday, January 14, 2019

mvn-jlink 1.0.0

Java provides some modularity since Java 9 (project Jigsaw) and it provides way to build JDK images containing only needed modules. There are two nice tool in JDK called jdeps and jlink which helps in build new JDK image but I use maven to build my own OSS projects and I wanted some way to automate process. So I have developed and published maven plug-in MVN-JLINK which can call jdeps and jlink (and any tool provided by JDK) and even it can load and unpack OpenJDK builds from Adopt and Bellsoft (Liberica).

Sunday, December 2, 2018

DOSBox as container

During development of test ROM for ZX-Poly I had to use some compressing utility written by Vyacheslav Mednonogov in 1993, unfortunately I could not find any sources of the utility and it is presented only as executable file for MS-DOS. I wanted some more or less cheap solution to start the utility under Linux (Ubuntu), to get it working over some external file and get result of processing. I found some solution with DOSBox which is provided in standard Ubuntu repository. If you have not installed the emulator, you can use

sudo apt-get install dosbox

In my case I use such command line to execute utility xlpz.exe:
dosbox -c "cycles max" -c "MOUNT E $XPLZDIR" -c "MOUNT D $DIR" -c "d:" -c "e:\xlpz.exe $FILENAME" -c "exit"

where:
  • $XPLZDIR - directory where xlpz.exe is situated in host OS, it will be mounted in DOSBox as drive E 
  • $DIR - directory where data for processing is situated (it will be mounted in DOSBox as disk D), the result will be written in the same folder
  • $FILENAME is the file name of file to be processed but without folder path because for the utility it is situated directly in the root of D drive 
I use cycles max to maximize speed of work of the DOSBox because I don't need any real-time delay.The exit in the end of the command line tells DOSBox to stop work after utility work completion.

Unfortunately there is not any directive for DOSBox to not show its UI part but it is not big evil in the business.

Sunday, February 18, 2018

GWT+GoLang

I made some experiment how to use GWT technology as GUI for Golang applications and formed it as a some easy small example project on GitHub. It shows very simple example of communication between GWT front-end and Golang back-end.

Thursday, January 18, 2018

how to create Golang project with maven archetype

I have made small GIF which shows how to make a GoLang project with maven archetype and build it
mvn archetype:generate -B -DarchetypeGroupId=com.igormaznitsa -DarchetypeArtifactId=mvn-golang-hello -DgroupId=HiGo -DartifactId=hello

Tuesday, December 19, 2017

Conway's law

I guess the Conway's law is one of the most important ones in software development:
"Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure."
http://www.melconway.com/Home/pdf/committees.pdf

Thursday, September 21, 2017

JDK 9 + JEP-238 + Maven + Preprocessor

I have made small example project to show how to use Java preprocessor and Maven to build multi-release JAR (as described in JEP-238) which is supported in JDK 9.
https://github.com/raydac/jep-238-jcp-example