Skip to the content.

Home

I’m Leon and I like to write little utilities to help people with tasks related to REST API’s and other things.

I work at VMware and I’m a member of the Workspace ONE team.

Projects

littlehomelab

A collection of Tutorials for setting up a home lab for learning and testing Kubernetes, Docker, and other technologies.

WSOneLogConverterForLNAV

A handy tool to convert some incompatible logs into a format compatible with the powerful LNAV log file viewer. Designed for use with Workspace ONE windows Log Bundles.

Features:

ca-for-labs

ca-for-labs - formerly littleCa - Create your own CA for your environment and issue and revoke certificates as needed.

Features:

bashLogger

logging module for bash scripts

Features:

bash_compare_numbers

Comparing integers in bash is included in the base functionality but floating point numbers and version numbers in bash is difficult. This library makes it easier fast for use in bash functions without having to develop your own strategy. The base comparison is using integers so any combination of integers, ascii characters, and floating point numbers can be compared.

By necessity it is opinionated but I hope that it is flexible enough to be useful.

Features:

bashExportCsv

Bash function to export flattened csv files from curl responses or other json.

Why is this needed?

If you have large multi-level json that you want to flatten, for exporting to csv for visualization in Spreadsheets or importing into databases, the modules available lack the multi-level functionality which I prefer. I wrote another project which did this in an Excel Add-on ( using javascript ) but that does not work for the command line.

I found mot of what I needed in jq for flattening json objects and arrays. However, if you try to do the export using jq and bash, the speed suffers immensely and I could only get to 20-30 lines/records per second to export with 500 byte records. This is unusable for large responses from enterprise REST API’s with tens ( or hundreds ) of thousands of records per response so getting a spreadsheet out of a REST query would be very slow.

Using jq and sqlite-utils together, I was able to go from 20-30 records per second to 2000-3000 records per second which is quite usable.

Contributing

Bug reports and pull requests are welcome on GitHub at the repositories listed above. These projects are intended to be safe, welcoming spaces for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.