Random tidbits, thoughts, ideas, reviews, etc.Aaron Goes Yakkity Yak Photo: Indian Paintbrush and Chain in SandstoneYou are not logged in. Click here to log in. | |
Here are a few of my latest Yakkity Yak web log entries. Don't forget to check out my GPS cache hunt adventures, Astounding Adventures.
Page 1 of 14
Golf School Ruby Style
Sunday, 07 March 2010 12:38 AM MST
Yakkity Yak
I've been schooled while playing code golf with Ruby (or Ruby Golf). This weekend I posted a message to the Ruby Talk mailing list, linking to a little 276-character base-64 encoder written in Ruby I'd had fun writing. (Yes, there are FAR better ways to do base-64 encoding in Ruby--I wrote it purely for the fun of exploring the language.)
When programmers (geeks/nerds) start swapping bits of code that do one little thing, trying to shorten and tighten the code to the smallest size possible, it's called code golf. The goal is to have the lowest score (the smallest code size) that accomplishes the task. So my post to the list opened up base-64 encoding to other code golfers who read the list. Then Stefan responded with his version. Wow! I've been schooled! My amateur status as a code golfer has been exposed! His version taught me a few things about Ruby I was unfamiliar with, things like using ? for character literals (I'd read about that before, but having never used it, promptly forgot it). I was doing this to create an array containing all the characters from A to Z: ('A'..'Z').to_a
Using ? to create character literals in Ruby 1.9, I could have instead done: (?A..?Z).to_a
Net savings: 2 characters. Stefan's code taught me about using the asterisk * character (the splat pseudo-operator) inside of method calls to expand or explode Ruby Range objects (or Enumerators) into full Arrays. I'd used splat before to expand arrays into arguments when calling functions once or twice, but never to expand Ranges that way. Sweet! It's not a true operator, and it only works inside of a method call parameter list, I believe. So (using ? character literals) whereas I could create a Range and use the Range#to_a method to create an array: (?A..?Z).to_a
Stefan taught me I could instead do: [*?A..?Z]
Net savings: 4 characters. My original code created a string: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz++/' It was used as the set of base-64 digits for base-64 encoding. My code created that string like this: (('A'..'Z').to_a|('a'..'z').to_a).join+'0123456789+/'
Stefan shortened that in Ruby 1.9 to: [*?A..?Z,*?a..?z,*?0..?9]*''+'+/'
That's a savings of 20 characters (23 characters over my first/original version that used an extra Array#join call). Notice that instead of using Array#join() he does *'' instead, which is an alternative that's shorter. My algorithm for base-64 encoding took the original data as a String, unpacked each character into an array of integers (Fixnum), then used the Array#inject() method to iterate over each one and generate a base-64 encoded string. I used inject as an alternative to Array#map() so I could have a three-item Array to store stateful information in. I stored the result string, the number of unused bits I still needed to process from the previously processed byte, and the actual unused bits themselves. When inject was finished, it returned the three-item state, which I had to do a final processing step on--handling any as-yet-unprocessed bits and extracting the encoded string, and adding any required padding. Stefan instead took the original input data, unpacked it into a giant string of zeros and ones, binary bits. He then padded it with zeroes at the end until the string length was a multiple of six (since each base-64 digit represents six bits). He then used String#scan with Regexp /^.{6}/ to dice the bit string into an array containing six-character (six-bits each) strings. Then he used Array#map to iterate over each six-bit string, convert it using String#to_i from a base-2 string representation to the actual integer number, and used that number as an index to look up the correct base-64 encoding character. Thus he mapped the string array to an array of base-64 encoded digits. He then used *'' to join the character array into a string, and finally added any needed padding. His methodology switch saved a whopping 104 characters over my inject method. I was delighted that my little bit of fun inspired a pro code golfer to teach me a thing or two. You can follow the email thread in the Ruby Talk archives at: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/358586 I also posted my original version and have since added Stefan's version on my web site: base64.rb Amateur Ruby Golfer, Aaron out. Gorgeous Hike to Snow Canyon Overlook
Tuesday, 02 March 2010 9:13 PM MST
Astounding Adventures, Yakkity Yak
Kendall on the Trail Beneath a Pine Overlooking Snow CanyonOn Saturday, 27 Feb. 2010, my brother Kendall and I decided to go hiking. It was a beautiful day--overcast with low clouds encroaching and enveloping the surrounding mountains, threatening to rain. When you live in red rock desert county, rainy days bring out the desert colors. Temperatures were in the forties (Fahrenheit), but with no wind, with a light jacket, that's perfect for hiking.
Kendall's Utah State Park pass was about to expire, so we decided to visit nearby Snow Canyon State Park. As we reached the intersection with State Route 18, we decided to turn north on 18 and enter the park at the north entrance just north of Winchester Hills. Snow Canyon Hike RouteBefore we reached the entrance, however, we decided to continue past, up through Diamond Valley, and a tad beyond, to the Red Mountain Trail trailhead. I wanted to revisit a hike I'd made years ago to a virtual Geocache at the top of Snow Canyon, a hike Kendall had done many times as a guide working for Red Mountain Spa.
Just outside of Diamond Valley, as State Route 18 made a bend towards the north, aiming us almost directly at the cinder cone up ahead that stands above the community of Veyo, between Veyo and the even-closer Dammeron Valley, we stopped, leaving the road, turning left (west) onto a dirt road--well more of a dirt driveway and parking lot among the juniper and piñon pine trees beside State Route 18. There we parked, amidst a herd of trucks attached to horse trailers. Apparently the equestrians were out in force this cloudy, cool day. And indeed they were! We saw riders galore as we embarked on the sand-and-rock Red Mountain Trail, beginning our slow ascent, twisting through the trees up the gentle hillside slope. Having had significant surgery in September of 2009, returning to a semblance of normal life only by December, I certainly could feel my frailty as the trail wound ever higher up the hill, heading first southwestward, then nearer the ridge summit, turning south to follow the summit towards Snow Canyon. I was soon huffing and puffing, but grateful that I could do this hike. Once we reached the top of the ridge, we paused and looked around a bit, sipping our water bottles. Pine Valley Mountain remained enshrouded in clouds, only the lower foothills, sprinkled with a light dusting of new snow, visible. Wisps of clouds trailed gently down the slopes, a warning to us that should the weather change, the sky could quickly lower and envelope us in mist, rain, or even snow. We resumed our hike southward, and remained dry for the time being--well, free of rain, though not completely dry, as hiking even with a light jacket in cool air had me sweating. The recent-rain-moistened red sand of Southwestern Utah beneath our feet really made the brilliantly white, thin patches of melting snow that lurked atop the ridge wherever shade afforded protection from the sun's warmth stand out sharply in contrast. Wow! Beautiful! Manzanita above Snow CanyonWe stopped several times the latter part of our hike out to the top of the canyon and snapped photos. It's always beautiful to see open white and red sand and also undisturbed cryptobiotic soil crusts, sandstone rocks, lichen-encrusted rocks, manzanita shrubs, their thick oval green leaves contrasting their smooth reddish bark, yucca, cacti, junipers, and significantly taller piñon pine trees--they seemed to grow better or at least taller at the somewhat higher altitude nearer our destination.
The last part of the trail, instead of a rough, broken-sandstone-rock old jeep trail, was a soft, sandy path, the sand growing deeper--making me even more grateful that it was wet which makes it firmer, and walking easier. Kendall, ahead of me, followed the trail around a bend, through a cut about his height in a sand dune. On the other side of that dune, in a few more steps, we caught sight of the sandstone hilltops that surround Snow Canyon. A few more steps, and suddenly, a giant gaping chasm opened beneath our feet, and sheer sandstone cliffs halted our forward progress. We had arrived! Wow! What a view! Stretching before us, beneath us, were the several merging canyons in Snow Canyon State Park. White sandstone dominated to the left (east), red to the right (west), and in the misty distance, we could see parts of Santa Clara and parts of the Dixie Downs and Green Valley area of St. George. On the black lava basalt-edged bench to the right, perched Winchester Hills and The Ledges golf course. (Those who own homes there have a stunning view looking down into Snow Canyon from the western side.) In the far, far distance, a thin horizontal line was visible, the Hurricane Cliffs, and perched atop, a flat, familiar pyrmidal shape was visible, Mount Trumbull in Arizona, close to the edge of the Grand Canyon. I could also make out the closer Seegmiller Mountain south of St. George. Mount Bangs and Black Rock (south and southwest of St. George) were too cloud-enshrouded, as were West Mountain, Scrub Peak and the rest of the hills and mountains I grew up calling Utah Hill (part of the Beaver Dam Mountains west of St. George). Hike Destination at maps.google.com We spent quite some time there at the rim of the canyon. When we finally gathered our things for the return journey, weather looking even more ominous, a few droplets of water warning us of what could be coming our way, it was hard to depart that stunning locale. Wow, wow, wow, wow, WOW! I was in natural beauty overload. Despite the low clouds and what looked like fresh snow on the foothills of Pine Valley, it didn't actually rain on us until we were nearly back to our vehicle, and then it only sprinkled tiny droplets, almost a mist, so that we were barely wet when we did arrive. Once back in my RAV4 (the RAV4's steering fixed under warranty the day before the warranty expired, thank goodness!), the rain picked up just a bit, though it never really rained hard at all. It was beautiful. On our way back home, we did enter Snow Canyon State Park at the north entrance, and idled leisurely down the road, pausing so I could take a few more photos. What a beautiful place! I love it! Snow Canyon Hike Route in 3-DThanks for the hike, Kendall! It was great to finally get back there.
All in all, having measured our route in Google Earth--check out the Google Earth screenshots of the route I've included with this post--we hiked only 4-and-a-half miles, two-and-a-quarter out, two-and-a-quarter back. For me, post surgery, that's doing well. I hope to be able to do longer hikes this spring and summer. In case you wonder where exactly our hike terminated, check out the embedded Google Map with the green arrow (at least it SHOULD be green--it was in my web browser) right at the top of the canyons where we stopped. What a blast! A Decent Windows Console (At Last--Maybe...)
Saturday, 13 February 2010 2:11 PM MST
Yakkity Yak
At last, a decent console for Windows exists. (Well, maybe...)
For many years on Windows, I used PuTTY SSH to connect to remote systems via telnet and SSH. It's an excellent SSH client and terminal console program all-in-one (along with some other SSH-related utilities). I've really enjoyed it. In 2006 when I switched from a PC laptop to a Macbook Pro (running Apple's Mac OS X which includes a bunch of Unix functionality), I was spoiled. Apple's Terminal application made PuTTY look cheesy by comparison. Not only that, but the Mac had a real, live shell on the very same system that I could use easily within Terminal.app, or I could use the built-in command-line (CLI) SSH program to connect remotely. I loved (and still love) it! This past autumn, I acquired a new Windows 7 PC workstation. So it was back to using PuTTY for me. But PuTTY and Windows 7 together are missing a few things:
But at that point, Console just wasn't quite there. Today I gave it another try. And the beta version I'm playing with WORKS! At last, I can nearly duplicate Terminal.app's functionality on Windows. I can have a local shell, execute local EXEs within a useful console, and (with the Cygwin OpenSSH package) SSH and telnet into remote systems. I like it! I don't love it like I do Terminal.app on the Mac, but I do like it! (Well, maybe... I've just noticed some terminal quirks that might change my mind.) I still wish there were a console that was Terminal.app's equal. Until there is, Console + Cygwin is the next-best thing. Learning to GEM-ify
Saturday, 16 January 2010 4:08 PM MST
Yakkity Yak
I finally GEM-ified my implementation of the MikroTik RouterOS API I wrote in Ruby (part of one of the projects at work). This is the first time I've packaged Ruby code as a GEM. It's been educational. I do still have more work to do (especially on the RDoc documents), as well as add a few more features to the library.
The whole thing is online here: http://www.aarongifford.com/computers/mtik/ The documentation starts there too. The RDoc stuff is at: http://www.aarongifford.com/computers/mtik/latest/doc/ I've also put some stuff up on the MikroTik wiki: http://wiki.mikrotik.com/wiki/API_Ruby_class Windows Media Player vs. iTunes - iTunes Still for Me
Tuesday, 05 January 2010 9:16 PM MST
Yakkity Yak
On my PC at home, I've been running Windows 7 now since it was released--actually even before that I was running the public beta version. For my music library, before Windows 7 I always used iTunes to manage my tracks. With Windows 7, I wanted to give Windows Media Player (WMP) a try.
Here's the big thing standing in the way of my adopting WMP's music library over iTunes: I can't figure out how to convince WMP to scroll my library view window pane down to the currently playing track. In iTunes, if the currently playing track is NOT in view, a quick click on Pause then Play and BAM!--the track I'm playing is now in view. It's kind of crazy how little tiny things like this one gets used to prevent one from adopting different software. Google searches don't turn up any answers. Yes, the far left play-list pane DOES in fact show the currently playing track, but I want to see it in the main (big) music library pane (at least when I've clicked on the music library that in fact contains the playing track and I don't have any active searches that would exclude the track). All it would take is some small button in the playback control section at the bottom of the window that upon hovering over it said something like "Show currently playing track in the library." *sigh* If anyone knows some simple keystroke, menu item, or button that in fact accomplishes this, please let me know! Asynchronous (Non-Blocking) Communication in Ruby
Wednesday, 29 April 2009 2:49 PM MDT
Yakkity Yak
In doing work in Ruby for back-end infrastructure that needs to contact multiple RouterOS devices quickly and efficiently (using the RouterOS API), I've been exploring some non-blocking Ruby libraries. Looking at eventmachine and Rev, I'm leaning towards Rev due to Ruby 1.9 having integrated a lot of nonblocking stuff now.
So for asynchronous DNS resolution, I whipped up a little test script: Still, I quite like the single-threaded non-blocking event-style this (and similar libraries) allow. Now if only the Ruby MySQL module were fully asynchronous/non-blocking and event-ified (and I am ignoring NeverBlock's work in this area, as I've not tried it out yet, and also I'm hoping for something to become "mainstream"). With all this non-blocking stuff, monitoring tons of RouterOS devices using a single process (except for the MySQL database updates) should go smoothly. I like it! Progress!
Saturday, 16 August 2008 6:46 PM MDT
Yakkity Yak
Back in May, regarding my goals to get out of debt and save, I wrote:
"What's embarrassing to me is that if I add up all my credit card debt (unsecured consumer debt) and add to it my RAV 4 auto loan balance, I owe about 65% as much as I owe on my mortgage (a 15-year mortgage)." It's been nearly four months since writing that. And there's been a lot of progress. Whereas before I owed in total credit card and auto loan debt about 65% of what I owed on my house, I've been paying that down as much as possible, and now I've got it down to 55% of what I owe on my house. In fact, within a few more months, I'll have my RAV4 paid off in full, which will free up nearly $600.00 in cash flow each month (no more car payment!) to apply towards other debt, and eventually to savings. (And it will feel incredibly wonderful to own my vehicle free-and-clear!)
Yay! I love, love, love the progress thus far. Now I just need to renew my commitment, since I've noticed that I've slacked off in trying to live more frugally in the past few weeks. With all the price increases in food and energy recently, having my vehicle paid off and the benefit that comes from that, namely the added montly cash flow not tied down to a specific payment, has reduced my stress levels considerably. Summer Lightning in the Sky Over St. George, Utah (Aug. 2008)But I know I'm not out of debt yet. My next target is a credit card with about 14% of my unsecured debt riding on it. It's a higher interest rate than the rest of my debt, and it's also the smallest balance.
In an ideal world where I (or someone else paying off debt) have (or has) perfect discipline, it's best to apply as much prepayment to the debt with the highest interest rate first, as that results in the quickest payoff. However, psychologically, it may pay instead to apply the bulk of prepayment to the smallest debt first instead. Even though doing so may slow getting completely out of debt, the person so doing gets the immense satisfaction (a psychological reward) much sooner, which acts as positive reinforcement to help one remain on task working towards the goal. So I guess I'm fortunate that both of these options point to the same card. I get the benefit of both worlds! *grin* I'm not paying off my debt quite as fast as I could optimally. I've set up some automatic transfers out of my main account into a savings account because I don't really have an emergency cash fund like I'd like to have. More Summer Lightning in the Sky Over St. George, Utah (Aug. 2008)And I did splurge last month a bit, delaying the payoff of my vehicular debt by a few extra months (I'd otherwise have it paid off fully next month). I raided my prepay money and some of my savings to buy some ZION and WFC stock (I'm a buy-and-hold guy, not a trader) shortly after both hit extremely low (in my inexperienced opinion) prices last month, to the point that both financial stocks looked like bargain basement buys to me, so much so that I couldn't resist and I bought shares of each.
Now I completely understand that the credit crunch and housing crisis is far from over, and these stocks, though up considerably since I bought them (as of the closing price yesterday) may tumble well below where I bought 'em. If that happens, I'll most likely hope I have more cash on hand to buy more at bargain prices, so long as I believe that the fundamentals of each company shows some strength. And I'm willing to wait 5, 10, 15, or 20 years before I sell. It's wonderful to make progress! And Even More Summer Lightning in the Sky Over St. George, Utah (Aug. 2008)And now for a complete change of topic: Lightning! Last night, a thunderstorm built up and rolled through the St. George, Utah area, with lots of lightning and thunder, but very little rain. It was fun to watch the light show in the sky and listen to the thunder rolling across the desert.
In the darkness of night, lit frequently by cloud-to-cloud lightning strikes punctuated now and again with a powerful ground strike, I could hear oohs, aahs, and wows from my neighborhood. The storm drew many of us outside to our front porches (and these stucco homes don't have much of a porch--a feature I like and want in whatever next house I live in) to watch the fireworks show. I grabbed my camera and set it for long exposure times, and taking many shots, managed to capture a few bolts of lightning. Unfortunately, I don't really know how to control or use it very well. I should have closed the aperture quite a bit on the long exposures so that close strikes didn't totally wash out all detail due to overexposure (the photo ends up mostly blank white). Then I could have cranked up exposure time to the max, camera on tripod pointed at the sky, and probably come up with some really spectacular shots. In Case You Were Wondering, Yet More Summer Lightning in the Sky Over St. George, Utah (Aug. 2008)Included in this post are the three that managed to catch some of the action going on in the sky.
Music With Enthusiasm With a Few Laws of the Universe Appended
Thursday, 26 June 2008 7:21 PM MDT
Yakkity Yak
I just watched this very entertaining and moving TED talk, Benjamin Zander on Music and Passion. It's about twenty minutes long.
Now I'm a sucker for good music and have loved classical since I was a child. But this guy knows how to infect even those who don't care so much with his enthusiasm. As I watched, I noticed my own reactions to the music as he played it. As often happens when I hear beautiful music, my thought processes calmed, my heart opened up, and emotion of a more refined kind flowed freely. And Benjamin Zander ends his presentation with some expressions of things that I think hint at foundational principles of the universe, principles of truth about where true power comes from. Hint: It doesn't come from wealth, money, political, or military power. It comes as one lifts and encourages others--then without exercising any force or compulsion over another human being, your discover that your own power has grown. Truly great leaders of all nations, kindreds, races, and cultures have discovered this secret. (I can't help but think that Gandhi must have known something of it.) Joseph Smith, during a period of severe distress in his life and in the lives of those he knew and loved, received as part of an answer to his prayers revelation from on high that expressed these same principals of truth about where true power comes from. That answer included these words: "The Holy Ghost shall be thy constant companion, and thy scepter an unchanging scepter of righteousness and truth; and thy dominion shall be an everlasting dominion, and without compulsory means it shall flow unto thee forever and ever." (Read this for a little more detail on Joseph's prayer and answer.) Late-Night Musings While Waiting for a Server Reboot
Thursday, 08 May 2008 11:51 PM MDT
Yakkity Yak
Wow, it's late, I'm tired, and the 5:30 AM alarm goes off so very, very soon! (I doubt I'll be able to resist turning it off and sleeping in... *sigh*)
Nevertheless, I thought I'd write a tad here. (Besides, I'm waiting for a remote server whose OS kernel was upgraded to reboot as I write this, so I've gotta be up a little longer anyway.) My natural inclination towards avoiding manual labor like cooking must be on the fritz. I rather enjoyed cooking for my brother Kendall and my friend Jason this evening. It was easy and quick, slicing up some yellow summer squash, zucchini, and a small yellow onion into a frying pan with some olive oil, while freshly husked ears of corn steamed in another pan, and some cheap cuts of beef sizzled in the George Foreman grill. It only took 30 minutes total, most of that prep. time. The clean-up, however, I'm putting off until morning. There, the slothful side of me is now sated. *grin* It all makes me look forward to harvesting from my own small garden. If it produces. I am new to this gardening thing, after all, even though my parents made me pull weeds in tomato patches, pick green beans, and other such things as a youth. Learning to Save
Thursday, 01 May 2008 9:52 AM MDT
Yakkity Yak
The adage that it's wise to save at least 10% of one's income has buzzed around in my head for years. A recent radio talk show host expanded upon it, suggesting saving 10% and investing 10%. As a member of The Church of Jesus Christ of Latter-day Saints, I also subscribe to the concept of tithing. That means I believe in making regular charitable contributions of 10% of my income to my church as well as making charitable offerings to other worthy causes (like contributing to humanitarian aid, to local food banks, or supporting the local troop of the Boy Scouts of America, for example).
That's at least 30% of my income. Wow! What a goal! I'm not there yet, but I'm making progress. Some progress I've made thus far: I opened a ING Direct Orange Savings Account back in 2005 and used their automated savings plain to auto-deduct $100 each month from my bank checking account. Over the course of time, I accumulated enough savings to permit me to open a Vanguard S & P 500 mutual fund (VFINX). At the time I believe Vanguard's minimum requirement was $2,000 or $2,500 or so for this fund --it's now at $3,000 I believe. (Aside: If you ever want to open an account with ING Direct, either an Orange Savings, or their Electric Orange checking account, and you open it with at least $250.00, you can get a $25.00 one-time bonus from ING for doing so if you contact me and give me your email address so I can refer you as a friend. I also get a $10.00 one-time bonus. You win. I win.) What's nice about opening the Vanguard fund is that since I've opted for electronic delivery of all notices and documents, they waive the annual fee that they otherwise charge for accounts like mine that have less than $10,000 in value. Another benefit, is I've now set up automatic investments that monthly automatically deduct at lest $50 from my checking account and invest in the fund. And there's no brokerage fee for this small-scale dollar-cost-averaging method of investments. Were I a big investor regularly investing in index funds like this using large chunks of money (Don't I wish I were!!!), I'd seriously consider one of the Exchange Traded Fund (ETF) equivalents, but since I invest small amounts regularly, the brokerage fees even with someplace like Scottrade would eat a significant chunk of my capital each purchase. If I take into account what I have automatically deducted from my paychecks before taxes and contributed to my SIMPLE IRA investment plan offered by my employer, and my automatic savings plans and Vanguard investment automatic investments, I've actually finally reached the 10% savings goal. I've got another 10% to go before I can say I save 10% and invest 10%, however. (As for tithing, I've been a tithe payer all my life and can strongly attest to the blessings that flow from paying a tithe. It really works! As promised in Malachi 3:8-12, God truly does pour out blessings! And I'm not telling you this to boast or claim to be spiritually superior or anything. I just an ordinary guy. But I sincerely believe in the concept of tithing. My life and the lives of my family members have repeatedly been blessed, especially in times of need. I believe God honors His promises if we keep his commandments.) My next financial goal is to eliminate all the debt I've accumulated over the years. I've debated whether or not to stop my 10% savings/investing plan and instead apply that money to paying down debt, then resume in a few years once I'm debt free. I hesitate, however, because I haven't yet proved to myself that I can be financially disciplined enough to live more frugally and avoid any new debt. I've got work to do on this. In the first week of last month (April 2008), I made a commitment and promise to myself: I will not buy anything with my credit cards unless I pay off the balance in full within the 20-25-day grace period (and thus pay no interest). Additionally, I've stopped my 10-year-old habit of collecting DVDs, CDs, books, HD-DVDs, and Blu-Ray discs--put it on hold--until I'm out of debt (out of consumer debt and auto debt that is, excluding my mortgage). I've felt an urgent need to follow the counsel of LDS church leaders and get out of debt and stay out of debt. I've ignored it far too long (having acquired my first credit card in 1995 or 1996 which I promptly used to buy a computer system--and I've had consumer debt ever since). What's embarrassing to me is that if I add up all my credit card debt (unsecured consumer debt) and add to it my RAV 4 auto loan balance, I owe about 65% as much as I owe on my mortgage (a 15-year mortgage). Cash-flow wise it's painful. If I was consumer-and-auto debt free, I could easily meet my 10% savings, 10% investment, and 10% tithing (plus other charitable offerings) goal! I could even then make prepayments on my mortgage and have my house paid off in only a few more years, freeing up even more cash flow for savings, investment, and charitable contributions. And I could resume my movie/music/book collecting without worry. Ug! That's INSANE! What was I thinking?!?!? Well, I'm-a-gonna change! These are my goals. I hope to update my web site periodically to record how I'm doing. I'm cutting back wherever I can, especially as gas prices climb higher and food prices follow. So how are you doing savings-wise? Are you able to save anything? I sure hope you are. If not, I encourage you to, even if it's only $5 or $10 each month. P.S. I've gotta tout the local America First Credit Union here in Utah. They have a sweet set-up called a Dedicated Savings Account that earns similar interest rates as CDs, has terms a bit like a CD, but lets one auto-contribute each month as little as $10.00, with no minimum opening balance. Not many banks can match that! And their Dedicated Savings and CD rates are comparable to many larger institutions' Money Market or CD rates. Way to go, AFCU!
Page 1 of 14
Part of The Singles' Blogward web ring (powered by RingSurf)
Home Teach | Join | Ward List | Who's that? | Visit Teach | |