Monday, October 28, 2013

Tuesday, October 15, 2013

Injury update

In the few weeks since I last wrote about my motorcycle accident, my life has been very predictable.  I lay on the couch all day, sleep in my own bed at night (to allow my wife better sleep) and go to the doctor's office on Fridays.  Those visits are themselves quite predictable: my plaster split is removed, the doctor looks at my foot, mainly to see how the swelling is doing, and a plaster split is re-applied.

The routine changed ever so slightly with the surgery a few weeks ago. I was in the hospital for a few days while the pain from the surgery resided and it was demonstrated that I could get by with pharmacy-stocked pain medication. Then back home, laying on the couch and Friday doctor's appointments, now looking at both the swelling and the healing of the incision site.

The end of bedrest is on the horizon, though. If all goes as expected, I'm in the final two weeks and after that I'll be starting physical therapy. I don't know what this will look like exactly but I'm hoping The end of bedrest will mean life will start looking a little more normal. We'll just have to see.

And in case you're wondering, there will be pictures coming, at least the x-ray of my new, metal-reinforced heel.

Monday, September 23, 2013

The End of the Motorcycle

If all goes according to plan, I will be having surgery in one week (September 30th) to stabilize/repair my right heel bone.  My foot was injured when I was struck by a car while riding to school on the morning of September 11th.  Thankfully, all the protective gear I was wearing prevented any other injuries, despite the fact that I was thrown from my motorcycle and bumped my head when I landed.  I can't express how grateful I am that I was not injured more seriously.

Unfortunately, the path to recovery will be long.  Under doctor's orders, I have been living with my foot suspended above my heart since the accident to help the swelling in my foot to go down. (This is the reason for the late post; I'm typing this all very slowly on the iPad which I find tedious.  Don't expect a lot more out of me until I'm able to use a traditional keyboard.) After the surgery, it will be several more weeks of the same. Once I am permitted to begin living in the traditional, vertical orientation, I will be in physical therapy for several months and won't be putting any weight on the foot until well into the new year. No driving, no walking, and only getting around on crutches.

I don't know the state of my motorcycle as I left the scene in an ambulance but given its age, I suspect the insurance company will declare it totaled; there's a good chance it will never ride again.  It was a good bike and I am sad to see it go.

Sunday, September 08, 2013

STEM Crisis

The professional electrical engineering society I'm a member of (IEEE) recently published an article looking into the alleged lack of STEM (science, technology, engineering, math) graduates.  I've been suspicious of such claims for some time mainly based on my (and others') experience managing a career in the field. If nothing else, a true lack of STEM workers would result in low unemployment rates and high salaries.  In the dozen years I've been in the field, I have experienced neither.

And now this article gives some research to my intuition and experience.  If you care about such things, I suggest you read the whole article but for those you don't, here are my take-aways.


  • Many reports and studies have been done looking into this alleged shortage and each seems to classify STEM differently.  Some include fields like social science, psychologists, and health-care fields.  Some do not.  As you might suspect, this can have a big impact on the results.
  • Not all STEM graduates find jobs in STEM fields (mathematicians on Wall Street being a great example) and not all STEM jobs are filled by STEM graduates.  Depending on how each study looks at these details can have a significant impact on determining whether there is a shortage or not.
  • Estimating demand in certain fields over many years can be tricky.  The Great Recession has invalidated many studies that assumed more linear growth in the fields over time. As an NSF study says, "Projections of employment growth are plagued by uncertain assumptions and are notoriously difficult to make."
  • Immigrant workers (often admitted on the famous H1-B visas) increase the number of STEM workers available for employment.
  • Reports from Duke University, Alfred P. Sloan Foundation, and Rand Corporation all conclude there is no shortage, now or in the near future.
  • “If there was really a STEM labor market crisis, you’d be seeing very different behaviors from companies,” notes Ron Hira, an associate professor of public policy at the Rochester Institute of Technology, in New York state. “You wouldn’t see companies cutting their retirement contributions, or hiring new workers and giving them worse benefits packages. Instead you would see signing bonuses, you’d see wage increases. You would see these companies really training their incumbent workers. None of those things are observable,” Hira says. “In fact, they’re operating in the opposite way.”
Nice to know I'm not just making this up.

Tuesday, August 27, 2013

College Group Board Games

I was recently commissioned to purchase a starting set of board games to make available to our church's college group for use after our weekly meetings.  Our hang-out time afterwards is generally characterized by talking and pancakes (yes, pancakes) and it was thought that the board games might provide some alcohol-free social lubricant.  We did a test run using our own games last Thursday and the response was positive so we got the go-ahead to make it official.

Based on our trial run I was looking for games that had some of the following characteristics:

  1. Familiarity to college students/people in general.
  2. Easily taught and learned.
  3. Relatively short (less than 30 minutes) to play.
  4. Good for larger groups (five or more will probably be common).
Not all of the games chosen fit all of these requirements but many come close. And here they are....








I've got a list of further additions if such a need arises but I'd be interested in any suggestions.



Tuesday, August 13, 2013

Vacation in Vancouver BC and Portland

Here are some photos from my recent trip to the Pacific Northwest.  The first week or so was spent up in Vancouver BC where I attended a conference and my wife saw the sights.  Our hotel was in downtown Vancouver and the living felt very urban.  Lots of people on the sidewalks at all hours, lots of bicycles, buses, cars, and pedestrians. We saw more pet dogs than children and it definitely seemed a place for yuppies to thrive.

Here's the view from our hotel window:
More than any other city I've visited (including Portland, OR) downtown Vancouver accommodated bicycles.  Note the dedicated lanes and bicycle parking in the median.  My wife rode all over downtown on a rented bike, something she won't do here in Wichita.


Downtown is largely surrounded by a harbor including a seaplane terminal.  I'm guessing this is where some of those vehicles go for fuel, the floating Chevron station.


A fair number of the buses downtown were powered by electricity from these overhead lines.  There were points on some of the routes where the drivers had to get out to switch lines so the bus could continue on its route.  


The Olympic "cauldron" from hosted 2010 Winter Olympics.


The city is very environmentally-oriented which includes growing a lawn on the convention center roof.  


I did not appreciate how major a shipping terminal the city was until I saw this.  Many, many freighters were in the harbor the entire time we were there.


More of downtown from the harbor.  The skyline was full of skyscrapers.  Particularly on the west end of downtown, virtually all of the buildings were over 30 stories tall.  As I said, very urban.


This is art.  There was a sign saying so.  It also said not to touch the art so we didn't.



My wife wanted to go hiking near waterfalls and I knew just the spot.  It had been many years since I had been down to Silver Falls State Park not too far from Portland.  Six miles, 8 waterfalls, good times.




I don't know what happened to this tree but it is clear it hit the ground violently.  I have never seen a trunk this large shattered like this.


Also in the odd-sightings category, a burned-out tree with only the bark remaining?  Maybe?

Tuesday, August 06, 2013

Lorenz in Living Color: Part 4 - Visualizing the System

As I mentioned previously, an error in my implementation of the Runge-Kutta algorithm on the Arduino left me convinced that I needed something with higher precision to do the necessary calculations.  This set-back would eventually sideline the project for several months but before I set it aside, I took on the chunk of code that would follow the calculations to find the solution to the Lorenz system, that I was having trouble with.  Given the z, y, and z values that would result from that calculation, I needed be able to determine the red, green, and blue values for all 50 of the LEDs I was going to be using.

This gets to a very fundamental question: once I did get to a place where I had a running list of coordinates of the solution points to the Lorenz system, how was I going to present those in an attractive way?  My first thought was just to use a row of LEDs each one representing a state of the system.  As the Arduino would generate the solution to the system for the next step in time, the new color would be shoved onto the string of LEDs, pushing all the previous solutions down one LED.  The result would look a lot like the animations form previous posts but here's what it looks like when all 50 LEDs are used:


My thoughts were to orient the string of LEDs vertically, maybe four or five feet tall and place them behind a piece of frosted glass or plastic, perhaps with some etching somewhat related to the weather.  I held onto this idea for quite some time before I was confronted with the reality that I had no way to etch a five-foot long piece of glass or plastic nor did I have any specific plans for what that art would be.  And if I was going to be the one to make the art, I suspected I would spend a large amount of time on it and the results would not be that fantastic.  The project would turn into one playing to my weaknesses rather than my strengths.

Lorenz, the man, is the one that coined the term "butterfly effect" to describe how chaotic systems can start out in very similar states but over time diverge drastically.  Interestingly, given the right set of parameters to the Lorenz equations, the shape of the solutions ("the attractor") takes on a vaguely butterfly-like shape.


I started of thinking of ways of trying to use this visual similarity. I still liked the idea of having the LEDs behind frosted glass to diffuse the colors; maybe a butterfly shape could be etched into the frosted glass?  Behind this etched glass I could arrange the LEDs in the shape of the attractor and as the solutions to the system were found, I could light up the LED that corresponded to that place on the X-Z plane with the color that corresponded to the X(red), Y(green), Z (blue) coordinates.  By arranging the string of LEDs in a figure-eight the looping path of the solution to the system would be shown by constantly moving LED with a color based on the the latest solution to the system.

But this would once again require me to create some kind of passible image of a butterfly to be etched. Seeking to avoid this complexity, I decided to switch the two images: I would etch the attractor on the frosted glass and arrange the LEDs in the shape of a butterfly.  I could generate the image of the attractor using Matlab and arranging 50 LEDs in the shape of a butterfly profile seemed something I could manage.

Once this decision was made, the next step was to write the code that would take the latest solution to the Lorenz system, an X, Y, Z coordinate, and define the state of each of the LEDs.

Tuesday, July 16, 2013

Lorenz in Living Color: Part 3 - Differential Equations on the Arduino Uno

We left off last last time with my successful efforts to implement a fourth-order Runge-Kutta algorithm to solve the Lorenz system of differential equations in Microsoft Excel.  To make this project all I hoped it to be, though, I needed to do the same thing using an Arduino Uno.

The Arduino platform is great in many, many ways because it is largely able to hide a lot of the details that have made microcontrollers tricky to deal with for decades. But once you start moving beyond simple flashing LEDs, controlling DC motor speed, and reading analog temperature sensors, that messiness and mandatory attention to detail begins to reappear.  Very quickly, trouble with execution time, accuracy, data types, memory management and program space become pressing.  For this project I had a few specific concerns.

The first was accuracy.  Like all chaotic systems, the Lorenz system is sensitive to small deviations which, over time, cause a divergence between states that started out very near each other.  Approximations at any step of the process can lead to widely differing results in short order.  This is particularly a problem when using a numerical solver because numerical solutions always involve some degree of estimation; you always only get approximate solutions.

For the purposes of this project, I was not highly concerned with the accuracy of the specific solution, only that the system continues to behave in the characteristically chaotic fashion.  As long as the colors kept oscillating back and forth I was OK; if the system ever leveled out and settled into a single color or small spectrum of colors I had problems.  Not knowing enough about the system, I was not sure what degree of accuracy was needed to make this work.  As the programmer reference states, floating point variables (values with a decimal place) only have six or seven digits of accuracy.  It was not obvious to me if this would be enough accuracy for my needs.

My second concern was speed. The Arduino Uno runs at 16MHz by default and the Runge-Kutta algorithm uses floating point values every step of the way.  Floating point operations are the slow on the Uno because it has no dedicated floating point processor so I knew calculating the solutions could be time consuming.  I was also concerned with the time it would take to send out the new color state to all of the LEDs I was using.  As I could tell from the tutorial from the distributor, each LED would need 24 bits sent and I was planning on using 50 LEDs.  For the system to work as I wanted, both the calculations and the updates would have to be fast enough that I could update the system in real time.

There was only one way to address these concerns: try and see how it works. My first pass at implementing the Runge-Kutta code was a failure and unfortunately for me, I didn't realize I had made a critical mistake in translating my work in Excel to Arduino code.  When I ran this faulty code the system quickly settled out into a constant value, leading me to believe that the Uno lacked the precision for this application. These results lead me to desperation and I decided to take an entirely different tack: I was going to cheat.

Rather than calculating the solution to the Lorenz system I decided to take the red, green, and blue values I had already found when implementing the Runge-Kutta algorithm in Excel and store them in the Uno.  There wasn't a ton of room in the flash memory available for me to use but it was enough and I was able to demonstrate that this could work.  The Uno would just play back the pre-calculated solution and then and use it to drive the LEDs.  It worked but I wasn't happy that I would only ever be able to display a fairly limited set of values, those stored in flash memory.  This small setback and the normal busy-ness of life led me to sideline the project for several months.

A month or two ago I  picked the project up again with inspiration from an artist friend of mine and did the hard work of remembering where I left off and developing new strategies to solve the problem before me.  I ordered a dedicated floating point processor with hopes it would provide me the precision I thought I needed.  I ordered a 32-bit Arduino Due which has this precision built in the microprocessor architecture (and it runs much faster).  I even ordered extra off-chip flash memory to store an impossibly large amount of pre-calculated values (worst-case scenario). And while I waited for those to arrive in the mail, I relearned how to implement the Runge-Kutta algorithm and looked over the code I had written.  With a more systematic approach to checking my work I discovered errors in both my Excel and Arduino code and after correcting both was greeted with surprising results.

The Uno had enough calculating precision and speed to do what was needed. The solution to the Lorenz system that it finds appears to be accurate enough though I won't be sure until I get the system entirely assembled and can let it run for hours or days.  This result greatly encouraged me.  I was getting close but there was still more to do.


Monday, July 08, 2013

Lorezn in Living Color - Part 2: Solving the System

So where did we leave off....?  Oh yeah, the Lorenz system.

The Lorenz system is a three dimensional system that has this intriguing property in that as the system evolves over time, the solution never repeats yet tends to follow a semi-regular pattern.  My goal is to map the three co-ordinates of the solution onto a red, green, blue (RGB) color space so that I can see the system in another way.

The first challenge to overcome: since I was planning on implementing this project on an Arduino, I needed to solve the system of differential equations numerically.  I knew that solving differential equations this way was common (almost every computing device solves in this manner) but having never done it myself, I was a bit intimidated.  I knew from one of my recent math classes that the most common way of doing this was using an algorithm called Runge-Kutta, the fourth order variant being the most common:

(From Wikipedia)

(In the world of math and science, the most fame you can reasonably hope for is getting something you've done named after you.  This carries very little value outside the math and science circles, though.  Can you name more than ten famous mathematicians or scientists?  Come to think of it, if you're reading this blog you probably can. But I bet your next-door neighbor can't.)

Even though I working on my PhD in electrical engineering, I am not used to looking at numerical algorithms described in equations and  implementing them for, say, the Lorenz system.  I decided rather than start by writing code directly on the Arduino, I was going to use tool of every of every rookie to the field of numerical analysis: Microsoft Excel.  When you're just starting, Excel makes things easier by explicitly showing the  intermediate values for every step of the process.  Each intermediate value in the process has its own column with each step in time (n from the equations above) getting its own row.

After messing around in Excel for a while I had figured out how to interpret the equations for the algorithm and seemed to have produced results that were consistent with what I understood about the system.  I could see the x, y, and z values oscillating over time, never running away to infinite or getting stuck at any particular value and always circling back and forth.  Always moving, never repeating.

But these were just numbers and its hard to get a feel for how they would look if represented as RGB values. Engineering/Artistic epiphany: I could use Processing (a close cousin of the Arduino development system) to visualize the changing state of the system.  Processing was designed for real-time animation and visualization and I was sure there would be a way to take the values from my Excel spreadsheet and use it to draw a string of circles filled with the colors produced by the calculations.

And it was.


(The full animation has 50 circles; you're just seeing a portion of it here.)

I noticed that the colors that were being produced by these solutions were not that, uhmm, colorful.  I was already scaling the values from the Lorenz solutions to make them fit the way the RGB color definition used by processing (0-255 for each color channel); a little bit more tweaking probably wouldn't hurt anything. It took a few guess-and-check attempts but I eventually found a simple equation that changed numerical solutions from the Lorenz system into color values I liked.  





Using Processing to check my work was a great idea and it gave me confidence I was on the right track.I could see the results of the Runge-Kutta algorithm, see the progression of the colors, and verify that, for my purposes, the system was producing useful results.

Next up: moving all of this work I had done in Excel onto the Arduino.



Sunday, July 07, 2013

Sedgwick County Zoo

A few weeks ago my wife and I spent the early evening at the Sedgwick County Zoo.  For being a smaller-ish city, the Zoo here in Wichita is great.  Ten points if you can name all the animals.












Wednesday, June 26, 2013

Birthday in Enid

My niece had a birthday party in Enid a few weeks ago that my wife and I attended.  Due to the large number of guests, and the crowding around for pictures: this is the only decent photo of her I got:



Her younger brother, on the other hand, was much more available...



... and so we got to spend some time with him, particularly out in the front yard where there were readily available ladybugs to be fascinated with.






Thursday, June 20, 2013

Male College Degree Holders

An article in Washington Monthly (summarizing a Lumina Foundation report) confirms a suspicion that I've had for a while; of those aged 25-29, 47% of women hold a degree compared to 37% of men.  I ask this in all honesty since I have not applied for undergraduate scholarships for some years: are there scholarships that target men?  When I was seeking to fund my education there seemed to be plenty scholarships that I couldn't apply for because I was not a woman.  I never saw any that were just open to men.

I regularly see reports and articles discussing the efforts to get more women into the STEM (science, technology, engineering and math) fields where they are not as well represented. I don't see similar reports of efforts to get men into fields where they are equally not well represented such as (and I'm completely guessing here) elementary education and nursing.

College funding is a politically complicated issue and I wish that it were not so.  I haven't done a lot of research but it appears that, with regard to gender,  the recent political efforts to restructure accessibility to higher education have been very successful.  Though it is not politically correct, the data seem to support the fact that our efforts have produced results that pass gender equality and are now significantly favoring women. I'm assuming that this was not the intended outcome and that with the victory of getting more women through college, we should rethink our choices.

Maybe the time has come to focus on getting men through college.

Thursday, June 06, 2013

One of these things is not like the others...

Taken in the power research lab I work in at Wichita State:


Even with my poor quality cell phone camera the baby blanket on the floor beneath the solar cells seems out of place.

Tuesday, June 04, 2013

Board Game Storage: Dominion - New Case

I know I said I wasn't going to move my Dominion set into a larger box until I needed the room but, well, it just kind of happened.

I made plans to go to Hobby Lobby to pick up a shadow box for another project and printed out the 40%-off coupon they almost always have on their website.  When I got to the store, they were having a sale on picture frames and shadow boxes (another common occurrence) which nullified my coupon. I was in the store, coupon in hand, and even though I didn't have immediate need of it, it seemed even more foolish to not purchase the larger box.  I didn't want to have to make another trip at some later date, right?  And I had the coupon, just begging to be used.

The next day, I was at the hardware store for an entirely different home maintenance project when I stumbled across some 4" x 2' x 1/4" maple slats that would work great for the dividers in the new box.  And they were being clearanced-out for $1 each.  With maybe a little bit less internal conflict over how small pebbles were beginning to turn into avalanches and slippery slopes were being danced upon, I bought five.

In just two days, purely by happenstance, I had purchased all the pieces I needed for upgrading my Dominion box. These pieces were sitting in my house, un-touched and still wrapped, not causing anybody any harm.  And I was doing OK with this; I had a lot on my plate with upcoming trips and trying to get some school work done.  I was actually feeling pretty good with just letting them sit there for a while.

A few days later I had got some time to kill while Katie was making dinner so I go out to the garage and cut the dividers from the maple slats I purchased. A day later I find myself sanding the dividers and the box in preparation for staining, another day I end up beveling one corner of the dividers so that the lid will close once they are installed. And so it goes: a little gluing here, a little staining there...


... and suddenly I'm putting felt into the bottom of the case....


... and transferring the game into the new box.



Its nice to see it with plenty of room for the other expansions and I'm happy with the final results.  Incidentally, the staining was done primarily because my Catan set is housed in the exact same box and I wanted an easy way to tell them apart.  The felt was recommended to help keep the cards from sliding around.  And they look nice, too.

Craftsmanship on this was probably a solid "B" and I am perfectly OK with this.  The stain pooled some in the corners, there is glue acting as a significant structural members to keep the dividers in place and the felt was not cut very precisely.  These imperfections were completely acceptable to me; I have taken the policy that the first time I build something it is effectively a prototype.  Get it done and learn from the process rather than making sure the end result is flawless.

But seriously, this was all a conspiracy of coincidence.  The box practically assembled itself.  Its not my fault.

So when do I get Prosperity, anyway?

Saturday, June 01, 2013

Conference in Madison

PSERC had there spring meeting this year at University of Wisconsin-Madison and I just got back from  my trip up there.  I'll spare you all the technical details of the conference and instead talk about the general aspects of my time in Madison.

First of all, the campus.  This is a very large campus that is thoroughly integrated into the city.


(All photos you'll be seeing today were taken with my poor quality cell-phone camera.  No justification is provided for such a choice on my part.)


All the buildings you see in this picture are a part of the university.  Almost all of the buildings I saw on campus were at least five stories tall.  I was told the campus had 40,000 students and it stretched literally for miles.  Despite Madison being a relatively small city, walking through campus felt just like walking through downtown in a many times its size.  You might guess that parking was not easily found and you would be right.  This is true not only for cars but also for scooters (called "mopeds") and bicycles.



Many buildings had the moped lots and all had many bike racks.  Madison took bicycles very seriously.  Bike lanes everywhere (some with curbs in the middle of the street physically separating them from auto traffic), demarcation between bicycle and pedestrian lanes on paths, and automated bicycle rental racks strewn throughout campus.







After riding my bicycle as my primary form of transportation for a better part of a decade, I have to say that Madison fully understands and enables bicycle commuting.  Autos, bicycles, and pedestrians; these three all move at distinctly different speeds and to facilite each, they each need their own lanes.  Seeing these three lanes makes me want to move there.

There's always the weather, though.  Humidity was high (> 90%) so even at 75'F I was sweating.  I don't think it would be any more bearable than Wichita's summers even if the highs are ten or fifteen degrees cooler. Winters I would expect to be much colder and snowier than anything I've ever experienced; maybe I don't actually want to live there.

Anyway, back to the campus.  At a big school there is a lot of money very modest percentages of the university budget can produce very impressive results.  We got to tour the newest building on campus and it is was nicer and more impressive than the building where I have my office at Wichita State, also the newest on its campus.


Five or six stories, glass and metal, very fancy looking labs with many millions of dollars of equipment.  It is hard not to feel inferior when surrounded by such impressive equipment.  The advantages of doing research at such a large and well-funded school were clear and made me jealous; I've always had a problem with gadget envy.  It is in times like these that it is good to remind myself that I'm actually very happy with the education and research opportunities I have been granted, both undergrad and graduate.  Expensive toys are nice and they enable some incredible work but there is a lot that can be learned and studies with much more modest means.  I am thankful for the opportunities I've been given.

Lastly, a bit of a rant on the controls in my shower at the hotel.
Two levers one controls the amount of water and the other controls the temperature. The large one rotates about 540 degrees (1.5 revolutions), the other, smaller lever only 45 degrees. To turn the shower on you must rotate the larger one until water begins to flow.  To adjust temperature you then turn the smaller one appropriately.  No wait, that's completely wrong.  To adjust the temperature, you continue to turn the larger handle an arbitrary amount in an arbitrary direction.

After using this fixture for three days I had memorized where the handle should go; the location never made any sense.  And the smaller handle?  It did adjust the amount of water AFTER you had turned on the water with the larger handle.  This is the worst design I have every personally encountered.  (If design decisions like this equally ruffle your feathers, do I have the book for you: The Design of Everyday Things by Donald Norman.  Amazing, fantastic book.)