Categories: Programming

Getting to “Hello World” in Dolphin Smalltalk

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.

git clone https://github.com/dolphinsmalltalk/Dolphin

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.

saint@desktop MINGW64 /c/repos/Dolphin (master)
$ ./Dolphin8.exe DBOOT.img8 DolphinProfessional

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:

  1. Set Launcher as the startup project in Visual Studio.
  2. Open the Property Pages of the Launcher project.
  3. Navigate to the Configuration Properties > Debugging pane.
  4. Set the Command Arguments to “DPRO.img8”
  5. Set the Working Directory to the root of the git repo, e.g. “C:\repos\Dolphin”
  6. 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.

Dolphin Smalltalk Professional - DPRO.img8

Hello World in Smalltalk

I’m not quite sure where to start. I search for a smalltalk tutorial for beginners – Search (bing.com) decided to try the GNU Smalltalk User’s Guide: Saying hello by creating a new workspace then pasting 'Hello, world' printNl into it but it grumbles:

I ask Microsoft Copilot to “print hello world in dolphin smalltalk”. It suggests Transcript show: 'Hello World!'. explaining that

The Transcript class allows you to print messages by sending the show: message to it, with the string you want to display as the parameter

smalltalk Tutorial => Hello World in Smalltalk (riptutorial.com)

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
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.


Categories: Manufacturing

Brief History of Engineering Drawings

I have been learning a little bit about print reading from this book: Print Reading for Industry: Brown, Walter C., Brown, Ryan K.: 9781645646723: Amazon.com: Books. It briefly mentions blueprints as one of the earliest printmaking processes, the diazo process, and finally wide-format printers (I think today is the first time I’m really noticing the latter). This piqued my interest in the history of blueprints. This video provided the highlights: famed polymath John Herschel invented blueprints using Potassium ferrocyanide and Ammonium ferric citrate. The method is called Cyanotype.

Why Blueprints are Blue

He mentions other methods developed by Alphonse Louis Poitevin – Wikipedia and others. Perhaps those are worth exploring at some point. The chemistry behind blueprints warrants deeper exploration but I’ll save that for another day. There are many videos on cyanotype, e.g. this one on How to Make Blueprints – Cyanotype (youtube.com):

How to Make Blueprints – Cyanotype

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

Categories: Farm Life

French Drain Pump Resources

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:

  1. Sales Sheet, Models 266, 267, FM3121
  2. Installation Instructions, 3 Year Warranty, FM2676
  3. Technical Data, 260 Series, FM2789
  4. Parts List, Model 267, FM0383
  5. Catalog, Zoeller Pump Company Pumps and Systems, FM0532

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:

Skills Required:

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.


Categories: Networks

Building tcpdump on Windows

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:

mkdir -p /c/software/npcap
cd /c/software/npcap
curl -Lo npcap-sdk-1.13.zip https://npcap.com/dist/npcap-sdk-1.13.zip
unzip npcap-sdk-1.13.zip

Clone the repo and create a build directory:

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.

GitHub – the-tcpdump-group/tcpdump: the TCPdump network dissector

The 2nd edition is dated November 2011: TCP/IP Illustrated: The Protocols, Volume 1 (Addison-Wesley Professional Computing Series): Fall, Kevin, Stevens, W.: 0785342336313: Amazon.com: Books. I have added it to the reading list.

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.

tcpdump -D
tcpdump --interface \Device\NPF_{SOME-GUID}

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.

wpcap.dll Properties
wpcap.dll Properties


Categories: Farm Life

Yardwork Equipment

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.

Ryobi Weed Wacker String Replacement 40v (Ryobi Expand-It String Trimmer)

Here is another way to do it:

Ryobi Weed Wacker String Trimmer String Replacement in 2 EASY STEPS

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.


Categories: Equine

Equine Basics

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.


Semiconductor Manufacturing – Part 2

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.

How Texas Became The American Chipmaking Hub

Micron is the focus of the following video. It has a fascinating history, having been founded in the basement of a dental office in Boise, ID. Something that stands out to me in the document showing 2.1 million common shares when Micron went public in 1984 is the now infamous Lehman Brothers. It’s interesting seeing the distribution of market share across memory manufacters: Samsung, SK hynix, and Micron sharing about 94% of market share. The rest is split into slivers taken by Winbond, PSMC (powerchip.com), CXMT, and others. I haven’t paid much attention to the memory industry, so HBM3E | Micron Technology Inc. is new to me. I was also surprised to learn that the cost of power is lower in the US than in Asia. How cool is it that Micron also runs a chip camp?

Micron HBM3E 8-high 24GB will ship in NVIDIA H200 Tensor Core GPUs starting in the second calendar quarter 2024.

HBM3E | Micron Technology Inc.

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

This next video is a survey of the intense competition in the semiconductor industry given its significance in the modern economy. It covers topics like how and why the chips act was passed. See FACT SHEET: One Year after the CHIPS and Science Act, Biden-Harris Administration Marks Historic Progress in Bringing Semiconductor Supply Chains Home, Supporting Innovation, and Protecting National Security | The White House for the PR side of it from the white house. One of the speakers is the author of Chip War: The Fight for the World’s Most Critical Technology: Miller, Chris: 9781982172008: Amazon.com: Books. Sounds like good reading for this summer.

The race for semiconductor supremacy | FT Film

Categories: Manufacturing

Introduction to Manufacturing – Part 2

The High-Performance Manufacturing book has a section highlighting a few manufacturing companies. The first is Intel’s Fab 22 in Chandler AZ. Although that highlight is 20 years old, Intel is still active in Chandler. In Intel breaks ground on two new semiconductor factories | City of Chandler (chandleraz.gov), we learn that there will be 6 fabs at the Ocotillo campus.

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?


Building GMP on Windows (MSYS)

I was recently trying to build the Prime95 Mersenne search software in Visual Studio 2022 when I got error messages about missing a gmp.h dependency.

1>C:\repos\gimps\p95v3019b13.source\common.h(23,10): error C1083: Cannot open include file: 'gmp.h': No such file or directory
...

This got me started trying to figure out how to build the GMP sources on Windows. It was easy to do in the MSYS MINGW64 shell. Use these steps:

cd /c/repos/gmp
curl -Lo gmp-6.3.0.tar.xz https://gmplib.org/download/gmp/gmp-6.3.0.tar.xz
unxz --keep gmp-6.3.0.tar.xz
tar xf gmp-6.3.0.tar
cd gmp-6.3.0
./configure
make

Background Investigation

Searching gmp.h not found windows – Google Search leads to makefile – How to install GMP Mp on windows? (C++) – Stack Overflow. Turns out I need the GNU MP Bignum Library (gmplib.org). The GMP developers’ corner (gmplib.org) points to the repo. It is a mercurial repo! Haven’t seen that in some time!

hg clone https://gmplib.org/repo/gmp/
hg clone https://gmplib.org/repo/gmp-6.3/

Such distractions aside, there is a link to download gmp-6.3.0.tar.xz:

cd /c/repos/gmp

curl -Lo gmp-6.3.0.tar.xz https://gmplib.org/download/gmp/gmp-6.3.0.tar.xz

file gmp-6.3.0.tar.xz

The file command outputs gmp-6.3.0.tar.xz: XZ compressed data, checksum CRC64. Thisrepresents XZ data compression, which is unfamiliar to me (haven’t run into this often). The unxz command can be used to decompress the file with the --keep option to avoid removing the source file.

unxz --keep gmp-6.3.0.tar.xz
tar xf gmp-6.3.0.tar

# Search for gmp.h
cd gmp-6.3.0
find . -name "gmp.h"

Ironically, xz is currently (as I write this post) making the rounds for having recently shipped a back door (All about the xz-utils backdoor | Kali Linux Blog) but I digress. There is no gmp.h file in the new gmp-6.3.0 directory though. The GNU MP Manual (gmplib.org) has a section with Notes for Particular Systems (GNU MP 6.3.0) (gmplib.org).

On an MS-DOS system DJGPP can be used to build GMP, and on an MS Windows system Cygwin, DJGPP and MINGW can be used. All three are excellent ports of GCC and the various GNU tools.

Notes for Particular Systems (GNU MP 6.3.0) (gmplib.org)

Let’s try in Cygwin. Looks like we just run configure then make.

cd /cygdrive/c/repos/gmp/gmp-6.3.0
./configure

Here is the final output from configure.

configure: summary of build options:

  Version:           GNU MP 6.3.0
  Host type:         x86_64-pc-cygwin
  ABI:               64
  Install prefix:    /usr/local
  Compiler:          gcc
  Static libraries:  yes
  Shared libraries:  no

The make command fails though:

Making all in mpn
make[2]: Entering directory '/cygdrive/c/repos/gmp/gmp-6.3.0/mpn'
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -D__GMP_WITHIN_GMP -I.. -DOPERATION_`echo fib_table | sed 's/_$//'`   -O2 -pedantic -fomit-frame-pointer -m64 -mtune=k8 -march=k8 -c -o fib_table.lo fib_table.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_fib_table -O2 -pedantic -fomit-frame-pointer -m64 -mtune=k8 -march=k8 -c fib_table.c -o fib_table.o
In file included from fib_table.c:4:
../gmp-impl.h:146:10: fatal error: ../gmp-mparam.h: Invalid argument
 #include "gmp-mparam.h"
          ^~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Makefile:492: fib_table.lo] Error 1
make[2]: Leaving directory '/cygdrive/c/repos/gmp/gmp-6.3.0/mpn'
make[1]: *** [Makefile:998: all-recursive] Error 1
make[1]: Leaving directory '/cygdrive/c/repos/gmp/gmp-6.3.0'
make: *** [Makefile:788: all] Error 2

This file exists in the repo! repo/gmp-6.3: 71011d1c130f mpn/x86_64/gmp-mparam.h (gmplib.org). It is linked to on disk.

saint@machine /cygdrive/c/repos/gmp/gmp-6.3.0
$ ls -l  gmp-mparam.h
lrwxrwxrwx 1 saint saint 26 Mar 26 17:14 gmp-mparam.h -> mpn/x86_64/k8/gmp-mparam.h

Search for “fatal error: ../gmp-mparam.h: Invalid argument“. Notice gmp.h in the ls output in this thread: I have a GMP problem. If this is the wrong forum I am sorry to post it here. (gmplib.org).

Trying building it in the MSYS MINGW64 Shell. The end of the ./configure output is shown below. The host type and install prefix are different from the Cygwin environment’s.

config.status: linking mpn/x86_64/k8/gmp-mparam.h to gmp-mparam.h
config.status: executing libtool commands
configure: summary of build options:

  Version:           GNU MP 6.3.0
  Host type:         x86_64-w64-mingw32
  ABI:               64
  Install prefix:    /mingw64
  Compiler:          gcc
  Static libraries:  yes
  Shared libraries:  no

The make command succeeds in the MSYS MINGW64 Shell, running for 4 minutes. I can ignore Cygwin for now. Let’s try the Tutorial on GMP (colorado.edu). Copy the example into a file called mpz_simple1.c then use the command from the tutorial to compile it. Interestingly, I don’t need the -I and -L arguments from the tutorial. The gmp library must already be installed.

cd /c/repos/scratchpad/apps/gmp/tutorial
gcc -o mpz_simple1 mpz_simple1.c -lgmp

To see how gmp.h and the libraries are found, run these commands:

saint@machine MINGW64 /mingw64
$ find . -name "*gmp*"
./bin/libgmp-10.dll
./bin/libgmpxx-4.dll
./include/gmp.h
./include/gmpxx.h
./include/isl/val_gmp.h
./lib/libgmp.a
./lib/libgmp.dll.a
./lib/libgmpxx.a
./lib/libgmpxx.dll.a
./lib/libigmpagnt.a
./lib/pkgconfig/gmp.pc
./lib/pkgconfig/gmpxx.pc
./share/info/gmp.info-1.gz
./share/info/gmp.info-2.gz
./share/info/gmp.info.gz

$ cygpath -w /mingw64
C:\dev\software\msys64\mingw64

Poking around in file explorer shows 2022-01-05 timestamps for gmp.h and libgmp.*. Looks like these were indeed installed with MSYS. How do I automatically output the timestamps for each result of find? bash – How to loop through file names returned by find? – Stack Overflow suggests this command:

find . -name "*gmp*" | while IFS= read -r file; do ls -l $file; done

How do I check the loaded modules to see what is running when I execute this command? windbg – List loaded modules using gdb – Stack Overflow reminds me that process explorer can do this on Windows.

At this point, all we have seen is how to build GMP in the MSYS MINGW64 shell. We have also verified that we can build a sample GMP program, the Tutorial on GMP (colorado.edu). The Cygwin and Visual Studio environments can be investigated another time.


Categories: Manufacturing

Introduction to Manufacturing

I have been trying to branch out of computer science/software and learn more about how things are made in the “real world”. Here are some videos that I have watched as part of an online intro to manufacturing course I’m slowly working through. The key idea in the first video is that not everybody needs to get a 4-year degree. Don’t overlook manufacturing when picking a career path.

Path To Careers – The Truth About Manufacturing Careers

The Path to Careers video above features people from these companies:

  1. First Quality (firstquality.com/)
  2. SEKISUI America Corporation (sekisui-corp.com)/Global Thermoplastic Company | SEKISUI KYDEX. Some name changes took place per Kydex-Allen-Extruders-joined-under-Sekisui-SPI-name | Plastics News
  3. GAF Roofing: North America’s Leading Roofing Manufacturer (gaf.com)
  4. Autoneum. Mastering sound and heat. (autoneum.com)
  5. Xact Metal: Affordable Metal 3D Printing (xactmetal.com)
  6. Home – Lewis Lumber Products (lewislp.com)

The next video starts out at Gateway Technical College | Serving Southeastern Wisconsin (gtc.edu).

Made in Wisconsin: A manufacturing special

The video highlights these companies:

  1. Harley Davidson
  2. Burger Boat Company – Custom Yachts | Luxury Boats (whose boats can just go out the St. Lawrence Seaway)
  3. Outboard Motors & Engines, Parts and Accessories | Evinrude US
  4. Garbage Disposals | Instant Hot Water Dispensers | InSinkErator US (emerson.com)
  5. Generac Power Systems – Power Equipment and Generator Manufacturer
  6. GE HealthCare | GE HealthCare (United States) with products like the Logiq E10 Ultrasound
  7. Milsco – Innovative, High-Quality Seating Solutions
  8. Men’s Dress Shoes, Boots, Casuals & More | Allen Edmonds
  9. Home – Regal Ware
  10. Industrial Light Fixtures | Kenall
  11. Alto-Shaam Commercial Kitchen Equipment | Restaurant & Foodservice
  12. Carmex Lip Balm, Moisturizer, and Lip Care Products (mycarmex.com)
  13. Master Lock® Official Site | Padlocks & Security Products
  14. Cable Management Products | HellermannTyton
  15. Watertronics | Custom Pumping Solutions for Ag, Golf, Municipal & Landscaping
  16. Foamation Inc. Packers acquire ‘Foamation,’ makers of original Cheesehead®
  17. Getzen – Makers of fine brass musical instruments
  18. Event Planning | Exciting Events

The “future of manufacturing” video below might be a bit dated now. I’m not sure how many of its predictions hold as of today.

The Future of Manufacturing

There is also a discussion of the services industry in manufacturing, which is great because it really opens my eyes to how I’ve never really thought much about this sector.

The Evolution of Manufacturing Services Industry

Another video to stimulate some thinking about supply chains:

What Toilet Paper Can Teach Us About Supply Chains | Willy Shih | TEDxBeaconStreet

And why not have some fun with just in time manufacturing?

Just in time manufacturing TBBT

And finally a short tour of a Tesla factory.

Tesla Factory Tour with Elon Musk!