We have been searching for horse trailer and wanted to learn the types of things people consider before buying one. We started with this video by Equine Helper:
HORSE TRAILER SHOPPING TIPS! (watch before buying)
The length of your vehicle’s wheelbase (longer is better).
The difference between the weight of the vehicle and the loaded trailer.
The vehicle’s braking system, e.g. can it use the trailer’s brakes?
The limits on the vehicle’s payload (weight of passengers & cargo inside the vehicle itself) when towing.
Trailer style:
Straight load vs slant load vs stock trailers. Stock trailers don’t have support (e.g. for sudden braking), are open so projectiles can injure your horse
Trailer ventilation: (e.g. untreated ceilings can get really hot). Consider one with windows that can open, or ceilings that can be opened.
The hitch on the towing vehicle needs to support the tongue weight of the trailer.
The receiver needs to match the ball size of the trailer.
The next video was helpful since his perspective is informed by his profession.
To Shoe or Not to Shoe – Part 1 – Ask a Farrinarian
Cost of Horse Ownership
After having our horse reshoed more often than is reasonable, I looked ran this search: how much does it cost to own a horse – YouTube? It’s interesting how many of the results for these horse queries are from Equine Helper.
Some of the factors affecting the price of a horse include the:
The discussion in the previous video mentioned a number of breeds, none of which I’m familiar with. The List of horse breeds – Wikipedia is much longer than I expected! I look up horse breeds on YouTube and find this video of her favorite breeds. She lists these:
Our horse is a Thoroughbred and is 16 hands tall. This is another thing that has puzzled me. Why is horse height measured in hands? Looks like it goes back to before standardized units as explained in the video below.
Working with your horse
Our thoroughbred had a leg/foot injury. After a few weeks without being able to ride him, he was quite a handful when my wife hopped on him once more. She worked with him, and things are much better. However, I decided to learn what advice is given on how to not get thrown off a horse and what to do if it happens. This next video is one of the results I found on this. It includes tips like keeping your nose behind your belly button, learning how to do a one rein stop (while not leaning forward), and getting off as soon as you feel uncomfortable.
5 Tips To Keep You Safe Riding A Horse
A YouTube suggestion that came up afterwards was this video on gentle horse training. I find the approach interesting because she shows the frustration of the horse and the progression of the training.
Why gentle horse training beats high pressure everytime
One of the risks that came up when working with our horse was the fact that we didn’t have a round pen. I didn’t know why a round pen is used – and why is it round anyway? The Benefits of Using a Round Pen | Ride Magazine came to my rescue: you don’t have to teach the horse to stay out of the corners! The round pen size needs to match the speed/character of the horse as well.
…what is neat about a round pen, it is a small, quiet, safe environment and it makes it easier to get control of the feet.
One of the things I’ve found myself marveling at is how such an animal can be so big and muscular while just eating grass. Where does the protein come from? And this horse really likes alfalfa, which I had seen around the property without knowing what this plant was. I haven’t looked too keenly but there didn’t seem to be any videos addressing the breakdown of the nutritional value of grass.
The Ultimate Horse Diet | Health & Fitness
A search for videos on the nutritional value of hay – YouTube is closer to what I want. I like this next video for its overview of things hay growers consider:
Harvesting hay to feed our cattle. What makes for high quality alfalfa hay.
There are so many considerations in horse ownership. I’m happy to have my eyes opened into how this world is run, not to mention a new appreciation for some of the rodeo performances!
I was recently in a brainstorming session with a colleague about garbage collection scenarios. He suggested using mind mapping software, and I must confess that this was the first time I was hearing about this (as far as I can recall). We wanted a free program. Our search turned up freeplane (which can be downloaded on Sourceforge). As per my usual habits, I decided to build it from source myself (I especially get this urge when I run into Sourceforge download links). Fortunately, the sources are hosted on GitHub.
git clone https://github.com/freeplane/freeplane
Since this is a Java codebase, I searched for “eclipse java” to get an IDE. The Eclipse Packages page has the Eclipse IDE for Java Developers (I downloaded the Windows x64 version). The project uses gradle but I didn’t know how to open it in Eclipse so I asked Microsoft Copilot (Bing Chat) how to “open a gradle project in eclipse”. One of the results was from the Import existing Gradle Git project into Eclipse – Stack Overflow page, which points to the Buildship Gradle Integration plugin. I launched Eclipse, created a new workspace and tried to import the project but got an exception that ended with:
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 65
at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:199)
at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:180)
at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:166)
at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:287)
... 180 more
I was not sure how to run the application. I had unloaded it and reloaded it. I asked copilot “how to run an imported gradle project in eclipse” and the last step is to right-click on the project and choose Refresh to ensure Eclipse recognizes the changes. This time, the project explorer folders are rearranged, and version numbers are appended after each project!
I right clicked on the freeplane project, selected Run As… Java Application, then chose the Main (org.knopflerfish.framework) application and clicked OK.
This text appeared in the console but no application Window appeared.
Knopflerfish OSGi framework launcher, version <unknown>
Copyright 2003-2020 Knopflerfish. All Rights Reserved.
See http://www.knopflerfish.org for more information.
Created Framework: org.knopflerfish.framework, version=8.0.11.
Framework launched
I was not even sure how to terminate the application so I asked copilot “how to stop a running java program in eclipse”. Yes, it has been that long. Forgot about this button.
I then downloaded freeplane_bin-1.11.14.zip to explore the UI and see if I could track down the strings from the menus… I found some resource files that but that was not helpful, so I continued exploring other projects. I finally stumbled into the freeplane_framework project. Clicking on “Run As… > Java Application” revealed that it has a Launcher project! I had been looking for a project like this. It failed with this error in the console window:
Exception in thread "main" java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release
at java.base/java.lang.System.setSecurityManager(System.java:430)
at org.freeplane.launcher.Launcher.launchWithoutUICheck(Launcher.java:291)
at org.freeplane.launcher.Launcher.main(Launcher.java:88)
I manually set the disableSecurityManager field to true to bypass this issue. The application finally launched!!
Launching Freeplane in Eclipse on macOS
I decided to try this process on my M1 laptop. I downloaded the macOS AArch64 Eclipse IDE for Java Developers, accepted the default workspace path, and clicked on the “Import projects…” command in the package explorer. I selected the “Existing Gradle Project” import wizard then clicked Next.
For the “Project root directory”, I browsed to the freeplane repo: /Users/saint/repos/freeplane then clicked on “Finish”. There is a helpful message in the Gradle Tasks pane (which shows up by default): Click on the Refresh Tasks button to get the structure and the tasks for project.
A message in the status bar flashed by fast but nothing else happened in the IDE. I confirmed that “Buildship: Eclipse Plug-ins for Gradle” was listed in the Installation Details (Eclipse > About Eclipse).
I didn’t have the console view of what could have happened though so I enabled it via Window > Show View > Console. Aha, looks like the same error that happened the first time in Windows (not even sure how that got resolved at this point).
FAILURE: Build failed with an exception.
* What went wrong:
Could not open cp_init generic class cache for initialization script '/Users/saint/eclipse-workspace/.metadata/.plugins/org.eclipse.buildship.core/init.d/eclipsePlugin.gradle' (/Users/saint/.gradle/caches/8.1.1/scripts/2to4is5l87jn9v7vrcgka57e).
> BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 65
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
CONFIGURE FAILED in 568ms
The Specific Gradle version dropdown has many options. I selected 8.8 then clicked on Apply and Close. Refreshing the Gradle Tasks still didn’t do anything. I closed the project and reopened it and now all the tasks showed up in the Gradle Tasks pane. However, the Run As option on the freeplane_framework project only had a Run Configurations… option. After some poking around, I discovered that just like on Windows, I need to expand the project, right click on the build.gradle file, then select the Gradle > Refresh Gradle Project to get the Package Explorer to refresh. This hides the top level files in the project. Now I could right click on the project and use the Run As > Java Application command. Selecting the “Launcher” Java application resulted in previously mentioned error message so I manually set the disableSecurityManager field to true. Freeplane finally launched successfully!
Summary: How to launch Freeplane in Eclipse
Clone the repo: git clone https://github.com/freeplane/freeplane
Set the gradle distribution to 8.8 (on Windows/Linux, use Window > Preferences, on macOS, use Eclipse > Preferences).
Click on Import projects… in the Package Explorer.
Select Existing Gradle Project then browse to the repo for the “Project root directory” (you can click Next to override the workspace settings to choose a specific Gradle version).
Click on Refresh Gradle Tasks.
Right click on the root build.gradle file and click on Refresh Tasks (if necessary, i.e. this file is shown at the root level of the package explorer)
Manually set the disableSecurityManager field to true to bypass the UnsupportedOperationException.
Run the “build” Gradle task in the Gradle Tasks window.
Right click on the freeplane_framework project, Run As > Java Application then select the Launcher application.
Select the freeplane dist option in the “Select Java Application” Window and click OK.
A colleague at work was telling me about the Smalltalk programming language this week. I have never used it so I asked for compiler recommendations for it. Dolphin smalltalk was one of the suggestions. I downloaded the ZIP of the latest release from https://github.com/dolphinsmalltalk/Dolphin/releases/tag/7.2.0 but unzipping it and launching it fails with a Fail to open image file 'C:\software\DolphinVM\DPRO.img7' error message. Downloading and running the Dolphin7Setup.exe installer got the Dolphin environment up and running.
Building Dolphin Smalltalk
I’m always interested in how different projects are built – this one stands out for being a Windows-only project. The repo I cloned was at commit 2cbc3e72cb.
Building Core/DolphinVM/DolphinVM.sln in Visual Studio takes less than a minute on my desktop. Pressing F5 shows an error dialog: Unable to start program 'C:\repos\Dolphin\Core\DolphinVM\Debug\DolphinVM8.dll'. Changing the startup project from VM to Launcher just shows the Fail to open image file 'C:\repos\Dolphin\Core\DolphinVM\Launcher\DPRO.img8' error. Looking at the repo home page, I think I have only built the virtual machine.
Building the Dolphin 8 Product Image
The instructions say to run git lfs pull but that doesn’t appear to do anything. Next step is to run BootDPRO.cmd. It calls Dolphin8 with the DBOOT.img8 argument. GitHub displays a note that this file is Stored with Git LFS. This note links to Managing large files – GitHub Docs and this is the first time I’m really looking at this. I don’t really understand why a file that’s less than 2MB needs this so I will skip this LFS detail for now. Running the command in BootDPRO.cmd in my MINGW shell does not do anything.
Switching to a Windows command prompt does the trick! I’m still in the dark about what this machine is and what exactly this image being compiled is.
C:\repos\Dolphin>BootDPRO.cmd
Dolphin Smalltalk Boot
Copyright (c) Object Arts Ltd, 1997-2021.
Boot started at 2024-06-27T21:33:14.671937943-06:00
Loading boot script...
Reloading BCL constants pools...
Updating ClassBuilder...
Reloading BCL class definitions...
Recompilation of OpcodePool required because class variables/constants are being added
...
Reloading 'Dolphin Message Box' ...
Loading source package 'Dolphin Message Box' from: C:\repos\Dolphin\Core\Object Arts\Dolphin\System\Win32\MessageBox\Dolphin Message Box.pax
Deleting obsolete boot image methods...
Removing obsolete boot image method Compiler class>>#notificationCallback:
...
Recompiling references to ICONDIR (size 22)...
Recompiling references to PROCESS_INFORMATION (size 16)...
Recompiling references to STARTUPINFOW (size 68)...
Boot completed at 2024-06-27T21:36:03.2736891-06:00, duration 2.81 minutes
Launching Dolphin8
We can now run Dolphin using this command:
Dolphin8.exe DPRO.img8
The program launches successfully. Note that Dolphin8.exe is the output of the Launcher project. To debug the application:
Set Launcher as the startup project in Visual Studio.
Open the Property Pages of the Launcher project.
Navigate to the Configuration Properties > Debugging pane.
Set the Command Arguments to “DPRO.img8”
Set the Working Directory to the root of the git repo, e.g. “C:\repos\Dolphin”
Press OK then launch the program.
Ideally, these steps should be built into the solution and the launcher project’s configuration but it was straightforward to figure out. This is what I get.
I evaluated this line, but nothing appeared to be happening. I reread the quote then search for the Transcript window. It is the System Transcript window shown below (whose icon is in the Dolphin Smalltalk Professional screenshot above). Sure enough, it contains the Hello World message.
System Transcript Window
As pointed out by my colleague and others like Dolphin Smalltalk 7 (randycoulman.com), picking up this language can make you a better programmer. I’ll need to find a decent program to implement in Smalltalk to learn about this programming language.
Engineering drawings are now commonly created using CAD software. Drawings commonly conform to standards such as ASME Y14.3-2012 or ISO 5456-2:1996. They are commonly transferred and viewed electronically in formats like PDF. This video summarizes the history of PDF format:
Adobe PDF History | Adobe Document Cloud
I’ll end this (super) brief history of engineering drawings with a video (from the search for blueprint history) from 1958. It attempts to motivate students about the importance of learning how to read prints (engineering drawings) and although it feels dated, the underlying points are still relevant.
Blueprints Technical Drawing 1958 Mechanical Drawing History
I recently had a french drain installed. This Home Depot video provides an overview of what is involved.
How to Install a French Drain | The Home Depot
I figured I might as well collect the associated manuals/documents. The pump was manufactured by the Zoeller Pump Company (zoellerpumps.com). The site allows you to search for the pump number. Entering 267 points me to the Model 267 Sewage Pump. There are plenty of associated resources:
When searching for products online, I often peruse the careers page of the manufacturers to get a feel for what types of roles people in various industries have. The Careers – Zoeller Pump Company page lists a CNC Operator/Machinist position that prefers 1 year of experience as a CNC machinist and these other requirements.
Specific Job Duties:
Operate CNC Lathes/Vertical Milling Machines.
Perform set-ups and offset adjustments as required.
Ensure specifications and tolerances are met.
Skills Required:
Minimum of 2 years’ experience required.
Ability to use calipers, indicators, micrometers, etc.
Ability to read & interpret prints.
Must be a self-starter with the ability to lift up to 50 pounds, bend, twist, reach without problems, and be able to stand for long periods of time.
Making a pump like this looks like an interesting project! I’m definitely short on the CNC machining side of things (for now). The Zoeller Company – YouTube channel is a good resource for learning about pumps. Here is their product comparison.
Entry-Level Pumps VS Core Product Line Comparison
Learning about this stuff can be quite the rabbit hole, but I’m happy to be scratching the surface in these spaces.
One of the security podcasts I listened to mentioned using tcpdump to analyze traffic. It looks like a tool you need to build for yourself since is no download page. Build instructions are well documented at tcpdump/doc/README.windows.md. This post is a summary of all the instructions required, including for installation of the Npcap: Windows Packet Capture Library & Driver. First get the Npcap SDK:
cd /c/repos
git clone https://github.com/the-tcpdump-group/tcpdump
cd tcpdump
mkdir build
Run these commands from the Developer command prompt:
cd \repos\tcpdump\build
cmake "-DPCAP_ROOT=C:\software\npcap" -G "Visual Studio 16 2019" -A x64 C:\repos\tcpdump
msbuild /m /nologo /p:Configuration=Debug tcpdump.sln
This takes only 40 seconds on my desktop. Next, run the Npcap 1.79 installer to ensure that launching tcpdump does not fail with this error: “The code execution cannot proceed because wpcap.dll was not found. Reinstalling the program may fix this problem.” We can now run tcpdump:
cd Debug
tcpdump.exe
When tcpdump starts up, it indicates that it is listening on a given device.
C:\repos\tcpdump\build\Debug> tcpdump.exe
tcpdump.exe: verbose output suppressed, use -v[v]... for full protocol decode
listening on \Device\NPF_{SOME-GUID}, link-type EN10MB (Ethernet), snapshot length 262144 bytes
Interestingly, the repo does not have much (any?) documentation on how to use tcpdump. However, there are links to tutorials and numerous other resources at Home | TCPDUMP & LIBPCAP. As per the repo:
Richard Stevens gives an excellent treatment of the Internet protocols in his book “TCP/IP Illustrated, Volume 1”. If you want to learn more about tcpdump and how to interpret its output, pick up this book.
The earlier test tcpdump did not display any traffic on my desktop. Following an introduction to using tcpdump at the Linux command line | Opensource.com, list the available devices using tcpdump -D then select one of them and pass it as the --interface argument. This allows me to find the device that with network traffic.
How does tcpdump -D generate the list of network devices? The main function of the application detects the -D option then calls the show_devices_and_exit function, which in turn retrieves the devices by calling the pcap_findalldevs function. Stepping into this call reveals that it is in C:\Windows\System32\wpcap.dll. As shown in the properties of wpcap.dll below, it is part of the libpcap product. This explains why tcpdump fails to start if the Npcap installer is not executed (when “wpcap.dll was not found”). I’m interested in the actual enumeration of network devices but that appears to be part of libpcap, specifically pcap.c. I’ll save that exploration for another day.
One of the cool things about modern day life is that there is always someone out there that has made a video about how to do any task around the house. One of the most useful to me was about weed eater string replacement.
I also have a Ryobi chainsaw. The next video was very helpful, especially the tip about using just a little oil because it leaks! Definitely saw that for myself. The warning about not having any sagging on the chain at the bottom is one I could have used before I recently got my chain off the bar while cutting a fallen branch!
Ryobi 40v Brushless Li-ion 14″ Chainsaw
I searched for “replace ryobi chainsaw chain” on YouTube. This video looks like what I’ll need to fix my chain. I don’t have time for that one this weekend – I certainly want to take my time with this fix, ensure everything is right before powering that chainsaw again.
How to replace a chain on a chainsaw – Another part of our Ryobi 40V 14′ electric chainsaw review
My first Ryobi machine was actually the 20″ Ryobi 40V brushless push mower (I got all this Ryobi equipment from Home Depot, partially for the battery reusability across tools). After moving from a smaller city lot, I decided that mowing over an acre might need something a bit speedier so I bought a used 7-speed Troy-Bilt Pony riding lawn mower. Used a YouTube video to get the gist of how to run it: I think it was this one.
Troy-Bilt Pony 42” Riding Lawn Mower
Confession time: I needed to look up the proper way to use and store this fuel container :-O. Better be safe than blow up in my pride. Typed “midwest can” into the YouTube search and the first suggestion is “midwest can gas can instructions“. Apparently there are models and all sorts of fancy features? Anyway, here’s what the company has to say:
Model 4240 Quick-Flow Spout Introduction and Assembly
Only time will tell whether any more tools will be needed at my place.
My wife joined a local drill team last year and we bought our first horse this year. As a total newbie to the world of horses, I have started picking up a few things. After some basic instruction on Mothers’ day, I thought I might as well compile a list of YouTube videos touching on the topics that she has taught me about so far. One of them is the existence of a “shedding blade.” The blade in the video below looks like something I can make in SolidWorks :D. Nerdy? Perhaps, but still…
Curry Comb
While brushing the horse, she pointed out the flank as one of the sensitive areas. So why not learn the parts of a horse?
What are the Different Parts of a Horse?
The discussion about sensitive parts of the horse naturally transitioned to how to stay safe around the horse, e.g. how to avoid getting kicked. The next video explains this in detail.
How to stay SAFE around your Horse! Tips + things to avoid
Next, I was tasked with walking our horse around the property. And the first mistake I made was in wrapping the lead rope around my hand! Don’t want to get dragged or stepped on. Here is a video with tips on the proper way to lead a horse.
How To Lead A Horse (The RIGHT Way)
I don’t recall exactly how the topic of horse gaits came up, but I found some videos describing them.
HORSE GAITS PART 01 – WALK CYCLE ANALYSIS
HORSE GAITS PART 02 – TROT CYCLE ANALYSIS
HORSE GAITS PART 03 – CANTER CYCLE ANALYSIS
HORSE GAITS PART 04 – GALLOP CYCLE ANALYSIS
Overall, it has been quite interesting learning about this area from the periphery.
The post on Processors & Microfabrication was a brief but helpful refresher on the current state of the art in microfabrication. I have found some (more current) interesting videos on chipmaking this past week. After reviewing an introduction to manufacturing, I found myself wondering which area of manufacturing would be interesting to me (one of the chapters had a question like that). It hit me that fabs are the only manufacturing industry that seem really intriguing at this point (perhaps based on my background in computer science). Therefore, I have been trying to get up to speed with what’s happening in semiconductor manufacturing.
The first video on chipmaking in TX gave me a good sense of how many companies are in this space. Learning that the integrated circuit was invented at Texas Instruments leaves me surprised at how little I know about the history of chips. Some of the companies manufacturing chips in TX are Samsung, Texas Instruments, Infineon, Global Wafers, NXP, and Applied Materials. TI mentions their Power management solutions as part of the vast reach of their products. The video highlights the importance of space, power, and water.
The next video is yet another overview of semiconductor manufacturing. One of the key takeaways for me is that Taiwan leads not just in logic (CPUs, GPUs, etc) but also in memory, courtesy of Micron! 25% of Micron employees are in Taiwan, producing 65% of Micron’s DRAM!
Inside Micron Taiwan’s Semiconductor Factory | Taiwan’s Mega Factories Ep.1
Featured next is Harley Davidson. I have never really paid attention to these bikes or how they are made so this was quite interesting (especially the in-house road tests)!
How It’s Made: Harley Davidson
Another company highlighted is Union Carbide, which I had never heard of before. It features a production technician at a plant making Butanol in St. Charles LA. This area definitely fell into the unknown unknowns for me.
The History of Union Carbide in Kanawha County, WV
The course links to this video about some biofuel research focused on butanol. Doesn’t seem particularly interesting to me but to each their own.
Last company is American Licorice Company plant in Alsip, IL. The Our Story page mentions that they’re now in Indiana. Yet another product whose origins I never before stopped to ponder.
There is also a link to Mike Rowe’s talk on learning from dirty jobs. I’m only now realizing how big of an advocate of vocational jobs Mike is but then again, I didn’t really watch much of his show so it’s not surprising I’m late to the party.
Learning from dirty jobs | Mike Rowe
Finally, there is a discussion about safety practices and personal protective equipment (PPE).
Personal Protective Equipment (PPE): An Overview of the Basics | Your ACSA Safety Training
I wasn’t sure what to expect from such a course, but it has certainly been educational given that I now see Doritos and my first thought is how was this made and packaged and what does the supply chain look like?