Andrew Que Sites list Photos
Projects Contact
   The group was sailing up the river after learning there was a problem with Nagas taking out sailors.  Figuring this was a good way to gain some popularity we decided to go on a hunt.  There was quite a commotion in below decks when upon investigation we found a small mimic.  It got into the "magic" hot element which burned through it, and then through the hull of the ship.  Water was leaking in and there was a shrinking baby mimic.  Lug, the large ship mimic, had been fed so much as of late that it budded.  But we all rolled so poorly, no one noticed.  The crew was assigned to patch the hole.  The scrag, Kint, was sent to retrieve the magic item on the riverbed.  He knew enough not to touch the thing, but fumbled his handling and ended up with strange burns on his hands.  The ship had come to a complete stop and once things were back in order we were about to get back underway.  It was noticed the baby mimic had transformed into an exact replica of Vishtorian's crossbow. 
   Just then the ship was surrounded by Nagas.  The crew was quick to react.  Zilrock jumped into water trying to swing at the queen Naga, but missed.  Brotton fired the main cannon at the queen Naga doing a huge amount of damage.  This was followed up with attacks by Sefer.  Brotton next attacked a smaller Naga with a firebomb.  The queen Naga attempted to cast a spell but the opportunity attack this invoked led to it being killed.  The remaining Nagas then started to flee. 
   The crew had killed quite a few small Nagas, two medium Nagas, and the queen Naga.  The bodies were hauled on board.  Poison glands were extracted from the queen Naga and the heads prepared so we could collect the bounty.  Only a few days up river, we turned to head back.
   The icy/rainy weather means I haven't been able to ride the entire week.  The only nice thing is that I was good and rested for skating this evening.  Last month I had a wide-open floor due to bad weather, but was too drained to do much about it.  I pushed hard to burn 2,100 Calories and felt exhausted afterward.  I had also ridden almost 60 miles that week.  Tonight I hadn't logged a single mile for the week.  The rink was busy but when I was able, I found my heart rate could hit and hold the 180 BPM (99%).  Unfortunately there were too many people to do the heavy skating I wanted, so I logged 2,327 Calories for the 2 hour and 54 minute session.  I had a maximum heart rate of 188 BPM (103%) and wasn't all that tired afterward.

January 06, 2017

3506 miles bicycled in 2016

   So this is 2016 as seen from the ground covered from my bike rides.  I logged 3,506 miles.  Total saddle time was 367 hours, or just over 15 full days of riding, or 9x 40 hour work weeks.  In the process I burned some 273,000 Calories, or enough energy to keep me alive for typical 118 days.  I biked a total of 164 day or on average once every 2 1/4 days.  Each day I rode I typically road for 2.2 hours, covering an average of 21 miles.  My best month was June where I covered 469 miles which included my personal record of 75 miles in a single day.
2016 H M S Miles Calories Days   Miles/day Hours/day
January 22 11 11 29.85 17,081 10   2.99 2.2
February 14 11 1 27.5 11,676 6   4.58 2.4
March 25 28 22 202.38 20,444 14   14.46 1.8
April 45 47 25 362.92 31,917 23   15.78 2.0
May 45 20 47 410.48 30,483 19   21.60 2.4
June 49 13 55 469.25 33,775 16   29.33 3.1
July 36 47 42 459.97 28,057 16   28.75 2.3
August 10 50 14 108.98 9,035 4   27.25 2.7
September 34 17 4 460.67 26,268 16   28.79 2.1
October 29 24 8 400.69 22,556 16   25.04 1.8
November 29 28 54 318.62 22,130 14   22.76 2.1
December 24 23 38 254.59 19,597 10   25.46 2.4
  367 24 21 3,506 273,019 164   21.38 2.2
   I'm pretty happy about those numbers.  The miles are more than double last year's 1,524.  The data shows I am improving, and I'm continuing to cycling despite the winter temperatures.  If I keep this up the distances I can travel in a single day, multiple days in a row will continue to increase.  I don't know that I have a specific target, but for long bike trips I would like to be able to ride in excess of 50 miles/day.  75 would be better, and 100 better still.  For now, one step at a time and I'm going to enjoy the success of 2016.

January 05, 2017

FFT for LibreOffice Calc

A few days ago I posted a ooBasic script that can be used in LibreOffice to do a Discrete Fourier Transform (DFT) on a set of cells. While it works, it is slow. This is because the a raw implementation of a discrete Fourier transform runs at a complexity of O( n2 ). That is, the number of operations required to compute is the square of the number of data points. Since this grows exponentially, slightly larger data sets take significantly longer to compute.

Naturally, the solution is to switch to a Fast Fourier Transform (FFT). These can generally reduce the complexity down to O( n log2 n ). I knew this when implementing a DFT, but implementing an FFT is a bit more complected. ooBasic kinda...well, pretty much sucks as a programing language. So to do an FFT implementation I wanted an algorithm fairly straight forward to translate. I surveyed several libraries but ultimately decided on Free small FFT. It included a fairly clean radix-2 Cooley–Tukey FFT algorithm but also had Bluestein's algorithm for data not in powers-of-two. The complexity looks to be something around:

I am judging this based on the fact it does three radix-2 transforms on a four times the rounded up power-of-two.

Why does anyone need an FFT in a spreadsheet? I’m not the only person who has searched for such a function, but the primary reason I want one is to do a spectrum plot of a sampled signal. It doesn’t happen often that I need one, but when I want it, I want it in the spreadsheet and would rather not have to go to an external tool.

Today I finished making a simple project page to host the script. Installing it in LibreOffice isn’t easy, but the steps outline in the manual section seem to work. They don’t make it easy, but should anyone else ever want LibreOffice Calc to do an FFT, this should work.

   This is my laptop at work.  It sits fully upright which allow the monitor to be in a better position.  Initially it sat up by leaning against one of my other monitors, but it wasn't a great setup.  Although I never had problems with it falling--mainly because there are so many cables it helped to tether the laptop--I wanted something better.  So I constructed this stand out of some scrap wood.  It is just a small piece of particle board and some 2x4" with a dado cut down the center.  A couple drywall screws hold it together and some black paint turns it nearly invisible. 
   Today is forecast to be the nicest day of the week with temperatures just above freezing.  I was all ready to ride into work.  I started down the driveway and pretty much slid all the way to the street.  There the conditions were not much better.  Still, I figured I'd give it a shot.  After a few blocks it was obvious conditions were not going to be improving.  The trails would be coming up and if the streets were this icy, the trails would only be worse.  It was the first time I called off a bike trip into work, but ice is dangerous.  I can cycle in snow, cold, and although I hate it, rain.  But icy conditions are impossible because there is just no traction the hence no control.  So first ride of the year was all of 1 mile.
   Pictured is an empty sleeping quarters for the sim-annual deep clean.  A vacuum and a wash take care of all the build up that happens with an enclosed area.  I also beat out the mattress and wash blankets.  This is one of the only times the floor is exposed.  The paint on the floor is leftover from when the walls and ceiling were splattered.