Archive

Archive for the ‘Computing’ Category

Link a Category to an External URL in Wordpress

June 6th, 2009 Stephen No comments

What I wanted was have a category link on my site open up an external site in a new tab. A simple task in something like Joomla. But you can’t configure this in Wordpress! It baffles me why such a basic feature is not standard. However, here’s my solution.

First, I tried a lot of redirection plugins. None did what I wanted but the best of these plugins was Redirection. It’s a professional job. First of all I created the category that I wanted to use as an external site link within my category menu. Then I created a dummy post linked to the category, so the category would appear on the site.* I then used Redirection to redirect that category link to an external site. However, while this works great, Redirection cannot redirect to a new window/tab—no redirect can.

It has to be done at the tag level by inserting a target=”_blank” into a link tag. For this, I needed to track down where the category links were being created by Wordpress.

It took a while to track down but the function that handles the output for category links is in wp-includes/classes.php. In there is the Walker_Category class and within that the start_el function, where the category output is created.

if ( $cat_name == ‘Screenshots’ )
$link = ‘<a target=”_blank” href=”‘ . get_category_link( $category->term_id ) . ‘” ‘;
else
$link = ‘<a href=”‘ . get_category_link( $category->term_id ) . ‘” ‘;

I simply added an if statement at the get_category_link section. It checks for a $cat_name match with the category I want to make an external link. (Of course for multiple categories this could be more elaborate) Then I added target=”_blank” to the $link tag for that category only.

Redirection works in perfect harmony with this solution. I suppose I could have hard coded the external link at this point. But no need, since Redirection can handle it. And if I want to change the external URL I can use Redirection instead of hacking code further.

You can see how it works by clicking on the Screenshots link in the category list.

  • NOTE. If you use this for a child category, the dummy page with actually show up under the parent category.
Categories: Computing, Software Related Tags:

Convert MP3 to KMP

March 28th, 2009 Stephen No comments

A great deal was advertised on TV in Seoul recently where you could get a new LG Cyon mobile phone—the strangely named Viewty, model KH2100, for only 26,000 won. It included a charger in the deal and since we needed an extra one of those, we bought the phone.

It’s got all the stuff you’d expect of a latest hand phone, including a cool touch screen instead of any buttons (except for off and on). It came with a cable to hook the phone up to Cyon’s Mobile Sync software. Unfortunately, this software is all in Korean and some fonts just appear as questions marks on my English XP system. But after trial and error I could figure out how to import a CVS file of my numbers into the phone and sync pictures.

Separately from this software, it’s also possible to connect to the phone’s portable 450 MB disk to upload images, text files or music. Great, I thought, I’ll just copy over some MP3 files and away I go—wrong! Like many before me, I misread the signs. When it says MP3 in all advertising, on all of the phone’s music settings, and even on the name of the phone’s default music folder, it does not mean it plays MP3! How stupid of me to think so.

The Cyon can’t play MP3s. Instead, it plays KMPs, which I’ve never heard of. There’s not much info on the net, and I could only find a Mac program that would do conversions—don’t be fooled by something called a KMPlayer, it’s just like GOM Player and doesn’t do conversions—but then I stumbled onto a Korean blog with a small conversion program that thankfully works.

You can download it from here. You don’t need to install it, everything is ready to go in the folder.

Once again, like the Cyon software, this program is made for a Korean operating system so most fonts are question marks, as shown above. Through trial and error again, I figured out how to get it to work. Here are the steps following what I’ve illustrated in the image:

1. This is where you locate and load the MP3 file you want to convert.

2. Put your mobile number (or any number) in here. It won’t work without this.

3. Select the output directory.

4. Do the conversion, which takes about 2 seconds.

Just above the convert button is a button to clear the contents.

Categories: Product Watch, Software Related Tags:

We’re Busted, Man!

May 4th, 2008 Stephen No comments

Here’s a fun picture I came across years ago but never got around to posting it anywhere. But I decided to add it here with a little review of a game I came across the other night called de_marijuan_bust.

It’s only a small map consisting of a central building, where the dope heads start out, and surrounding buildings where the “cops” are.

Here is one of the dope heads, a cutie complete with an AWP and grenade on the hip. I’ve always been attracted to girls like that.

Unfortunately, the “cops” in this game were like soldiers out of Day of Defeat, which really detracted from the theme of the game. I can only imagine that the game designer was in fact on drugs while deciding to have WWII soldiers as cops.

Here’s where I came across the stash.

Overall, it wasn’t a very satisfying game design or map, although I like the idea of an urban drug bust scenario. I only hope someone comes up with something more authentic in the future.

See the Counter Strike gallery.

Categories: Gaming Tags:

Screenshots

April 26th, 2008 Stephen No comments

See screenshots from Half Life and Counter Strike here.

Categories: Screenshots Tags:

Putting DIVs Side by Side

April 26th, 2008 Stephen No comments

It can be very frustrating working with divs, when trying to modify an existing design. I had a situation where I wanted to modify a design so that the sidebar was not fixed with “relative: absolute” positioning. Things weren’t wrapping how I wanted because of it, plus the sidebar was hiding the footer.

I needed the sidebar to side by side with the content in the one container, but still able to adjust to browser width. Here’s the basic code for how I did it, the basis for which I found on a forum. It’s modified for a fixed width here, though.

First declare this in the head section.

<style type=”text/css”>

#container_div {

width:390px;
padding:6px 0;
border:1px solid #000;
margin:auto;

}

#container_div:after {

content:”;
display:block;
clear:both;

}

#left_div {

float:left;
display:inline; /*required by IE6*/
width:195px;
border:1px solid #999;
margin:0 3px 0 6px;

}

#right_div {

float:left;
display:inline; /*required by IE6*/
width:195px;
border:1px solid #999;
margin:0 6px 0 3px;

}

#left_child p,#right_child p {

font-family:sans-serif;
font-size:0.8em;
text-align:justify;
margin:4px;

}

</style>

Then in the body section, place the divs like this:

<div id=”container_div”>

<div id=”left_div”>

<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin massa. Nam vehicula.
Morbi velit nisi, mollis id, ultrices luctus, adipiscing sit amet, lectus. Nunc rhoncus
nisl ac enim.
</p>

</div>

<div id=”right_div”>

<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin massa. Nam vehicula.
Morbi velit nisi, mollis id, ultrices luctus, adipiscing sit amet, lectus. Nunc rhoncus
nisl ac enim. Maecenas vestibulum dolor ut velit. Maecenas condimentum pulvinar purus.
Pellentesque ac ipsum.
</p>

<p>
Quisque nec enim. Nullam elementum. Quisque rhoncus. Ut cursus, pede sit amet facilisis pretium,
</p>

</div>

</div>

The result should look something like this:

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin massa. Nam vehicula.
Morbi velit nisi, mollis id, ultrices luctus, adipiscing sit amet, lectus. Nunc rhoncus nisl ac enim. Maecenas vestibulum dolor ut velit. Maecenas condimentum pulvinar purus.
Pellentesque ac ipsum. Curabitur sodales, elit vel molestie hendrerit, elit odio rhoncus tellus,
nec gravida enim urna id velit. Donec nec tellus. Vestibulum nulla.

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin massa. Nam vehicula.
Morbi velit nisi, mollis id, ultrices luctus, adipiscing sit amet, lectus. Nunc rhoncus
nisl ac enim.

Quisque nec enim. Nullam elementum. Quisque rhoncus. Ut cursus, pede sit amet facilisis pretium,

Categories: Software Related Tags:

Jailbreak iPod Touch 1.1.4 and Add an English-Korean Dictionary

April 15th, 2008 Stephen No comments

I’ve noted before my disdain for Apple and the company’s culture of arrogance. And I’ve mentioned my annoyance at certain decisions made regarding the iPod Touch. What further annoys me about this product is that Apple expects you to pay extra to have some more very basic applications added to it. The way around that is to jailbreak your iPod Touch and get 100s of apps for free.

Here is the easiest way to do it. Simply go to the ZiPhone blog site and download the latest ZiPhone. This program is backward compatible, so it’ll work with any iPod Touch version. Unzip it somewhere on Windows or Mac. Have your iPod Touch plugged in but iTunes off. Now fire up the ZiPhoneGUI.exe.

You will be presented with a screen similar to the one below. The latest version just has one Jailbreak button for both iPhone and iPod Touch. Just click the appropriate button to jailbreak your iPod Touch. You’ll see streams of white font text output on your Touch and it’ll eventually reboot. When that happens, you ready to add sources and start installing free stuff.

I’ve noted on forums that people sometimes get errors and have various problems. If you have problems, you can always fire up iTunes and simply restore your iPod Touch to it’s original condition, in which case I think all previous settings are wiped. I didn’t have any problems at all, at least not with jailbreaking the thing.

For more info on jailbreaking, see iPod Touch Fans, Lifehacker and Lonman06. There are also other methods to jailbreak an iPod Touch. Just search Google.

Wiggle Issue with 1.1.4

The first thing I wanted to do was take of ZiPhone’s web clip link. However, I found that you cannot customize your home screen after the jailbreak. This is easily fixed by adding a repo source to obtain what is called the January App Pack. It contains useful apps that come standard with the iPhone—Weather, Stocks, Google Maps, and Notes. Somewhere in there is also the “wiggle” functionality, or the ability to customize your home screen.

Here is the repo source to add, and a few others:

http://www.spaziocellulare.com/ispazio.xml

http://ipodtouchmaster.com/files/repo.xml

http://applerepos.com/

Refresh your sources. Then search your packages for 1.1.4 iPhone applications and Tweaks. Add the goodness.

Now go to your home screen and touch an icon and hold it for a second or two. You will then see all icons wiggling. Web clips will show a black and white X on their corners. To delete a web clip, such as the one ZiPhone installs, simply click the X and delete.

Manually Add an English-Korean Dictionary

Korea is perhaps the 10th largest economy in the world, and yet iPod Touch does not include a Korean keyboard. I told you Apple sucked. Worse than that, you can’t install an English-Korean or Korean-English dictionary through the installer—at least, not yet. You have to do it manually.

First of all, install weDict via your iPod Touch Installer.

Next, what you’ll be doing is accessing your iPod Touch via the SSH protocol and copying files over. I did this using my Linux machine, however, you can do the same in Windows or Mac.

In Windows, you could download Putty or WinSCP to do it. If you can install the Terminal v100 app on your iPod Touch, you could use that. Initially, I could not install the Term-v100 on 1.1.4. Later, after added the repos above, I was able to. So, here I’m just describing what I did without that app.

To begin, download the English-Korean files from Stardict. They’ll be in a tarball, so if you haven’t got Linux, you’ll need a good zip program that can unzip the formats involved. On Linux, there is dictzip program you can get especially for this; otherwise, other archiving programs will do the job. I believer you can rename the *.dict.dz file to *.dict.gz to unzip. More instructions are here and here.

Once unzipped, you only need the .dict and .idx files. For iPod Touch 1.1.3/4, these need to be copied to the /private/var/mobile/Library/weDict/ folder. For 1.1.1/2, copy them to the /private/var/root/Library/weDict/ folder. For people who don’t want to deal with the command line, I’d recommend using one of the windows programs above.

In Linux, I did this in a terminal window with the following instructions:

scp english-korean.dict root@192.168.0.9:english-korean.dict

and

scp english-korean.idx root@192.168.0.9:english-korean.xdx

Your Touch IP address may differ. You’ll have to got to your Wi-Fi settings to check what it is.

You’ll notice I didn’t nominate a directory to put them in. At the time, I wasn’t sure exactly where they were supposed to go, so I just got them onto the iPod first. Then I logged into the iPod and had a look around with this:

ssh root@192.168.0.9

If you have to logged on the username is of course “root” and the password is “alpine.” Don’t use “dottie” as specified on some sites. That is probably the password for earlier versions. For 1.1.4, use “alpine.”

I found where the weDict folder was and moved (mv) the english-korean.* files there. That’s all there is to it.

Now fire up weDict on your iPod and try a word to see if it gives you its Korean equivalent. If not, you’ll probably need to go into weDict’s settings and make sure there is a tick against “english-korean.”

Korean Keyboard

If you want to go the other way and search Korean-English direction, you’ll need a Korean keyboard. Unfortunately, this does not seem available to 1.1.4 users. You can install a Korean keyboard on iPod Touch 1.1.1 or 1.1.2, and instructions for that are on this site. If you can get a keyboard, then you can install the korean-english dictionary available on the Stardict site, in the same way as I’ve shown above.

Categories: Software Related Tags:

Fixing the Slow Opening of Office 2003 Documents and Worksheets

March 21st, 2008 Stephen No comments

The time it was taking Office 2003 documents and spreadsheets to open on my wife’s PC was a joke. It was a real pain without explanation. And I still don’t know why it happened. However, I did find out how to fix it, not before wasting more of my life because of Windows. I will have to bill Microsoft for the time spent.

Here’s how to fix the problem:

  1. Open My Computer.
  2. Go to Tools -> Folder Options, and click on File Types.
  3. Find the extension of the file in question (XLS, DOC, etc.)
  4. Highlight the extension and click “Advanced.”
  5. Highlight the “Open” Action and click “Edit.”
  6. Click in the “Application used” field
  7. Hit the “End” key to put the cursor at the end of the command.
  8. Put a space and type in “%1″ (With the quotes.)
  9. Uncheck “Use DDE.”
  10. Click “OK.”

If a /dde exists in the “Application used” line, delete it.

That’s it . . . Oh and, by the way, Windows sucks.

Categories: Software Related Tags:

AWP Sniper Heaven

January 8th, 2008 Stephen No comments

Awp_india is a map I’ve always enjoyed, in all of its incarnations, from back in the CS 1.6 days up to now. The great thing about it for me is how everyone is made equal in terms of terrain and weapons. All you get is the AWP sniper rifle and a knife. The knife usually comes into place towards the end when only a few players are left running around.

The arena looks like this, so there is not much room for error:

You can see how there is a circular arrangement of various kinds of cover. Each side of the arena mirrors the other. Here is a view from a corner:

And here is another one from the other end:

One is very often exposed in this game. There is not much cover, and what there is you have to use wisely and quickly. This is what is looks like on the ground, when the game starts:

And here is another view:

The good thing about this small arena and risk of exposure is that the game play is fast. It’s all action from start to finish. This can make for some intense skirmishes, with the following result:

I’ve found that if you see an enemy at the other end, they’ve often seen you. So, if you then line up for a shot at them when they next duck out, you can bet they have registered where you are and will shoot at that spot as soon as they appear. I keep forgetting this rule and dying for it. The key is to keep moving, people!

If you can keep moving intelligently you can avoid being a part of a large body count.

The map really hasn’t changed much from how it was in CS 1.6. The map below doesn’t have much more than surface textures:

And here is another view of it:

But the following “modern” map includes some fundamental changes:

This was hard to get used to at first and seemed to me to be harder to play in because the extent of exposure seemed worse due to the side ramps.

I’ve only seen this on a server once, so I don’t think it is as popular as the traditional map.

But no matter what map, it’s always fun running around and feeling the immense satisfaction one feels when successful at blowing people way with a sniper rifle.

See the Counter Strike gallery.

Categories: Gaming Tags:

WAMP: MySQL Import Problems & Solutions

January 3rd, 2008 Stephen No comments

I struck 2 errors when trying to import database backup files into newly created SQL databases for my WAMP. This is how I fixed them.

One error was pretty straight forward, saying something like an error occurred (gee, thanks, that really pointed me in the right direction). I discovered that was because the file was too large.

But the other was one of the most ridiculous error messages I have come across in a long time. It just said something like “the server has gone away.” After I stopped laughing, and checked that my home server was indeed still where I last left it, I got down to sorting out the issues.

Both were solved by increasing size limits in php.ini and in my.ini

In php.ini, this is the key offender:

upload_max_filesize

However, changing this line alone won’t help with importing a large database. Here are the other settings you have to change as well.

Look for these:

post_max_size = 8M
upload_max_filesize = 2M
max_execution_time = 30
max_input_time = 60
memory_limit = 8M

Then up the limits to these:

post_max_size = 750M
upload_max_filesize = 750M
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M

And in MySQL’s my.ini make sure this is added:

max_allowed_packet = 200M

Categories: Home Server Tags:

Overcoming How Apple Sucks

December 15th, 2007 Stephen No comments

After my wife purchased an iPod Touch, she was disappointed to find how restrictive it’s video formats were. It annoyed me, too. But Apple’s arrogant and moronic policy on this has annoyed a lot of people. It really is pathetic.

I’ve never had a smooth relationship with Apple, for one reason or another, going way back. I’m certainly not a fan of Apple employees, at least not those I used to encounter in Australia, with their arrogance and impatience at having to converse with peasantry like customers (it’s good to see things are different in Korea). Some Apple users’ attitudes have rubbed me up the wrong way, too. On top of it all, things like video format and iTunes restrictions really take the edge off what are otherwise good products.

In my searches for video conversion programs to overcome Apple’s limitations and absurdities, I came across some decent free ones. We don’t want to be paying for a program by some company riding on the back of Apple’s own money grabbing intransigence, do we? No, so, I thought it’d be a good idea to give some exposure to those who provide a free solution to a problem that should not even exist.

Most people recommend Videora for doing conversions in Windoze. This program seems to work OK, but for all the time it takes to convert files, you could actually watch them and still have time to spare to go for a jog with your old music iPod.

Another free program that works well is Any Video Converter. It’s pretty good, but it’s video resolution setting doesn’t go up to the 480×320 setting I wanted, so I tend not to use it.

Also for free is the Cheetach iPod Video Converter, although I haven’t tested this one yet.

Another program I tried was Winff, for Windows or Linux. It is basically a GUI frontend for ffmpeg, a famous video encoder. It seems to work quite well, and also seems to be quicker than using Videora. However, I think you need to convert again once your video file has been copied into iTunes. As sometimes happens with converted files that will not load into iPod Touch, you have to right-click on the file—once it is in iTunes—and select the conversion you want iTunes to do for you. This can take a while and adds to the total conversion time.

The free program I like to use at the moment is Free Video to iPod Converter, which is a no-nonsense converter and gets the job done pretty quickly. The quality seems fine for our purposes.

Some programs I have yet to check out are MeGUI, XviD4PSP and StaxRip. As far as I know, they all require .NET framework to be installed, and you have to download and install other things to get them to work. It may or may not be worth the effort.

Have a look here for more.

As a side note for Linux users, most of the above programs are not available to you. I’ve tried some of them in Wine, with only Winff working without a hitch. However, for converting video for iPod Touch, I just use a terminal command line to run ffmpeg and the excellent DVD ripper called HandBrake. You can get HandBrake for Windoze, but it won’t rip copyrighted material as the version for Linux will. My adventures in using these resources are on my Linux How-to site and can be found here. (Much of this post comes from that source.)

All that remains now is to find an iPod Touch manager so that we can ditch iTunes.

But the problem is that iPod Touch is not recognized as an external hard disk—-an icon for it does not shows up in Windows–so, you cannot use any of the existing alternative iPod management programs to copy files back and forth between and iPod and your computer.

This means you are at the mercy of iTunes. Already I’ve had unknown error messages pop up, which I had to fix by playing around with sound and head phone settings–I mean, WTF? At other times, iTunes simply does not see the iPod. And that truly fits the definition of being up shit creek without a paddle. Restarting does not solve it. You have to completely shut down and restart. For all of this, Apple, you suck more–deeper and harder.

I’ve searched a lot, but was disappointed to find that Yamipod does not support iPod Touch, nor do any other management programs except Touchcopy, which I have yet to test properly. The problem is that you have to pay for it. But I’m reaching the point where I just might. I’ll try it and see.

I’m sure many programs already out there will eventually have the functionality to work with iPod Touch. It is desperately needed, given the amount of annoyed and disappointed people on forums.

Categories: Software Related Tags:

Adding a Wireless Router to a Wired Router

December 9th, 2007 Stephen No comments

First, many will advise to forget all about adding a wireless router to a wired router and simply buy a wireless router to handle all of your networking needs. They’ll say don’t complicate things with two routers. They mention that speed might be an issue (yeah, perhaps in nano seconds).

Well, each to his own. I added a wireless router because that’s what I wanted to do. These are basic instructions, which I didn’t follow quite to the letter. But I’ll include them here first before explaining my variation on the same method.

  • Power up the wireless router, but do not connect it to your network, although this is not critical.
  • Attach one computer using a category 5 network cable to one of the wireless router’s LAN ports. Just have this computer configured to automatically receive an IP address from the wireless router’s DHCP server.
  • Access the wireless router’s configuration settings via its IP address in a browser. The IP address should be in the manual. It’ll be something like 192.168.10.1 or 192.168.1.1. The address in my case was the wireless router’s LAN address.
  • Once that is done, it is time to make changes to turn the wireless router into a wireless access point. The WAN configuration in the wireless router can be empty, but don’t worry if it doesn’t let you empty it. The WAN part of the wireless router won’t be used anyway.
  • Now set the LAN IP address of the wireless router so that it is compatible with your wired network. For example, if your current wired router has an address of 192.168.1.1, then give the wireless router an address of 192.168.1.2 or similar, as long as it follows the 192.168.1.x format and is not the same as the wired router.
  • Fill in your chosen wireless network name or SSID (for security purposes, it’s better not to leave the default) and uncheck the DHCP setting on the wireless router. The only DHCP server on your network should be the one on the wired router. The gateway address you want to use is that of the wired router, not the wireless router.
  • Set up your wireless security settings, such as configuring a WEP password or key. Search the Web for more info if you’re not sure what security settings you want to use. Here’s one site and here is another.
  • Now your wireless router is basically a wireless access point. The only step left is to connect it to your wired router. You do this by connecting a Category 5 cable between the LAN port of the wired router and a LAN port of your new wireless router or access point. Do not connect it to the WAN port of the wireless access point.

Depending on your wireless router manufacturer, you may need to use a crossover cable instead but more than likely you’ll be OK.

OK, what I did was have the wireless router connected to my wired router the whole time. I actually had a cable leading from the wireless router’s WAN port to a LAN port on the wired router. A wireless network was already enabled and I could access the Internet. What I could not access was any of the machines on the wired network. So, I had the wireless router connected to a PC in wireless mode, and the PC was configured with a static IP.

Where this creates problems is that once you update the wireless router’s configurations in your browser, you find that you’ve suddenly lost access to the configuration pages because your machine’s configurations no longer match the wireless network’s ones. You have to then go in and change them.

Make sure you don’t forget what you entered in the wireless router’s configurations, or you will probably have to hit the reset button on the router.

But where this may be of benefit is that you can get things working, step by step, solving the setup of each configuration before moving on. I did not really know how to set things up. However, though this method I actually learned more, and with each step if I had a problem, I only had one issue to deal with before moving on, not several possible issues. At least, that’s how I saw it as a first timer at it.

After I’d changed the LAN address, I did switch the cable to one of the wireless router’s LAN ports. I got that working with a new address, then created the network, saved the settings. Went to my PC and updated the settings in the wireless properties there. Then refreshed the browser to get everything the configuration pages back again. Provided everything was done right.

A couple of things that turned out to be important was to ensure the gateway address is the wired router’s, not the wireless router’s. In fact, the wireless LAN address is irrelevant except for accessing configuration settings, and the WAN address totally irrelevant. You won’t need these for your PC’s wireless config.

Also, make sure you have the right DNS addresses of your service provider in your PC’s wireless properties and in the wireless router’s configuration settings, where they will probably appear by default anyway.

As a last note, I had links setup on my main desktop to access other computers on my wired network. I found that these still worked even though the other computers were put onto wireless, when I ensured that those computers had the same static network IPs they had before. A warning message appears in Windows, when you do this, but just ignore it.

Once it was all said and done, I look back on it as quite easy. Everything just worked. Now, for the first time, I can surf the net or make a call on Skype with my laptop from anywhere in the apartment. Wow, I feel so modern. I’ve finally caught up.

Categories: Hardware Tags:

Insert HTML Code Into HTML, PHP or SHTML Files

December 2nd, 2007 Stephen No comments

The scenario is that I wanted to insert HTML code into HTML, PHP or SHTML files to create the “tab” menu bar seen at the top of the page. For this, the code had to go after the <body> tag in each content management system file that handled the page structure.

To include the HTML code in a PHP source file is a simple matter of using a standard include function:

<?php include_once (’/path/to/menufile.html’ );?>

Or, there are other ways. Some systems will accept this:

require_once ‘/path/to/menufile.html’;

It depends on the system, and it’s just a matter of following what is done elsewhere in each system.

Of course, you also need to link your cascading style sheet file as well, if you are going to use one, which might be done like this.

<link rel=”stylesheet” href=”<?php echo ‘http://yoursite.com/includes/menufile.css’; ?>” type=”text/css” media=”screen” />

Some content management systems incorporate HTML files, each serving a particular purpose. So, I needed to include HTML code in some HTML files to get the “tab” menu to work. The only thing that I could see working for me was an iframe, also just inserted straight after the <body> tag.

<iframe

src=”http://yoursite.com/path/to/menufile.html”
width=”100%”
height=”36″
scrolling=”no”
align=”top”
frameborder=”0″
marginwidth=”0″>

</iframe>

One problem I had with this was that when a menu item was clicked, the webpage it was referencing would load in the frame itself, which you definitely don’t want. To overcome this, I created a separate menufile.html for the sites that needed an iframe. In each page reference, or href I made sure that the target was “parent”, for example, like this:

<a class=”menu” href=”http://somesitename.com/index.html” target=”_parent”>Site Name</a>

The marginwidth at 0 was also important to get the frame to stretch across the browser at 100%.

But I had another reason for creating an iframe specific HTML file as well. I discovered that some things did not work with an iframe, if I linked a stylesheet in the conventional place, that is, between the <head> and </head> tags. So, within the special iframe HTML menu file itself, I added the link to the stylesheet, like this:

<link rel=’stylesheet’ href=’http://yoursite.com/includes/menufile.css’ type=’text/css’>

For some reason, this made everything work, although it’s not proper because it is referenced after the “head” tags. Oh, well, to hell with that, it works.

Inserting HTML into the next file type, the SHTML files, or server side include files, is a breeze–as easy as the PHP insertion method. It’s done like this:

<!–#include virtual=”/path/to/menufile.html” –>

Of course, don’t forget the stylesheet link, if you’re using css. In addition, you may have to add special css tweaks relative to each site, or else you could code the tweaks directly into the sites. That’s because a style for one site might look a bit different on another, or some things might not work at all.

In my case, the “hover” was not working on my MediaWiki site. Nothing I did seemed to fix it. I would move the curser of the links and it would just stay as an arrow. Yet immediately below, the “log in” link worked. It was a world of frustration. However, I found that the solution was to include these parameters in the style sheet:

z-index: 1;
position: absolute;

Problem solved. What this does is cause the tab key, if you happen to use it, to start at the menu and move through each link as you hit tab, then onto the other links below it. Other sites didn’t need it, but this one did. I won’t be forgetting that fix in a hurry.

Update:

Another way I could have done this is to use Frameset, although I haven’t tried it before. With a Frameset, the tabbed menu would remain at the top of the browser regardless of any scrolling by a user.

Categories: Software Related Tags:

Zoho A No Go! Well, Not For A While Anyway . . .

November 29th, 2007 Stephen 2 comments

I signed up for Zoho this week with great enthusiasm after seeing what it offered, but that enthusiasm, and trust along with it, was soon shattered.

Zoho is a free online suite of various tools, some much like those Google offers—the excellent Google Docs, for example. But Zoho has so much more. I was very impressed by the ability to create online database applications. I was impressed with the look of everything, by the stylish appearance compared with the somewhat bland Google. In Zoho you see the future of web apps and where computing is going in the next decade.

I started experimenting, storing files, looking around. Before too long, I started to notice some glitches. Sometimes it was unresponsive. Then suddenly, 3 mysterious documents appeared in my document list, the names of which I forget. Temporary names, it seemed. These documents were 523 days old! Nothing to do with me, although they did have my name as their creator. I deleted them and some messages said they didn’t exist, or something like that. Anyway, these ones did in fact disappear. Well, that’s a relief.

Not only this, I had 4 of my files in a folder. I deleted them and they disappeared. However, after a refresh of the browser, the files were back again. This happen every single time I tried to delete them. Also, when they were being deleted a message would appear stating that the files did not exist, or something of the kind. I discovered that the files were listed in the Trash. Once I deleted them from the trash, the problem went away.

None of this compares with what happened next, the day before yesterday in the morning when I checked out my document list again. There, in the list, was a document belonging to a complete stranger.

I’ll let the ramifications of that sink in.

It was someone’s private notes on their love of rap music, how rap was their life. I couldn’t believe it—I mean the fact that it was there, not the fact that this person can’t see that most of rap is crap.

Alarm bells went off: What if my files were appearing in someone else’s list half way around the world? I was annoyed as hell, and I bet the rap guy would have been too, if he had known I was reading his private thoughts. I’m sure a lot of people would be angry. I immediate fired of emails to Zoho support, then hit the Zoho forums to alert people.

Well, even the forums were buggy. The browser page kept reloading every 2 seconds; the image of confirmation numbers wouldn’t load properly, which you needed to post a topic; after every refresh I lost my post. Now, I was really started to get pissed off with Zoho. After trial and error, I managed to post the issue to “Writer Bugs” as a guest, which means the post would be moderated. I’ve checked back since, but no post. Maybe that went somewhere it wasn’t supposed to go, too.

I next went to the Zoho blogs, to the one here about Zoho Writer, and as you can see, down the page, I commented on the issue and another of concern. That got a response some 3 hours later, but I only found out about that today. It seems they took action straight away, as the maintenance notice from here explains:

Update: As of 6:15 pm PST We have put in a fix & the services are now up. We are monitoring the logs closely, to see if the race condition below recurs. We will keep you updated of the status. Our development team is also doing an exhaustive review of the impacted parts of the code. If you encounter any errors accessing services, please post a comment here or in the forums. We sincerely regret the inconvenience caused, and we assure you of our vigilant effort to maintain a high level of service.

(Original post 5:35 pm PST) We encountered an unexpected error (a potential race condition) this evening in a part of the common software framework underlying our services, and as a matter of precaution, we have taken down Zoho services (except Zoho CRM & Zoho Projects, which are on a different framework), as we work to isolate the problem. This race condition seems to occur under heavy load (as they typically do), and the past couple of days, our load has been quite heavy, several times the normal load. We have sufficient hardware infrastructure to handle the load, but we detected some potential software race conditions from our logs. Multiple teams are working right now to isolate the issue. We will post an update here as soon as additional information is available.

We sincerely apologize for the inconvenience. We realize so many of you depend on Zoho services, and we take the responsibility you entrust with us seriously. We will bring up the service as soon as possible, likely within 3 hours (8:30 PM Nov 27, Pacific Standard Time i.e GMT – 8 hours).

The response I got also pointed to the forum where people where having some related problem of being logged into other users’ accounts. Scary, indeed.

Meanwhile, one of my emails had hit home. This morning I got a personal apology from Zoho’s CEO. Support had forwarded my email directly to him. He explained it as follows:

This was a very rare race condition in the software that was unearthed yesterday. We promptly stopped the service, and put an emergency hot-fix in yesterday. A total of 12 people were impacted, and I am sending a personal note of apology.

But I was still annoyed my forum post was still not there, so I decided to comment on a blog about Zoho. You can see that here. Then just over an hour later, I get a reply to my comment, as you can see in the blog. Someone at Zoho had perhaps been monitoring the blog. Here’s part of the reply comment:

We again apologize for this. We put a fix to the issue and are monitoring this very closely. This is an important issue and we are taking this seriously. We will keep you posted.

The guy request that I email him about the other bugs beside the major one, which I did. I also added these pertinent comments:

As for the major problem I had, where a strangers document appeared in my documents list, I am still astounded by it. And it scared me to think that my own documents could end up anywhere.

My thinking is that the functionality to ensure documents stay where they belong should be at the very heart of Zoho software. It is fundamental beyond anything else, and everything else should be build around it. Because if developers can’t guarantee that security–in a web app especially, they are out of business.

I have already read elsewhere people saying the Google is solid, whereas Zoho is buggy. That’s not a good reputation to have. I know it’s easy to criticize from a distance, and I don’t have to deal with complex computer code, but it really is common sense to get the core functionality right first, before anything else. And in such a tough market, it has to be 100% right, which means 100% tested before release.

I would like to see Zoho succeed, but I can’t commit to using it now because I’ve lost the trust. I will wait a while until it has undergone more development.

The reply to which, or part of it, was this:

Thank you for providing detailed description of the issues. We will look into this ASAP. We are taking this up as our highest priority.

We certainly understand that if we cannot get this functionality right, we will loose many users like you and hence we almost paused most of our other activity to focus on this one for the last 36 hours after this was reported. This is the first time such an issue occurred and I can assure you that we are absolutely focused on addressing it and we are closely monitoring our fix it to make sure it doesn’t happen again. We’ll try hard to earn your trust back.

Trust is indeed what it’s all about. I’ll return to it in a while, if I can see a need, and hopefully by then the bugs have been ironed out.

I’ve got to say that Zoho looks great, and I really hope they succeed. They’re trail blazers, breaking ground in web apps, which will be the big thing in the next decade, so one can’t be too critical. It’s hard not to be disappointed, though.

Categories: Computing Tags:

Dominating!

October 20th, 2007 Stephen No comments

(Select for a larger size)

I was dominating! A rare moment for me, in the world of Counter Strike, so I just had to post it. On the left you can see my tally: 1 wounded, almost killed, and 3 killed! Sadly, just as I’d taken out my last victim, someone got me with a head shot. You can see my blood splattering everywhere. So, the image captures it all. My death just as I’d reached a moment of glory, just as my “dominating” status was flashed for all to see. Oh, well . . .

The map or environment seen here is an old one and one of my favorites, called awp_india, where everyone is on equal ground, enclosed in a small area with very little cover and with the choice of only two weapons, a sniper rifle (AWP) or a knife. Now, if only real life could be as much fun.

Categories: Software Related Tags:

Hot Babe Killers

October 5th, 2007 Stephen No comments

Occasionally when I visit Counter Strike zombie sites, some players are modified to be girls in bikinis or French maid outfits, like the one below. So I thought I’d take a screenshot.

There isn’t much more sexier than a French maid with a grenade on her hip.

See the Counter Strike gallery.

Categories: Gaming Tags: