Showing posts with label tech. Show all posts
Showing posts with label tech. Show all posts

1.10.2008

tech/energy/science { If this is true, it would be so cool

Sunlight to Petrol. Reverse conversion of CO2 into fuel.

Seems like Science Fiction, but I hope it actually works, the chemical catalyst process seems sound. It will also be the closest to closing the loop as we have come so far.

I also don't think it will 15-20 years out, unless the big energy consortiums stymie this like they've done to other alternative energy research. If they were smart, they would adopt and fund this (which in turn could bring a viable large scale implementation reality in probably under a decade) and do as suggested by starting with these systems installed into existing power producing facilities to reclaim CO2 for recycling. Then expand it into a system that reclaim excess (and note I said excess) CO2 levels from the atmosphere.

Projecting this ahead, my concerns would be that if someone had developed an efficient removal process to scrub the CO2 from the air, how would it impact plant life? Would we, ironically, cool the planet too fast? We would have to strike a balance, which can be problematic with profit driven entities.

But, I like this idea, it will be a good bridging technology to help extend what resources we have and buy us some more time to develop better renewable and alternative energy sources.

12.05.2007

tech { Future of tomorrow today!

Or so, testing out some new blog functionality.

Thinking about going to see the Klingon Christmas Carol referenced on GG
and Avindair's blog.

Thinking of going to see this:

URBAN EXPLORERS: INTO THE DARKNESS - A DOCUMENTARY FILM NR
Thurs Night (Dec 6) only at 7:00. Tickets $8, more information
available at http://www.urbanexplorersfilm.com
(showing at the Riverview Theatre)

UPDATE: preview of the KCC from Fox (blech) 9

3.08.2007

tech/work { National Shutdown Day - March 24

National Shutdown Day, March 24 2007.

Workers of the world unite! I mean shutdown!

From their website, alternate uses for your computer:

2.28.2007

Musings { Technology and Work, part (355/113)+1

Because not all things end in tears and sadness.

Update. My work the other night has a happy ending to the story. I was able to get the system patched. While I was unable to upgrade the firmware of the HBA flashproms. I was able to time warp the patch sets 4 years forward (it was 2/02, I updated it to 6/2006).

I was able to leave it better than I found it. I installed OS disk mirroring, something it never had.

Tomorrow I patch it's siblings.

2.27.2007

Musings { Technology and Work, part (355/113)

I awoke, slowly, having not slept well again. Nerdwife was already up and showered and had gotten ready for work. I was not fully awake, trying to hold on to what little bliss of a comfortable and cozy bed remained, refusing to arise and face the day for a little longer. She kissed me goodbye, but it seemed like a dream.

I rolled over, shut off the alarm, and fell back into a fitful sleep for another hour. I was trying to sleep in because I knew tonight I would be in late, patching systems.

I finally got up and took a shower. Then descended into my still unpacked office (I put out my WH40K Battlefleet Gothic stuff this weekend and basked in the loving memory of painting the ships and the battles they fought). I was up late the night before switching VCS service groups to other nodes in the cluster so that I could patch the one that awaits me. I made the mistake of leaving my laptop open and logged into work with email open. The emails never end. Somewhere along the line, someone decided email was a real time messenger service and that important things could be conveyed, or worse that they would be read and accepted without discussion. Most people who use email do not understand that it is not 100%, even the USPS isn't 100%. Spelling and grammar have also declined, which is paradoxical since people are writing more. I'm not the best with letters or words, so when I notice, things have sunk to an all time low. I answered a few of the more urgent, to clarify mostly. The I logged off. Work would claim me soon enough. I fired up my PC at home, deciding to check on my WoW auctions. I'm saving for an epic mount, which costs ~560g. I'm level 51 now and need to start. But WoW is undergoing patching, I had forgotten that its Tuesday. Tuesdays are patch day. I instead switch to my Tau army on WH40K: Dark Crusade and progress to eliminate the Eldar, and make major inroads on the Orks and rebuff the Space Marines. But first a quick run to get cash from an ATM and a coffee and scone from Dunn Bros. As I wait in line, my mind wanders again to the Cities, and I miss the selection of coffeehouses that I used to frequent. I change the topic in my mind to something else. I dwell on the Cities too much still. It depresses me and keeps me from enjoying the now and making the best of the here. I think about Saturday. Saturday is nerding. I also need to stop by and visit my Grandparents. I received a frantic email from Grandma, here computer is doing things it shouldn't and not doing things it should. That's not good, but I miss them and I don't see them enough. When she found out when I'm coming, she said she is going to make breaded pork chops and mashed potatoes...how can I refuse? I'm not a lot of things, but I like to think I am a good grandson. Besides, no one else in the family can help, or rather she doesn't trust anyone else in the family to help. She knows I do things with computers.

The coffee and raspberry jam covered scone is delicious. I enter the world of Kronus to do battle.

The Eldar die quickly and are driven from the world. The Orks rise before me in a green tide and clash against my wall of Fire Warriors, who become awash in a sea of red. 5 to 1 kill rate, my Cadre literally kills thousands of them. The Orks are driven from the Bulwark, back to their home territory. I will finish them next turn, which will have to wait.

2:30pm comes too fast. I shutdown the game. Say goodbye to the cats, who both sit and watch me prepare to leave. They are funny like that. Always there to greet us when we get home and there to see us off when we leave.

I am unable to find a parking spot and I don't have change. So I park in a two-hour parking zone near work...I probably have a ticket. Parking has been tight since they eliminated another two parking lots at work.

I go to the hardware recycling center and pickup some components I need to craft a console patch so that I can work remotely on this system instead of sitting in the data center slowly going deaf. When did they start locking the door...

I forgot to lookup where the server was.

The server was moved since I last remember, not uncommon, I remember then that ACs had to go in where it used to be, it is now all the way across the data center and by itself. Damn. I bring a laptop over, the DC Ops Manager put various laptops on stands throughout the data center, they are great tools. I patch the laptop in to the server and head a few blocks away to my office. I remote desktop in and everything seems to work, console output is fine, but input is funny. Everything is changed to funny characters. Almost like I am typing in wing-dings.

I consult a co-worker. We get some long cables and do what you should not do, string cables over the raised floor to establish a patch connection. Much time is spent checking and re-checking and verifying the cables and connections, but to no avail. We figure the ASICs in the serial connector on the host are bad. This makes the job far more interesting, and much, much riskier. The machine is venerable. The likelihood of something going wrong when you touch it are high. Uptime is over 400 days. But the kernel level says the OS is running at a patch level off an old CD, I figure it to be Solaris 8, 02/02, but I'm too pre-occupied to look it up at the moment. It is part of a large, but dwindling cluster of systems built by the previous regime as I call them. The collection of cowboys and pseudo-admins from whom I, and the rest of the team inherited the environment. The stuff they built are land mines waiting to go off. And they frequently do, and then we have to pickup the pieces. In most cases this is actually a blessing in disguise as we can rebuild them better, and most importantly more supportable. But we pay, for everything we do, we pay. The political price is always high. The previous regime left us in a spot of 'most hated'. Not by all, we have allies and friends, but we have many enemies. Though the winds are changing and slowly we are coming to at least professional understandings. At my old job I learned the valuable ability to separate people from the work they do. In most cases you can dislike, hate the person at work, only to find away from work and the pressure and stress they are not at all bad people.

I digress. I un-encapsulated the OS disk, its not mirrored. Few of these ancient systems have mirrored OS disks. Without a console, I have to patch in multi-user mode, another 'don't try this at home' situations, but options are few. Patching from such an old kernel rev will mean it will take probably 8 hours on weary ultra-sparc II CPUs. They're tired, if you listen you can hear the wheezing of age in the system's fans. The groan of its power supply. The age of its machine spirit. I try to do what I can revive and resuscitate these old installs, but you can only bring them back from the dead so many times before you just must retire them.

So far the patching is going, but the moment of truth will be the reboot...hours from now.

2.22.2007

Work { Java DST upgrade script

The change in Daylight Savings Time caused by the Energy Policy Act of 2005 has resulted in nightmare conditions for some in Information Technology as almost every operating system required a patch of some kind in order to correctly adjust for the new DST rules. Many apps (most noteably Exchange) also require patching. Those that cannot be patched have to be upgraded or work around have to be put into place. Java is one of those Apps. More information regarding Java can be found at http://www.sun.com/dst. To make my life a little easier I wrote the script below to aid my efforts to patch/upgrade the system JRE and the Symantec/Veritas JREs on Solaris systems. Its not as clean as I would like and there are many improvements I would do as well as streamline some of the logic.

#!/bin/ksh

# java_dst.ksh ###
# author: Me
#version: 1.1
#purpose: to automatically find/update JAVA JREs on Solaris hosts
# and catalog completed and unsupported JRE instances.
###

###
# changelog:
# 20070215 me: streamlined script/debugged
# added find/update for /usr/openv/java
# 20070214 me: script debugging
# 20070211 me: script creation
#
###
# peer review:
# 20070214 co-worker1
# 20070215 co-worker2
#
###


###
# PATHS
###
PATH=/usr/bin:/usr/sbin
export PATH

###
# global variables
###
# base directory where script runs
case $0 in
"./java_dst.ksh") BASE=$(pwd) ;;
*) echo "WARNING! This script needs to be executed from the directory in which it resides, otherwise the script will not work."
exit 1 ;;
esac
export BASE

TZUPDATE=${BASE}/tzupdater2006p/tzupdater.jar
JRE15SRC=${BASE}/jre1.5.0_11
JRE15=jre1.5.0_11
SYSJRE=/usr/java

if [ -x ${SYSJRE}/bin/java ]; then
PATH=${SYSJRE}/bin:${PATH}
export PATH
else
echo "WARNING! No system JRE defined as ${SYSJRE}! Please investigate."
ls -ltard ${SYSJRE}
exit 1
fi
MASTERDIR=${BASE}/log
ISSUEHOSTSLOG=${MASTERDIR}/issue_hosts.log
UPDATEDHOSTLOG=${MASTERDIR}/updated_host_list.log
export BASE TZUPDATE JRE15SRC SYSJRE JRE15 MASTERCATALOG ISSUEHOSTSLOG UPDATEDHOSTLOG

###
# intro
###
echo "This script will scan the target host for installed JREs in /usr and /opt."
echo "This script will also update any JREs found with the '-u' option."
echo " "



###
# functions() {}
###

find_jre() {
# find installed JREs on system and catalog them

JRECATALOG=/var/tmp/$(uname -n)-jre_catalog.out
JREVEROUT=/var/tmp/$(uname -n)-jre_versions.out

OPTS=$1
# better search string, will not cross mount points or non-local file systems,
# will not also exec the version option on the java installs found, will
# elmininate sparcv9 (64-bit) entries as they are duplicitous
echo "Searching for installed JREs in /usr and /opt..."

find /usr /opt -local -xdev -type f -perm -o+x -name java -print -o -name sparcv9 -prune >${JRECATALOG}


# catalog the version of the JREs found, for documentation purposes
echo "Cataloging installed JRE locations and version..."
echo "Versions will be saved in: ${JREVEROUT}"
echo "Installed JREs found will be saved in: ${JRECATALOG}"

# initialize version output log
echo "">${JREVEROUT}

for x in $(cat ${JRECATALOG})
do
(
echo "${x}"
${x} -version 2>&1
) >>${JREVEROUT}
done
echo "done."

# update the master catalog with JREs installed on system for future
# reference
if [ "${OPTS}" = "B" ]; then
echo "Copying ${JREVEROUT} to ${MASTERDIR}..."
cp ${JREVEROUT} ${MASTERDIR}/
echo "done."

else
echo "Note: ${JREVEROUT} will not be copied to ${MASTERDIR} unless the '-u' option is specified."
fi
}

install_jre() {
# install JRE 1.5.0_11 on target host, re-link /usr/java to new JRE.
# JRE installed will be /usr/jre1.5.0_11

tar cf - ${JRE15} | (cd /usr ; tar xvf - )
mv ${SYSJRE} ${SYSJRE}.old
ln -s /usr/${JRE15} ${SYSJRE}
${SYSJRE}/bin/java -version
echo " "
echo "If version (Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)) appears, then JRE 1.5.0_11 was successfully installed as the system JRE."

updated_hosts_log A

}

updated_hosts_log() {
# update the ${MASTERDIR} logs
case $1 in
A) # updated
(
echo "###"
echo "# $(uname -n) system JRE updated"
echo "# $(date)"
echo "###"
${SYSJRE}/bin/java -version
)>>$UPDATEDHOSTLOG
;;
B) # issue
(
echo "###"
echo "# $(uname -n) Symantec JRE non-updatable $2"
echo "###"
)>>${ISSUEHOSTSLOG}
esac
}


update_system_jre() {
# update the JRE using tzupdater or unbundle the new JRE if needed

echo "Checking installed system JRE (${SYSJRE})..."
SYSJREVER=$(${SYSJRE}/bin/java -version 2>&1 | grep "^java" | cut -d\" -f2)

case ${SYSJREVER} in
1.4*|1.5*) echo "updateable JRE version found ${SYSJREVER}, updating..." ;${SYSJRE}/bin/java -jar ${TZUPDATE} -u ;echo "done."; updated_hosts_log A;;
*) echo "non-updateable JRE version found ${SYSJREVER}, installing ${JRE15}...";install_jre ; echo "done.";;
esac
}


update_symantec_jre() {
# update Veritas/Symantec Product JREs, will only work with JRE1.4 or greater
# only Veritas/Symantec Products v4.0 or greater are supported
# any version less than 4.0 found will not be able to be updated
echo "Checking for and updating the following packages: VRTSjre, VRTSjre15, VRTSob..."

VRTSJRE14="/opt/VRTSjre/jre1.4/bin/java"
VRTSJRE15="/opt/VRTSjre/jre1.5/bin/java"
VRTSJREOB="/opt/VRTSob/jre/bin/java"
NBUJRE="/usr/openv/java/jre/bin/java"
for x in $(echo "${NBUJRE} ${VRTSJRE14} ${VRTSJRE15} ${VRTSJREOB}")
do
SYMJREVER=$( ${x} -version 2>&1 | grep "^java" | cut -d\" -f2 )
echo ${x}
case ${SYMJREVER} in
1.4*|1.5*) ${x} -jar ${TZUPDATE} -u ; echo "Updated ${x}."
;;
"") echo "\c: not installed. ";;
*) echo "Non-updateable JRE found: ${x}"
echo "See http://seer.entsupport.symantec.com/docs/286461.htm for instructions and impact to this host."
echo "Per Symantec, JRE updates are cosmetic and only affect the GUI."
updated_hosts_log B ${x}
;;
esac
done
}

usage() {
echo " "
echo "ILLEGAL OPTION"
echo "usage: ./java_dst.ksh [-u]"
echo " -u: find/update JREs"
echo "no opts: find JREs and save output to /var/tmp"
}

###
# main()
###

if [ "$*" = "" ]; then
find_jre
else
while [ "$*" != "" ]; do
case $1 in
-u) find_jre B;update_system_jre;update_symantec_jre; shift;;
*) usage; exit 1;;
esac
done
fi

2.14.2007

Tech { Computer...

Voice recognition like you see in Star Trek still has a looooong way to go...



I laughed until I cried. As a programmer, I can feel their pain. And I thought emacs was difficult to use.

It was like watching a train wreck, I couldn't look away.