Andrew Que Sites list Photos
Projects Contact
   Today's bike ride destination was the small wind farm just north-west of Middleton.  It is called Epic System's Galactic Wind and consists of 6 turbines generating up to 9.9 MW.  They are fairly visible and being a fan of wind power I thought this might be a good destination for a bike trip.  The winds on this trip were fairly high, and the way to the turbines I had a good tailwind.  They turned out to be much further away than I had initially though, and getting to them required a little zip-zaging on back roads. I couldn't pre-plan the trip because the turbines don't yet appear on the satellite image maps, but they are visible from at least 10 miles away so I didn't figure I would have a problem.  This was the first time I actually heard a wind turbine from a distance.  In the past the only time I could hear a turbine was when I was under it.  From my observation point about 300 yards from one of the turbines I could discern a low swoosh as the blades rotated parallel to the tower.  It was quite subtle and reminded me of a muffled ocean wave. 
   The wind speed for the afternoon (as logged by the Dane County Airport) were between 13 and 18 MPH which according to the Vestas V-82 (the turbines that make the wind farm) datasheet means each turbine was generating between 200 to 1200 kw of electricity.  On my 2 hour and 18 minute ride, I estimate each turbine generated about 3.9 kWh of power—enough electricity to run our house for 3 months.  Such number dwarf my little solar project.  But then it costs about $2 million to put up a turbine like those at this wind farm.
   My trip finished up at 19 and 2/3 miles.  The day was already getting warm and I had consumed close to 2 liters of water (most of which I think went into soaking my clothing with sweat).  However, I think it a good trip.

Today I tried an experiment using shared memory. I wanted to add a galvanometer chart to the Operation Lux section that would show the current level of sunlight. The lux logging software has this information, but how to transfer it from the C software to PHP script was the question. I had a number of options. I've done this in the past using an Internet socket. For those projects I had a lot more information to convey. Here, I just had a few bytes of data (the current lux measurement) so I decided to try shared memory because I hadn't worked with that before.

On POSIX style systems shared-memory is pretty easy to work with. In C you can establish a shared-memory file and get a pointer to this memory. That makes Inter-Process Communication (IPC) easy. PHP doesn't have pointers like C, but it does suppose POSIX style shared-memory. Instead the shared-memory is treated like a file. This still works fine because I am only transferring a few bytes. In very short order I had data transferring between the logging software and the PHP script.

Now that I had instant access to the luminosity data I wanted to display it in some meaningful way. I decided to add a galvanometer chart. The needle of the meter would indicate how much light the sensor was receiving, and update regularly. Back in 2008 I wrote an article about how to create a galvanometer. I pulled this code out and decided to turn it into a generalized class. Turned out so well I might continue the cleanup work and turn it into an other open source project.

My bike can fly

My bike can fly

   The last couple of days I have been putting my bike to work and doing some exploration of my Middleton surroundings.  Since our good friend Pluvius got us a smart phone I have been growing rather fond of it.  I often use the GPS to keep an eye on upcoming traffic as I drive as the Madison area can get bad at times.  Some years ago I had considered getting a GPS for my bike trips and never did.  I knew my phone should be able to do this now, and I have been testing it out.  On my frist trip the application I was using didn't update my position all that often and didn't produce a great map of my trip.  After adjusting the update rate I did an other ride and it produced a much better path.
   Pictured is how my bike is stored in the garage.  Xiphos and I thought about how to fly the bikes when not in use shortly after we moved in.  Over the winter most of the bikes could easily be hung upside down from a few nails in the garage door support structure.  However, my bike, with all of it's bags and such, weights too much for this.  Xiphos had been experimenting with pulleys and had a nice block and tackle with 4 sheaves on each end.  We hung this from one of the rafters and it made easy work of flying my heavy bicycle up and out of the way.
   Brynden celebrated his birthday and graduation this afternoon.  In the fall he is off to collage.  I remember attending an other graduation for Brynden—preschool—and it doesn't seem that long ago.  And if I don't get back on track, he'll end up finishing collage before me.

July 18, 2014

Estimating the Curve



   Did some experimentation with the early data from ππ.  The light curve looked like it followed a the Gaussian function.  I was wondering if I couldn't curve fit this function to fit my data to get a theoretical light estimate.  Long story short, the data I am logging seems asymmetrical and the Gaussian function is not a great representation.  I might continue to experiment just to see if I can't use the Gauss-Newton algorithm to do this fit for me,

July 17, 2014

Faster Graphs



   The graphing of lux over time done by ππ has been moved to the Blue-Dragon.  The data is still obtained from the Pi using sshfs but the rending of this data is done on a much faster machine.  The graph is now usable.  It had been designed so you could click on the graph and drag it to the right or left.  However each update took over one second to render and return, which made this feature pretty useless.  Now that the graph is rendered on a machine several times more powerful it updates about 4 times a second (at least locally). 
   This presents a major question: can the Pi be a good web server?  I had considered replacing the server at (known as the Micro-Dragon) with the solar powered Pi.  However, I think it may end up being too slow.  Most of the sites would be fine including the photoblog.  But the math demonstrations might not be functional without (or fast enough to be useable anyway).  More experimentation is needed.  On the plus side, there are other single board computers that seem to be following in the Pi's footsteps.  Some use a quite powerful mutli-core ARM CPU, and the specs are better than the server we have now.  The down side is they also draw more power.  So we shall see.

July 15, 2014

Invalid Data



   Seems ππ is back to full operation and doing fine.  All the data from the couple of days around the wireless crash have produced mostly useless data.  The Raspberry Pi has no battery backed clock so when the power is cycled it losses it's time.  What's nice is that the system knows this and synchronizes the time over the Internet when it boots.  However when I cycled power trying to get the wireless back, the system started with no idea what time is was because it could not connect to the Internet.  So all the logging has invalid timestamps for those time periods.  The data is pretty much useless.

July 14, 2014

Dead Wireless USB

Elmwood Park

Elmwood Park

   So the wireless communications to ππ were bad, but this weekend they changed to non-existent.  After some investigation I found the USB wireless adapter were completely dead.  It wasn't recognized by the Pi, or my main machine, and acted as if it had not been plugged in.  The wireless aspect of this project has turned into more of a pain than it was worth, so my solution was to run an Ethernet cable out a window and to the roof.  After I did this, the Pi is back to logging data.

When we left off the group had confronted a cloaked figure associated with necromancers. Ellenoria had unconvincingly tried to gain his confidence using Andel's unconscious body stating she was trying to use a raise undead spell. After being pushed out of the way she called for Marv to be a little more persuasive. Annilis stepped into the figure's path and had been thrown back over 100 feet.

Today the encounter continued. Just as this took place, the wizard suddenly appeared between the cloaked figure and Marv. The cloaked figure seemed to be interested in this sudden appearance and asked if the wizard had come from The Void. Since Joking is crazy he didn't answer directly but was kind, sorta, but not really entirely sure he did. The cloaked figure referred to the wizard as brother and invited us back to the black house. The others in the group were asked about what we wanted. After some chatting Ellenoria explained we had tried to free some Void Creatures in a dungeon we came across. We were asked the name of what we tried to free, but we only knew the numbers. There was mention of She Who Burrows and the cloaked figure said they were looking for her.

We were left to reconvene at the black house in a few hours. The Solarian, Gaius Dermious, was contacted via the Noitacinummoc stone to and given an update about a group interested in Void Creatures. We asked about She Who Burrows but Gaius did had never known their names. We suspect She Who Burrows might be the missing creature IX.

A cover story was needed. Clearly they thought the wizard was one of them. So it was decided to have everyone pretend Joking was our leader, and we were anxiety groupies who hated the world and wanted chaos, death, and destruction. After getting to Kobold's up to speed we hung outside the black house, Ellenoria played and sang some punk rock while Marv (who is 7' tall) and Sparky (2' tall) danced in a circle pit.

When the cloaked figures returned we were invited inside. The key to get in was like a sheet of paper but sometimes appeared in multiple dimensions—it was clearly magical. Unlike the outside, the inside was not painted black. There was the smell of sweet rotting. It was run down like any abandon building and had nothing inside. The group was shown to a parlor and served cookies and tea. Ellenoria was able to watch closely enough to tell the otherwise identical figures apart from they movements. A lot of magic was detected in the house. There was a strong protection spell guarding the place from outside entry, and a lot of magic we could not identify. However, there was defiantly something building up in power.

After refreshments which only some of the group ate we were lead to a basement, and then a sub-basement. Other cloaked figures were making bricks and the sub-basement looked to be something they constructed themselves. It seemed to be centered directly under the house and contained a circle of seating around a center alter. As we entered so did several other cloaked figures, 10 in all. All looked the same and only be watching their movements could one be distinguished from the other.

The group was asked if we wanted to join with the cloaked character's group. Anytime the group was asked about anything, Ellenoria started ranting about how the world was just full of conformist pigs that all worshiped stupid gods, and that chaos and death was the only thing everyone deserved. This seemed convincing enough for them and Andel agreed to be the first to be initiated.

The ritual began and Andel began to levitate partly over an open pit. The cloaked figured removed their hoods to revel they only had half a head. On the top just above the mouth their head was gone and there was a black flame. It seemed obvious that Andel was about to loss half her head in this initiation process and it was time to take action. Protesting began and the cloaked figures said a sacrifice of part of yourself was required to become part of their group. Ellenoria said that was stupid conformist garbage. Battle commenced.

Greatly outnumbered by magic users far more powerful than ourselves was not exactly what we had in mind. However we decided to concentrate our efforts on their leader—the one running the ritual. Their attacks were powerful and magic in nature. Annalis made a beautiful critical role and bloodied the leader within the first couple rounds of the battle. The enemies, other the other hand, rolled terribly. In the first round one fumbled and fell over for a two rounds. And the next round one critical fumbled and knocked themselves out for the remainder of the battle. Marv ended up killing the leader but taking a huge amount of damage in the process. Ellenoria sang songs of battle and healing, but one was knocked unconscious before the battle was complete. After the leader and two others had been killed the remaining figures fled. We had won, but something was charging up in the pit by the alter.