Month: February 2019

Electromagnetic theory notes

February 19, 2019 Uncategorized No comments

I’ve posted a minor update (tweaking some of the figures) of my PDF notes from electromagnetic theory (ECE1228H), such as they are.  You can also find links to Mathematica notebooks, and instructions for cloning the git repositories to build the PDF.

Despite my love of the subject, this course was mediocre, and I’d rate my notes for it the same way.

 

Antenna theory notes

February 18, 2019 math and physics play No comments

I’ve made a small update to my old PDF notes for the antenna theory class that I took in 2015.

The changes since the last posted version are:

  1. The 2D Mathematica based figures are now updated to use PlotStyle -> Thick, which I think looks better when embedded.  Since I used Mathematica, Julia, Matlab and hand-drawn figures, there’s not much consistency in the figure styles.
  2. The hyperlinks to the web pages I’d created to run the various CDF Manipulate notebooks have also been removed, since Wolfram dropped the ball and never implemented support for 64-bit browsers.

Unfortunately, the 3D figures from various Mathematica 3D plots are really slow to render (at least in Adobe Acrobat), which is also annoying.  I’m not sure what the best way to deal with that would be.

What is a non-degree student?

February 17, 2019 Incoherent ramblings 4 comments , , , ,

In various places on this blog, I’ve mentioned courses that I took as a non-degree student at UofT:

I was recently asked what a non-degree student was, which is a good question, because I think it is a fairly obscure educational path.  Here is how UofT describes their non-degree option:

“Non-degree studies is for those with previous university experience who wish to upgrade their university record to qualify for graduate school, a professional program, or for personal interest.  Non-degree students enrol in credit courses, for which they have the prerequisites, but are not proceeding towards a degree.”

There are limits of what you can take as a non-degree student.  You cannot, for example, take graduate physics courses, nor any courses from engineering.  The engineering restriction seems to be because engineering (and computer science, and a few other programs), have a higher price tag.  The restriction against taking graduate physics courses as a non-degree student appeared to be arbitrary — I suspect that the grad physics administrator really didn’t want to be bothered, and was happy with the fact that somebody had once imposed that restriction.  There also isn’t a large set of people that are clamoring to take grad physics courses just because they are interesting, which makes it easy not to care about removing that restriction.

When I started my non-degree courses, my work at IBM had started to become very routine, and I was seriously questioning my career choices.  I’d started off with an interest in the sciences, especially physics, and somehow had ended up as a computer programmer!?  At a point of reflection, it is easy to look back and say to your self “how the hell did that happen?”  My work at IBM (DB2 LUW) was excellent work from a compensation point of view, and lots of it had been really fun, interesting, and challenging.  However, the opportunities to learn on the job were limited, and I was generally feeling under utilized.

I ended up with an unexpected life change event, and took the opportunity to try to reset my career path.  IBM offered a flex work program (i.e. 80% pay and hours), and I took used that program to go back to school part time.  I ended up taking most of the interesting 4th year grad physics courses, except the two GR courses that I’d still like to take.  I had put myself on the path for new employment in a scientific computing field (or perhaps PhD studies down the line.  I figured that once I had filled in some of my knowledge gaps, I’d be able to find work that would allow me to both exploit my programming skills, work on a product that mattered, perhaps even learn (science) on the job.

Because I was aiming for scientific computing work, where I figured my 20 years of programming experience would be more relevant than an undergraduate physics degree, non-degree studies was an excellent fit for me.  Like any other student in the classes I took, I attended lectures, did the problem sets and exams, and got a grade for each course.

What I didn’t get was any sort of credential for the courses I took.  I did end up with 2500 pages of PDF notes for the classes that I took — in my eyes that’s as good as a 2nd degree, but if I did end up looking for that scientific computing work, I’d have to convince my employer of that.

I’m now done with my non-degree studies, and did a followup M.Eng degree so I could take some grad physics courses.  This should be the time that I should be looking for that scientific computing work.  Why didn’t I switch gears?  Well, part way through my M.Eng, I got poached from IBM to work at LzLabs.  My work at LzLabs has been way too much fun, and is going to be an awesome addition to our product once completed.  A transition from a mega company like IBM to one with ~100 (?) employees wasn’t one that I expected, and perhaps I’ll still end up eventually with scientific computing work, but if that happens it will probably be in the far future.   For now, I’m working at LzLabs full time, and not looking back.

I still have a strong affinity for physics, but my plan is to go back to unstructured recreational studies, on my own schedule, once again without any care of credentials.

 

Condensed matter physics notes

February 16, 2019 math and physics play No comments , , ,

Here’s an update of my old Condensed Matter Physics notes.

Condensed Matter

Along with a link to the notes, are instructions on building the PDF from the latex and the github clone commands required to make a copy of those sources.  Mathematica notebooks are also available for some of the calculations and plots.

classical optics notes.

February 15, 2019 math and physics play No comments , , ,

Here’s an update of my old classical optics notes.  Along with a link to the notes, are instructions on building the PDF from the latex and the github clone commands required to make a copy of those sources.  Mathematica notebooks are also available for some of the calculations and plots.

Looks like most of the figures were hand drawn, but that was the only practical option, as this class was very visual.

A library discard: ANSI COBOL WITH STRUCTURED PROGRAMMING

February 14, 2019 Mainframe No comments ,

Look what I found for $2 at the public library in the no-longer-circulating discard bin

Can you believe that a book like this wasn’t flying off the shelves and ended up in the for sale box?!

So far I quite like it, as it has a number of examples of bad COBOL style, and what you should do instead.  Example:

Ways to make COBOL source code burn your eyes less are much appreciated.  The first sample above definitely mandates a trip to the eye wash station.

Continuum mechanics (fluid dynamics) notes posted.

February 13, 2019 math and physics play No comments

I’ve posted a refreshed version of my old fluid mechanics course notes (aka Continuum mechanics).  Also included are instructions to clone the git repositories, and make the pdf from the latex sources (which would allow customization if desired).

Updated statistical mechanics notes.

February 13, 2019 math and physics play No comments

I’ve posted a minor update to my old stat mech notes, plus instructions on how to clone the github repos and the latex, should somebody wish to attempt to fork these notes for their own purposes.  Enjoy!

Mathematica notebooks updated, and a bivector addition visualization.

February 10, 2019 math and physics play No comments , , ,

This blog now has a copy of all my Mathematica notebooks (as of Feb 10, 2019), complete with a chronological index.  I hadn’t updated that index since 2014, and it was quite stale.

I’ve also added an additional level of per-directory indexing.  For example, you can now look at just the notebooks for my book, Geometric Algebra for Electrical Engineers.  That was possible before, but you would have had to clone the entire git repository to be able to do so easily.

This update includes a new notebook written today, which has a Manipulate visualization of 3D bivector addition that is kind of fun.

Bivector addition, at least in 3D, can be done graphically almost like vector addition.  Instead of trying to add the planes (which can be done, as in the neat illustration in Geometric Algebra for Computer Science), you can do the task more simply by connecting the normals head to tail, where each of the normals are scaled by the area of the bivector (i.e. it’s absolute magnitude).  The resulting bivector has an area equal to the length of that sum of normals, and a “direction” perpendicular to that resulting normal.  This fun little Manipulate lets you interactively visualize this process, by changing the radius of a set of summed bivectors, each oriented in a different direction, and observing the effects of doing so.

Of course, you can interpret this visualization as nothing more than a representation of addition of cross products, if you were to interpret the vector representing a cross product as an oriented area with a normal equal to that cross product (where the normal’s magnitude equals the area, as in this bivector addition visualization.)  This works out nicely because of the duality relationship between the cross and wedge product, and the duality relationship between 3D bivectors and their normals.

Small update to old notes for phy450, Relativistic Electrodynamics

February 9, 2019 Uncategorized No comments

I’ve updated the pdf for my old phy450 notes (Relativistic Electrodynamics) from the current latex sources.  Also included on that page are a contents listing, and instructions for forking the git repos.  That should allow for building the pdf from the latex, so if somebody had changes they’d like to make, either for themselves or as feedback, they should be able to do so.