I worked for Corduro while I was going to school and I worked entirely for equity in the company. Also, I often set my own hours, so you could say that I was something like an intern since I was going to school and had flexibility,

but also something like an employee since I had equity in the company, and did work between 20 and 40 hours regularly.

I would say I became very comfortable working with Android, the Android lifecycle, working with Android Studio etc.

The entire time I worked there, I refactored a large code base someone else…

5 minute Video Version can be found here:


Links to all demos in the description.

Link to the Slideshow: https://docs.google.com/presentation/d/1Rd4Ywcp8urxz1l6OwqTdsD26s3WtTTHwS67w1LNqZco/edit?usp=sharing

Links to demos interspersed throughout the article below.

2016 — Frontend —

Frontend in QML, all sorts of controls, dropdowns, menus, toggle buttons, radio buttons, curve tools, graphs, selection tools, transform tools, masking tools, ellipse tools.

I became very familiar with QML, writing base classes in QML, I tried to use the Composition Design Pattern whenever I could.

Wrote/Edited some small amounts of shader code, GLSL,

Very familiar with throwing around QVariantMaps between C++ and QML,

Signals and Slots, QtObject class etc, using…

I have made a YouTube video with voiceover showing these steps here: https://www.youtube.com/watch?v=t44Xt1vWNxU

This tutorial I made on Windows, but you can apply this technique on any OS.


Selenium is often used for automated testing in the browser, but can be used for automating all kinds of things in the browser. If what you’re automating involves logging into an account, this shows how to load your login cookie so that when you launch the browser again, you will already be logged in when you go to your site.


You must have python installed.

You can do:

$ python --version

I used to put everything into Jenkins that I could because,

other people seemed willing to use its bubbly interface and that meant people would use it and go click a button or two and get what they needed instead of interrupting me (and my precious programmer flow). Bless their hearts, it’s not their fault, but I need to preserve my ability to concentrate,

so I fell in love with Jenkins,

I learned many fancy tricks and I liked how you could duck tape stuff together but, I was making long Jenkins files that did a lot of stuff.


Video Version: https://youtu.be/Tiq_vea5Eqg

If you’re running into this error when using OnnxRuntime in Python, it’s because you’re missing a Cuda dependency or something,

ImportError: cannot import name 'get_all_providers' from 'onnxruntime.capi._pybind_state

The OnnxRuntime doesn’t make it super explicit, but to run OnnxRuntime on the GPu you need to have already installed the Cuda Toolkit and the CuDNN library.

First check your machine and make sure you have a Cuda Enabled Card. If you have a pretty recent NVIDIA card you are probably good, but go to the NVIDIA website and check the compatibility tables and make sure if needed.

The Windows…

Language: Java

java 11.0.9 2020-10-20 LTSJava(TM) SE Runtime Environment 18.9 (build 11.0.9+7-LTS)Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.9+7-LTS, mixed mode)


My Java dir in Program Files

OS: Windows 10

Error Message screencap

Got this error running Conan on MacOS, trying to build a package that required opencv 4.5.0 to build from source.

On first glance it looks like OpenCV is messed up or maybe conan but if I look up past all the red text I can see the real original cause of the issue. The red text is just a cascading consequence of this original error message.

For this reason, I do advise not to stop reading a log at the first error message you find, but instead to try to see if there is some cascading effect and to see…

some rainbow bash for the kewl colors

A for loop is a relatively simple concept, but I wanted to break down the syntax here because under the hood, bash is very much, and I cannot exmphasize this enough, not C. I do try to see what’s happening under the hood though so that when I copy paste from StackOverflow and it doesn’t work, I can actually troubleshoot.

You can loop through arrays in bash like this

array=(thing1 thing2)for i in "${!array[@]}"; do
echo ${array[$i]}

If you want to iterate through pairs, an easy way to do that would be something like this:

xvalues=(x1, x2, x3)

Note: please feel free to comment if the tutorial does not help you and why. Also, I do check my email on weekends, please feel free to send requests to ashley.tharp@gmail.com for tutorials and feedback.

Error Message from Git Bash:

bash: pip: command not found

Error Message from DOS command line:

'pip' is not recognized as an internal or external command,
operable program or batch file.

If you’ve literally just installed Python, you may want to rerun your Python installer and make sure you check this box:

If not, no worries, you can add Python and the PIP directory to…

Ashley Tharp

Want to hire me? Summary of my recent work can be found on this account. More info at ashleyntharp.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store