Yes, it’s me who spends long winter holidays playing with children’s toys. We bought a wonderful LEGO BOOST creative toolbox for my son, but I insidiously picked it from the child and started enhancing it with Python to add Voice Control to order the robot simple movement commands. Sometimes it obeys my Russian English, but not always 😉
Sources and installation instructions are on Gitlab. Feel free to message me on any issues.
The year is almost near the end and I’m feeling Christmas in the air already, now it’s time to recall what was done and count some results.
So, the first half of the year I used GitHub as a platform to store my code and manage updates.
As you see, I didn’t do many commits every day. That’s because I’m too lazy I still prefer developing old-school ways (yes, blame me for that 🙂 ) and keep all changes on my PC, pushing only valuable changes to public repositories. Also, I mostly code in my free time: in the evenings and on vacations, therefore you can see empty gaps between commits.
The other reason is that my favourite the BeaST project has a main page only on my blog and the BeaST Quorum (BQ) source code on SourceForge platform.
In June I migrated most part of my code to GitLab, though I didn’t also delete the GitHub account for references and history.
So, what projects can I mark “successful” this year? Actually, I’m looking sceptically at all of them, but at least I feel less shame mentioning these projects, code and activities:
The BeaST storage system at Open Analytics – a consulting company specialised in supporting the data analysis process of its customers end to end. Together, we have launched tests of the BeaST on a real bare-metal hardware. And it works! After functional tests the BeaST is going to be a LUNs provider for the Kubernetes cluster of the Open Analytics testing environment. I promise to write a post (or two) about this significant milestone in the life of the BeaST project.
svcstats – a CLI stat-like utility for reporting IBM SVC/Storwize storage system performance statistics using SMI-S interface. Though I started coding it in 2017, a lot of work has also been done this year.
sp_ping – my own simple ICMP ping implementations in Python. It supports both IPv4 and IPv6 protocols as well as unicast/broadcast/multicast requests. It’s code I later reused in the Net Radar – Simple IP networks browser software, which is currently in the early development stage.
ds8k_perfs.py – Another stat-like utility. It displays Open-systems performance metrics for IBM DS8000 storage system in CLI. Utilises SMI-S protocols as well.
supermatic – a simple HTTP server I wrote just for fun as Bourne Shell script. Yes, It’s a toy, but who cares? 🙂
Celebrating another birthday of Empty – my expect-like tool to automate interactive tasks.
Though, I didn’t pay much attention to it for some time, it collects more and more mentions over Internet. It looks like Empty is mostly useful in hacking, IT-security, science and even teaching.
After more then 10 years from the first release in August, 2005 it has around 500 downloads per month and now you may find it everywhere from computing clusters to embedded systems, various small Raspberry (and not only) devices, routers, modems and so on. And here are the most intriguing references and usage cases.
sp_mping6.py -i interface [-a address] [-m ttl] [-t timeout] [-v]
-i interface Interface to work on
[-a address] IPv6 multicast address to ping or ff02::1
[-m ttl] TTL of outgoing packets. Default is 64
[-s number] Packet sequence number: 0-65535. Default is 0
[-t timeout] Timeout on socket. Default is 5
[-v] Be verbose (show more info about packets)
Note! You must be root to run this program.
And finally, sp_ping project page is here. Sources are there.
Wohoo! This Sunday was awesome: I have just added IPv6 support to my own ICMP ping implementation in Python 3. Amazing, but it works: I’m not sure about Linux, but it successfully pings Google from my small FreeBSD box 🙂