Thursday, 21 February 2013

Logitech G500 mouse pointer jitter fix.

Logitech G500 Mouse jitter fix

So I brought a second hand Logitech G500 mouse which had some problems with jitter, when stopping the mouse quickly movement the pointer would briefly jitter a few pixels randomly.

After some googleing I found this blog entry - http://blog.ambor.com/2011/04/logitech-g500-mouse-rattle-jerky.html - which pointed me in the direction of the laser lens. Fixing the lens in place fixed the problem, the but as the original article has quite short on images I thought I would document it here. 

The top of the laser sensor, the lens is held in place by the two transparent tabs - which you can see passing through the black sensor at in the middle of the PCB.



The lens itself, this was unstable on my mouse and as the mouse moved/stopped the lens wiggled around disrupting the view of the laser.



 The laser sensor with blobs of glue fixing the lens's plastic tabs onto the sensor itself.



Job done!

Thursday, 29 November 2012

Combining multiple video files with mencoder


The following command can be used to combine several files into a single file,

mencoder -idx -oac copy -ovc copy -o output.avi input1.avi input2.avi 


Caveats:

  • Files must be the same resolution
  • Files must be encoded with the same codec (although different containers are ok)

Thursday, 4 October 2012

Google search from keyboard shortcut

Plan

I want to be able to run a google search based on text contained on the clipboard, this allows me to quickly search for text snippits I come across

Windows 

From this site: 
http://blogs.technet.com/b/heyscriptingguy/archive/2004/12/15/how-can-i-grab-a-url-from-the-clipboard-and-then-open-that-web-site-in-a-browser.aspx

I found a snippet of VBS script got me most of the way, the only thing to add is to adapt it so that it appends the string to the end of a google seach URL. 

The final script looks like this 

Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")
strURL = objIE.document.parentwindow.clipboardData.GetData("text")
objIE.Quit

Set objShell = CreateObject("Wscript.Shell")
strSearchURL = "http://www.google.co.uk/search?q=" & strURL
objShell.Run(strSearchURL)
You can then save this script with a vbs file extension and have it called when you press a certain keyboard shortcut or macro key.

By default this will prompt to allow the script to access the clipboard. You need to add "about:blank" to the trusted internet zone and set the "Programmatic clipboard access" to enabled not prompt. 

Ubuntu


After looking into google searching from gnome-terminal the only solution looked a bit risky http://blog.ubuntu-tweak.com/2010/11/16/gnome-terminal-with-google-search-support.html

As a result I decided to look into a safer and more general option, that was using xsel and ubuntu keyboard shortcuts to open a browser tab searching for whatever is selected.

#!/bin/bash    # Steve Fry http://cdtfry.blogger.com
 # 04/Oct/2012
 
 # Search based on selected text
 search_string="http://www.google.com/search?q=$(xsel)"
 
 # Search based on clipboard contents
 # search_string="http://www.google.com/search?q=$(xsel --clipboard )"  
 
 # Open a chromium tab based on the search string.
 chromium-browser "$search_string"  

This can then be saved to a text file such as /home/steve/bin/google_from_clipboard.sh and then allocated to a keyboard shortcut using the ubuntu keyboard menu.


Steve

Sunday, 23 September 2012

Specifying IP range for tcpdump

I recently came across the need to specify a IP range for tcpdump (setting up an install of darkstat to monitor network usage by host - but ignoring traffic within my local network).

However the only solution I could find in pcap-filter syntax was to specify blocks of ip's by netmask.

After looking into filtering ip addressea by inspecting the packets themselves, (http://isc.sans.edu/diary.html?storyid=6667) I finally came across a comment on the bottom of the previous link which suggested using a script cidr_range.pl (http://archives.neohapsis.com/archives/postfix/2005-06/att-1279/cidr_range__charset_iso-8859-15) which translated ip ranges into a series of ip/cidr netmasks that can them be used to filter tcpdump (or in my case darkstat).

Therefore

steve@dell-laptop:~$ perl cidr_range.pl 192.168.0.100 192.168.0.200
192.168.0.100/30
192.168.0.104/29
192.168.0.112/28
192.168.0.128/26
192.168.0.192/29
192.168.0.200/32
can then be translated to

not (net 192.168.0.100/30 or net 192.168.0.104/29 or net 192.168.0.112/28 or net 192.168.0.128/26 or net 192.168.0.192/29 or net 192.168.0.200/32)

which then filters out all traffic to or from hosts within the range 192.168.0.100-200.

Steve

Refs:
http://archives.neohapsis.com/archives/postfix/2005-06/att-1279/cidr_range__charset_iso-8859-15
http://isc.sans.edu/diary.html?storyid=6667
http://www.manpagez.com/man/7/pcap-filter/
http://www.tcpdump.org/tcpdump_man.html

Intentions

To anyone that finds this blog on the interwebs,

After a upgrading my home server I have decided to publish my notes on the blogger platform instead of internally. These are mainly intended for personal reference, however if anyone else finds them useful, all the better.

Steve