Synchronize Lotus Notes Calendar with Google

Shadow | Ideas & News,Windows | Monday, August 16th, 2010

I’ve recently come face to face with a limitation of the Lotus Notes platform; synchronization from my Lotus Notes Calendar to Google Calendar. Example cases such as towards the end of lunch, when it’s nice to know of any upcoming meetings or appointments, as well as their location.

Synchronize Lotus Notes with Google Calendar

LNGoogleCalSync is a free, open-source solution. It’s a small Java application that will allow you to specify your Lotus Notes details, along with your Google Calendar details, and update any new meetings or appointments from your Lotus Notes calendar to Google Calendar.

Notifications can be transferred as Reminders in Google Calendar, and then also synchronized to a multitude of mobile devices such as iPhones and Android devices.

Regular synchronization of this application is also easy. Running the program with the ‘-silent’ parameter, will hide any GUI prompts. Task Scheduler can be used in Windows XP, Vista and 7, to allow for regular synchronization updates.

The main website seems to be slightly out of date, in terms of information, however the download link will still provide you with the latest version from the Source Forge project page.

Visit the LNGoogleCalSync Website!

Windows 7 Jump Lists: Troubleshooting Missing Items

Shadow | Windows | Friday, June 25th, 2010

Windows 7 Jump lists are brilliant… until they break :P .

My personal primary use of this tool includes pinning my lecture notes to products from the office suite, as well as folders with subject information for quick access.

Unfortunately, I’ve experienced a slight issue, in particular with the Office 2007 Word jump list. While I am now using Office 2010, I felt the problem and subsequent solution was worth publishing should anyone else, still using Office 2007, experience the same issue.

The problem in question; Occasionally I have found that the Jump Lists would be cleared for no apparent reason, and would not allow any documents to be pinned, nor update with any recent documents. This left me with a jumplist like the picture below;

From a technical perspective, the reason behind this is still unknown, however a solution does exist. After some Googling lead me to this post, with subsequent solution to the problem. While the solution won’t restore the previously pinned items, it will allow you to pin new items, and restore the ‘Recent Items’ functionality.

  1. Navigate to %APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations
  2. Check for, and delete, any files that are large in size compared to others (probably anything above the 1 MB mark).
  3. If that doesn’t fix the issue, you can also delete all of these files safely, however you will lose any pinned items on other applications in the taskbar.
  4. You should now be able to pin new items to the jump list. Additionally, recent items should start appearing as you view new documents.

Game Music: Half-Life 2, Episodes 1 & 2

Shadow | Game Music,Games,Ideas & News | Friday, May 14th, 2010

Half-Life 2 was originally featured in the original Game Music post, but only with a limited selection of the available (awesome) songs. Here is a more in-depth compilation of my favourite Half-Life 2 tracks, including tracks from Episodes 1 and 2.

Many of the Half-Life 2 tracks use extremely heavy baselines; they should be listened to on a decent sound system, with a decent sub woofer, in order to give the tracks, the justice they deserve :)

In addition to the note above; the quality of the clips below compares only marginally to that on the official sound track (which happens to come with Audiosurf).

view remainder of this post…

Game Music: Mass Effect 2

Shadow | Game Music,Games,Ideas & News | Friday, May 7th, 2010

I can’t tell whether I am disappointed in the musical aspect of Mass Effect 2 or not. Unfortunately, some of the ‘best’ music tracks aren’t included on the Official Sound Track – reason being? They aren’t made by EA, but are instead “real life” (but undiscovered) songs used in-game. Examples include the music from Aria’s Club on Omega — instead of gaining a place on the official soundtrack, it was substituted with some “generic battle music”.

view remainder of this post…

Game Music: Mass Effect 1

Shadow | Game Music,Games,Ideas & News | Friday, May 7th, 2010

For such a great game, the ambient background music by itself doesn’t quite deliver quite the same effect as the game itself.

The music in Mass Effect was unfortunately not as ‘significant’ as I would have liked it to be. The tracks all seemed to lack the “ability” to be listened to outside of the game. A lot of the tracks were required to be coupled alongside game play in order to make their effect more prominent. This rendered the official soundtrack regrettably “forgettable”.

However, with every batch of not-so-great game music, or there are some stand out tracks from Mass Effect that provided that “Zelda-music like” connection to the game.

view remainder of this post…

Game Music: Sonic the Hedgehog 1-3 & Knuckles

Shadow | Game Music,Games,Ideas & News,Internet | Monday, May 3rd, 2010

Since publishing the post containing some of my favourite game music; I have been keeping and ear and eye out for any other games I may have missed. The original post was already quite full of various game music, so it was probably best to start splitting the music up by separate game posts.

Sonic the Hedgehog! Only after finding a quiz on Sporcle related directly to the game music, it wasn’t until then that the memories of the classic Green Hill Zone and super trendy Chemical Plant Zone music came flooding back. Below is the collection of my favourite Sonic zone themes.

view remainder of this post…

Game Music

Shadow | Game Music,Games,Ideas & News,Internet,Steam | Saturday, April 17th, 2010

I was recently enlightened to a page as a result of a Google search for the ‘Greatest Game Music Ever’. The ‘Billboard’ website, listed 25 of the ‘Best Video Game Songs Ever’. In one of the biggest insults to real game music, the list comprised of real world songs, by real world artists, that had been used in games like GTA and Guitar Hero. C’mon Guitar Hero!? Best video game songs!? /sigh

While it may be dependant on the game in question, I’m not having a ‘go’ at the game itself, but the people and consequent websites who believe the GTA and Guitar Hero music is proper video game music.

On a final note, this page may be quite memory consuming with all the embedded files — but hey, it’s worth it :)

view remainder of this post…

Keyboard and Mouse Cleaning

Shadow | Programming,Windows | Friday, April 16th, 2010

So you’re wondering what on earth Shadow Productions could do to help with your cleaning routine? Well, not much really — however I can at least appreciate the difficulty of cleaning a keyboard and mouse, especially that of a gamer…

The odd situation is, that I tend to clean my keyboard while having the computer on — while voice chatting or waiting for a new game to install, I subconsciously clean the keyboard, but also tend to write an essay of jargon at the same time from accidental key presses.

This application, “Keyboard and Mouse Disabler” has only one known purpose so far, and that is to make cleaning your keyboard and mouse peripherals easy. With a few clicks, your mouse and keyboard will be temporarily disabled, preventing accidental key presses and mouse clicks — then it’s cleaning time :)

There is no install required, it runs straight from the download. While this may seem to be a rather trivial application to release, I thought why not. If someone finds a use for it — great :)

Download Keyboard and Mouse Disabler!

Team Fortress 2 – Comics

Shadow | Games,Steam | Friday, March 19th, 2010

I was browsing the Internet and some local pictures and found some interesting Team Fortress 2 comics and included them below. I can’t remember the sources, nor authors for all of them. Let me know if you’re the creator ;)

Click the image to make it bigger, if it’s still not big enough, Right click then “Open in new tab/window” or similar.

Logging (My.Application.Log) in VB.NET

Shadow | Code Snippits,Programming | Sunday, February 21st, 2010
Logging during an application refers to the tracing of internal code actions and functions, user actions, as well as any errors or exceptions that may arise.

As I have learnt over the years, at a certain stage of application development logging becomes critical. It is imperative during testing (especially with multiple, external testers) that they can report any problems or issues in the most efficient manner; this usually entails sending  a log file which the developer can use to locate and debug the bug.

VB.NET comes with its own ‘logging’ sub-system integrated into the language. It allows the developer to place entries into the log file at specified points in the code. These entry points are usually placed at strategic points, such as in the catch statement of a Try… Catch or at the end of a long process to indicate completion.

The logging sub-system of VB.NET resides under the My.Application.Log namespace. Under this namespace are several functions and concepts, that I will detail below, which will let you start logging in your own applications.

Log Events

Several functions under this namespace allow you to write events to the log file. An ‘entry’ essentially, is composed of a string Message, a Severity Level and an Event ID.

The Message is a string that the developer specifies to appear in the log file. It should generally detail a stage in the code (e.g. “Starting update…”).

The Severity Level is used to determine how ‘critical’ the entry or exception is. This level is only used to help filter out critical events from the less critical ones. For example, an event of a failed update, “Update failed” should be classes at a error level, while an event such as “Starting update” should only be classed as an information level.

Other levels, such as a ‘critical’, are usually reserved for an error that causes the application to cease functioning.

The Event ID attribute is a way help index and identify the errors that may occur for correlation purposes. It is optional attribute when writing an event. It is usually reserved for error events as opposed to verbose events.

Writing Events to the Log

You can write events to the log by calling a function under the My.Application.Log namespace. The following code write an example event to the log;

My.Application.Log.WriteEntry("Starting to process function XYZ", TraceEventType.Verbose)

As noted above, the Event ID attribute is optional; it may be considered in-effective to index verbose level messages; reserving the event ID’s for error and critical level events.

Writing Errors to the Log

When writing Errors to the log a slightly different and specialized function may be used. The WriteError function will write details of an ‘exception’ caught during a Try… Catch statement. It is invoked similar to the code example below;

Try
    Throw New Exception("A sample error exception")
Catch ex As Exception
     My.Application.Log.WriteException(ex, TraceEventType.Error, "Additional information or details")
End Try

Once the error exception is raised within the Try block, the WriteException event will write the exception details (ex) to the log. The same severity level option can be applied, as well as some additional notes to make debugging easier.

So where does the log file end up?

When the application closes, and the log file has been flushed to disk the file can be retrieved for analysis. By default it is placed in the user’s Roaming profile under a subdirectory relevant to your application name. To save some time, you can find out the direct path, and for example, show it in a message box, while running the program by executing the following line of code;

MsgBox(My.Application.Log.DefaultFileLogWriter.FullLogFileName)

Level specific Logging

As with any logging sub-system, some performance overhead (while extremely minimal) may be invoked. To help reduce this, it is possible to only log events that may be considered more relevant than others.

As discussed above the Severity Level can help rank events on a scale of severity, from Verbose to Critical. Similarly we can choose to only log events that we deem important on a release application, for example only events higher than the Informational level. We can choose programmatically as to which events should be included and which should not. The code below sets this level to log events only Information and above.

My.Application.Log.TraceSource.Switch.Level = SourceLevels.Information

The hierarchy of severity levels can be determined using the table below (source).

SourceLevels ValueMessage severity required for output
CriticalCritical
ErrorCritical or Error
WarningCritical, Error, or Warning
InformationCritical, Error, Warning, or Information
VerboseCritical, Error, Warning, Information, or Verbose
ActivityTracingStart, Stop, Suspend, Resume, or Transfer
AllAll messages are allowed.
OffAll messages are blocked.

In Conclusion

Logging becomes essential in larger, more complex programs with several teste. Hopefully the outline of the logging system above will make it simple to implement basic logging capabilities into your own application.

Next Page »

Powered by WordPress
Theme by Roy Tanck, Modified by Shadow
Posts (RSS) and Comments (RSS) | Nearly Valid XHTML
18 queries. 2.634 seconds.