Skip to content

Posts from the ‘Technology’ Category

11
Jul

Accessing the Menu Bar in Windows Vista and Windows 7

Before the introduction of Vista, Windows always featured a menu bar in Windows Explorer. It offered the following menu options: File, Edit, View, Favorites, Tools, and Help. Below is a screenshot of the bar in Windows Server 2003:

Windows Explorer interface in Windows Server 2003

Since Vista, Microsoft has decided to hide the bar, by default. In Windows 7, here’s what Windows Explorer looks like:

Windows Explorer interface in Windows 7

While the menu bar is no longer visible, it hasn’t been completely removed from the operating system. You can simply press ALT to make it appear. Once visible, it is designed to disappear whenever you left-click the Windows Explorer window. If you actually click the menu, you can execute one action, and then the bar will disappear again. In this manner, Windows ensures that the menu bar is never left to waste window space. Here’s a video illustrating this behavior:

I really like this approach, and actually found that other applications feature the same logic. For example, Internet Explorer 8, Windows Live Messenger, and Firefox 4 Beta 1 also show/hide the menu bar whenever ALT is pressed. I’m hoping it becomes a global standard for applications.

You also have the option of permanently showing menus… an option I don’t personally like. If you want to try that option, follow these steps:

  1. Click Organize > Folder and search options in Windows Explorer.
  2. In the Folder Options dialog, click the View tab.
  3. In the Advanced Settings section, you’ll find an option titled Always show menus. Enable the checkbox.
  4. Click OK.
27
Jun

My Personal Advertising Experiment in All Points Bulletin

I’ve been playing All Points Bulletin as of late, and have had a good time doing so. Despite numerous flaws, it has by far the best customization tools I have ever seen. The company that created the game is called Realtime Worlds, which was founded by David Jones, who is most commonly known for creating the Grand Theft Auto franchise. Below is a video on the GameSpot YouTube channel, in which Jones describes some of the customization tools available in the game.

The video does a decent job at giving you a quick overview, but you really have to use the tools to fully understand. You can make stuff that looks like it was made in Photoshop, that’s how advanced the customization options are. Layers, transparency, gradients, masks, custom symbols, all of these modifications/effects are possible in the APB editors.

So, given the flexibility, I decided to make use of the customization tools to design a sleeveless shirt for my character. My goal was to make something close to the Awesome smiley. Here’s what I came up with:

In-game character featuring an Awesome smiley shirt, which I made.

My character is an Enforcer, essentially a cop. Imagine seeing that happy smiley running towards you.

While definitely not perfect, I found it was a decent homage to the smiley, seen below:

Awesome Smiley

I got the image from this Wikipedia page.

I’ll likely work on a better version in the next couple days; however, after making such customizations – I realized something else. I could very easily use my in-game shirt to advertise for my website. APB already contains in-game advertisements, both visual and audio. I never had anything against this, given that they are trying to depict a modern urban environment, which does feature advertisements in real life. The idea of adding my own advertising intrigued me. As a quick test, I tried just stamping my domain on the back of my newly created shirt:

MattRefghi.com shown on the back of a shirt in APB

Pretty simple to make, and fairly easy to read – even when the player is running with low texture quality. Still, it brings up some interesting questions. First of all, did Realtime Worlds cover this possibility in the APB license agreement? Second, if my full name is visible in the game, should my behavior change?

To answer the first question, I checked the APB End User License Agreement, and I found what I was looking for. See the bold text below:

Rules of Conduct
9.4 You shall not (and you agree to not) generate any User Generated Content, or use the Game in a way, that:
9.4.1 infringes the rights of any other person or entity (including, without limitation, their Intellectual Property Rights) (and references to “any other person or entity” shall include RTW);
9.4.2 breaches any Applicable Laws;
9.4.3 in RTW’s absolute discretion, RTW considers:
(a) is defamatory, vulgar, obscene, libellous, harmful, abusive, harassing, hateful, invasive of another’s privacy, sexually explicit, or offensive (whether in relation to race, sex, religion or otherwise) or denigrating to anyone’s reputation or general standing (whether or not actionable);
(b) is seeking to promote or encourage illegal activity;
(c) is false or misleading to others;
(d) is seeking to access another person’s personal information or information relating to another APB Account;
(e) is seeking to interrupt, destroy or limit the functionality of the Game or any servers or networks connected to the Game or another’s computer; or
(f) amounts to unwanted or unauthorised advertising or solicitation.
(g) is stalking or harassing of another person.

The wording there offers a lot of flexibility for Realtime Worlds. Is my advertising unauthorized, or unwanted? I’m not advertising for a commercial company here, just a personal domain, with a blog. Sure, one day, there may be a commercial component associated to my domain, but that’s not currently the case. Either way, they specifically say it is at their absolute discretion… so it could very well be seen as both unauthorized and unwanted, since it is entirely up to them.

The argument gets more complicated when you consider that APB creations can be manufactured. Once you come up with a design, for example, my Awesome homage shirt, you can sell copies of the shirt for in-game credit, or even credit towards APB playtime. To play APB, you have to buy hours of play, or subscribe to a monthly pay-to-play plan. Selling customizations for playtime credit is therefore an attractive option for people that want to play the game long-term. Now, if you sell something you create, it is forever related to your in-game character name – the person who owns it will always be able to see who manufactured it. This makes it possible for people to behave as fashion designers in game. Yet, in real life, what do we typically see on clothes when they’re part of a particular line? Logos. A reference to the line of clothing you are wearing, the manufacturer. So, if you’re manufacturing clothes in APB, is it wrong to put your domain on there? I’m not sure it is, but, of course, I feel it must be respectfully placed, and very small to not grab too much attention. I’m sure some people would do the opposite, though – so the argument still stands… though Realtime Worlds would ultimately decide.

Advertising also comes with a cost on the privacy side; consider this: my character’s name is actually “MattRefghi”, and his shirt, as you’ve now seen, sports my domain in a very visible fashion. When playing, I feel like I have to be careful with what I do or say, because it is pretty obvious who I am in real life. I was never a guy who was negative with other players, but sometimes I did utilize strategies that weren’t particularly pleasant for my targets. I’ll probably visit some of these strategies in a future post.  In APB, like real-life, I must consider my actions before I execute them, because they’re ultimately bound to me. As scary as that might seem to some, I think this is a good thing… people would be forced to behave with a certain amount of class if their online interactions were always bound to their real life identity. In multi-player games, Griefers would likely be greatly reduced, and everyone should have a better time online.

A griefer is a player in a multiplayer video game that purposely irritates and harasses other players.

I may contact Realtime Worlds for more information – I think it would be interesting to see what they have to say on the matter. In the meantime, however, I’ll keep thinking of amusing customization ideas.

Update: A few days after posting this, here’s what Blizzard Entertainment announced:

The first and most significant change is that in the near future, anyone posting or replying to a post on official Blizzard forums will be doing so using their Real ID — that is, their real-life first and last name — with the option to also display the name of their primary in-game character alongside it.

[...]

The official forums have always been a great place to discuss the latest info on our games, offer ideas and suggestions, and share experiences with other players — however, the forums have also earned a reputation as a place where flame wars, trolling, and other unpleasantness run wild. Removing the veil of anonymity typical to online dialogue will contribute to a more positive forum environment, promote constructive conversations, and connect the Blizzard community in ways they haven’t been connected before. With this change, you’ll see blue posters (i.e. Blizzard employees) posting by their real first and last names on our forums as well.

I like it… but we’ll soon see whether the idea can float, or not.

15
May

Two Inexplicably Dangerous Characters

Yesterday, as I was writing an e-mail to one of my employer’s clients, I encountered a strange bug with Excel. The e-mail I was writing included instructions that the client should perform, and one of the steps actually involved creating a CSV file, which would then be opened in Excel. Before sending the e-mail, I decided to step through the instructions myself, and make sure everything worked as I expected. When I reached the CSV step, I found that while I could export it fine – I couldn’t open it in Excel. I’ll guide you through what followed using a really simple example CSV:

ID,NAME
1,KARA
2,GAIUS
3,SAUL

As you can see, the above CSV contents are completely valid. However, when I tried to open it in Excel 2000, I received this error message:

SYLK: file format is not valid.

When I tried to press the OK button, Excel just gave up loading the CSV. While I didn’t know what they meant by “SYLK“, I assumed something was wrong with the CSV export. Maybe there was an invalid, invisible character in the file, preventing Excel from parsing it – perhaps making it think it was another format. To test this theory, I used one of my favorite features in Notepad++, one that allows me to see all characters, even those which are normally invisible.

Using Notepad++ to reveal hidden characters

Using the feature, I could tell that there were only carriage returns (CR) and line breaks/feeds (LF), which are perfectly valid for a CSV.

With that possibility ruled out, I decided to try the same CSV in a newer version of Excel – the 2007 edition. When I went to open it, I was unfortunately greeted with the same type of errors:

The file you are trying to open, 'Example.csv', is in a different format than specified by the file extension. Verify that the file is not corrupted and is from a trusted source before opening the file. Do you want to open the file now?

Excel has detected that 'Example.csv' is a SYLK file, but cannot load it. Either the file has errors or it is not a SYLK file format. Click OK to try and open the file in a different format.

Despite these errors, through the selection of the appropriate dialog options – I was at least still able to view the CSV within Excel:

At this point, however, I was really intrigued – so I googled the original error message I received in Excel 2000. I found a Microsoft article explaining the behavior, while also offering a workaround. When reading the article, I could barely hold in my laughter:

SYMPTOMS
When you try to open a text file or a comma-separated variable (CSV) file, you may receive the following error message:
SYLK: File format is not valid

CAUSE
This problem occurs when you open a text file or CSV file and the first two characters of the file are the uppercase letters “I” and “D”. For example, the text file may contain the following text:
ID, STATUS
123, open
456, closed
Note This problem does not occur if the first two letters are lowercase “i” and “d”.

WORKAROUND
To open your file in Excel, open the file in a text editor, and then insert an apostrophe at the beginning of the first line of text.

How to Insert an Apostrophe
To add an apostrophe to the beginning of the first line of text in your file, follow these steps:
1.  Open the text file in a text editor, such as Notepad. Click before the first character in the first line of text. Press the APOSTROPHE key on your keyboard (‘).
2. On the File menu, click Save. Quit the text editor. You can now open the file in Excel.

Source: http://support.microsoft.com/kb/323626

I think you need to be a developer to truly appreciate how funny this is. I had to mention this bug to the client, because the likelihood of the ID being the first text in the file was pretty high. Even then, I mentioned they should read the Microsoft article only if they encountered the problem. No way am I going to explain the awkward workaround myself.

So, I confirmed that the bug was still present in Excel 2007. I just hope that Microsoft fired the developer that came up with the SYLK detection logic. Assuming that a file is a particular type based solely on the first two characters (“ID”) is a big risk, especially when those two characters are part of the alphabet, and are also common in IT.  I’m guessing there are complexities I don’t see… or at least, I hope so. Either way, their workaround is really unbelievable… they’re actually telling people to add an apostrophe as the first character of the file. I’m aware that Microsoft is a large complicated beast with many different teams  involved in releasing bug fixes, but this one is just so ridiculous.

9
May

Opera’s Quick Download Feature

There’s a particular feature I’ve always liked in Opera. I’ve seen it implemented in slightly different ways within other browsers. Let’s say I wanted to download my blog’s sitemap.xml file, and I wanted to do this strictly from within the browser. When I visit the link:

http://mattrefghi.com/wordpress/sitemap.xml

My browser doesn’t download the file, it merely displays it. This happens because browsers know how to display XML, and they figure it makes more sense to show you the content – rather than initiate a download. The behavior is different with “.zip” files, for example. Browsers usually initiate a download when they are pointed to a URL that ends in “.zip”. Downloading the physical XML is therefore slightly trickier. In Opera, I can just paste that exact URL into to the Quick Download box at the top of the Downloads page. When I press ENTER, it automatically downloads the physical XML file – rather than trying to display it.

Opera's quick download feature allows me to download files without first viewing them in the browser

I’ve used this countless times over the years. The same is possible in other browsers, but it usually isn’t as quick as Opera’s implementation. For example, in Google Chrome, I’d first have to view the page, click “Control The Current Page” button, and then “Save Page As”. I would then get a” File Save” dialog, which allows me to change the name, or simply press OK to save the file.

In Google Chrome, the Save Page As feature lets you save the physical file

Certainly not as quick as Opera… and what if the XML file was massive? I’d have to wait for the browser to first display it, then I’d be able to download the physical file.

One more reason to keep Opera installed on my computer.

8
May

An Endless Wait For IntenseDebate

UPDATE: Soon after I wrote this article, Michael Koenig of IntenseDebate posted a comment with an offer to help me via his personal address. I appreciated the gesture, and made some modifications to the article below to reflect that. I think for the time being I will be keeping the default WordPress comments, but will not completely rule out IntenseDebate for the future.

In the beginning of April, I became aware that my blog was corrupt – no articles were visible, and the visuals weren’t right. I promptly contacted my web host pair Networks, and after an hour of trying different things – their agent (who was extremely helpful), told me it was likely a problem within WordPress. He tried repairing the database, but subsequent browser refreshes just corrupted the WordPress database further. With this knowledge, I thanked the agent for his help and prepared to restore my blog in a fresh copy of WordPress.

By the time April 10th came around, I had mostly everything working – the only problem left was the comments – a good 90% of them were not appearing in the articles. You see, I’ve always used IntenseDebate for my comments. It had a good feature set, and did exactly what I expected it to do. When I installed a fresh copy of WordPress, I naturally installed IntenseDebate very early on – and yet, it didn’t restore my comments properly… the vast majority were simply missing from their respective pages. Concerned, I contacted their support address, providing plenty of detail, and offering URLs to illustrate my point.

The general format of my e-mail to IntenseDebate. Plenty of details, and links to illustrate my point.

I decided to wait for a response before I restored my blog fully – comments were too important to me.

Two weeks passed, and I still hadn’t heard back… so I submitted a support ticket via their website, including the same information I sent via e-mail. Considering that e-mail (as a medium) isn’t flawless, I also asked whether they received my e-mail or not. I realized that it was even possible that Gmail’s spam blocker was eating their message. To cover that possibility, I started regularly checking and deleting my spam. But time passed, and my site remained down – all without the slightest word from IntenseDebate. I started to get annoyed… especially when I noticed that they were happily telling people to contact their support address on their Twitter page. Yet, no help available for me. So, as you can imagine, I logged into Twitter, and posted the following message:

A message I left on Twitter in an attempt to contact IntenseDebate

As I’m writing this, they have not replied to me. They still continue to reply to people on their Twitter page, but they have not acknowledged me in the slightest.

On May 2nd, I decided to drop IntenseDebate. I had to manually make corrections in my WordPress database, but after waiting so long, it was an attractive option.

Could it simply be an isolated incident? Perhaps… but I still consider it difficult to forgive.

UPDATE: Soon after this was posted, they replied to me. See the update at the top of this post for details.


27
Mar

The Road To Nowhere

Due to my choice of profession, I tend to spend a lot of time using computers. Consequently, I work with a lot of applications – that means I see lots of different user interfaces. Some are good, some are bad – but every now and then, I find something in between. Sometimes, it perfectly showcases the developer’s sense of humor.

For example, here’s what the “Go To” dialog looks like in Notepad++. You can access it by pressing CTRL+G.

The Notepad++ "Go To" dialog features a button that says "I'm going nowhere", which you use to close the dialog.

The dialog features an "I'm going nowhere" button, which closes the dialog.

Not sure that’s the best design for the dialog – but I appreciated the humor.  :)

13
Feb

How to Temporarily Disable System Beeps

Computers have a means of communicating without external speakers – they do so via hardware beeps. These are the main scenarios I’ve seen where a computer beeps:

  • There is a problem when the system tries to boot, so it attempts to communicate what went wrong – via a sequence of beeps.
  • Too many keys were pressed at once on the keyboard.
  • The system is configured to beep whenever an alert dialog appears.

The last one I found particularly annoying when I was developing Visual Basic 6 applications at my day job. For some reason, Visual Studio 6 likes to communicate with you via alert dialogs. Visual Studio .NET corrected this – instead of a typical alert box, they list the errors and warnings in another pane. Despite this, some of our code was still in VB6, so I had to use it. Thankfully, there is an easy way to disable the beeps.

In Windows Server 2003:

1) Click Start > Run.

2) When the Run dialog appears, type “cmd” and press ENTER.

3) When the command prompt appears, type “net stop beep”, and press ENTER.

Typing "net stop beep" in the console will temporarily disable the system beep feature.

If you want to disable the beep permanently, here are some instructions.

6
Feb

A Chrome Extension That Does Nothing

Since it was first introduced, Google Chrome has been my browser of choice. So, when version 4 was released, I was particularly pleased to see the new extensions feature. When I went to view the extensions gallery, a particular entry stood out from the rest:

The Chrome Extensions gallery features an extension that does nothing.

This extension does nothing.

Right there among the top rated extensions, I found one that did nothing:

A close-up of the Nothing extension - over 2500 ratings (4.5 star average), and 464 people are "using" it.

When I viewed the details about the extension, it became obvious that many people were fueling the joke by adding supportive comments. Still, you see glimmers of confusion every now and then.

The "Nothing" extension's page - showing comments, and more.

The last comment is my favorite.

24
Jan

Changing Drive Letters In Windows

At home, I use multiple external hard drives; however, I don’t always leave them on. I usually have just one of them running at a time. Today, when my turned on my main external hard drive, it was assigned the drive letter I by Windows, whereas it usually used F. This caused some problems – some of my shortcuts expect it to be the F drive.

When I look at my drives in Windows, here is what I see:

A view of my connected drives, as seen through "My Computer".

My drives. Notice how "F" is actually free?

Looking at the drives, I don’t quite understand why Windows thought I would be a good idea. I’m guessing it remembers another drive that had F, and wants to reserve it. Why it didn’t do that before, is beyond me.

To correct the shortcuts, I had to change the drive letter of the drive – which would make the paths valid again. I only had to do this once before, so I thought I’d offer the steps here, in case someone else would find it useful. The change is made using the Disk Management tool that comes with Windows.

In Windows 7, either:

  • Search for “Disk Management” in the Start menu, and select the “Create and format hard disk partitions” option.

or

  • In a “Run Command” window, enter “diskmgmt.msc”.

You’ll be presented with the Disk Management screen:

The main interface of the Disk Management dialog, which is part of Windows

Once there, simply right-click the disk you wish to change, and select “Change Drive Letter and Paths”.

You’ll be presented with the following dialog:

The "Change Drive Letter and Paths" dialog allows to modify the drive letter associated with any given drive.

Select the drive letter, and press “Change”.

When the dialog opens, select the letter you want to use. In my case, I changed the “Assign the following drive letter:” field value from I to F.

The "Change Drive Letter or Path" dialog

After that, press OK.  You’re get a warning saying:

Some programs that rely on drive letters might not run correctly. Do you want to continue?
Just press “Yes”, and you’re all done.
23
Jan

Copying the Contents of Windows Dialogs

As a developer, I very often see error messages – some of those originate from the products I develop, and I have to report them as bugs. Whenever I get an error message in a dialog, I typically take a screenshot, and add that to the bug base issue. That’s fine, but it means people can’t search for that error message in the bug base – in order to enable that, I’d usually just manually type out the error message, rather than take a screenshot. That was before. Today, I’d just press CTRL+C to copy the error dialog contents.

That’s right, whenever you see a dialog in Windows, like this:

A typical Windows error message dialog.

You can press CTRL+C to copy, and then open up Notepad, and press CTRL+V to paste:

The dialog title, contents, and even the button text are saved to the clipboard.

I had no idea this was possible until I read a Lifehacker article explaining it.  Since I’ve started using it, I’ve found it very useful in my every day work. Maybe you will too!

Just a note, though – it doesn’t seem to work everywhere. For example, JavaScript alert dialogs can’t be copied in Firefox, but they can in Internet Explorer.