August 3rd, 2010 |
Published in
FYI, KDE, Kubuntu, Ubuntu
Hey there my Ubuntu and KDE people! I am still around. I have my daughter for most of the month of August so I am currently AFK. I will be back in a couple of weeks full-time again. In the mean time if you need to get in touch with me, hit me up on Twitter @nixternal, or if you have my phone number you can call me there.
When I come back, I have a great review in the pipeline of a new ZaReason laptop that runs Kubuntu out of the box!
My daughter and I have been having a blast these past couple of weeks. We have enjoyed the weather, watched a lot of bike racing, and she got groovy with Ubuntu. She likes Kubuntu’s look better, but I hooked her up with some Ubuntu to play around with. She wasn’t down with the default look, so we found some themes, colors, and fonts, that she likes, and thus far she has been happy. I need more than an SSH backdoor, so if you have any ideas let me know. I would like to know when she logs on and gets online, but I would really like to know is her IP address automagically so I can connect and do updates and what not for her. I can probably do most of this with a little bit of scripting, but I am sure that 100% of the time she will be behind a firewall that doesn’t have ports for SSH open, so if there is something out there that you know I might be looking for, let me know. Oh, I need to figure out a way to prevent her pesky mom or grandparents from installing Windows on this machine, any ideas on that as well?
Oh, and Elizabeth, she one-upped you. She has pink braces :p

My daughter, myself, and Chris Horner from Team Radio Shack
March 5th, 2010 |
Published in
FYI, KDE
You really don’t want me to tell you where to put them, as you might not like the answer. However, with KDE, you can put the buttons wherever you would like Daviey, Mike, and everyone else.

No need for some confusing application or editor, simply configure the location of the buttons as you would like them to be. You can drag stuff where you want, click apply and test the results. Tweak until you are happy.
January 30th, 2010 |
Published in
FYI, Tutorial
OK, so today freenode migrated to their new server. It was a bit rough around the edges at first, however they have finally added support for connecting via SSL and using a script in Irssi you can authenticate via SASL. So, I will quickly show you how to get SSL and SASL setup for Irssi and Irssi only, and I am assuming you already have a connection to Freenode already setup.
WARNING: It has been brought to my attention that the Irssi folks get mad when people tell you to edit the config file instead of using the commands, so with that, backup your config file first, and if anything goes wrong, not my fault
- Let’s install the necessary packages (I think this is all, I already had openssl installed but had to install the libcrypt- packages for the SASL script below):
sudo apt-get install openssl libcrypt-openssl-bignum-perl libcrypt-dh-perl libcrypt-blowfish-perl
- Grab and save the cap_sasl.pl script to ~/.irssi/scripts and setup a link for it to autorun:
cd ~/.irssi/scripts
wget http://www.freenode.net/sasl/cap_sasl.pl
mkdir autorun ## only if you do not have this directory already
cd autorun
ln -s ../cap_sasl.pl .
- Fire up Irssi without connecting to anything:
- Once in Irssi, setup your username and password for SASL:
/sasl set freenode your_nick your_password DH-BLOWFISH
/sasl save
/save
- Quit Irssi
- Using a text editor, edit ~/.irssi/config and in the section that says servers = ( you want to remove the stuff between the { and } for freenode, and then add the following in its place:
address = "chat.us.freenode.net";
chatnet = "freenode";
port = "7000";
use_ssl = "yes";
ssl_verify = "yes";
ssl_capath = "/etc/ssl/certs";
autoconnect = "yes";
- Now under the chatnets = ( section, you want the freenode = part to be changed to:
freenode = { type = "IRC"; };
If you get a message about your nick being “Juped” or “temporarily unavailable” and get switched to Guestxxxx nick, read the following, otherwise enjoy your new secure connection.
Now you can go ahead and connect to IRC like you are used to. If you have the ENFORCE flag set for your nickname, you may come across some issues with identifying, and the one message I kept getting was:
If you get this, you need to disable the ENFORCE flag on your nick (make sure you are identified with your correct nick first):
/msg nickserv set enforce off
After that, disconnect from IRC, then reconnect to IRC. You shouldn’t be getting that error message now. If you do, go to #freenode and complain accordingly
If all is well, you can go ahead and set the ENFORCE flag back to on:
/msg nickserv set enforce on
Now all should be well. Enjoy your new secure, SSL and SASL authentication, connection.
June 19th, 2009 |
Published in
Coding, Development, FYI, KDE, Personal, Tutorial
I am really just adding this so I have it documented in case I forget it in the future or need to reference it. One thing I like to do when messing around with web development is when I use a table to hold something, instead of a silly div (really on wiki pages and such to create cheap button-like objects), is use a round border. So here are the example on how to use round borders for tables, utilizing border-radius and CSS.
Firefox
/* 5px radius on all 4 corners of the table */
-moz-border-radius: 5px;
/* 5px radius on top left and bottom right corners only */
-moz-border-radius: 5px 0 5px 0;
/* 5px radius on bottom left and top right corners only */
-moz-border-radius: 0 5px 0 5px;
/* 5px radius on the top left corner only */
-moz-border-radius-topleft: 5px;
/* 5px radius on the bottom left corner only */
-moz-border-radius-bottomleft: 5px;
/* 5px radius on the top right corner only */
-moz-border-radius-topright: 5px;
/* 5px radius on the bottom right corner only */
-moz-border-radius-bottomright: 5px;
CSS 3
/* 5px radius on all 4 corners of the table */
border-radius: 5px;
/* 5px radius on top left and bottom right corners only */
border-radius: 5px 0 5px 0;
/* 5px radius on bottom left and top right corners only */
border-radius: 0 5px 0 5px;
/* 5px radius on the top left corner only */
border-top-left-radius: 5px;
/* 5px radius on the bottom left corner only */
border-bottom-left-radius: 5px;
/* 5px radius on the top right corner only */
border-top-right-radius: 5px;
/* 5px radius on the bottom right corner only */
border-bottom-right-radius: 5px;
Webkit
/* Just add -webkit- in front of the CSS 3 styles */
-webkit-border-top-right-radius: 5px;
KHTML (Konqueror)
/* Just add -khtml- in front of the CSS 3 styles */
-khtml-border-radius: 5px;
And with that said, Why is there 4, count them 4, different ways to skin the same exact cat? Come on browser devs, lets come together and accept 1 solution and implement it. I have been noticing Ajax-like functions out there to do rounded corners, and now I see why. With like 10 lines of JavaScript, you get this same functionality. Now do this in your style sheet, and 1 table could have as less as 4 lines if it is a simple table, or as many as 16 lines for a bit more complex layout. Anyways, just wanted to keep this documented instead of Googling for it all of the time when I need it, and pass it on to all of you fine folks who are unfortunate enough to read my blog. Plus, I also wanted to pass on how web developers, when utilizing border-radius, can now make a KHTML friendly site
June 9th, 2009 |
Published in
Coding, Development, FYI, KDE, Kubuntu, Python, Qt
Earlier today my buddy Martin Pitt blogged about how he needed a Qt developer to work on implementing the ui_question_choice() dialog. I looked through the code a bit this morning, and needed a little help right off the bat getting the GTK version running. One little thing I missed a bug report and Martin helped get it up and running. So as the day went on, storms came through, and for some reason I get in this storm hunter mode and nothing else gets done. Well, about an hour ago all the storms have cleared up and back to work I went. I spent about an hour, most of which was silly Qt Designer and layouts, which Kubuntu guys, I suck at, never listen to me brag about my Qt Designer classes again! The other thing that had me for a second was trying to iterate over a layout to get button statuses. After all was said and done, this is the little beauty that popped up when testing:

Not to shabby. I will spend some time looking through all of the apport-qt ui stuff and see if I can make it as simple as the GTK side. The checkboxes in that image are generated dynamically by the hook. So once they are added to the layout, trying to figure out their status when they weren’t provided a name was tricky. Thankfully the PyQt 4 API Documentation is great!
So here it is, there is the main dialog and then there is the groupbox with a vertical box inside of it. The vertical box makes it simple to add and remove stuff so that’s why I went that route, KISS. So after the box is populate, you select the stuff you need then press OK to submit it. Well the trick was finding out what is checked. So the main dialog is named dialog and the vertical box that holds the check boxes is called vbox_choices. So here is how I got those values:
result = []
for c in range(0, dialog.vbox_choices.count()):
if dialog.vbox_choices.itemAt(c).widget().isChecked():
result.append(c)
So, the main reason for doing this, is so I can find it a bit easier next time, and the fact that I couldn’t find this little bit documented anywhere else. If there is a better way to do this, let me know.
EDIT: Removed the index variable as it was old code left hanging around when I did the copy and paste. Thanks Milian for catching that.
June 5th, 2009 |
Published in
FYI, Personal
Yay, I am doing the transitioning too. So w/o further ado, welcome my new GPG key:
pub 4096R/D8C44738 2009-06-06
Key fingerprint = 3578 0981 A21D D662 2A96 7623 F4C1 838C D8C4 4738
uid Richard A. Johnson <nixternal@gmail.com>
uid Richard A. Johnson <rich@nixternal.com>
uid Richard A. Johnson <rjohnson@kde.org>
uid Richard A. Johnson <johnson.richie@att.net>
uid Richard A. Johnson <nixternal@ubuntu.com>
uid Richard A. Johnson <nixternal@kubuntu.org>
uid [jpeg image of size 12182]
sub 4096R/6B8A7765 2009-06-06
Yes, I even added my picture to the key, because it is even groovier that way.
And now say goodbye to my old key (well not yet, transitioning it out, so use the new key instead from now on):
pub 1024D/2E2C0124 2006-05-21
Key fingerprint = 9554 2BCC 3AA2 3898 0939 56E7 3EC9 A39D 2E2C 0124
uid Richard A. Johnson <nixternal@ubuntu.com>
uid Richard A. Johnson <nixternal@kubuntu.org>
uid Richard A. Johnson <nixternal@gmail.com>
uid Richard A. Johnson <rich@nixternal.com>
uid Richard A. Johnson <johnson.richie@att.net>
uid Richard A. Johnson <rjohnson@kde.org>
sub 2048g/B9DDBD35 2006-05-21
So, if you have signed my key in the past, I wrote up one of those transitioning letters that are signed by both keys. You can download that HERE. You can also DOWNLOAD the public key if you really need it, or you can just do the following to get it:
gpg --keyserver keyserver.ubuntu.com --recv-key D8C44738
So if you feel safe enough, without having to go through my wallet to verify I do in fact own the new key, I would appreciate it if you would sign it, if not I understand, and the next time we are face-to-face, you are buying beer!