Category Archives: General Technical

VirtualBox supports multiple monitors…

I’ve been using VirtualBox pretty heavily to partition things out on my systems where some tasks require setups that clash at the OS level.

I generally find multiple monitors to be exceptionally helpful in software development settings. I’ve been running with my Virtual Box VMs on one monitor and using the other monitors for host OS based windows…and this has worked pretty well.

This morning I decided to take a look at the configuration settings for my main VM and to my delight I found that it is possible to configure additional monitors and place them on the desktop. This should streamline things when developing on a VM as it allows me to keep my IDE full screen on one screen while using a second for other activities.

Now if I can only figure out how to make Docker and Virtual Box live together in harmony at home (Docker wants Hyper-V while Virtual Box can’t run under that hypervisor) I’ll be feeling pretty happy.

Automation for PDF Viewing

I’ve wanted to automate view management for PDF documents for some time. It would provide a way to make locating the document I want and getting content up on the screen amid a mass of technical documentation much easier (and with the cryptic names that many companies use for their pdf files that can be a big deal).

Ideally I’d like to access the viewer over something like a DCOM automation link with full control over the view state and other particulars. In a pinch, I’d settle for process control, cross process window size and location management and some command line arguments to force the view mode and initial page view.

Here are some pages that might be helpful with this (still reading things but trying to keep a record here).

Another approach would be to find a PDF renderer that can be run inside a C# or C++ process. Looking there as well… Suspecting there may very well be a project or two on GitHub.

Continued RepRap work

Looking to take some more steps forward on a RepRap printer. I’ve got at least some of the electronics for a baseline machine and the Prusa i3 has a wood frame option that looks very attractive.

Electronics list is here,. and a comparison chart here. Alternatives here.   RepRap DIY (looks like a European site). Heated bed discussion. Very much hoping to be able to buy (either as parts or a full assembly) an aluminum plate heated bed like the one in the commercial Prusa i3

Prusa i3 github site. I’m hoping this is where all of the directions, instructions and parts lists live…

More progress on the controller front…

I’ve picked up some representative AVR based boards to supplement the ARM based RPi board I have around the house. Between the two, I expect that a pretty capable solution can be put together. The ARM running Linux and providing high level business logic and user interface while the AVR boards provide hardware level control and real-time ‘fast twitch’ capability.

The ATMega2560 is a high-end device with generous resources in pretty much all relevant areas. It is quite a bit more expensive than the lower tier parts and I’m inclined to look at a finer grained approach initially.

The ATmega328 is the ‘common’ controller in this line. This is the part that powers most of the Arduino line of boards. It has relatively limited resources but with multiple timer/counters and an I2C link should suffice for most of the sorts of tasks I’m looking at. This is a fully featured board, but I have a package of five free-standing boards on the way. These boards run less than $5.00 a piece but have no integrated USB capability and thus need either an ISP programmer or a separate USB to RS232 converter to load with code.
The last three small boards I picked up for sandbox purposes are ATmega23U4 boards. These use the AVR controller that has built-in USB capability. I’m very interested in what can be done with this support as it should allow coding of various sorts of USB devices using the native hardware on the parts.

I’ve had these pololu stepper controller break-out boards sitting around for some time now. They’re destined for a RepRap machine (assuming I ever find the time and budget to finish buying components). They’re H bridge, step and direction style stepper controllers with an Allegro A4988 device. I’m expecting to push these together with a stepper motor and at least see it responding to commands in the near future.

Once I’ve got a stepper running at least a bit, the next step needs to involve more mechanical parts…probably makes sense to get the real RepRap implementation rolling at that point.

I am a bit curious about ARM based possibilities…something like a cortex M0 with a free/open source RTOS running on it. This would certainly allow for more to be done with fewer independent controllers…though the relevant pieces remain to be worked out. I’m suspicious that the RPi SOC is too poorly documented to work here…would need  a lower end, more dedicated part with a board support package for something free and capable…more to come.

Just bought some eBooks on Kubernetes

A container coordinator isn’t something that is all that likely to be important to me in the immediate future but given that docker keeps showing up in java spring related tutorials I’m inclined to take a look at the technology.

It sounds as if the docker equivalent has largely fallen flat and kubernetes  is the solution I’m seeing most frequently out there.  I’m not sure when I’ll find time to do more than skim these, but interesting technology is always worth a look…

Machine Learning and Feature Extraction

I’ve been doing a bit of reading on machine learning lately as the field shows great potential for making a range of hard things easier.

One thing I have noticed pretty consistently in the books I’ve been going through is that they address the recognizer and statistical side of things in great detail but pass by the feature extraction side rather quickly.

It seems as if this approach misses some of the most challenging aspects involved in making a useful machine learning system. Given a blob of raw data, the identification and extraction of features that are suitable for processing by the ML system on the back end is non-trivial. Most of the sorts of data that I’d find interesting to process fall into this category.

Perhaps I’m missing something here, but it does not appear to me that feeding the entire photograph or audio stream to the machine learning algorithm is the intended approach. I’ll keep reading and sandboxing things (no real sandbox activity on this front yet as other priorities are ahead of ML in my queue). Hoping that I’ve missed something and this is less challenging that it appears from my current perspective.

Struggles with Ubuntu

I have Ubuntu 17.04 installed on one of my NUC machines as a place to run Linux code. I haven’t used it in a while and now I’m finding that it fails to connect with its apt-get repositories and cannot update to 17.10. I’ve done enough google digging and come up with nothing convincing and so I’m on the cusp of blowing everything up and loading it clean.

I think I may just go with the LTS version 16.04.3 as I expect that will have longer useful life and be easier to upgrade to version 18 when it drops. I’m mildly tempted to go to 17.10 and just accept that upgrades to Linux are really clean installs. Not thrilled with that as it means reinstalling everything else each time but I’m finding that I don’t do enough Linux work to maintain the skills to dig deep and fix the routine issues that pop up.

More Functional Programming and some MERN

Functional and Haskell

I’ve been reading through the Haskell book I bought (the C# functional programming book isn’t here yet). So far, Haskell functional programming still looks like a gimmick more than a set of useful tools. I’ll keep reading through to the end and likely play with the language a little before I’m done.

I’m looking forward to the C# functional programming book as I’m hoping it will provide a more practical view of what functional methods bring to the table. Working in a hybrid environment should allow the best of both worlds to shine and allow any awkward spots on one side of the other to be worked around.

MERN and Bootstrap and Things…

I’ve also been rummaging through a book on using node with react rather than angular 2/4. Seems like an interesting option as react sounds less proscriptive than angular. As with angular 2 the react tool still needs a CSS library and also similarly this book suggests bootstrap.

I need to sit down and code up a simple sample program that self-hosts a web server (probably OWIN based) and presents a web UI and perhaps a handful of RESTful web methods as a trial. Not sure whether I’ll go with react or angular 2 for this. Stay tuned…

Oh…also picked up ‘Learning Bootstrap 4, Second Edition‘ to read a bit more about bootstrap along the way. The Amazon web UI framework was bootstrap derived I believe so I expect this to  be somewhat familiar…

I am looking at self-hosting partly because node doesn’t play as nicely with windows as it does with linux and I’m mostly windows based. It is also rather nice to have a one-stop simple web UI hosting option that can get access to native code as needed. The NSSM package seems as if it provides a reasonable way to host something like node as a boot time startup service…I’ll probably play with that at some point.

Interesting…there is a package manager for windows called ‘Chocolatey‘ that seems to be an option for deploying NSSM… 

Continuing to read about functional programming

Functional programming techniques are becoming more mainstream (and more generally useful) and I’ve been doing some reading to come up to speed.

I’ve just ordered a book on Haskell. Haskell seems to be the functional programming equivalent to SmallTalk for object oriented design…a pure functional language.

 

I’ve also ordered a book on functional programming in C#. While C# isn’t a purely functional language, I am far more likely to build things in C#. I’m expecting the combination of these two books to give me a decent combination of theory and useful practice.

Javascript is really where I first began running into functional approaches. I’m still working on getting my javascript up to where I’d like it to be. The javascript world is currently pretty hard to keep up with as things continue changing at a frantic rate. I’m expecting to spend a weekend soon adding a self hosted web UI to one of my ongoing sandbox projects…probably something Angular 2 with a C# back end, but we’ll see…

Continue reading Continuing to read about functional programming