Showing posts with label engineering. Show all posts
Showing posts with label engineering. Show all posts

Thursday, June 11, 2026

Hiring Boom

 I saw this at the top of the requirements section on a job description:

"...willing to design stuff that blows up other stuff and people"

Thank you for the candor, but no.

Friday, April 10, 2026

It Starts With a Small Favor

One time the boss asked me to sketch a new product concept in our CAD program.  After an hour or so, I'd print out a paper drawing and hand it to him.

After a few weeks he stops by and asks, "How's the project going?"  "What project?"  Apparently the little favor I did, the sketch I provided, was supposed to be /my/ new project.  I was supposed to test it and get it working and make imporvements on it (in between all the other products that customers were paying for).  This wasn't the first time I was expected to be a mind reader, but it was the most egregious example.

My job, as it was explained to me when I started, was to design and order photomasks for a new IC.  I'd also provide notes on the fabrication requirements, both backend and frontend.  After that, it was somebody else's problem.  This was easy work, and I was able to fit in with only a little training.  I had time to devote to professional development, which was lacking.

At one weekly status meeting someone reported a problem with one of the chips I designed.  Suddenly everyone was looking at me.  They expected me to know what was going on and hoped I had devised a solution, Apparently, again, I was supposed to be responsible for all aspects of its manufacturing and testing.  But I wasn't even aware that it started production.  My only response was "I don't know" sung to the tune of "How the hell should I know?"  Again I was faulted for my lack of mind reading skills.

This is how things go in a small company that lacks a mentorship program.  If someone had provided a little guidance and explicit expectations, on day one, I might've developed into the ideal engineer.

Unfortunately, this happens at home, too.  "I want to paint the window sill on the porch.  Can you buy paint for me?" my wife asked last week.  Now she's saying that it's a big job and that she might have to hire someone to help.  So the todo list that she wrote today included, "Help me paint the window sill."  I'm assuming I'll have to do it myself.  But this bothers me because you're always paint the trim last, and the entire porch needs painting.  Not only is she manipulating me into doing the job, she's manipulating me into doing it wrong.

Does this happen to anyone else?  What are your experiences?

Friday, February 27, 2026

Emacs Lisp Function to Determine the Start of Engineers Week

This year, Engineers Week started on Sunday (February 22, 2026).  It always begins on Sunday of the week of George Washington's birthday. 1

Here's an Emacs Lisp function to calculate the date that Engineers Week will begin for a given year:

(defun eweek (year)
  "Returns the date on which Engineers Week begins for the year given in
YEAR.  Returns the date in the standard format for a (Gregorian)
calendar date in calendar.el, a list of integers (MONTH DAY YEAR)"
  (calendar-gregorian-from-absolute
   (calendar-dayname-on-or-before
    0 (calendar-absolute-from-gregorian (list 2 22 year))))) 
Invoking (eweek 2025) should return (2 16 2025), which was the start of Engineers Week last year.

Saturday, November 18, 2017

How to Use Excel Pivot Tables to Summarize Continuous Data

Suppose you have a set of data points that represent some quantity in a volume.  It could be temperature in a solid, for example.  How can you use a Pivot Table find the average temperature in a region on the solid’s surface?

Well, if you’re lucky, the region is rectangular, bounded by some Xmin and Xmax and Ymin and Ymax.  Then you can use the built-in Label Filters.

I created a set of data for this article with -20<=X<=20, -20<=Y<=20, -20<=Z<=20.  The temperature is a function of X,Y,Z using the (arbitrary) formula =2.5*X+0.25*Y^2+2.5*SIN(Z).

First, set up the Pivot Table and chose the option to Allow multiple filters per field.


In the screenshots below, we define a Region with Label Filters in the PivotTable Rows within X=[-2,8] and Y=[5,7].  The function is not dependent on the Z coordinate – we’ll use a Page Filter to constrain Z to 0.  As can be seen in the status line of the fourth screenshot below, the average temperature in that region is 16.67 degrees C.






But suppose the region is more complicated than a rectangle, or you want to summarize multiple regions?

You can define a function in VBA to “discretize” the data, as shown in the code sample, below.
Option Explicit

Function Region(rngX As Range, rngY As Range, rngZ As Range) As String
Const regA_Xmin = -2#: Const regA_Xmax = 8#
Const regA_Ymin = 5#: Const regA_Ymax = 7#
Const regB_Xmin = -6#: Const regB_Xmax = -3#
Const regB_Ymin = 5#: Const regB_Ymax = 7#
Const regC_Xmin = -2#: Const regC_Xmax = 8#
Const regC_Ymin = -5#: Const regC_Ymax = -3#
Const regD_Xmin = 9#: Const regD_Xmax = 12#
Const regD_Ymin = 5#: Const regD_Ymax = 7#
Const regE_Xmin = 16#: Const regE_Xmax = 18#
Const regE_Ymin = -15#: Const regE_Ymax = -7#
Dim x As Double, y As Double, z As Double

x = rngX.Value: y = rngY.Value: z = rngZ.Value

If x >= regA_Xmin And x <= regA_Xmax And _
   y >= regA_Ymin And y <= regA_Ymax Then
        Region = "Region A"
ElseIf x >= regB_Xmin And x <= regB_Xmax And _
       y >= regB_Ymin And y <= regB_Ymax Then
        Region = "Region B"
ElseIf x >= regC_Xmin And x <= regC_Xmax And _
       y >= regC_Ymin And y <= regC_Ymax Then
        Region = "Region C"
ElseIf x >= regD_Xmin And x <= regD_Xmax And _
       y >= regD_Ymin And y <= regD_Ymax Then
        Region = "Region D"
Else
    Region = "NA"
End If

End Function

The function accepts three Range type parameters, each of which are intended to be the address of a single cell.  It returns one of five strings: Region A, Region B, Region C, Region D, NA.

The first four constants that are defined in the first two lines are minimum and maximum X and Y coordinates for the region that were defined in the previous example with Label Filters.  So the string “Region A” is returned if X and Y are within those X-Y intervals.

When we type in cell E2 =Region(A2, B2, C2) and then fill down, Excel calls the function for each of the cells that the formula occupies and then puts the result in that cell.  It can take several seconds for all the cells to be populated, even with an i5 processor.  And the calculation can increase the drain on the battery if you’re doing this unplugged / on the road.

But when it’s complete, you can set up your Pivot Table with the regions in the row.  The average of the temperature values for Region A is shown in cell B5 below as 16.67.



Sunday, July 02, 2017

The Dreaded Non-Disclosure / Non-Compete Agreement

If you work in the USA tech industry, you've probably been asked to sign a non-disclosure / non-compete agreement with a new employer.  It may be that even your current employer asked you to sign a new one.

If you're not familiar with it, let me describe it for you in a nutshell: Anything you witness or produce on company time becomes the property of your employer.  Even if you think of something, if you thought of it on company time, that idea is your employer's property.  This explains a lot of what I've observed during my career -- many coworkers are so poignantly aware of this that the second they clock in, they empty their minds completely of thoughts and go about their duties thoughtlessly.

If asked to sign a non-disclosure / non-compete agreement, what should you do?  This ebook from IEEE should help:
https://www.ieeeusa.org/members/IPandtheengineer.pdf

Good luck!

Wednesday, May 17, 2017

Some Things Never Change

For over two thousand years, engineers had to contend with manufacturing issues.  We're still doing that today...

"... its design conception exceeded the engineering precision of its manufacture by a wide margin—with considerable cumulative inaccuracies in the gear trains, which would have cancelled out many of the subtle anomalies built into its design."

From the Wikipedia page "Antikythera mechanism," Google's feature for today, 2017-05-17.
https://en.wikipedia.org/wiki/Antikythera_mechanism

Thursday, August 25, 2016

Fitting Data in Excel and OpenOffice Calc

I've stopped installing Microsoft Office onto my home computers. Instead, I installed OpenOffice on my latest two computers. It does everything I need it to do. Or so I thought.

One day I decided I wanted OpenOffice Calc to perform a polynomial fit to some measurements I'd been taking. So I did what I always do in Excel: create a Scatterplot of the data, add a Trendline, choose Polynomial and its order, and then click the checkboxes to display both the equation and the R2 value on the chart. Except there was no polynomial Trendline!

According to the OO help forums, there really is no built-in polynomial trendline in Calc. But there is an extension called CorelPolyGUI that does the trick.

Unfortunately, I wasn't too thrilled with this extension. My measurements were accumulating every week. With Excel, I'd be able to add new data and watch the scatterplot update the polynomial. But CorelPolyGUI doesn't work that way. The result from CorelPolyGUI essentially is a snapshot that's disconnected from the input data. To get it to update, I found that I had to delete the result and then re-invoke the extension with new data ranges. And that was a big problem – I wasn't sure over what extent of my data I wanted to fit. Perhaps I could get a better fit if I omitted some measurements. So I needed to alter the input range a few times and compare the results.

There is another method, that if you're clever, you can program yourself. It's based on the following set of equations (for a second-degree poly fit):



To get the values of A, B and C, you simply matrix multiply the vector on the left side of the last equation with the inverted 3 x 3 matrix on the right hand side. Once you program this into your spreadsheet, you can alter the data and instantly get the polynomial function to update.

But it turns out there's an even easier way. I found it accidentally in the results from my search for how to fit a polynomial in OpenOffice. It involves using LINEST to operate on array data. The web page^3 describes using LINEST in Excel to perform non-linear curve fitting. It turns out that the OpenOffice Calc LINEST function works the same way, albeit with slightly different syntax. And the syntax is different because of how you define an array in Calc, separating the elements with semi-colons instead of commas.

In retrospect, I see now the same solution in the OO help forums. The user Villeroy attached a spreadsheet with an example that uses LINEST. But instead of raising the range of independent values to {1;2}, he added the X2 column and referenced it in LINEST. Same thing, really, but perhaps a bit less elegant.

Tuesday, July 17, 2012

Putting Water Adhesion and Cohesion to Work

I lost the grommet that allows me to attach a drain hose to my air conditioner.  So I decided to see whether water's properties of adhesion and cohesion would come to my rescue.

I suspended the drain hose below the air condition drain opening.  Then I placed one end of a wet, rolled up paper towel in the air conditioner, touching the drain pan.  I placed the other end into the hose.  The set up is shown below.

Normally, you'd just let the water drip out onto the ground.  But this A/C is installed between a kitchen and a carpeted enclosed porch, and we wanted to keep the carpet dry.

The rig works like a charm.  No spillage.  All the condensate ends up in the bottle, which I then empty into the washing machine or the garden.  In fact it works better than if I'd used a grommet to connect the hose.  With the grommet, the water level had to rise high enough to breach the rim of the grommet.  In fact, I used to put a piece of cotton string in the grommet to help lift the water up over the grommet ledge and into the hose.  Otherwise, the water would leak out all four corners of the pan.

There is some rust forming around the edge of that unfinished knockout.  I'll need to paint that at the end of the season if I don't want the rust to spread.



Sunday, February 24, 2008

Engineers Week

Engineers Week was last week. One reason the organizers put effort into making and promoting Engineers Week is to get kids interested in engineering. So why does it take place during winter vacation week?

So I'll be belatedly "celebrating" Engineers Week this week by visiting my daughter's elementary school class and talking about electricity. My presentation is titled, "Watt is Electricity?" Get it?

I made a little electromagnet kit for each student. All I did was wind about four feet of solid 22 gauge copper wire around a nail. I placed this in a bag with a D battery, some paper clips and a sheet of paper with this text:
Electromagnet Test Kit
Contains:
  • 4’ 22 AWG Solid Insulated Copper Wire
  • Steel Nail
  • D Battery (1.5V)
  • Paperclips (to test electromagnet)
When electrical current flows through a wire, a magnetic field develops around the wire. By winding the wire into a tight coil around an iron core, the magnetic flux is concentrated, and the magnetic attraction is strong.

Touch the bare wire ends to the battery terminals.

Watch Out – it gets HOT.

How many paper clips can you pick up?

What do you think would happen if:
  • You unwrapped some of the wire?
  • You used a 9V or 12V battery?
  • You wrapped the wire around a pencil?

Science Links for Kids
http://www.energyquest.ca.gov/projects/
http://www.eia.doe.gov/kids/
http://www.ieee-virtual-museum.org/
http://www.discoverengineering.org/

Those links are pretty cool. Check them out when you get a chance!

Saturday, October 27, 2007

Anniversary Dates for Engineers

When an engineer picks a wedding date, chances are it has some numeric meaning. It's a fun challenge to come up with a sequence of numbers that forms a date that falls on a weekend. And afterwards, it lessens the likelihood that the anniversary will be forgotten.

Here are some simple weekend dates in MM/DD/YY format that are based on simple multiplication facts: 02/16/08, 12/08/96.

Here are dates based on sequences: 06/07/08, 05/10/15, 09/16/xx. With that last one, the month and day are so good, we'll ignore the year.

Some other nice dates: 08/16/08, 03/14/15, which are the first five digits of Pi.

Are you an engineer that married? What date did you choose?

Friday, September 08, 2006

Promoting the Field of Engineering

The website TryEngineering.org touts itself as a resource that should help pre-college students decide whether engineering is good career choice for them.

The link that immediately caught my eye was Engineering Life Profiles. The target page is titled "Life of an Engineer," and it sports a list of links to the job descriptions / professional biographies of seven practicing engineers.

As an eletrical engineer, I was curious to read the profile of Carl Allison (Electrical Engineer).

Mr. Allison is employed by Walt Disney Imagineering, which is hardly a typical destination for an average engineering graduate. I'm glad that he's happily employed producing things that entertain people. Unfortunately, many engineers wind up in a cubicle dungeon, spending days just poring over one parts list after another in order to identify and replace pure tin-leaded components with components that have leads plated with palladium silver. And this is for some space hardware hardly anyone will ever see. There are engineers that spend their entire careers studying the long-term reliablilty of resistors, or think of ways to reduce the cost of an assembly by a few cents.

If you're a pre-college student who thinks engineering might be a good career, make sure you talk to a few engineers first. Don't just read glitzy promotional websites and think that's how your life will be. Try to shadow a few real engineers during the summer before your final year of high school. Although the summer camps that TryEngineering has listed are probably too oriented to having fun, they're probably better than nothing. They at least help you determine whether you have the aptitude for cool design and problem-solving aspect of engineering.

Thursday, November 17, 2005

Is Engineering Boring?

Lately I've begun to think that maybe engineering is a bit boring. I know that sounds funny to most of you. It's like a member of the bomb squad pondering whether defusing bombs is dangerous.

I associate the words "boring" and "engineering" to an undergraduate class I had with Professor Dourman. (Do I need to mention that's not his real name?) His first lecture seemed very promising. He motivated the course pretty well. But thereafter, the professor would deliver the entire lecture seated next to his desk, quietly reading his handwritten course notes that we all had a copy of.

At least half his students were completely asleep -- the kind of rock-solid, drool-on-the-chin variety of sleep that indicated either serious sleep deprivation or severe boredom. Miraculously, no one snored.

I don't think I ever lost consciousness in that class. I would dutifully fill a cup with steaming hot black coffee* beforehand. And I'd buy myself a large cookie to save for the last twenty minutes, should I still find myself awake by then. I had to time the eating of the cookie just right. If I ate it too soon, I'd most certainly crash before the end of the class from a sugar letdown. If I ate it too late... well, that wasn't ever going to happen, was it? After a month, I started bringing three cookies to the class. So I managed to stave off anything more comatose than a semi-hypnagogic state.


Now that I write about this class, I realize that it wasn't the most boring one. It turns out that the material the professor droned on about was novel and even a bit cool. The really boring classes were those in which I already knew the material.

I'd start the semester in one of these classes fully engaged, hoping to catch the professor's mistakes. But as the semester ground on, and as my workload from other courses increased, I would study other subjects or work on various term projects.

This problem, wherein lack of novelty leads to boredom, was actually a precursor to my current plight -- the ho-hum ordeal of supporting my employer's manufacturing department on the many dozens of products I designed over the last thirteen years.

I don't mind answering an occasional support question. But the product we make is highly specialized and difficult to manufacture. No two parts come out exactly the same. So each part needs to be honed (metaphorically speaking) by a skilled technician, who is supervised by a knowledgeable engineer. This is tedious.

I vacillate between INFP and INTP on the Myer-Briggs scale. I need to express myself creatively, and I need to do so in isolation from others. I do not care to make decisions or reach concrete conclusions. Deadlines don't concern me -- I sneer at them. I care much more about the process than about the outcome. And if I cannot learn while doing something, it's not worth doing.

So cut that manufacturing umbilical cord and let me loose on design work. I might just discover something great, like the meaning of Life, or better yet, how to make engineering exciting.


* The cafeteria sold a hot dark brown liquid that looked just like real coffee but tasted like you were sucking on the sharpened end of a pencil. If the caffeine failed to keep you awake, you could count on the taste to give you a jolt.