Refilling Ink Cartridges

July 29th, 2015

Back in 2009, I got lucky and found a Canon ip90 on Craigslist for $25. If you’re not familiar with the model, it’s a small (12.3 x 2.1 x 6.9 in), portable inkjet printer that’s precise enough to print photos. At the time, they were near $300. The one I got looked brand new and came with a case, so I got a screaming deal.

thinkpad and ip90

Not mine but here to show the ip90’s size

It’s been a great travel printer except for one thing, the ink. It was always dried out. I don’t print every day or even every month. When I did try to use it, I’d have to get out a new cartridge ($5-10 each) and then use half of it cleaning the print head. Then, I would have a binge printing session where I printed everything I could think of that needed printing. The rest of the cartridge would eventually dry up and go to waste.

Tired of throwing money away, I decided to give refilling my own cartridges a try. It was so easy and just a little bit messy. They ones for the ip90 are refilled with a syringe. All you do is fill it from the ink well and dispense the ink into the pad on the bottom of an old cartridge.

The kit that I bought came with a bottle of cyan, magenta, yellow, and three bottles of black ink. The bottles are so big that I think they will last me a lifetime. It came with a syringe for each color. There were some loose ball bearings in the package. I imagine that they are to put into the ink and aid in mixing it. Unfortunately, they were stuck in some of the syringes instead, rendering them unusable. I ended up using the same one and rinsing it between colors. No big deal

Ink Refill Kit

I was totally afraid to actually go the whole refill route. I had been filled with FUD and stories of giant messes, hands being stained for weeks, the inside of the printer being flooded in ink and colors that were horribly wrong. In reality, it was easy and cheap without any of the foremetioned issues. The colors are good, the cartridges aren’t drying out in two weeks like the canons ones,and I have lifetime supply of ink. I feel like a fool for spending so much on cartridges and listening to anti-DIY rhetoric.

co_printerfill01 Printer Test Page


Million Dollar Highway

July 14th, 2015

This is a very scenic drive trough the San Juan Mountains. We drove it on our way north from Durango. It has a lot of tight, hairpin turns and shear drop offs, but that doesn’t keep ginormous RVs from driving it.

Colorado Million Dollar Highway
Colorado Million Dollar Highway
Colorado Million Dollar Highway
Colorado Million Dollar Highway
Colorado Million Dollar Highway
Colorado Million Dollar Highway
Colorado Million Dollar Highway


Overland Expo West 2015

May 21st, 2015

We went to the Overland Expo with our friends from Two Complete Spirits, Kyndal and James.

az_overlandexpo-XP01   az_overlandexpo-GX01

It wasn’t exactly what I was hoping for, a bunch of overlanders sitting around bonding, telling stories, and planning future endeavors. But, it was exactly what I was expecting, a ton of cool rigs and accessories. I posted a whole lot of photos over on Free Campsites:
Our friends posted videos of the event over here:

Virtual This and That. This and That!

May 11th, 2015

I’ve spent the last couple of weeks neck deep in new technology. That’s always awesome. The end result is that a couple of our humble projects are going to be running on a considerably more robust platform than the one we administered professionally for a regional telco a decade ago. Also, I spent about $10 learning. Ouch!

As a telco, we ran a very large file server that handled all of our users web sites in one central location. It was nice because we could scale out to multiple web servers for redundancy and scalability. However, when the NFS server went down, the ENTIRE cluster had to be massaged in the right order to bring it back online. Talk about your nightmare scenario: send a new tech over to trace cables and just wait for the network wide outage to occur.

Our new infrastructure is a much smaller filesystem – we only have a couple of websites on it. However, we have three (3!!!) servers acting as redundant file servers. As they are all mirrors and geographically separated from each other, we can lose two entire regions before we have a real problem.

MySQL has been the defacto standard for sql servers on a budget for years. We ran this in an ISP environment and had the forethought to have a master-slave setup. In the budget telco world of a decade past, when we lost a SQL server, everything crapped out until someone manually logged into the slave server and told it to become master. Yay… we didn’t lose everything. Boo, it was still an outage.

Our new infrastructure has clustered master-master sql servers. I can bring a new one online without even telling the existing servers about it! We also have three of these running in different geographical areas. We can lose an entire region and keep chugging along. If we lose two regions, someone has to login and tell the remaining server that it’s ok to think for yourself. It’s quite an upgrade from the old days, but not quite as nice as the fileserver.

Then there’s the whole web server thing. It needs to talk to the sql server and file server. Thanks to modern magic, it can seamlessly talk to either service even if it’s own closest server crashes. It would be hard to mention all the differences in our new implementation versus the old way of doing things, but our new web server software is a) f*cking fast as sh!t. b) has built in caching to reduce the overall work load c) is really good on memory usage.

Back in the telco days, budget was always a thing. We simply couldn’t get the money for load balancing hardware and didn’t have the people/time to do it properly in software. Today, that’s not even a concern. I can get multi-region load balancing that let’s me put all of the above infrastructure in 4 different data centers for less than the cost of a 12 pack of microbrew once a month. Compare that to round robin DNS – where an outage means that users can keep hitting ‘reload’ and get a working server if they are persistent. I’ll take dirt cheap load balancing over DNS hackery!

Want to know the best part? All of this costs about half as much as we’ve been paying every month to run a single server at our current hosting provider. That’s right.. one big server, with no redundancy, a broken serial console and backups that don’t even boot if we have an outage. I’m TERRIFIED of rebooting our server because the console doesn’t work, our backups don’t boot and tech support says ‘pay for OS support and buy more capacity’ any time I mention that their services don’t actually work.

Meanwhile, I’ve intentionally rebooted 1-2 servers on the new system in the middle of SQL imports and filesystem modifications without a hiccup. Everything just works. Better yet.. I can add systems to the cluster if we need the capacity or upgrade the existing servers to larger systems anytime I want. We can literally get 3x the redundancy and twice the capacity for the same price. Yet, I only need half the capacity we currently pay for.

We also have to ability to add auto-scaling. That means we’d boot servers that contact our sql/file server and just serve web pages. And we could do it magically as needed and only pay for it while they were needed. Fancy.

Currently, I think or backend cluster has the extra capacity to handle our web services as well. But, if we need it in the future, we can boot thin web servers on-demand and kill them overnight to avoid unnecessary charges, Talk about the icing on your chocolate covered doughnut,

FYI, google is offering a $300/2 month credit on compute engine. Don’t be like me and sign up before heading to Baja – losing your credit!

UPDATE (8:30am, 5.5 hours after cutover completion):

Cutover went well this morning… there’s nothing like a 1am maintenance window to remind me why I don’t want to work for the telcos again.

However, I had to scale up our servers in the middle of watching a movie as they were starting to lag a bit. 20 minutes of rebooting servers, without even a blip of an outage, and we’ve scaled our capacity vertically 4-fold.

Sadly, this raises costs. Now, our hosting costs are closer to 3/5 of what they were prior to cutover. Still, a nice savings. Did you see the part where I took the fileservers and sql servers offline and replaced them each in under 5 minutes with bigger servers and couldn’t even tell anything was happening from the client side? That’s pretty fancy for a couple of home-brewed websites about camping in the woods and where to dump poop.

After looking at the costs of inter-zone bandwidth and just how much of it we were using, I got to thinking about how to lower that cost. A little filesystem hackery was enough to drop our inter-zone bandwidth to 1/3 or less and reduce the CPU overhead enough that we could scale servers back DOWN! Who’d think the lowly symlink would be capable of saving 2/3 of our server costs as well as 2/3 of our bandwidth costs. Crazy!

I’m learning that the real power in cloud computing is in getting the smallest building blocks you can and using them as efficiently as possible.

Baja: Crossing the Border

November 7th, 2014

This post is part of our trip to baja.

If you’ve spent any time researching travelling in Baja, Mexico, you’ve surely run across these “rules”. According to the Internet, if you want to stay alive in Baja, Mexico, this is what you have to do or not do:

1. Don’t drive after dark.
2. Travel in groups.
3. Don’t cross at Tijuana.
4. No weapons (not even a bullet), drugs or anything illegal.
5. Cross the border at in the morning and drive as far south as you can.
6. Do not exit your vehicle before you get at least 400 miles south of the border.
7. Drive on the toll road. The bandits are on the libre.
8. If you are written a ticket, don’t pay the officer (it’s a bribe) for it. Go to the station instead.
9. Don’t drive after dark!

You’ll notice that one and nine are the same. This is because it is a very important rule!

Our plan
Meet part of our group near the border at 8am (Rule 5). Then, go to the border to meet the rest. Once there, we’d get our tourist card “visas”. Then, we’d drive as far south as we could in the remaining sunlight and find a lovely little place to stay (while following rule 6). We would get off the road before dark (Rule 1 and 9). The next day, we would enjoy a beach sunrise and spend the day driving as far south as we could. Rinse and repeat until we hit Mulege. Fish tacos and cerveza.

What really happened
Our group didn’t get together until about 10am. We all sat outside of a Starbucks programming our walkie-talkies and catching up. It’d had been years since we had seen each there. It was so good to see everyone and talk about the adventure ahead. It was going to be a great trip. We love you Bestest Bri and other guy.

We met up with the second part of our group at about noon at in a parking lot on the US side of the border at Tijuana. The boys walked across the border to get pesos and visit the immigration office. When they returned, they said that the office was closed (or didn’t exist I can’t remember which) so no tourist card at the border. Our friends assured us that it wasn’t a big deal and that we’d pick them up in Ensenada. No worries. OK.


We all got into our vehicles and went across the border, being careful to stay together. The Mexican border patrol had their own way of doing things. They had each one of us pull into separate parking areas in anticipation of a full vehicle search. They searched everyone differently (that’s a story in itself). By the time our van was done, three of our five car caravan had already been sent on their way. Then it was our turn.

With no where to wait for each other near the border, we were thrust onto a fast moving network of roads that had obviously been designed by someone enjoying a plate of spaghetti. Everyone was heading south on their own. Thankfully, we had all turned our radios (walkie talkies) on.



Crazy MX roads

I still don’t know which way we went.


We were able to get Brightest Bri on the radio. Hurrah! We were not alone. We were also able to locate some of the folks that we had joined at the border. But, where was our other friend?!?! He wasn’t with the rest of our group nor was he answering our calls on the radio. I was soooooo worried about him. He said that never drives anywhere, and it was his first time in MX. He was no where to be seen or heard. OMG OMG I knew we weren’t supposed to cross at Tijuana (Rule 3)! We, and Brian the Wise, scanned the sides of MX 1 for our friend’s white Ford van. An easy find for sure.

After freaking out for about 10km, we spotted our friend just as we were entering the first toll booth on the Carretera Escenica. He had pulled over at what he thought was the immigration office where we were to get our “visas” at. We told Festiva Bri we had seen the other guy. And after a bit of driving/radio magic we were together again. Now, the “other guy” had his radio on. All was good. Then, we saw Jesus. He was standing over a bunch of expensive houses on the beach. I have no idea what he was thinking about.giant jesus ensenda

« Prev - Next »