Monday, December 22, 2008

Made a space for my "tech notes"

I'm moving my tech stuff to tech0x20.com (Tech Space)

I originally created three sites on my thomaspowell.com domain:

linux-notes - I started my blogging experiment here.
vim - My "adventures" in vim, not a very broad audience, but I liked keeping public notes on my favorite programming editor here.
developernotes - I realized that I was researching and wanting to publicly note things that did not apply to the other two blogs.

Moreover, my role and experience has changed in general. I'm no longer a full-time developer. I haven't been that for a year or more. I still research programming and system configuration, but I just as often research technology, trends, and concepts. I had been using the "developer notes" blog for this, but I was starting to branch out into a new blog when it hit me. I *really* needed to kick the blogger habit. Therefore, I have started a new home with a shiny wordpress theme at tech0x20.com.

Installing JSPWiki on an XAMPP for Windows install

I've been experimenting with XAMPP as a way to setup a temporary and transportable Apache install with PHP, MySQL, and a database admin tool (phpMyAdmin). Before starting, be sure to have Sun J2EE 5.x SDK (or higher) installed.

As mentioned on PortableApps.com, by following the "Installation" without the installer instructions, XAMPP will run from a removable drive (I'm using an SD card, myself--quite a bit slower than other options, but VERY cheap).

First, I downloaded the ZIP package from from the xampp for windows page:


Open the xampp-win32-*.*.*.zip file that was just downloaded and extract to C:\ (change to flash drive drive letter here if necessary).

Run [drive]:\xampp\xampp_start.exe to test starting up the web server and mysql.
Run [drive]:\xampp\xampp_stop.exe to shut the web server and mysql down again.

Next download the Apache Tomcat plug-in from the XAMPP for Windows Add-Ons area.


Extract this .zip file into to the c:\xampp folder (again, substitute c: for appropriate drive letter if necessary). You should get a "Confile File Overwrite" prompt when you do this--the Tomcat files should overwrite the original xampp files, so select [Yes to All].


After the Tomcat files have been extracted, run [drive]:\xampp\setup_xampp.bat to setup Tomcat.

Test the installation by running
  • [drive]:\xampp\xampp_start.exe to start xampp, then
  • [drive]:\xampp\tomcat_start.bat to start Tomcat.
  • Browse to http://localhost:8080, which should be something like the following:




Finally download JSPWiki (Current stable release):


Extract the JSPWiki.war file from the JSPWiki download and copy to the [drive]:\xampp\tomcat\webapps folder.

Run [drive]:\xampp\tomcat_stop.bat and then [drive]:\xampp\tomcat_start.bat to restart Tomcat. Web application JSPWiki should get loaded as part of the restart. I had to restart a second time (probably started too soon after shutting down.)

Browse to http://localhost:8080/JSPWiki to view the JSPWiki page. You will be prompted to begin installation:


For the installation options, I used:
  • Application name - JSPWiki
  • BaseURL - http://localhost:8080/JSPWiki/
  • Page Storage - /p/web/www-data/jspwiki/ (default) -- note that this will be the path off of your root drive wherever xampp and Tomcat are running from. This is where the wiki pages will be stored.
  • All other options - default values

Finally:
  • Press [Configure!]
  • [drive]:\xampp\tomcat_stop.bat to stop Tomcat.
  • [drive]:\xampp\tomcat_start.bat to start Tomcat.
  • Browse to http://localhost:8080/JSPWiki/ to start using your JSPWiki. By default, versioning is turned on, which is accomplished by storing every version of the file in an "OLD" folder just off the main page storage folder.
Troubleshooting JSPWiki Installation

Labels: , ,

Monday, December 15, 2008

Insight DNS issues #insight

Half of my DNS requests are timing out, and DHCP release/renew works about 50% of the time...

Customer
thomas.powell
Initial Question/Comment: Half my DNS requests are failing, DHCP renew fails half the time.
8:29:33 PM SystemSystem
Ashley H has joined this session!
8:29:33 PM SystemSystem
Connected with Ashley H
8:29:33 PM SystemSystem
Thank you for contacting Insight Communications Customer Netchat Support, please allow me a moment to read your question and I will be more than happy to assist you.
8:29:53 PM AgentAshley H
We are currently experiencing dns issues in your area that may cause slow browsing speeds or intermittent issues loading pages.

...Hey Insight, Power Down and Power Up. It's easy!

Added @ 8:50 PM:
Thanks to @DanielLight I'm using OpenDNS now.

Of course, now I can't connect to the server addresses half the time. Thanks, Insight!

Labels:

Every time you make an Excel spreadsheet this big, a kitten meets its maker

I'm not really that elitist about non-programmers using applications in an advanced way the programmers could find a better way to do. I've never had to port functionality from an Excel spreadsheet that was 2 MB in size prior to data being added--at least not more than once.

However, I am a bit disturbed that Excel is the new Access:

The total number of available columns in Excel
Old Limit: 256 (2^8)
New Limit: 16k (2^14)

The total number of available rows in Excel
Old Limit: 64k (2^16)
New Limit: 1M (2^20)

Number of unique colours allowed a single workbook
Old Limit: 56 (indexed colour)
New Limit: 4.3 billion (32-bit colour)

Therefore, Excel is now Microsoft's new small business data warehouse. (Apologies to DW people.)

You could also store and represent a very large 32-bit color bitmap inside an Excel spreadsheet. Also supported are Base-64 Encoded BLOBs :-) :

The total number of characters that can display in a cell
Old Limit: 1k (when the text is formatted)
New Limit: 32k or as many as will fit in the cell (regardless of formatting)

The number of characters per cell that Excel can print
Old Limit: 1k
New Limit: 32k

I'd hate to have to debug a 8k character formula with 64 levels of nesting:

The maximum length of formulas (in characters)
Old Limit: 1k characters
New Limit: 8k characters

The number of levels of nesting that Excel allows in formulas
Old Limit: 7
New Limit: 64

A 255 argument function. The mind shudders. Even if you did not use a computer science major to create the program, such an unwieldly program might benefit from the education and experience of a computer science major. Maybe there is a better way to do this, by applying some mid-level software engineering techniques instead of stream of consciousness coding.

Maximum number of arguments to a function
Old Limit: 30
New Limit: 255

Labels: , ,

TwitterThreads.com - what I've been looking for. Almost.


I just searched on "twitter" and "threads" in google. What I found was TwitterThreads.com. Simple, huh?

It's not 100% what I had envisioned: My vision was probably something more like expandable threading by author sorted by date of most recent update. The TwitterThreads version looks like it shows all posts that you'd normally see if you were following someone, but limited to a single day's posts.

This is pretty much what I wanted to build, with a few additional features... Other things I thought of were [+]/[-] Expand/Collapse functionality, an option to configure the number of days shown, and read/unread functionality of some sort.

There is also a mobile TwitterThreads site. On my ancient Treo 650, this is a beautifully elegant and simple interface. It may become my new twitter interface on my phone.

Something both interfaces are missing are direct links to "reply-to" and "favorite" individual tweets. I was also a little disappointed that the timestamp link on each tweet went to the person's home instead of direct linking to the tweet on Twitter. This makes the lack of reply-to and favorite functionality more of an issue for me. If the timestamp had linked to the individual tweet, I could reply-to or favorite through the Twitter web interface.

Overall, I am still thrilled to see that someone has implemented this idea. Like any programmer geek, I would have liked to be the first, but I wouldn't really have made the time to throw something like this together.

Labels: , ,

Friday, December 05, 2008

Proof that I'm not the only one with problems with the Lenovo T-61 laptop

I had virtually no problems with my IBM T60 laptop, but my T61 has had several problems.

The most recent problem that I've had is that I went into hibernate mode last night, and this morning, my PC would not turn on:

  1. I dock my PC, the dock indicator light comes on, but the battery and AC power indicators on the laptop do not. The power button does not respond.
  2. I remove my PC from the dock and plug in the AC directly, still the battery and AC power indicators on the laptop do not come on.
  3. I remove the battery and plug in the AC directly. Still nothing.
  4. I finally panic enough to call our internal help desk (early call might get turnaround by lunch time) and the tech offers one last suggestion... pull the battery out (AC too) and let power state drain, then re-insert battery. Crisis averted.
Lenovo support thread for T61 power on problem

I've also had problems with the LCD screen being locked in an "off" state on [Max Battery] mode (Presentation mode works well, though).

When I had the PC in [Max Battery] performance, the machine would not come out of hibernate at least 50% of the time.

I had a DAILY blue screen on Windows XP when I was docked (wired connection to LAN) and wireless was turned on. This was remedied by having my laptop upgraded to a newer version of Symantec Security software than was widely deployed in the organization.

Added 2008.12.05:
If my laptop was in its docking station when I tried to hibernate, it would restart immediately. I have now gotten into the habit of undocking first, then hibernating. According to another blog, this is due to a Wake On LAN setting in Windows Device manager and BIOS.

cnet user review: Blue Screen of Death w/ Bad Customer Service

Added 2008.12.09:
T61 Problems?

Added 2008.12.12:
I ended up in the weird power state again today, but this time I was prepared to pull my battery, wait 10 seconds, and replace. VoilĂ ! It works!

Labels:

Saturday, November 29, 2008

Finding distances between two zip codes in PHP

I found this script to calculate distances between two zip codes from PHP (requires MySQL). According to this Idealog post, the calculation relies on a text file of Zip code lon/lats from CFDynamics, available on the downloads page.

I have yet to try it; however, I have a specific implementation that I was needing it for. Does anyone else have a better way to align searcher's proximity to location-based data? I'd like to classify by city, but I'm sure that is a lot more of a gray area than allowing the searcher to specify a specific radius in which to search or letting the resource specify maximum distance to travel.

Added 2008.11.30:
I love Twitter. A few hours after posting this, I received a suggestion that I could get longitude/latitude from Google Maps.

On code.google.com, I found the following question: I need to convert addresses to latitude/longitude pairs. Can I do that with the Maps API?
Yes, this process is called "geocoding." The Google Maps API provides two methods for performing geocoding. If you wish to geocode from within your Google Maps API application you can do so using the GClientGeocoder object. Alternatively you can send geocoding requests directly to the HTTP geocoder.

Labels: , ,

Thursday, November 20, 2008

Gmail terminal theme--for your inner nerd

I don't know if I like it for nostalgia and geekiness, or just plain geekiness. There's only one thing I'd change with the terminal theme... make it truly like the BBS experiences of 15+ years ago. I want ANSI animation and color ANSI art--especially for the Gmail logo.

Added: Even more importantly, the terminal theme works great if you get LISTSERV mailings that have tables rendered in all ASCII characters or code.

Labels:

Saturday, November 15, 2008

I suspect that the delicious bookmark plug-in for Firefox 3 is not keeping me logged for two weeks.

Not only that, but whenever I'm required to log-in to bookmark a page, the plug-in does not continue on to actually creating the bookmark.

This morning I was forced to log in. I believe the loss of information is coinciding with Firefox updates. Anyone else have this experience?

Home PC:
2008.11.15, 9:15 AM
2008.11.29, 2:29 PM
2008.12.14. 6:16 PM

Work PC:
2008.11.26, 10:01 AM
2008.12.11, 5:08 PM

Updated 2008.11.29: So far, no glitches. However, I still dislike the fact that the log-in prompt prevents tagging and you have to have to select the tag icon again after logging in.

Updated 2008.12.11: Looks like everything's fine, just that I'm overly sensitive to having to login.

Labels: ,

Monday, November 10, 2008

Autotext lines in Word (using 2003 here)

Sorry if this is pretty trivial for the true power users of Word...

I don't know if Word 2007 works this way or not, but I've discovered a couple additional characters in Word that auto-correct to divider lines. (Other than 'equals', 'minus', and 'underscore'). The 'hash' divider was of the most interest to me, as I'm trying to write a white paper and need distinctive, yet compact, format markings. (The quicker the better, as well.) Just enter 3 successive '#' (hash), '~' (tilde), '-' (minus sign), '=' (equals), '_' (underscore), or '*' (asterisk) characters and immediately press enter. The text will be replaced by a dividing line.


(This trick does something similar OpenOffice 2.4.)

Labels: ,