This post has actually been stuck in drafts for a very long time…but I figured I had a little time so I’d polish it up and throw it out there!
In this post we’re going to cover how to get a Brother MFC-490CW scanner working on 64bit ubuntu!
First off install the brother scanner packages just as you would any other .deb
This package handles the actual scanning functionality
sudo dpkg -i brscan3-0.2.11-4.amd64.deb
This package allows the scan to pc buttons on the scanner to work
sudo dpkg -i brscan-skey-0.2.1-3.amd64.deb
We need to link the scanner libraries so that xsane detects the scanner:
sudo cp -a /usr/lib64/sane/libsane-brother* /usr/lib/sane/
sudo cp /usr/lib64/libbrscandec3.so.1.0.0 /usr/lib
sudo cp /usr/lib64/sane/libsane-brother3.so.1.0.7 /usr/lib/sane
sudo cp /usr/lib64/sane/libsane-brother3.so.1 /usr/lib/sane
sudo cp /usr/lib64/sane/libsane-brother3.so /usr/lib/sane
sudo cp /usr/lib64/libbrscandec3.so /usr/lib
sudo cp /usr/lib64/libbrscandec3.so.1 /usr/lib
After that follow the standard instructions on installing the driver using the brscan3 tool and everything should just magically work!
So over the last few days I decided that I wanted to upgrade my distro from Ubuntu 10.10 to something a bit newer. I like that debian has tons and tons of packages available to them…..add their backports repo and you have tons of new packages too!
After trying the latest Fedora 15, Debian Testing (wheezy), Xubuntu 11.04 and Ubuntu 11.04 I settled back to the tried and true Ubuntu. I’m not really digging this whole unity interface (which is why I put off the upgrade to 11.04 for so long) but I’ll deal with it.
The only thing missing from the equation were lots of new packages…..so I decided to add the debian-backports repo to my ubuntu install:
Create /etc/apt/sources.list.d/debian-backports.list with the following contents:
deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
deb-src http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
Add this in /etc/apt/preferences.d/debian-backports
Pin: origin backports.debian.org
Finally, run this:
sudo apt-key adv --recv-keys --keyserver hkp://subkeys.pgp.net AED4B06F473041FA
sudo aptitude update
So what the hell does all this do exactly?
- We added a new repo to our package manager…standard issue…
- We “pinned” the packages from the debian-backports repo to be very low priority. We don’t want them being pulled in because they are potentially unstable and untested. So we want to prioritize tested, stable ubuntu packages first.
- We have to import the key for the debian-backports repo because it doesn’t come standard in the keyring
Now if you want to install a new package from the repo you have two choices
sudo aptitude <package>/squeeze-backports
sudo aptitude -t squeeze-backports <package>
If you want to see what versions of a package are available, just run this:
aptitude versions <package>
So I recently reformatted my laptop and I wanted to checkout one of our BZR repositories so I could get some work done. Unfortunately (fortunately?) the bzr checkout command kept spitting back this error:
bzr: ERROR: Generic bzr smart protocol error: Invalid http response for https://<url removed>/.bzr/smart: Unknown response code 401
After much fiddling with the server and my local settings (yes the username and password were correct) I stumbled upon the most bazaar solution. Running:
$sudo apt-get remove python-pycurl
Solved all my problems and I was able to perform a successful checkout.
So for the past few hours I’ve been reading a fantastic book that Jeff Atwood mentioned at Dev Days LA and also posted about on his blog. He’s a really cool guy and chit chatted briefly <– really briefly about http load balancers. During that conversation he mentioned that he was really a “noob” with hardware and all the underlying stuff, I was shocked and now have a much greater respect for the man. I was thinking he was going to be some snobby I know it all, TOTALLY NOT the case!
Anyways, he recommended Coders at Work: Reflections on the Craft of Programming and I figured I’d give it a shot. I’ll be honest, I “procured” this book using some unconventional methods, but 2 chapters in….and I bought it. It’s a FANTASTIC overview of what some of the most respected, and quite humble, minds in the programming world have to say. It’s really easy to connect to the different developer interviews and I feel like I’ve learned a few things just reading the first couple of chapters.
One underlying message that I feel from this book is that communication is key for successful programmers. These days you can’t be huddled up in your room coding away on your own, interaction is the way of the future and I think it’s a great thing.
Thanks for the heads up Jeff!
So today I decided to ditch school and participate in Stack Overflow Dev Days 2009. I thought the conference was pretty good and the student price of $10 was amazing! The turn out was a little less than I had anticipated but I suppose that just left more room to spread out for those of us that went. I got there pretty early, 8:15am, checked in and grabbed a seat. They were serving coffee and some muffins.
There was a bit of swag available:
Stuff I liked:
- The Python talk and dissection of the Google spell check algorithm by Mike Schiraldi of Reddit
- This presentation was really well layed out, easy to follow and appealed to the geek in me as it ran in xterm on python haha. Pretty slick Mike…
- The jQuery talk by Cody Lindely
- This presentation would’ve been much better had the Internet worked. That, or had Cody saved all of his work locally to show the audience. I’m sure we would’ve been in for some really trick eye candy. He did however lead me on to two good sites, jsBin and Cody’s jQuery selector demo.
- Most, if not all of Joel’s talks were highly entertaining. He talked about Fog Bugz and all the features that the software has, such as:
- Not technically a feature, but ya….Fog Bugz 7
- Fog Bugz Kiln, tight Fog Bugz integration with hg
- I talked to Joel a little during one of the breaks and sadly support for git is not on the roadmap, and he said it probably won’t ever be….*sad panda*
- Also not a direct feature, but part of a plugin for Fog Bugz, Balsamiq Mockups I think this app has great potential to interact with prospective clients
- The QT (cute) presentation by Daniel Rocha of Nokia. This presentation really impressed me, he did actual coding (yes typing), compilation and a demo on 3 separate platforms and they all worked flawlessly. Kudos Daniel! This presentation also showed QT’s cross platform power, seamless migrations from one platform to another, that was pretty slick.
- Jeff Atwood’s talk about random junk. I wished his presentation would’ve gone on longer it was pretty entertaining. He’s actually a really nice guy, I talked with him during one of the breaks and he gave me some coding horror stickers =D
Stuff I didn’t like:
- The provided wifi was pretty crappy, I found myself tethered to my cell for most of the day. It was just unmanageable. I would have thought they would have gotten this right, especially after Joel’s writeup on conference wifi.
- A lot of the presentations went backwards in my mind. I think the presenters should show the power of said technology first (get the fancy demos out of the way) and then talk about the code/app/etc. that powered that demo. This probably would’ve worked much better for Rory Blyth and his iPhone presentation. There were a lot of boring coding sessions that didn’t need to take place IMHO, we’re developers and we can figure out syntax on our own….rtfm.
- The Google Apps Engine talk by Jason A Cooper of Google would’ve been more captivating if he had spent more time talking about the product/service and less time typing code. Though he did show off some fancy gChat integration stuff that wow-ed the crowd, that was pretty neat.
- The keynote was an interesting take on software design, I really liked what Joel had to say on Simplicity vs Power. It basically came down to: write elegant code so your users don’t have to make lots of decisions. Though I don’t think you should take elegant and make your code a giant unreadable 1 line mess. That’s a total maintenance buzz kill.
Well I think that’s it for now, see you all next year!