As I started to get back into lower level / compiled languages for work (starting to hack on libvirt) and personal side projects, I needed to more efficiently debug my applications and libraries, as printf's don't cut it and the command line gdb iterface was getting annoying (*gasp* I know, its a first, my desire to use a gui over the command line ;-] ). The Data Display Debugger (DDD) is a great frontend to GDB and is a cinch to use. Simply append "-g" to the gcc/g++ command you run to enable debugging output (or append "-g" to the "AM_CXXFLAGS" directive if using Automake) and then compile. Next you will have to run the generated executable (really a wrapper shell script which finalizes the compilation and linking process) at least once to generate the true binary (named lt-name in the .libs/ subdirectory). Use ddd to debug this executable by running ddd .libs/lt-name (ddd can be install via any major distro repo)
(more after the jump)
After a long, frustrating week of simple things that should be working, not, it is refreshing to have the reverse scenario happen. More specifically, before today I have never had a wireless card work on Linux right out of the box. Perhaps its a testiment to Linux's ever-increasing hardware support and strong developer community, or perhaps D-Link is to be given credit (though I doubt it; I used to have a D-Link wireless router and it was the worst possible device, quickly switched to the Linksys one I have no and never went back), but the D-Link WDA-1320 pci based WIFI card worked right out of the box. Thats right, no drivers to hunt down and install, no man pages to read, just plugged it in, used network manager to select my wireless network, specified my password, and whala! I was surfing.
I very much recommend this card to any Linux user who is looking for the simplest and most pain free wireless experience on Linux.
I love Linux but hate when things don't just 'work out of the box' (definitely not a Linux-only problem though). Well, recently I bought a PC off ebay to use for a media center I'm setting up and ran into some woes with the Ethernet card. I always expect wireless problems but it has been years since I had an issue with a wired network card. Alas, after quite a bit of Googling I found my answer ( here ) and figured I'd share it incase anyone else was wondering.
Dirvish is an easy to use backup system based on rsync. Having recently setup an external encrypted usb drive to store backups, mounted at /mnt/backup1, I setup backups for target directories on my local system using Dirvish (of course, if it were not in early development, I would use Snap but alas its too early to trust critical system operations to it). The entire process is fairly easy, there being two files which you need to modify, as well as creating a cron job to run dirvish daily. I'll keep it brief and simple here, use this great guide if you want more info. Before we begin, recognize a 'bank' is a directory where multiple vaults are stored. A 'vault' holds the configuration and the actual snapshots of the filesystem(s).
A few months back I wrote an article on how to create and access an encrypted hard drive in Linux. Recently I've been setting up a large external usb drive to store nightly backups and couldn't figure out how to load the unencrypted device /dev/mapper/enc from the encrypted device /dev/sda1 post-boot (eg the usb drive wasn't turned on until the computer was completely started up). Lo and behold the answer was right in front of me, in my very own article, eg. step 3 or running the cryptsetup command:
cryptsetup -c aes-cbc-plain -d /etc/enc-key create enc /dev/sda1
I was under the impression that this altered the drive somehow, but does not in any way, it merely loads the unencrypted partition, from which point the user can mount the filesystem. I suppose a warning should go here, because I presume its possible (tho I have not tried it) to load the encrypted partition with a different key and thus the unencrypted partition will be "illegible", eg. the computer thinking its just random data. Any reads or writes to it will most certainly destroy any stored, encrypted information.
Anywho, it took me a little while to figure this one out, so I figure it might be useful for anyone else in the same situation.
1989 I started school at age 4
2008 I finished school at age 23
After 19 continuous years of school, I finished my last course today. No finals this semester (besides presentations I've given over the last week) so I'm finally finished, fulfilled all the requirements for a Masters Degree in Computer Engineering and don't have any more school. The years definitely have been full of both good classes and hard instructors, accomplishments and downfalls, projects which went off without a hitch and tests which were bombed horribly. I've met so many great people through my academic career and forged relationships which I hope never break. I'm not fully shutting the book just yet, I am floating the idea of a Ph.D. eventually, but a long break is long due. I'm sure I'll find plenty of things to pass the time with, I'm still working full time, and have a gazillion ideas concerning programming projects I want to do. In my personal life, my friend Louis started teaching me the guitar, and I'm looking at learning and doing all the things that I haven't had the time for yet (traveling is definitely in the picture). But anywho, this blog (which I'm finding to be alot more successful than any of my previous attempts, getting a bit of feedback from readers) will go on, so feel to check back!
Several years back, during my job at the Living School Book, I was tasked to admin a small LDAP server for a small project we were working on. It was all new too me at the time, and I took a while to learn it, writing up an article in the process. Lo and behold my time spent was worthwhile as I've been helping my current coworkers get up to speed on how LDAP works and is administrated. To help out, a former coworker (and good friend) helped me digg up this ancient article I wrote (alright only a few years old and everything is still relevant) on getting started with LDAP. Enjoy!
Essentially the goal for this article is to setup a partition under Linux under which all data that is stored will be encrypted and 'inaccessible' to those without the correct key (course with all the password-cracking software out there today, who knows what really is secure). This is actually a very simple task, with instructions scattered over the Internet, so I just simply consolidated the most useful directions I found into the guide below:
As a long time SVN user it is the version control system I know the best (though I am not a fan of any version control
implementations I've used so far, SVN is just the one I've used the most). I've never setup my own repository before and
looked into doing so today for various code of my own that I develop locally. All in all it is a simple process, but there are
a few gotchya's that you have to look out for.