What’s Old Is Still Old and Still Good

We are being constantly inundated with “new and better” as the solution to everything. In the tech related world I hang out in, I so often see a push to replace something that you have been happily using for a long time with something that is new and better — just cause it is new. Over the years, I have learned that replacing the old with the new only makes sense if it solves some specific problem — not just because it’s new.

That said, I’ll admit that sometimes, newer is better. Newer may mean that you can get something done more efficiently or newer may mean you can do something that you couldn’t do before. 

But often, newer doesn’t mean better or faster and staying with the “old” is just fine.

Here’s what I mean.

Over the past two months, I have run into two technologies (LaTeX andOpenSCAD) that I initially dismissed as old (or too bulky and difficult to use) that I have come to appreciate.

LaTeX

LaTeX (pronounced “Lay-Tec”) is a “typesetting” tool that lets you produce well formatted (and beautiful) PDF documents that can properly display complex mathematical notation required in technical papers or journals. The process of producing a final, well formatted document involves using a text editor to create an initial document that contains your text and LaTeX formatting codes. You then “compile” this text document to a PDF document to produce your production document.  

LaTeX (the old) is not as fast or WYSWIG as say Microsoft Word (the new) and some will find it complex and bulky but the documents it produces are beautiful and complex. In this case, there is nothing “new” that I have found that comes close to replacing the “old”. In this case, the old does what I need to elegantly and beautifully.

Would I use LaTeX for everyday use or even to produce this article? Probably not. But if I wanted output that is complex and detailed and beautiful, (and not just mathematical) , LaTeX (the old) may be the way to go.

A great video introduction about LaTeX is here.

OpenSCAD

Last summer during my break, I took a (very) beginning class in 3D printing and design. This class took us from unboxing a printer through to designing, then printing an original model. For someone like me who had no exposure whatsoever to 3D printing, this class was outstanding!

Part of the class was using a programming language called OpenSCAD. OpenSCAD is a low level computer language used to describe a 3D object. 

Being familiar with programming languages and their use, I was a bit skeptical at first that this “old” technique of programming could stand up to interactive and WYSIWYG programs like Shapr3D.

Another case of “old” vs “new”. 

After a bit of struggle learning the syntax of the language and creating my first 3D object using OpenSCAD, I grew to appreciate that OpenSCAD was an instance where the “old” was way better than the “new”.

What I discovered was that OpenSCAD is especially suitable for objects that have repetitive features each of which are slightly different.

For example, if you need to model a 3D object that has holes that are regularly spaced and increase in size in a regular manner, you can write a small OpenSCAD program that does exactly that.

Just for laughs, I’ve included my openSCAD program below for a measurement gauge:

$fn=64;
// array of values (since there is no way to change
// values of a single variable
x_position = [5,10,17,26,37,50,60,70,80];
hole_size=[1,2,3,4,5,6,7,8];  // radius

// Sets up to do difference between the cube and all the generated cylinders
difference(){ 
    // create the cube
    cube([60,20,5]); 
    // iterate each cylinder moving it by 10 x units
    for (i=[0:5]) {
        translate([x_position[i],10,-1])
        cylinder(r=hole_size[i],h=7);
    } // end of for loop
} // end of difference


// Now print the raised text
for (i=[0:5]){
    linear_extrude (height=6)
        translate ([x_position[i],.5,5])
    //multiply text of hole size by 2 because array contain radii
        text(str(hole_size[i]*2),size=3,halign="center");
}
// Print the title text
linear_extrude (height=6)
translate([2,15,5])
    text ("mm",size=3);

Using variables and loops that are part of OpenSCAD, you can change starting and ending values so that you have a flexible method to produce your 3D shape. Yes, I could have done the same thing interactively in Shapr3D but at the expense of easy re-use and easy variation of some of the basics qualities (e.g. size of the holes).

I did learn that when I first opened OpenSCAD, I did not appreciate the elegance and use case for was could be seen as “old”. After a bit of work, I learned that for specific cases, the “old” outshines the “new” in many ways.

Details on OpenSCAD are here and details about how to download OpenSCAD are here


// September 04 2022 // Post ID: 455