Showing posts with label frugality. Show all posts
Showing posts with label frugality. Show all posts

Tuesday, August 07, 2007

Ordering glasses online part 2: getting the glasses

About a month ago I reported that my SO and I had ordered some glasses from Optical4Less, an online retailer. As the glasses have now arrived, I wanted to post an update.

Our glasses arrived in the mail about a week and a half after we placed the order. The glasses were wrapped in a cloth and bubble wrap, placed in a hard case, and then shipped in a cardboard box. My glasses (a metal and plastic semi-rimless pair) arrived in perfect condition; all I had to do was adjust the nosepieces (which bent easily with my fingers) and they fit perfectly. I've been wearing them every day since, and haven't had any problems. While I can't verify that the prescription is completely correct, I'm seeing more clearly than I have in years 1.

My SO's glasses arrived in apparently perfect condition, but upon close inspection we discovered that the lenses had several patches of minute scratches that caused blurred vision in a few spots. Our best guess is that the anti-reflective coating had been damaged during the lens shaping/installation, though we don't know exactly what happened.

Optical4Less responded to our e-mail about the problem within a day, and requested pictures of the lenses. Getting a good picture of the scratches proved challenging (as they were small and nearly transparent), but we eventually got a few good pictures and submitted them. Optical4Less got back to us the next business day and told us to mail the glasses back so they could be remade; this cost us about $4. Upon receipt of the glasses, Optical4Less gave us an $8 gift certificate good towards our next purchase.

A few days ago (about two weeks after returning the glasses), we got the replacement pair in the mail, and my SO reports that they're perfect.

Thanks to our success with Optical4Less we've already ordered more pairs (my favorite is a $35 pair of prescription sunglasses from Zenni Optical). So far we've ordered seven pairs of glasses from various retailers, and we've still spent less than it would have cost to buy one pair of glasses at our local optician. We'll never buy from our local store again.

1 It had been more than five years since my last pair of glasses was made (in part due to the price of new ones), so the change was fairly major.

Friday, June 29, 2007

Ordering glasses online

My SO and I just went in for our annual eye checkups, and it's finally time for both of us to replace our several-year-old glasses. As usual, after the checkup we were directed to the eyeglass sales area of the store, and a sales rep came out to help us pick out frames. We both tried on a number of frames, and selected a few to price out. The cheapest frame I had chosen was $200 after insurance, and the most expensive was more than $500 after insurance. Lenses would have cost about $100 extra. My SO's potential frames were in the same price range, but would have had even more expensive lenses. All told, we probably would have spent more than $1,000 buying new glasses at the optometrist.

Thankfully, we knew that we could find a better deal, as a while ago I found Glassy Eyes, a blog about ordering glasses online. While ordering glasses online is a bit harder than ordering them in person (you must enter your prescription manually, know your interpupillary distance1, and analyze the frame sizes to see how they'll fit on your face), the price difference was astounding: there are multiple websites where you can find quite decent looking glasses for less than $40 a pair, including lenses.

So, rather than spending $1,000 at our local optometrist, my SO and I just ordered a new pair of glasses for each of us from Optical4Less, spending less than $100 total. While I'm willing to pay for the extra service an optometrist provides, and the convenience of a local store, said conveniences are not worth a ten-fold increase in price.

If these glasses turn out to be good, I think we're going to go on a glasses-buying binge.

1 While you can measure interpupillary distance with a ruler, we did it using a binocular compound microscope with adjustable-width eyepieces.

Wednesday, May 23, 2007

Sunday, May 20, 2007

Saving money by cooking at home and shopping smartly

A while ago on a field trip, a co-worker and I were talking about cooking, and how expensive most frozen veggie burgers were. After I mentioned that my SO and I cook virtually all of our meals at home, including making homemade veggie burgers, this colleague asked (genuinely), "But do you actually save money by cooking at home?"

I was flabbergasted. Not saving money by cooking at home? One of the primary reasons we cook at home is because we save lots of money (though another nice benefit is that we also get to eat tasty food cooked to our own preferences). So, after we were finished being flabbergasted, we came up with a list of suggestions for those who would like to save money on food. We've broken the suggestions into two broad categories: things you can do while shopping and things you can do at home to save money.

Saving money by shopping smartly
  1. Shop the loss leaders. Most grocery stores try to entice customers into their stores by selling a few items at a loss, while hoping to make the money up on other items the customers buy. Preferentially shop for loss leaders, and ignore everything else unless you really need it; this is probably the single most important thing you can do to save money on food. Looking at grocery store fliers before going shopping can help you figure out what the various stores' current loss leaders are, helping you plan your upcoming meals.
  2. Stock up on things you know you'll use. This combines well with shopping the loss leaders, as stocking up on items when they're cheap allows you to spend a lot less money overall. My SO and I drink 100% fruit juice daily; when not on sale it's typically fairly expensive ($1.50 per 1.5 quarts, at least), but we almost never buy it at that price. Instead, we wait for juice to go on sale, and then buy dozens of containers of it. The same goes for almost everything else we regularly use (canned tomatoes, flour, sugar, bacon, frozen vegetables, etc.). In addition to just saving money, stocking up like this allows you to be more flexible with your cooking, since you always have good amounts of your basics on hand (e.g., we always have lots of onions, garlic, and cans of whole tomatoes on hand, so we can whip up a basic pasta sauce whenever we want).
  3. Learn (or notice) when things are in season. This often goes hand in hand with shopping for loss leaders as well (since in-season produce is often sold as a loss leader), but besides being cheaper, produce is often also better-tasting when bought in-season. Holiday seasons often bring cheap prices on traditional holiday foods; for instance, if you're in the US and want to roast a whole turkey, be sure it's around Thanksgiving (or buy an extra one at Thanksgiving and pop it in the freezer to plan ahead).
  4. Consider frozen vegetables and fruit. Frozen vegetables can be stored for months (allowing you to stock up on loss leaders), and are often better-tasting than out-of-season "fresh" produce. We usually have frozen corn, green beans, peas, and raspberries on hand, which we can then use in a variety of recipes without planning. Note, however, that frozen vegetables and fruit aren't ideal for everything, so don't just blindly use them; things like frozen broccoli or cauliflower will never be as crisp as their fresh equivalents.
  5. Shop by price per unit mass or volume. This almost goes without saying, but when you buy something, look at how much it costs per unit mass or volume, and compare it to other, similar products. Bulk purchases are often well worth it when considered in this light. When looking at price, be sure to give store brands (generics) a try: they're often much cheaper than the brand name product, and many times taste just as good. Generics are especially good when it comes to raw ingredients (e.g., flour, sugar, baking powder, tomatoes, dry beans), but they're at least worth trying for everything you buy. Also, we find that coupons are rarely worth it, as most coupons are for brand-name items, and typically only bring the price of the brand-name down to something close to the generic equivalent. Additionally, since coupons are often for pre-prepared foods, you can almost always make the same food for less by cooking it from scratch.
  6. Consider making some of the things you buy pre-made by hand. My SO and I make almost everything from scratch; part of this is because we enjoy cooking from scratch, but it's also because raw ingredients are almost always cheaper than pre-made components. For example, pasta sauces, cookies, biscuits, pancakes, and salad dressings are all cheap and easy to make at home, yet expensive to buy pre-made. About the only foods we buy pre-made are sausages, baked beans, jams and jellies, dry pasta, and breakfast cereals. If you don't know how to make something by hand, just look it up in your cookbook; you'll likely be surprised at how relatively easy it is (unless it's ravioli).
  7. Get a rewards credit card and use the supermarkets' information-gathering ("rewards") cards. My SO has a credit card that gives 2% cash back on purchases made at grocery stores; it's like always shopping with a 2% off coupon. The supermarkets' information-gathering cards are always worth it; if you forget yours for a day, sign up for a new one. However, don't be fooled by how much you "saved" with the card, since you probably wouldn't have bought the items if they weren't on sale.
  8. Comparison shop between different grocery stores, and learn which stores have the items you want cheap. For instance, in our area Trader Joe's has cheap heavy cream, whole milk yogurt, free-range chicken eggs, artisan bread, and frozen berries; our local health food store has cheap nuts, grains, and produce; our local supermarket has cheap flour, sugar, and paper goods; and our local Japanese market has cheap rice, soy sauce, and other Asian ingredients. For goodness's sake, don't spend hours and hours comparing the prices at different stores, but every now and then go to a different store and see what their prices are like.
Saving money on food at home
  1. Invest in a set of good leftover containers, and use them. Cooking in bulk allows you to get multiple meals from a single cooking event, making cooking more efficient (saving both time and money). Many foods freeze very well, allowing you to keep them for months and then pop them in the microwave when you don't feel like cooking. High-moisture foods (e.g., soups, stews, curries, pasta sauces) tend to keep the best, and can even taste better after the first day in the fridge. Despite the claims of many of my relatives who say that "leftovers never taste the same," I've never met a food that I wouldn't eat as leftovers. Note that old food containers (e.g., sour cream containers, yogurt containers, glass jars) often make good leftover containers (though they can melt in the microwave).
  2. Learn how long ingredients last. Many fresh vegetables go bad relatively quickly (though some, like potatoes, carrots, and turnips, can be stored for weeks), but many other foods can be stored for months or years, so if you know you're going to use them, stock up on them when they're loss leaders. Sugar lasts nearly forever, canned vegetables last for years, and most frozen items will last at least 6 months. But since most things do eventually go bad, don't buy so much that you'll be throwing away lots in a few weeks or months. Some waste is fine (and is a common byproduct of shopping loss leaders and stocking up), but don't go overboard.
  3. Don't plan all your meals in advance. Most shopping gurus state that to save money you need to shop with a list; this is nonsense, primarily because it prevents you from shopping loss leaders. It is, however, a good idea to save grocery store fliers, hunt through them for good loss leaders, and then put those on your list. Once you've become familiar with the ingredients called for in your favorite recipes, when you get to the store (and/or when you look over the store's sales flier) you can determine what ingredients are cheap, and thus determine what would make the most sense to cook. When we go shopping we'll often have very vague lists, such as "veggies, fruit (apples?), baking soda, juice, ...", which allows us to survey the items available at the store and select the optimal combination of freshness, variety, and price.
  4. Learn (and be willing to research) new recipes for a variety of ingredients. When shopping for loss leaders you'll probably find that foods you're not used to cooking with are on sale, and thus worth buying (maybe turnips, Brussels sprouts, or some odd cut of pork will be insanely cheap). So, by knowing a lot of recipes, you'll be able to figure out something tasty to make with the cheap food you buy. Or, if you don't know a lot of recipes, be willing to learn them - go ahead and buy four pounds of turnips, and then when you get home look online (or in a good cookbook, see below) to figure out what to do with them. As a side benefit, this will increase the variety of foods you eat, thus reducing your culinary boredom and improving your nutritional balance. Even if my SO and I buy a 12-pound holiday ham, that might be the only time we buy ham that year, and even then we cook it up in five different ways, so we never get bored of it.
  5. Examine your meat expenses. Meat (beef, pork, chicken, fish, shellfish, etc.) is often expensive. To cut your meat expenses, we'd suggest learning how to cook cheaper cuts of meat (e.g., chicken legs work just as well as chicken breasts in most recipes), avoiding recipes that call for expensive meat (e.g., scallops, prime cuts of beef) except as a special treat, stocking up on meat when it's a loss leader, and/or reducing your overall meat consumption. One of the easiest ways to reduce your meat consumption is to learn to cook non-Western cuisines: many of these dishes have no meat in them at all (e.g., Indian dals, pilafs, and yogurt salads), and others (e.g., curries and stir-fries) use meat as just one ingredient among many. As a side note, it's easy to get enough protein without eating much (or any) meat, as long as you eat a varied diet1. Many non-meat foods have a decent amount of protein in them; for example, a cup of milk has 11 grams of protein, a cup of Cheerios has 3, a slice of whole-wheat bread has 4, two tablespoons of peanut butter have 8, one ounce of cheese has 7, a large egg has 6, and a cup of broccoli has 3 (for comparison, an ounce of raw chicken or salmon has 6 grams of protein; data for everything but the milk from here; milk data from a gallon of 1% milk in the fridge).
  6. Invest in a good, basic cookbook. I don't know why I'm bothering to write that header in the generic - there's really only one good, basic cookbook you need: Joy of Cooking. It's a stellar cookbook that includes recipes for just about everything (except drinks), and also includes an amazing amount of background information on how to do virtually everything in the kitchen from scratch. If you don't have Joy in your life, go get it.
  7. Realize that many recipes are flexible. Don't treat recipes as though they are cast in stone. If your recipe calls for red bell peppers, and when you get to the store you find that they're $5 each, consider alternatives (would green bell peppers work? What about broccoli or some other vegetable?). While the end recipe will not be exactly the same as the one in the cookbook, it can often taste just as good. Note, however, that this does require some cooking finesse, as ingredients that serve a direct functional purpose in a recipe cannot be substituted out (e.g., you can't substitute broccoli for peppers in a stuffed pepper recipe, and can't substitute corn starch for flour in a bread recipe). So, if you're a beginner, don't worry too much about this, and instead just focus on finding recipes that use the ingredients you have.
  8. Consider growing your own produce. While this is certainly not something everyone can do, consider growing your own fruits and vegetables at home. Things like herbs, tomatoes, berries, squash, and tree fruits (e.g., lemons, avocados, peaches) can be much cheaper and tastier when grown at home. Note, however, that you'll need to research what grows well in your area without much tending.
Back in the late 90's when I was in graduate school, my SO and I applied all the tips above to the extreme, and ate out rarely. At that time we spent an average of $178 a month on groceries for the two of us ($89 per person per month; data collected between October 1998 and January 2000). In the past few years, we have relaxed our constraints on buying everything as cheaply as possible (for example, we buy more gourmet cheeses, artisan breads, and high-quality juices), and over the past six months we've spent an average of $250 a month on groceries for the two of us (including purchases from specialty food stores such as Penzeys Spices and Upton Tea, but not including meals out). If you want to see what kind of food we cook on this budget, see our recipe archive.

[Update November 2007: One common meme we've seen on the "I can't shop cheaply" topic is the claim that if you shop cheaply, then you can't buy fresh produce; this is patently false. To provide just one example of how produce can be bought cheaply, on a recent shopping trip to our local produce market we bought 62.25 pounds of produce (including red bell peppers, yellow onions, sweet onions, zucchini, butternut squash, apples, garlic, carrots, potatoes, yams, brussels sprouts, bananas, lemons, limes, and pears) for $35.67, for a total cost of $0.57/lb. Of course this relies on having a local cheap produce store that discounts in-season produce, and being willing to buy only the items on sale, but it's an example of what's possible.]

1 The Harvard School of Public Health suggests eating 9g of protein per 20 pounds of body mass. Thus, the average weight US female (165lbs) should eat 74 grams of protein a day, while the average weight US male (190lbs) should eat 85 grams a day (weight data from here).

Tuesday, November 28, 2006

Creating and posting videos with xvidcap in Ubuntu

One of the reasons I'm excited about teaching online is that there are so many tools I can use to help me share information with students. Animations, videos, audio recordings (e.g., podcasts), blogs, discussion boards, PDFs of readings, textbooks, and plain ol' HTML pages can all be combined to make a course that is (hopefully) more interesting and accessible than just a textbook and HTML pages. So, in the coming months I'm going to be trying out various programs to see which ones I can use while creating content.

For the past few weeks I've been exploring different methods of creating videos. There are two specific things I want to do with videos in my course:
  • Create videos of tasks being performed on the desktop (screencap videos), primarily to create tutorials to help students use Excel, browse my course website, and other such things.
  • Create animated mini-lectures on key topics, probably based on PowerPoint (or OpenOffice Impress) slides. These will ideally be less than 5 minutes each and contain a combination of text, images, and animations.
There are many non-free, non-open-source products available to help with this, such as Camtasia and Articulate Presenter. While I'm sure they're good programs (they are widely used), they're hideously expensive: Camtasia Studio runs around $300 and Articulate Presenter costs at least $500. I've seen some Articulate Presenter videos - they've got an excellent navigation system built it, and are seamlessly cross-platform, but before I go spending $500 on a glorified screencapture program I want to explore the free solutions first.

Xvidcap

The predominant free open source video capture solution for Linux seems to be xvidcap. The program is completely free; it can be downloaded from xvidcap's Sourceforge page. They even have a .deb file that installs in seconds on Ubuntu; to install it all you have to do is download the .deb file and then double-click on it in the file browser (Nautilus), which will bring up a dialog that installs the program.

Using xvidcap is fairly straightforward; it has a small control panel and a little red box. Once you hit record on the control panel, xvidcap records everything that occurs in that little red box. The box can be resized to fit whatever you want to record using the eyedropper tool, which allows you to either click and drag to move the box or click into a program window to have the box sized to fit that program's window. The box is attached to the bottom of the control panel by default, but can be undocked from the control panel by hitting the lock button.

xvidcap screen shot
Screenshot of xvidcap; the program records everything that occurs in the red box.

The preferences are accessed by right-clicking on the filename (to bring up the main menu) and then clicking "preferences." Xvidcap can either save a series of screencaps to a directory (what xvidcap calls single-frame recording, which lacks audio) or can record a full-motion video with audio (multi-frame recording). The preferences window allows you to set all sorts of preferences - you can choose your output file format, video and audio codecs, video and audio quality, and frame-rate. Choosing wisely here is key, as too high a quality or framerate will result in videos with skipped frames (which will look and sound bad) or files that are unplayable on most computers (e.g., Microsoft Windows doesn't have DIVX codecs installed by default). As a minor note, some codec and framerate combinations are not possible, which unfortunately is often reported to you solely in the form of a program crash (but it's easy to reopen).

xvidcap preferences screen shot
Screenshot of xvidcap's multi-frame capture preferences.

My computer is old enough that I needed to lower the video quality and reduce the framerate as low as possible (7.5fps for the Microsoft DIVX 2 or MPEG DIVX codecs) to enable 700x700 video recordings without frame skippage. Reducing the size of the recording window does enable me to make higher-quality recordings, but there's only so small you can resize something before you lose important details.

Once you've got the options set, recording a video is about as easy as hitting the record button. When you're done recording, xvidcap will pop up a little screen summarizing the video that you just captured; pay attention to the framerate - if it's significantly lower than what you were hoping for, you will probably have to re-record the video (lowering the quality or recording area size). Practice recording with various settings to see what works best on your machine.

As a final note, if you're recording directly to flash video you may want to make note of the movie dimensions, as you may need that information to properly embed the video in a webpage.

Microphones and audio

Xvidcap will record audio along with your video; all you need is a working microphone and xvidcap takes care of the rest. This allows for easy narration of videos, something I plan to do regularly.

I'm using a Sennheiser PC 150 stereo headset with noise canceling microphone; it's probably not the best microphone out there, but it seems to work well. Setting up the microphone in Ubuntu was easy, if non-intuitive. I had to open the volume control (by right-clicking on the speaker in the task bar), go to the preferences in that control (edit/preferences), put a checkmark by all the microphone options ("microphone", "Mic boost", and "mic select"), unmute the microphone on the capture tab, and then turn on the "Mic boost +20db" option in the switches tab. As I said: easy, but not intuitive.

Choosing video codecs and creating Flash video files

Xvidcap has a number of codec options, and I'm still trying to figure out which codecs work best; here's what I've found so far (with very limited testing only only a couple of computers):
  • The MPEG 4 DIVX and general AVI file (DIVX, mpeg) work well for me on Linux, but don't seem to play well on Windows or Mac computers by default (they need DIVX codecs)
  • The Microsoft DIVX 2 and Microsfot avi file format seems to works well on Linux, Windows, and Macs.
  • The mp2 audio codec seems to work well on Linux and Windows, but not Mac. Unfortunately, I can't seem to get the mp3 codec to work with the Microsoft DIVX 2 codec.
  • Flash videos (.flv, what YouTube uses) work very well cross platform, but require a flash player to play.
Flash video seems like it's probably the most cross-platform and browser-independent format currently, so that's what I'm looking at using for now. There are two choices for making flash movie files in xvidcap:
  1. Create the flash files directly from xvidcap
  2. Create the movies using another codec and then convert them to flash files
The first option is probably the easiest, but since I might also want to distribute the videos in a number of other formats (and don't know how lossy the flv codecs are), I wanted to at least explore how to convert other formats to flash videos (.flv files).

Converting from the DIVX MPEG4 codec to flash files was relatively easy using mencoder (a component of mplayer). The command line to convert the files I eventually settled on (thanks to the mplayer manual) was:
mencoder inputfile.mpeg -o outputfile.flv -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -srate 22050 -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames
This conversion step also allows you to scale the size of the video to whatever you want; simply add the flag -vf scale=YYY:-2 to the command line and the movie will be scaled to YYY pixels wide (proportionally scaling the vertical dimension).

Flash movie files have timing information in them that helps flash players play them; mencoder apparently does not include this information. However, the program flvtool2 can add this information (I found this thanks to DRM's excellent post). There is no flvtool2 package for Ubuntu, but downloading and installing it was relatively easy1. Once you've got flvtool2 installed, all you need to do to add the timing information is:
flvtool2 -U inputfile.flv
Flvtool2 can also be used to do a number of other things, including adding timestamps to the video for thumbnails (so users can skip through the video to specific timepoints).

Putting a flash video on the web

To actually play a flv file in a webpage you need a flash file on the webpage that will play the movie. While Adobe Flash can create these for you (for the low low price of $699 for Flash Pro 8), the entire point of this exercise has been to create videos using free open source tools. That's where FlowPlayer comes in.

FlowPlayer is a free open-source flash video player that can be easily added to a website; all you have to do is upload a few files to the server (as a user; no need to be root or actually install anything), insert FlowPlayer's quickstart HTML code into the HTML page of your choice, and you've got flash videos embedded into your webpage.

Samples

For a sample of how this looks, I've created three short videos and posted them here. Sorry, but you won't be hearing my voice in any of those videos, you'll just hear some music recorded by putting my microphone in front of a speaker (translation: badly recorded music)2.

And, here's an example of one of those sample videos embedded into this page:

Adblock









Exciting, isn't it?

Conclusion

It seems like xvidcap will be able to produce satisfactory video tutorials that focus on how to use programs and websites, and the videos produced will be easy to distribute in a variety of formats, including flash videos on the web. However, I have no idea if xvidcap will be able to easily create videos of slide-based presentations (using OpenOffice Impress); figuring out how to create videos of slide-based content will have to be the subject of another post.

1: To install flvtool2 just unzip into a directory and follow the instructions in the readme.txt (which basically say to run "ruby setup.rb config", "ruby setup.rb setup", and "sudo ruby setup.rb install"). You may have to install ruby first; Ruby can be installed via Ubuntu's standard interface.

2: I can't very well be a pseudonymous blogger and have my voice plastered all over the internets, now can I?