Great Photography Bookmarks

Web Sites

Panasonic or Micro Four Thirds  Forums (I have a Panasonic GF3!)


Posted in Photography | Tagged | Leave a comment

Night Photography: set up your camera to shoot anything

This site has just become one of my favourites for photography due to the tutorials, forum and articles. Love this article on how to set up your camera for night shoots.

Night Photography: set up your camera to shoot anything | Digital Camera World – page 2.

from Digital Camera World

Posted in Photography | Tagged | Leave a comment

WordPress Changes – Full Categories

When using the TwentyTen theme it shows category excerpts only. To change this to full content you need to make the following change:

Find the “loop.php” file in your Theme, TwentyTen for me, search for “the_excerpt()” and replace it with “the_content()” in one place.

<?php if ( is_archive() || is_search() ) : // Only display excerpts for archives and search. ?>

<div class=”entry-summary”>

<?php the_excerpt(); ?><!– CHANGE THIS TO “the_content()” –>

This appears to be working for me.

via WordPress › Support » show full post from category.

Posted in WordPress | Leave a comment

Media download – synology

Synology is an amazing device for creating a central point for all my media. Now that automatic downloading is available it just gets better.

To set up your Synology to download from newsgroups follow the steps outlined in this post…..hopefully I’ll have it all setup soon.

Posted in Software | Leave a comment

Image Gallery

Here are some of the images I’ve been playing around with either using iPhone Apps or Photoshop Elements…..

[nggallery id=1]

Posted in Photography | Leave a comment

Photoshop Elements

Here are some free Photoshop Elements v10 tutorial video tutorial sites:

If you know of any more let me know 🙂

Posted in photoshop | Leave a comment

Mass “ping” from a locked down PC

Recently I needed to find the ‘rough’ location of hundreds of computers on the network but only had access to a locked down PC where I could not use the software I would normally use. To get around this I had to resort to VB script (yep, you can run this code on some locked down PC’s) and had the results formatted as CSV to load in to Excel for processing.

First thing, how do you run VB script on a PC? You can run VB script from the command line using cscript.exe (usually found under c:\windows\system32).

Next you need to create you VB script and save it to a file. For my mass ping I created the file “vbping.vbs” with Notepad with the contents below:

' Author: Warren Cross (
' Date: 18 July 2010
' Copyright 4SolveIT - free for use and distribution if credits maintained

Option Explicit

Dim strHost, objFSO, objTextFile, strNextLine

' Check that all arguments required have been passed.
If Wscript.Arguments.Count < 1 Then
    Wscript.Echo "Arguments  required. For example:" & vbCrLf _
    & "cscript vbping.vbs pingdatafile"
End If

strHost = Wscript.Arguments(0)

' process data file containing server list
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile _
    (strHost, ForReading)
Do Until objTextFile.AtEndOfStream
    strNextLine = objTextFile.Readline
    'Wscript.Echo "Server name: " & strNextLine

Function Ping(strHost)

    dim objPing, objRetStatus, avg
	dim c

    set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery _
      ("select * from Win32_PingStatus where address = '" & strHost & "'")

    for each objRetStatus in objPing
        if IsNull(objRetStatus.StatusCode) or objRetStatus.StatusCode<>0 then
            Ping = False
			if objRetStatus.StatusCode=11010 then
			   WScript.Echo strHost & ",response time out"
			elseif objRetStatus.ResolveAddressNames=false then
			   WScript.Echo strHost & ",failed name resolution"
               WScript.Echo strHost & ",Status code is " & objRetStatus.StatusCode
			end if
            Ping = True

	        'average ping time across 4 cycles - first + 3 others
            avg = objRetStatus.ResponseTime
			for c = 0 To 2
				set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery _
					("select * from Win32_PingStatus where address = '" & strHost & "'")
					avg = avg + objRetStatus.ResponseTime
            avg = avg / (c+1)

			Wscript.Echo objRetStatus.Address & "," & objRetStatus.ProtocolAddress & "," & avg

        end if
End Function

I then created another file that contained a list of machine names or IP addresses that I wanted to ping. This file I called “pingdata.txt” and contained one machine per line like this:

Now you can run the whole lot using the commend below. This command will also save the CSV formatted output to a results.csv file which you can load in to Excel:

cscript vbping.vbs pingdata.txt > results.csv
Posted in Microsoft | Leave a comment

Norton Internet Security & Microsoft Office Activation

A friend was having trouble activating their Microsoft Office software on their new Windows 7 PC and asked for some help. The problem was that it continually failed to contact the authorisation servers and so would not activate their software.

Well, after spending some time on the problem I thought I would blog how I resolved the problem since most of the links from Google suggest it’s an overloaded MS authorisation server issue (It’s not).

The problem seems to be the new Norton Internet Security software on the PC blocking contact with the server. I tried to disable it but that did not help. The fix was to follow the steps below:

  1. Reboot the PC and bring it up in SAFE mode (hold F8 as the machine boots and before it gets to the Windows logo)
  2. Choose the option to boot with Networking (you need that to contact the MS authorisation server)
  3. Once booted and you are logged in start Internet Explorer to make sure you have working internet connectivity.
  4. Now run one of the Office products and follow your authorisation process. It should now work.

After you have done the above you should have a working and authorised Microsoft Office install. Reboot your machine and away you go!

Posted in Microsoft, Software | Tagged | Leave a comment

Scrolling a JPopupMenu (Scrollable JPopupMenu)

I’ve just come across a need for a JPopupMenu with lots of menu items and found out scrolling support if not built on? Shock! Horror!

After using Google to look for options and finding everything over-engineered or doing some weird things like not supporting the keyboard I decided to create my own.

JScrollPopupMenu extends JPopupMenu but adds:

  • top and bottom scroll buttons
  • support for mouse and keyboard scrolling
  • definable number of items to display before scrolling functionality kicks in
  • controllable scrolling speed

Below is a Java Applet demonstrating JScrollPopupMenu functionality.

The same concept could be used to create multiple scrollable menus where the menu has many submenus with many items.

The source code for JScrollPopupMenu can be found here –

The code has been documented with Javadoc so you can create your own documentation straight from the code.

Posted in Java, learning by example | Leave a comment

Scheduling a recurring event (Timers)

So you need an event to occur at regular intervals without doing your own time checks and forcing your application to operate sequentially? You have a number of options open to you but my favourites are the Timer classes, either javax.swing.Timer or java.util.Timer.

Both classes will do what you need and are very similar in functionality but java.util.Timer has loads more options and does not run in the GUI event thread. A good reason for using javax.swing.Timer is that its usage is based on the GUI event dispatch model and so very familiar for Swing developers. If you are using your timer for controlling GUI events then the Swing version maybe your way to go.

java.swing.Timer example:
  // Create a repeating timer event
  javax.swing.Timer t = new javax.swing.Timer(1000, new ActionListener() {
      public void actionPerformed(ActionEvent e) {
            System.out.println("this prints every second");

// to start the timer

If you are working on a multi-threaded application, need more timers, or your called method will cause a user-perceived delay (other GUI update events will be blocked) then this Timer may not be for you. Your other option is the equally usable java.util.Timer and my preferred choice 🙂

  ....some method in your class
      // Create a new timer task scheduled to repeat every second
      java.util.Timer timer = new java.util.Timer()
      timer.schedule(new ttask(), 1000, 1000);
  ....end of your method

  // Create an innerclass for your timertask. This is called by your timer
  class ttask extends java.util.TimerTask {
      public void run() {
            System.out.println("this prints every second");

  .....inside another method
      // to stop your timer call

That’s Java timers in a nutshell. Pretty easy once you know how.

Posted in Java, learning by example | Tagged , , | Leave a comment