A point.
Now, I’m not going to play cry baby of the Senate election here in Mass last night. I voted Dem, per usual, and we lost. Thats that.
The point I want to talk about is, how we got here:
Remember back a few years ago? We did this to ourselves. See, we used to have rules/laws here in MA, that said, if a Senator died/stepped down/whatever, the Governor got to appoint someone to fill-in the rest of their term. makes sense and other states do it. One would hope the Governor would appoint someone with the stats best interests in mind, and someone who would follow the course of the person they are replacing. Well, when Mitt Romney was our Gov., and Kerry was in the running for Pres, we in Mass. decided we didn’t like that rule, it meant Mitt could appoint ANYONE, not just another Dem. So, we changed it, so that we could have an election, basically, as I see it, to ensure that the Senator we were loosing was replaced for the rest of the term with someone who would continue to carry out at least roughly the same vision. Thats what happens most of the time. Someone passes away, someone else gets appointed (sometimes the wife, or son, or brother, or anyone), and since they generally were on the same page as the previous Senator, and many times had not previously sought public office, they don’t have all these ties to special interests, the party, or campaign promises to keep. They are just the torch bearer, basically.
Now, we change the rules. Okay. What did we do with them? Exactly what we had changed the rule to prevent. Instead of electing someone who would honor Ted Kennedys memory, and, for the remainder of his term, follow his guiding principals (since, that IS what was voted for and elected the past umpteen times, and WOULD still be in office had he not passed away…), the state went with Scott Brown. Now, I can’t travel to parallel universes, but, I’m willing to bet, in the Universe where Kerry gets elected, and we don’t change the rule on ho these appointments are made, Mitt would have picked someone very much like Scott Brown, if not Scott Brown himself.
I honestly understand people voting for him, and its their right to do so. I just regret not only the rule change that lead to this, but the failure of the public for the most part to understand that, back in 2008, you/we (or, more than 50% of voters, at least), voted for 6 (more) years of Ted Kennedy. We didn’t vote for a do-over in the middle, or vote with a sense that he wouldn’t last the full 6. We voted for 6 more years of Teddy, his policies, and ideals. Now, 6 months after his passing, we’ve voted for basically the polar opposite.
My question is why? Was it Scott Browns talk on taxes, and how they are so high here in Mass (he can’t do anything at the state level folks)? Was it his ‘tough’ stance on terrorism, and the wonderful Republican belief that constitutional rights only apply where and when they want them to apply? ( Fact: Enemy combatant is a term historically referring to members of the armed forces of the state with which another state is at war. The Xmas airline attempted bomber is not one of these. I have not sympathy for him, and think he should rot in jail and or be put to death. That being said, he is NOT an enemy combatant, and therefor, the rules of the land in which we live must be adhered to). Was Ted just the crazy uncle to most people in Mass, who, while he’s around, you invite him to the Xmas partys and birthday, but once he passes, everyone just moves on, and is even a little thankful that he’s gone now?
The good news is, Scott Brown is only filling out a term. The bad news is a freshmen republican senator in this political environment is a virtual pariah. Aside from being another member of the party of no, and slowing down/stalling/blocking any real work that could be done, there isn’t much, if anything Scott Brown will be able to DO, for the nation, or the state.
a quick rtm script
came up with a neat little script to email taks to Remember the Milk from bash:
#!/bin/bash
#Define email to send to:
EMAIL=”YOUR_SPECIAL_EMAIL@rmilk.com”;
#Lets get some info:
echo -e “Task Title: c “
read TASK
if [ -z “$TASK” ]
then
echo -e “You didn’t give a task title! Quiting!”;
exit;
fi
echo -e “Priority(1-3)[0]: c “
read PRIORITY
echo -e “Tags: [None] c “
read TAGS
echo -e “List [Inbox]: c “
read LIST
if [ -z “$LIST” ]
then
LIST=”Inbox”;
fi
echo -e “Due Date [None]: c “
read DUE
echo -e “Notes: c “
read NOTES
SUBJECT=$TASK
BODY=”P:$PRIORITY nS:$TAGS nL:$LIST nD:$DUE n—-n $NOTES”;
#echo $BODY | mail -s ‘$SUBJECT’ $EMAIL
echo -e “$BODY” | mail -s “$SUBJECT” $EMAIL
could we almost be there?
So, Google Voice launched today, which is absically the second comming of GrandCentral. Looks pretty nice thus far, and I like how it has my Gmail/G1 contct list/address book, which makes sense it being Google.
The question is, how to best use this. Hand it out as my new contact number? Forward things there? Give it out from now on and slow move it it? Nothing?
How do people use Grandcentral? I know people who were on call, and forwarded their cell their, so it could ring a few places, which makes sense, btu, what about normal people? I don’t even use the phone that much really, but have all ym text messages available online would be cool…..
rethinking statues
So, “back in the day” I remember always wanting to be signed on to AIM, even if i wasn’t using it activly. The idea was, I had a presense to maintain online. People could see my status, and leave me messages. Most of my friends didn’t use email as much as I was, so, it worked.
Things change. I use AIM while at work, via PIdgin, and also sign on to GTalk, and our local Jabber server. But, at home, do it use AIM? Sometimes. but not enough to want to keep it running all the time really. Now, theres facebook, and twitter, two services which, although with different purposes, both support status posting (facebook is revmaping their design to focus on this even more soon).
Now, for a little while, I’ve been using Ping.fm. Its this nice service that you sign up for, and say, okay,t his is my facebook account, this is my twitter account, this is my identi.ca account, this is my tublr account, etc (like 20+ services supported). Then, you send psots/statuses to ping.fm (they have clients, via email, sms, etc). You can do a status update (twitter/facebook style), mirco blog (twitter/tumblr style), or blog (longer?), and tell ti which services get which sort of post. pretty nice.
Now, I’ve moving away from that. Why? Well, I’m thinkgin now theres 2 sorts of status posts:
#1: Long term: Facebook. This used to be the AIM. you set it, leave it for a few hours/days. Myabe this wil change as facebook changes.
#2: Frequent: Twitter. Quick, little quips. updated a few times a day, or more.
My rational is: people on twitter expect frequent updates. Poeple on facebook, not so much. I’ve had people say to me “whoa, update facebook much?” and its not really that I’m on facebook non-stop, browsing around, editing my profile. its that iwas sending status updates, mainy as twitter updates, that were hitting facebook as well.
So, heres the new way:
frequent updates go to twitter.
longer term status updates goto facebook, which is then imported to twitter via twitterfeed.com.
blog entires, such as this, go to tumblr, as they always have, also imported via twitterfeed to twitter. Twiter becomes the defacto “single source” for all status updates.
Sound reasonable? I think so.
of course, thsi could all change in a few day/whenever facebook launches their new design, which I’ll be very interested to paly with and see how friends on the facebook side of the world react to.
oh, i’m sjoeboo on twitter.
Building NX from source
Recently at work, we decided we should see how bad it was to build NX from source (since its GPL and they put it out there), instead of just using the freenx rpms (which arn’t always teh latests and greatest, plus, if you can build from source…do it). The problem was/is, there isn’t much documnetation out there on this, and what was out there was out dated, incomplete, or just not vaild anymore. So, what started thursday/friday, was finished today.
This was done originally/for a RHEL 5.2 server, which was headless and therefor neverhad X started on it. Shortly, a whole bunch of these wil be load balanced.
Building NX from source w/ Freenx helper scripts:
mkdir -p ~/NX
cd ~/NX
Make sure expect is installed…(yum install expect, apt-get install expect, whatever)
Download freenx source/tarball from http://freenx.berlios.de/ (Latest as of writing was 0.7.3): wget http://download.berlios.de/freenx/freenx-server-0.7.3.tar.gz
Get all NoMachine sources from http://www.nomachine.com/sources.php (Latest as of writing was 3.3.0):
wget http://64.34.161.181/download/3.3.0/sources/nxcomp-3.3.0-3.tar.gz
wget http://64.34.161.181/download/3.3.0/sources/nxcompext-3.3.0-3.tar.gz
wget http://64.34.161.181/download/3.3.0/sources/nxcompshad-3.3.0-3.tar.gz
wget http://64.34.161.181/download/3.3.0/sources/nxproxy-3.3.0-2.tar.gz
wget http://64.34.161.181/download/3.3.0/sources/nxscripts-3.3.0-1.tar.gz
wget http://64.34.161.181/download/3.3.0/sources/nxssh-3.3.0-1.tar.gz
wget http://64.34.161.181/download/3.3.0/sources/nx-X11-3.3.0-5.tar.gz
wget http://64.34.161.181/download/3.3.0/sources/nxagent-3.3.0-10.tar.gz
wget http://64.34.161.181/download/3.3.0/sources/nxauth-3.3.0-1.tar.gz
Extract archives:
tar -xzvf nxcomp-3.3.0-3.tar.gz
tar -xzvf nxcompext-3.3.0-3.tar.gz
tar -xzvf nxcompshad-3.3.0-3.tar.gz
tar -xzvf nxproxy-3.3.0-2.tar.gz
tar -xzvf nxscripts-3.3.0-1.tar.gz
tar -xzvf nxssh-3.3.0-1.tar.gz
tar -xzvf nx-X11-3.3.0-5.tar.gz
tar -xzvf nx-agent-3.3.0-10.tar.gz
tar -xzvf nxauth-3.3.0-1.tar.gz
Build:
cd nx-X11
make World
cd ..
cd nxproxy
./configure && make
Install these parts: cd ..
NXPREFIX=/usr/NX
mkdir -p ${NXPREFIX}/lib ${NXPREFIX}/bin
cp -a nx-X11/lib/X11/libX11.so* ${NXPREFIX}/lib
cp -a nx-X11/lib/Xext/libXext.so* ${NXPREFIX}/lib
cp -a nx-X11/lib/Xrender/libXrender.so* ${NXPREFIX}/lib
cp -a nxcomp/libXcomp.so* ${NXPREFIX}/lib
cp -a nxcompext/libXcompext.so* ${NXPREFIX}/lib
cp -a nxcompshad/libXcompshad.so* ${NXPREFIX}/lib
cp -a nx-X11/programs/Xserver/nxagent ${NXPREFIX}/bin
cp -a nxproxy/nxproxy ${NXPREFIX}/bin
Untar/Build/Install FreeNX parts:
tar -xzvf freenx-server-0.7.3.tar.gz
cd freenx-server-0.7.3/
patch -p0 < gentoo-nomachine.diff
make
make install
cp node.conf ${NXPREFIX}/etc/node.conf
Fixes:
cd /usr/NX/lib
ln -s libXrender.so.1.2.2 libXrender.so.1.2
If X has never run locally, you’ll need to:
mkdir -m1755 /tmp/.X11-unix/
Setup:
cd /usr/NX
bin/nxsetup —install —setup-nomachine-key
(this will fail because of passwd not wanting to unlock the nx user)
passwd -f -d nx
bin/nxsetup —install —setup-nomachine-key
The test might fail, you might need to:
cd /usr/NX/home/nx/.ssh
ln -s authorized_keys2 authorized_keys
(Also, make sure user “nx” is in AllowUsers in sshd_config if needed)
Try test again:
/usr/NX/bin/nxsetup —test
cd /usr/NX/etc/
mv node.conf.sample node.conf
vi node.conf
enable SSH auth, configure as you want, its well commented
That should do it. For troublehsooting, in node.conf, set: NX_LOG_LEVEL=7
SESSION_LOG_CLEAN=0
and look at /var/log/nxserver.log
also, try:
ssh -X user@server /usr/NX/bin/nxnode —agent
and look for problems (this how the correct permissions of /tmp/.X11-tmp were found)
xbmc on fedora 10
Wanted to put this up for a couple reasons:
#1. For my own records.
#2. Because I couldn’t find a guide that was complete/totally correct.
Props to these two how-to’s, I got the bulk of my stuff form both of them, with some minor edits:
http://www.howtoforge.com/installing-xbmc-on-fedora-9-i386
http://xbmc.org/wiki/?title=HOW-TO_compile_XBMC_for_Linux_on_Fedora_RedHat_Enterprise_Linux_CentOS
Now, lets go(I assume you have sudo setup. if not, just su - first silly):
#1. Make sure you have the rpmfusion repo installed and enabled: http://rpmfusion.org/
#2. install all the Dev* tools etc:
sudo yum groupinstall ‘Development Libraries’
sudo yum groupinstall ‘Development Libraries’
#3. Get subversion so we can download the source:
sudo yum install subversion
#4. I like to keep all source code etc in a ~/Development folder, do as you please:
cd ~/Development
svn co http://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/linuxport/XBMC
(takes a while)
#5. Get all(most of the Deps):
sudo yum install SDL* glew glew-devel libmad-devel tre tre-devel libogg libogg-devel libvorbis libvorbis-devel boost \
boost-devel bzip2-devel bzip2-libs fribidi* lzo lzo-devel mysql-libs mysql-devel jasper jasper-devel faac faac-devel enca enca-devel hal hal-devel hal-libs cmake gperf nasm \
libXmu-devel fontconfig-devel freetype-devel libXinerama-devel pcre-devel gcc-c++ sqlite-devel curl-devel
#6. its goign to complain about libmysqlclient not being in place, when it really is. trick it:
sudo ln -s /usr/lib/mysql/libmysqlclient.so.15.0.0 /usr/lib/libmysqlclient.so (i386)
sudo ln -s /usr/lib64/mysql/libmysqlclient.so.15.0.0 /usr/lib64/libmysqlclient.so (x86_64)
Also, we need to copy a header file:
cp XBMC/xbmc/lib/cximage-6.0/jpeg/jpegint.h /usr/include/
#7. cd XBMC
./configure
#8. make (this will fail)
#9. as you can see, the make failed, so fix things a bit more:
cd xbmc
ln -s lib/libfribidi/ fribidi
cd ..
#10. make one more time, should complete
#11. sudo make install
#12. All done! /usr/local/bin/xbmc might already be in your path. I’ll leave it to you to create your icons etc if you want.
new project? yes?
So, I’ve been without a good project to work on for a while now. Not that I’ve been non-busy @ work. I jsut havn’t had a good coding project, either for work, or for myself, for a while now. I think thats about to change.
See, @ work we’re taking over some workstations (linux) and will be deploying our own kcikstart image on them. I would love the ability to monitor their status, mostly by looking at a nice, simple webpage. Now, there are plenty of things out there for this, Nagios being the big one. But I looked at it, and Zabbix, and Cacti (which I’m using now..)but its not what I want.
See, for workstations, or, really any group of system, what I really care about is up/down state. Thats right, I want to know if the system is on, or off. Pings don’t work, since most new systems can be turneed off and still bounce pings. Pings are good for detecting network issues (or a system that is DEAD), but not when something is simply off/crashed.
What I want, is a page someone can log into (with maybe 3 levels of permissions), and see a list of systems, with, nice simple statuses.2 per system (one ping, one more service level, prob snmp), that simply say “Up” or “Down” and are green/red accordingly. Thats is.
Cacti is doing a great job right now of telling me CPU usage, eth0 usage, total processes, etc, which is nice, and will give us a great idea of teh workstations usage incase we decide to move to thin-clients, but what I want it a simple way to go look and say “Yep, everything up.” or “System XYZ is down, but responding to pings, we should rebuild it”, and finally “System ABC isn’t responding at all. Someone pulled the plug, or its dead. Either way a physical visit is in order”.
Maybe it can be taken a step further, and we can include notifications. Some sort of threshold fo ping/service failures, and boom, email gets fired off.
Sounds simple, right? It should be. I’ve done something not far off before. So, time to do it. Tools? mysql/php, php-snmp, and that should be all folks. I want to make this extensible a bit, allow of systems to be grouped, notifications to be done on a system or group basis (ie, if X goes down do this, if any system in group Y goes down, do this, etc).
How will the tests be run? well, The simplest way will be a cronjob, calling a php script/program. This will do the checks, and drop the info in the database. It will be a simple DB, with each “system” entity having all the system info, its ping status, snmp status (both 0 or 1), and then a failure count for each, so whan that count gets to some threshold, a notice is pushed out. When a check fails, the status ges changes to 0, and when tis back, the counter reset and status goes back to 1. Pretty simple.
So, time to start hacking. I think I’m going to do this one propper maybe w/ subversion and everything. I would like the end product to be re-usable, and might even do up an install script, or at the least, instructions.
now I’m all geek excited.
waiting 2.0
So, after waiting with baited breth for months to find out what the iphone reboot would hold, and then rolling over my options for what seemed like weeks, i decided jsut this past sunday to buy and ipod touch. My reasoning was: a). I have 1 year left with Verizon, a $175 termination fee, even if pro-rating cuts it in half, is a bit much. b). the higher data plan prices from att make the new cheaper iphone acctually more expensive that the 1st gen. c). everywhere I go these days has wifi. Really. And why would i want to use anything other than wif if i can get a signal? So, a touch with all the new apps etc would be just great.
So far so good to be honest. Really. Its an awesome music player, and video player (BattleStar while riding the 86 bus? yes please). But alas, now I’m stuck on this Friday waiting for the iphone 2.0 firmware update to become available. Seems like I’m not the only one. Seems like Apples world wide launch idea just bit it in the ass, as the iTunes/activation serves are currently melting under the load of people trying to upgrade/activate/reactivate their phones/ipods. Yep, great planning. So, now it sounds like some people with 1st gen iphones managed to get the upgrade done, but when the phone reboots, its wants to reactivate, and blam, can’t because the servers are down. so, theres now lots of people with upgraded, but non working phones. Of course, its not like their phones are DEAD, they jsut need to activate, and can’t yet.
Hopefully they clear it up soon, cause I can’t wait to get 2.0 rocking…
its that time again
yep. time to move teh work desktop from the current stable ubuntu release into the development release. luckilly a little “sudo update-manager -d” is all it takes these days.
I had previously installed gutsy, the current stable, on this, my macbook, and, once it was all updated, etc, I moved it over the to dev release. No problems thus far, well, except sometimes after a kernel upgrade having the wireless not work, but that just needs a simple rebuild of the madwifi driver and poof, everything works again.
why would I move my work desktop to this? well, first of all, since /home is on a different partition, my data for work is safe no matter what. PLUS, my /home is getting sync’d (with the script from my last post) to the backup server, so i’m covered there as well. Also, evolution on ym work desktop has been a bit of a pain the last few days. The message preview/viewing pane gets hung on “Formatting Message” a few times a day, and killing evolution, evolution-data-server etc is the only way it seems to get it back up and running. No such problems thus far on the dev release on my laptop hence the move. Finally, I always move teh the dev release about this far along in the development cycle. Find bugs, report them, weight in on the progress. Its jsut one of the many ways I can help out.
Almost time to jam homeward with sarah. Wish us traffic based luck. Mat out