Come one come all for cheap technical books! Book sale!

I did some spring cleaning this weekend, and have a bunch of technical books I would like to sell. Each book listed below can be had for $5, or three books for $10. I’m planning to ship with flat rate shipping, and will charge just the amount the USPS needs to get the book to you. If you are interested in one or more books shoot me an e-mail with the books you want and the zip code you are in. I’ll send you a reply with the total cost and you can then pay me via paypal. Once I receive your payment I will ship your books. You can contact me by sending an e-mail to e-mail, and here is the list of books for your viewing pleasure:

Advanced IP routing in Cisco networks
Code making and code breaking
Configuring and tuning databases on the Solaris platform
Configuration and capacity planning for Solaris servers
Core servlets and Java server pages
Effective C++
Expert Oracle database architecture
GNU autoconf, automake and libtool
Hackproofing your network 2nd edition
Hacking Linux exposed
HP-UX 11.X
Implementing ADSL
Linux Samba server administration
LISP 3rd edition
Lex and Yacc
Mastering Enterprise java beans and the java 2 platform Enterprise edition
Mastering Turbo Assembler 2nd edition
Oracle 8 and UNIX performance tuning
Optimizing Oracle performance
Professional Apache 2.0
Programming with UNIX threads
Practical programming in TCL/TK
Sun certified programmer (SCJP) for Java 5 study guide
Sun blueprints guide to high availability
The C++ programming language second edition
The revolutionary guide to assembly language
The SPARC architecture manual
Understanding the Oracle server
UNIX System V release 4
X windows systems administration guide for X11R5

What are your favorite technical books?

My technical book collection has grown quite large, though there are only a few books I go back to time and time again. I just took Self Service Linux and Linux Kernel Development off my shelf, and am planning to re-read both books over the Thanksgiving holiday. Self Service Linux is hands down one of the best technical books I’ve ever read, and the level of detail the author goes into is astounding. If there is a book on your shelf that you keep coming back to time and time gain, please leave me a comment. I’m looking to expand out quite a bit in 2011, and am hoping to start formally studying software development and algorithms. Hope everyone has a killer holiday, and I look forward to hearing about your favorite books!

How I am going to avoid getting stranded when my car has a dead battery or flat tire

Having lived in a big city for the past 10-years of my life, I’ve encountered a number of unpleasant things when I’ve been out and about. A few weeks back I hit one of the most frustrating ones of my life when a nail punctured one my tires while I was running errands. This shouldn’t have been an issue, but alas my spare tire was on the low side and I didn’t feel comfortable driving with it. With no gas stations in sight the feeling of “oh crap” came over me.

After spending 30 minutes on the phone with my insurance company, the agent told me that my insurance policy included roadside assistance. Thank goodness! They showed up an hour later and filled my spare and changed out my flat. After thanking the assitance guy 50 times, I proceed to head to a automotive shop to get my flat tire patched.

This experience got me thinking about ways to prevent this in the future, and after doing a bit of research I came across the Wagan 400-Watt Power Dome EX jumpstarter with built-in air compressor. This nifty little device comes with a number of useful features:

– Built-in battery charger
– Air compressor
– Flash light
– USB charger
– AM/FM radio

I tested out the radio, light and air compressor after my unit arrived from Amazon, and they all worked as advertised. This past week one of my co-worker’s had a dead battery in her car, so I got to verify the jumpstarting feature worked. Jumpstarting her car worked flawlessly, and I have since stashed my powerdome EX in the trunk of my vehicle.

This crappy experience has taught me a couple of valuable lessons. Cars are just like servers. They fail when you don’t want them to, and sometimes the easiest problems become the most difficult ones to solve. I’m planning to pick up a few more gadgets for my car to avoid getting into a similar situation in the future! If you keep anything in your vehicle to help out with emergencies, please let me know! I’d like to be better prepared for future events.

UNIX IPC tutorial in C

Brian Hall, “Beej” wrote a cool tutorial explaining all the different aspects of traditional UNIX Inter Process Communication (IPC). He provides a lot of C code where you can compile / test these concepts yourself for a better understanding. The high level concepts in this tutorial would be great material to use in conducting technical interviews. =) Thanks Brian!

My 1000th blog post

Wow, I can’t believe 999 blog entries have been posted to the prefetch blog! This blog started all the way back in October of 2004, and was a way for me to document technology as I learned it. I never thought people would actually read it, and am even more amazed that this site now generates close to 600k+ hits per month. Yikes! The past five years have been pretty awesome, and I can’t even begin to describe how blessed I am to be working with technology on a daily basis (it’s a blast!). Thanks to everyone who reads this blog, and a HUGE shout out to my bloging partner Mike Svoboda! I hope to keep using this blog as a technology journal, and look forward to an awesome future!

Great write-up on AMD’s RVI (Rapid Virtualization Indexing) hardware assisted virtualization feature

I came across an awesome Q&Q where Tim Mueting from AMD described the hardware virtualization features in AMD Opteron CPUs. The following excerpt from the interview was especially interesting:

“Prior to the introduction of RVI, software solutions used something called shadow paging to translate a virtual machine “guest” physical address to the system’s physical address. Because the original page table architecture wasn’t designed with virtualization in mind, a mirror of the page tables had to be created in software, called shadow page tables, to keep information about the physical location of “guest” memory. With shadow paging, the hypervisor must keep the shadow page tables “in sync” with the page tables in hardware. Every time the guest OS modifies its page mapping, the hypervisor must adjust the shadow page tables to reflect the modification. The constant updating of the shadow pages tables takes a lot of CPU cycles. As you might expect, for memory intensive applications, this process can make up the largest part of the performance overhead for virtualization.”

“With Rapid Virtualization indexing the virtual memory (Guest OS) to physical memory (Guest OS) and the physical memory (Guest OS) to real physical memory translations are cached in the TLB. As described earlier, we also added a new identifier to the TLB called an Address Space Identifier (ASID) which assigns each entry to a specific VM. With this tag, the TLB entries do not need to be flushed each time execution switches from one VM to another. This simplifies the work that the hypervisor needs to do and removes the need for the hypervisor to update shadow page tables. We can now rely on the hardware to determine the physical location of the guest memory.”

I just ordered a second AMD Opteron 1354 for my lab, and am looking to forward to testing out the VMWare fault tolerance feature once I receive my new CPU. Viva la virtualization!