Friday, February 17, 2012

OfficeMax Ink Refills are a Scam

My ink ran out. It does that frequently. Web pages get printed for offline reading.

When I was younger I remember my father trying to refill his own ink and he was mostly successful. I remember a few times when ink went everywhere but that seemed more like the cartridge's fault. I've refilled a couple of Lexmark ink cartridges only to find out that the chip prevents the printer from printing after being refilled. Technically, it guesses how much ink is left and when it says you're done, you're done. I've also refilled a couple of HP ink cartridges with success. You can go online and find kits and save significantly if you print often.

Right now I have and highly recommend the HP Officejet 6500 Wireless All-in-One Inkjet Printer. It has decent ink life and is pretty quick. What really sets it over the top is the wireless part. Ironically, this wireless printer is the first printer I've ever seen that comes with the A-B USB cable. The other features that I can't live without are the automatic double-sided (duplex) printing and the automatic document feed for the scanner. I'm trying to go paperless so setting a stack of papers on the feeder, walking away, and having it scan, OCR and send the document to any computer in the house has really made going paperless easier.

Back to my ink, I have a bad feeling about refilling my ink myself, especially because I don't want to ruin my printer. Normally I would order ink online. A full set of the XL cartridges is only $20 with shipping. These are remanufactured so the printer doesn't recognize the ink level, but that's not a deal-breaker for me. If you are concerned about running out of ink you can always buy a second set to have on hand. The price for the regular size HP brand color set is $26 + $8 for black. You can almost buy two sets for that price and the XL has 2.5 times more ink. A set of the HP brand XL tanks will run you around $75. That's almost the price of 4 remanufactured sets!

However, the other day I needed to print pretty quickly so I decided to try getting the ink refilled at Office Max. I had to go there anyway to buy a chair with MaxPerks rewards. Locally at our grocery stores we have a service where you can drop off your cartridges and they will refill them overnight. [I Fill InkJets] I only needed the black filled and that service would cost $9 ($28 for the set, not as cheap as buying online). At Office Max the lady took my cartridge, said they could refill it and that it would be $10. I thought it would be filled as I waited but it was pretty late anyway so its understandable that I'd have to come back. I come back the next day to try to retrieve my cartridge; they can't find it. The slip with my name on it is there but no cartridge. They tell me that I should go to the ink section and someone will help me and give me a discount. Now at this point I wasn't expecting to pay more than $10 since that is how much I would have paid if they didn't loose my cartridge. I pick out the right ink, no one comes to help. I go wait by the counter, no one helps. I keep pointing out that I'm still waiting to get my ink situation resolved and no one helps. Finally they check if anyone knows anything about my cartridge and they don't. They figured it must have been recycled because they couldn't refill it. That's funny, these remanufactured cartridges are refilled and this other company can refill them. Oh, and why didn't anyone call me (my number was on the slip) or ask me if I wanted to take my refill business elsewhere. After an hour, they give me a discount on an Office Max branded remanufactured cartridge. The total for one 920XL black comes to $27 (after their generous 10% discount for making me wait). I could have almost gotten it refilled elsewhere and bought a full set online for that price. That's $17 more than I was looking to spend!

All-in-all that does seem like a great business model, Office Max. Lure people in with the promise of cheap ink refills, recycle their cartridges (i.e. remanufacture them for your own ink brand), make them wait with the promise of a discount so they feel obligated to buy the overpriced ink at your store. I'm not the only person who has had issues. When I've been in the store before I remember at least two other people having problems with refills.

Thursday, February 16, 2012

OfficeMax MaxPerks Rewards are a Scam

Free Batteries!
That was pretty much the ploy grabbing our attention and getting us to sign up for the OfficeMax rewards system. The deal was buy Duracell batteries, get the same amount back on your MaxPerks account. (Limit 2, you won't get the rewards until the end of the next month. You must signup for the account online. The store can't check your balance or use it, you have to print out a certificate and bring it in.)


Did you catch that? (Limit 2, you won't get the rewards until the end of the next month. You must signup for the account online. The store can't check your balance or use it, you have to print out a certificate and bring it in.)
I didn't and I don't think it was even attempted to be communicated in the store. So after spending $60 on batteries I tried to check the balance in the store, no luck. I checked the account online, no information about our balance. So I called and that's how I found out it couldn't be used until the end of the next month. So, the next month we go and spend time looking at computer chairs and finally pick one. Call to check why the balance was lower and then found out it was limit 2. Ok, fine. We go to checkout and lo and behold we had to print out the balance. So, we went to Walmart and got a chair that was better for less than we would have spend out of pocket with the certificate.

I'm still waiting to use our certificate then I can't imagine anything I'd need at OfficeMax that I couldn't find cheaper at Walmart or online. Oh, and don't refill your ink at Office Max.

Tuesday, September 28, 2010

Save for your Winter Heating Costs all Year Long without Temptation

When the winter comes along, homeowners in most parts of the country feel their wallets get lighter. For example, I predict that I will use about 500 gallons of kerosene to heat my house this winter. At $2.80, that's $1400! Unlike working with a utility company to get a budget plan where they estimate your average monthly utility expenses and charge you that, I have to save up before hand in order to pay the delivery man when he comes to fill up my tank. And with a 100 gallon minimum, the smallest charge I'll have is around $300. Yikes.


The other issue most people have is the temptation of spending that $1k they have had sitting in their bank account all year.  As the balance grows, so does the desire. The same problem happens when a homeowner doesn't have a tax escrow for property taxes, they must be disciplined enough to save for property taxes. One product banks offer is a tax savings account to save all year and only withdraw when presented with a tax bill. We'll use the same principle with saving for heating costs: a "holiday savings club" account.

Obviously a holiday club or holiday savings account is normally used to save all year long for your year end consumerism. Most credit unions offer them and a few banks do as well. What happens is you make deposits year round and then in October or November, the bank will transfer the entire balance to your regular savings or checking account, earning you a little interest in the process. Most holiday savings accounts have restrictions on how many withdrawals can be made during the year and some will even close your account it you make more than one early withdrawal. While its possible to blow your heat savings on a new car, by making it more difficult to access the funds (some require you visit the branch for an early withdrawal) you reduce your temptation. And if a major emergency does occur, the funds will be available. Setup direct deposit or an automatic transfer and you should be all set for Jack Frost nipping at your nose. Use a summer savings account or a vacation club savings account if you live in a warmer climate and need to cool down in the summer.

Another alternative would be to open an online high-yield savings account and setup direct deposit or automatic transfer. Being separate from your regular bank should keep your eyes off the money while earning 1%. ING Direct and HSBC Advance are the largest. I have HSBC and I am unsatisfied with their customer service but like the fact that by having a regular checking account with them I can carry out transactions at my local branch.  You could really keep your hands off the money by getting an X month CD depending on the time remaining until the winter. However, nowadays most CDs wouldn't earn much more interest than a savings account and most earn less than 1% of such small amounts and short time periods.

Whatever you choose, the most important thing is to have discipline. This is not meant to be investment or tax advice and you should consult with a financial professional before taking any course of action.

Let me know if you have any tips for fueling your house with your bills. I wonder at what point it becomes more economical to burn the money for heat.

Saturday, September 4, 2010

Avoiding Being Eaten by a T-Rex: Why your Software Development and Deployment Process Should Matter

Recently my wife and I re-watched Jurassic Park. When I was a little kid, I used to believe that the tropical storm was the main reason for the power outage and problems on the the island befalling the guests. Now I know that the real problem was poor IT management and processes. Use some of these best practices to avoid being a raptor's lunch.

Could you imagine hiring this guy?:

Dennis Nedry is essentially a consultant. He doesn't know much about what goes on in the park, he's only hired to fix bugs, and he's given poor resources and poorly compensated. Giving someone like that access to
your production code is just a recipe for disaster.

Scheduled & Restricted Production Deployment - Your live environment should not be free to be updated by anyone at anytime. In a continuous update-release product you should schedule production deployments for a time which is least likely to interfere with other business operations and schedule other business operation at a different time from the release. For example, early in the morning bi-weekly would be a great time to update your dino park. No tours, feedings or events should be scheduled and the weather would be generally more cooperative. A designated and trustworthy pair of developers should perform the deploy together and perform the required testing afterwards.

Who's watching this guy?

Code Review - I have a feeling that debugging the phones does not interrupt the security and power systems on the island. I also have a feeling that most people question the need to reboot those systems if they had a change log or diff for each release. A good practice is to generate such listing for each deployment and have it reviewed by a second party.  For larger changes or changes that present a problem to security, a more complete review should be performed. Also, tying into the previous practice, you should have a standard script or deploy method and any deviation should also be part of the code review process. A source control system would make finding changes easier.
One thing they did right was have source control.

Test Environment - Your development environment should never, ever be your production environment. I'm pretty sure if you are compiling and it affects the production system, you're doing something wrong. If you have a local development environment, you can run all your unit tests and make all your mistakes safely before you put everyone's life in danger.  You might not kill an entire population, like if you worked on a nuclear reactor, but you might lose important time or data. In a multi-developer environment it might be a good idea to have an individual development copy and a collective development copy. Adding an additional step in the pipeline, creating a test or practice environment, will help find errors in your deployment environment. Treat this as if you were doing an actual production deploy. If you're missing any files or there are conflicts, testing here will highlight them. Having a test plan developed for each change and running that test plan in each environment gives you the most robust management.
If you can make this you can make a simulator for your test environment.

Stakeholder Management - If IT is important to your organization, it is important to keep everyone involved on board.

Not as nice as I remembered.
Chastising your workers for "their own mistakes" of a personal nature is not a good way to keep morale high. Also, not keeping track of the progress of Nedry or properly educating him in the business side of the island was a lack of 2-way communication and fulfillment of business goals. If compensation becomes an issue, then it might be wise to consider other vendors or a different IT budget to prevent sabotage, poor performance or quitting.
"Dennis, our lives are in your hands and you've got butterfingers?". Sounds like he was important enough to be better managed.


Well I hope you learned enough to avoid becoming a snack. If you have any other best practices you use, leave them here.

Tuesday, August 17, 2010

Use Sandwich Bags to Untangle your Cords

If you are a geek like me, you probably have a huge box or bin full of cables that seem to have woven together into a not-so-fine tapestry or nest. "Do I really need those modular power supply cables which I don't even have the power supply to and that power a floppy drive?" "Probably not." But in my quest for cleaning out my electronics bin and drawer I've found some cables that I know will still be useful or that I have no clue what they go to so I fear throwing them out. Instead, after spending an hour or so detangling I came up with the following solution:

Each cable now is in its own individual sandwich baggy. All of the cables fit into that bin and take up about 1/4th the size they previously did. You could use twist ties or Velcro instead but I had neither of those. This is also a good idea if you are moving and you can label or write on the bag to more easily identify the cable.

 Anyone else have any cable management tips? Those Velcro cable ties work wonders on in-use cables. I can never seem to optimally route my desktop cables both inside and outside.

Sunday, August 15, 2010

Setting up SSH on your Wireless Router with DD-WRT

My network setup sometimes requires me to use SSH to tunnel into my home network to work on my machines remotely. Before my project, my desktop was running an SSH server (WinSSHD) which had its ports forwarded on my DLink DIR-615 router. This was far from ideal because if my desktop was down/disconnected I wouldn't be able to access any of the network via SSH. The ideal solution would be to run an SSH server on my router.

The Ideal Solution

After doing some quick research, I learned I could install new firmware on my router from an open source project called "DD-WRT". DD-WRT has at least all the features I took advantage of on my router (port forwarding, upnp, web interface). It also had the feature I wanted, an ssh server daemon. It is an open source project based on Linux. You can check to see if your router hardware is supported here.
Note: Flashing your router with new firmware can result in it no longer working! I won't be held responsible by anything you do to your router and you should be confident before attempting anything recommended here!

The nice thing about the DIR-615 is that it provides a web interface for updating your firmware. This is also a means to easily install DD-WRT. Just download the firmware file and upload it via the web interface. These are the instructions I used. Remember to check your hardware revision (letter) because it might be different and cause problems. The main DD-WRT router hardware page should tell you what is compatible. I was actually surprised at how easy everything was to setup. The only gotcha with the firmware upgrade was using IE instead of Chrome for the upload. Also, I put my router into a reduced state by holding the reset button until the Internet light flashed on the front. This will reset everything(including admin password) and make sure the router isn't too busy to complete the update. Always wire in when doing the upgrade since it will reset the wireless settings! Don't forget to download everything you need including instructions before starting since you might not have Internet access afterwards! Download your router's original firmware and know how to restore before starting as well. If you need Internet, reroute your cable modem to your computer instead of through your router. Don't attempt on borrowed or rented hardware!

After the firmware update, your router will now be accessible from http://192.168.1.1 since its IP is changed. Set your wired settings to use the 192.168.1.* subnet in order to see it. That url should bring up the following:
This is the router's info screen. At some point the router will ask you to make an admin username and password.

To get SSH working, I reviewed the following Wiki pages:
http://www.dd-wrt.com/wiki/index.php/SSH_access_from_internet
http://www.dd-wrt.com/wiki/index.php/Easy_SSH_tunnels
http://www.dd-wrt.com/wiki/index.php/Telnet/SSH_and_the_Command_Line

If you are lazy [Note: you are responsible for your own security]:

  1. Navigate to Services -> Services
  2. Scroll down to Secure Shell
  3. Turn on SSHd
  4. Turn on SSH TCP Forwarding
  5. Enable password login or provide public keys for login (if you don't know, just go with password)
  6. Give it a port
  7. Navigate to Administration -> Management
  8. Scroll down to Remote Access
  9. Turn on SSH Management
  10. Give SSH a port to run on 
  11. For my ports I use 443 since 443 is usually open in firewalls and represents encrypted https traffic
  12. Setup a Dynamic DNS service on the router or a pc (Setup -> DDNS)
Some gotchas:

  • You can't enable https for the web GUI since it will use port 443. Give your SSHd a different port to run on and then you can use https
  • You can only have one user if using password login and that user is "root" with admin password
  • I use Putty Tray as my ssh client because it is powerful and minimizes to the system tray.

Other Things to Do With Your Router

Enable Remote Access -> Web GUI Management

This is useful for performing maintenance remotely or rebooting your router. Especially nice if you won't have anyone to help your troubleshoot your router while you are away or if those people aren't tech savvy.

Setup static IPs for your computers

Leave your computers as DHCP and setup the DHCP server on the router to associate a specific MAC address with a specific IP address.  Use these IPs in your port and firewall rules.

Setup a PPTP VPN

This should let you use Window's to connect your your home VPN without any computers running the VPN server.

Add a second way to connect to your wireless

This tutorial might get you started.
Some other things you can do with this:

  • Create a temporary wireless point for guests with a different password. 
  • Create an access point using a less secure encryption but set access restrictions. 
  • Create a public wireless network but with lower signal so only in-house guests can access the wireless
  • Create a public wireless network but make it ad supported using the other DD-WRT services such as Chilispot, WifiDog, or AnchorFree under Services->Hotspot or Services->My Ad Network
  • User DD-WRT to provide a wirelss hotspot for customers but a private network for your business
With any of these methods, you should use a separate subnet and other security controls to prevent breeches.

Bridge two different LANs with wireless or Add a wireless repeater

This is good if you have a computer in a different part of the house without wireless and you have a spare router r have a big house.
http://www.dd-wrt.com/wiki/index.php/Linking_Routers

Run a VoIP PBX via Asterisk on your router

Watch out, this is tricky!
http://www.dd-wrt.com/wiki/index.php/Asterisk

Add network storage via SMB or FTP

Only if you have a USB port in your router
http://www.dd-wrt.com/wiki/index.php/USB_storage

Block websites, time restrict access to certain websites

Stop yourself from playing too  much farmville
Left as an exercise for the reader.

Many, many more ideas

http://www.dd-wrt.com/wiki/index.php/Tutorials

Remember, some things your router might need more memory or specific hardware that you don't have. I know my router doesn't support jffs so that prevents me from doing some things.

Let me know what project you decide to undertake.