misctechmusings notebook for projects, problems and solutions

Citrix ICA not listening on port 1494

I ran into an issue with some Citrix servers in the environment. Users were getting a protocol driver error. After poking around I noticed ICA was not listening on port 1494.

It appears that this issues was caused by Microsoft patch MS12-024.

Known issues with this security update After you install this security update on a Windows Server 2003 SP2-based terminal server, Remote Desktop Protocol (RDP) clients or Independent Computing Architecture (ICA) clients may be unable to connect to the terminal server. To resolve this problem, install hotfix 958476. MS Hotfix 958476 is available here.</p>

The following instructions correct the issue until the hotfix can be applied:

Identify that ICA is not listening on port 1494.

netstat -an | findstr 1494

Open the Terminal Services MMC


Disable then Enable ICA

Run netstat again to verify ICA is listening on port 1494.

Retest the Citrix connection.

DuckDuckGo bang-list

DuckDuckGo is a search engine that reminds me of Google several years ago. One helpful feature is the !Bang command. You can use it to set options or search specific sites.

The following example will give you a nice list of supplies for the zombie apocalypse:

	!costco survival


* **Blogs:** !arstechnica !arturogoga !boingboing !cnet !df !eff !ehow !engadget !espacoliberdade !gawker !ghacks !gigaom !gizmodo !groklaw !gsmarena !habra !hackaday !kerodicas !lifehacker (!lh) !macworld !make !mashable !osnews !p4k !pitchfork !ppc !pplware !readwriteweb !slashdot (!/.) !techcrunch (!tc) !techdirt !techrights !theh !thingiverse !tomshardware !torrentfreak !tuaw !tumblr !valleywag !verge !wired !yegg !zdnet
* **Blogs (intl):** !fefe !nicolinux
* **Chakra:** !ccr !chakraforum !chakrapkg !chakrawiki
* **Companies:** !adobe !apple !applediscuss !cisco !dell !hp !ibm !ipartsplanet !lenovo !microsoft (!ms) !netgear !nvidia !sdn
* **Design:** !dafont !dribbble (!dribble) !forrst !gephi !kuler !multicolr !myfonts !patternry
* **Domains:** !domainr !lgc !qssl
* **Downloads:** !1ddl !4shared !bbt !bitsnoop !btjunkie !btmon !demonoid !emule !fenopy !filehippo (!file) !filestube (!ftube) !filext (!fileinfo) !ftp !isohunt !kickasstorrents (!kat) !lcc !mamont (!mmnt) !mediafire !mimvi !modulusfe !mvnrepository !nyaa !pbi !superdownloads (!superd) !thepiratebay (!tpb) !torrent !torrentz !tt !winehq
* **Downloads (add-ons):** !chrome !firefox (!amo) !myopera !opera (!operaext) !seamonkey !totalcmd !userscripts
* **Downloads (apps):** !androidpit !appbrain !appshopper !bbapps !itunes !market !ovi !wp7
* **Downloads (code):** !bitbucket !codeplex !gist !github !ohloh !searchcode
* **Downloads (intl):** !dpb
* **Downloads (software):** !alternativeto (!altto !alto) !azfonts !baixaki !brew !download !freshmeat !iusethis !macports !macupdate !portableapps !quixey !shareware !software !sourceforge !versiontracker !wakoopa
* **Language (perl):** !metacpan
* **Languages (.net):** !dotnet (!.net) !pinvoke
* **Languages (ada):** !ada
* **Languages (adobe):** !as3 !flex
* **Languages (c++):** !boost !cpp !parashift
* **Languages (clojure):** !clojars !clojuredocs (!clojure)
* **Languages (cocoa):** !cocoa
* **Languages (coldfusion):** !coldfusion (!cf)
* **Languages (csharp):** !csharp
* **Languages (d):** !dp
* **Languages (erlang):** !cean !erlang
* **Languages (go):** !golang
* **Languages (haskell):** !hackage !hayoo !hoogle
* **Languages (html):** !selfhtml !selfhtmlwiki
* **Languages (java):** !java !java4 !java5 !java6 !javadocs (!javadoc) !jdk !lwjgl !mvn !docjar !grepcode !jar (!findjar)
* **Languages (javascript):** !cdn !javascript (!js) !jquery !mdc (!mdn) !mootools (!moo) !npm !yui
* **Languages (latex):** !tex
* **Languages (lisp):** !lisp
* **Languages (lua):** !luaforge
* **Languages (Mathematica):** !mathematica
* **Languages (Matlab):** !matlab !matlabfx
* **Languages (other):** !appcel !ctan !sas !slwiki
* **Languages (perl):** !cpandeps !grepcpan (!gcpan) !mcpan (!cpan) !oldcpan (!searchcpan) !perl !perldoc !perlmod !perlmonks
* **Languages (php):** !cake !cakebook !ci !phpnet (!php) !searchforphp (!sphp) !yii
* **Languages (processing):** !processing (!proc)
* **Languages (python):** !django !djangome !djpackages !matplotlib (!mpl) !nullege !numpy !py3k !pylons !pypi !python (!py) !python3 !scipy !sqlalchemy !web2py
* **Languages (r):** !rseek !cran
* **Languages (racket):** !racket
* **Languages (Ruby):** !railsdock
* **Languages (ruby):** !rails !rdoc !ruby !rubydoc !rubygems
* **Languages (scala):** !scala
* **Languages (scheme):** !srfi
* **Languages (vala):** !vala
* **Languages (xda):** !xdaf (!xda)
* **Libraries/Frameworks:** !android !appengine !drupal !drupalapi (!dapi) !jed !latex !pyramid !pyside !qt (!qtc) !readthedocs !vtkcd !zf
* **Libraries/Frameworks (KDE):** !kcommunity !kprojects !ktb !ktechbase
* **Libraries/Frameworks (wordpress):** !wordpress (!wp) !wpplugins !wpthemes
* **Programming:** !activestate !ahk !apertium !appledev !arcgisres !arduino !blendapi !c2 !catalinstefan !code !dbasx !developpez !dreamincode (!dic) !emacswiki (!emacs) !ieee !khronos !launchpad (!lp) !lpbug !mbug !mdc !mongo !msdn !mskb !nuget !openradar !oreilly (!orielly) !osi !psimplified !regex !rfc !rosettacode !sdz !spr !stackoverflow (!so !metaso) !technet !thinktutorial !timestamp !vimdoc !w3c !w3schools (!w3) !zvon
* **Startups:** !adplanner !alexa !allabolag !compete !crunchbase !msmvps !ose (!linkscape) !quantcast !similar !whois
* **Sysadmin:** !apache !bsd !cve !datasheet !distro !distrowatch !everymac !filext !fsf !fsfe !gnomebugs !gnu !howtoforge (!htf) !iso !linuxfr !linuxmint !lxr !mysql !nginxwiki !openbsd !oracle !parabola !peppermintos !postgresql !senderbase !trisquel !zahe
* **Sysadmin (Arch):** !archaur (!aur) !archlinux !archpkg (!apackages) !archwiki
* **Sysadmin (debian):** !debbug (!dbugs) !debian !debianforums !debianfr !debml !dfiles !dman !dpackages (!dpkg !dpts) !dtag
* **Sysadmin (Fedora):** !fedorawiki
* **Sysadmin (FreeBSD):** !fports !freebsd !freshports !fxr
* **Sysadmin (Gentoo):** !gbugs !gentoowiki !gpackages
* **Sysadmin (man):** !dfman !die !freebsdman !man !mbsdman !nbsdman
* **Sysadmin (network):** !asn !bgp !dig (!host) !dns !doi !geoip !irc !macaddress (!mac) !netcraft !ping !port !rbl !rdns !robtex !serverfault (!sf) !shodanhq (!shodan) !superuser (!su) !traceroute
* **Sysadmin (packages):** !appnr !ebuilds (!ebuild) !openports !pbone !pkgs !pkgsrc !rpmfind (!rpm) !sbo !sbo !slackbuilds !slackbuilds (!slackbuild)
* **Sysadmin (RedHat):** !rbugs
* **Sysadmin (Solaris):** !sunpatch
* **Sysadmin (Ubuntu):** !askubuntu !omgubuntu (!omgu) !ppa !puc !ubuntuforums (!ubuntuf) !ubuntuusers !upackages


* **Big box/department:** !costco !homedepot !ikea !ikeafr !ikeanl !jcpenny !johnlewis (!jl) !macys !madeinusa !staples !target !walmart
* **Online:** !3tailer !allposters !amazon (!a !am !amca !amcn !amde !amit !amfr !amjp !amuk) !ames !amukmp3 !auk !barnesandnoble (!bn) !bol !bookfinder !buy !cafepress !furet !gsuk !okazii !overstock !play !posters !price !shopathome !shopping (!shop) !shopwiki !shopzilla !zappos
* **Online (deals):** !dealextreme (!dx) !dtdeals !fatwallet !hotukdeals !redflagdeals !retailmenot !slickdeals
* **Online (intl):** !allegro !alternate !flipkart !flipkart !fnac !mercadolivre !prisjakt
* **Online (marketplace):** !blocket !ebay (!eb !ebat !ebau !ebbe !ebca !ebch !ebde !ebes !ebfr !ebhk !ebie !ebin !ebit !ebmy !ebnl !ebph !ebpl !ebsg !ebuk) !etsy !half !leboncoin !marktplaats !sulit !trademe !tradera
* **Services:** !coupons !craigslist (ex: couch near boston) !parking !traffic
* **Tech:** !ark !bestbuy !circuitcity !digikey !geizhals (!geiz) !head !headfi !microcenter !monoprice !mouser !newegg !octopart !pollin !pricegrabber !pw !sfe !staticice !thinkgeek !tigerdirect !tweakers
* **Tech (domains):** !domain !dottk !godaddy !iwant !nametoolkit


* **Academic:** !academic !ads !buej !cfp !citeul !collegeconfidential !jstor !legal !mendeley !novoseek !scholar (!gsc) !searchworks !sep !ted !tsr
* **Academic (math/cs):** !acm !aops !cstheory !mathoverflow !mathse !mathworks !mathworld !nlab !sloanes (!oeis !seq)
* **Food:** !allrecipes !bbcfood !cellartracker !chefkoch !epicurious !findlunchin !food !forkd !marmiton !menupages (!mp !mpbo !mpch !mpdc !mpfl !mpla !mpny !mpph !mpsf) !punchfork !recipes !webtender !yummly
* **Government:** !cspan !edgar (!edgart) !entrez !espacenet !fda !gsa !hes !irs !loc !parlysearch (!parly) !patft !pubmed !sba !sec !ukp !usa !wlfind
* **Health:** !cdc !nih
* **Law:** !findlaw
* **Learning:** !allexperts !answers !chacha !ck12 !dbyte !howstuffworks !howthingswork !ifixit !instructables !mitocw (!ocw) !oer !plot !proofwiki !qwiki !scholarpedia !scienceblogs !scirus !sparknotes !squidoo !stex !studydroid !trueknowledge (!tk !tknowledge) !whatis !whi !wikia !wikihow !wikipedia (!w !wiki !wen !wde !weo !wfr !wit !wpl !wnl !wpt !wru !wes !wja !wuk !wno !wnn !wsv !wm !wda) !wikisimple !wikitravel (!wikit) !wikivs !winc !wmeta !wolframalpha (!wolfram !walpha !wa) !wtr !wzh !yanswers
* **Learning (intl):** !elexikon !oolone
* **Local:** !editus !gvpl !pagine
* **Real Estate:** !redfin !trulia !zillow
* **Reference:** !about !album !artist !artwork !bartlets !baseballreference (!br) !biography !britannica !e2 !encyclopedia !genesis !grave !gutenberg !infochimps (!data) !knowyourmeme (!kym) !leo (!leoc !leoe !leof !leoi !leor !leos) !ling !nciku !pdf !perseus !quora !quotes !sep !tvtropes !worldcat !yabsearch
* **Reference (bible):** !bible !biblegateway !esvonline !lds !obb
* **Reference (fun):** !dram (!ed) !meme !tastekid !uncyclopedia !unwiki
* **Reference (Science):** !dbsnp !hgnc !inspire !tof
* **Reference (science):** !pdb
* **Reference (words intl):** !beo (!beoes !beopt) !cnrtl !conj !ddo !diccionari !dirae !drae (!rae) !eneo !hoepli !iec !iteo !jisho !komputeko !naver !sanakirja !seslisozluk !spanishdict (!sdict !sconj) !sskj !sv !treccani !tureng !wiktfr !wwwjdic
* **Reference (Words):** !alc
* **Reference (words):** !acronyms (!acro) !alc !anagram !cald !define (!d) !dexonline !dict !dictcc (!dict.cc !dcc) !dictionary !duden !etymology (!etym) !freedict (!fd) !howjsay !mdbg !mediadico !michaelis !myetym !oed !onelook !orthonet !otran !priberam !pronounce !rhyme !slang !synonymes !synonyms !tfd !thesaurus (!like !t) !translate (!tr) !tyda !uitm !urbandictionary (!urban !ud) !utf8 (!unicode) !vandale !verbomatic (!verb) !wiktionary (!wikt !wt) !wordnet !wordnik !wordreference (!wr !wrfe !wref) !wrenit !writen
* **Topical:** !charitynavigator (!charity) !collegeboard !earth911 (!recycle) !epinions !mednar !memoryalpha (!malpha !startrek) !summitpost !taringa !veroot !webmd !whitewater (!ww)
* **Travel:** !11870 !expedia !gorp !tripadvisor

Online Services

* **Google:** !gaccess !gau !gbk !gblogs !gbooks (!gb) !gcache !gcal !gde !gdocs (!gd) !gfinance (!gf !stock) !ggroups (!gg) !gimages (!gi !gim) !glatest (!gweek !gmonth !gday !g24 !gyear) !glink !glocal !gmail !gmaps (!gm) !gmusic !gnews (!gn !gnde) !gnz !googleuk (!guk) !gpat !gphotos (!gp) !greader (!gr) !grelated !gscholar (!gsc) !gshopping (!gs) !gtranslate (!gt !gturl) !gtrends !gus !gvideos (!gv) !gviewer (!gview) !gwp !gwpde !lmgtfy !dw !gas !gbm !gl !gmob !google (!g !gssl) !gplus !gplusp
* **Jobs:** !careerbuilder !jobs !linkup !monster !reed !simplyhired (!sh)
* **Maps:** !arcgis !bingmaps (!bmaps) !mapquest !openstreetmap (!openstreet !osm) !zemljevid !zumi
* **Search:** !bing (!b) !blekko !ddg !dogpile !ecosia !entireweb !everyclick !goosh !kazazz !mamma !myallsearch !redz !seznam !smallsafari !spezify !start !startpage !swagbucks !yippy !ask !exalead !fluidinfo !fuzz !gblast !geegain !gir !karmadecay !kayak !koders !metacrawler !sp !unscatter !wfi !yahoo (!y !yjp) !yandex (!ya !yaen !yandexm) !yeahway
* **Search (DDG):** !anyr !help !safeoff
* **Search (non-US):** !najdi !soso !yandex !youdao !baidu !eksisozluk !gnfr !optimot !ytw
* **Search (P2P):** !yacy (!peer) !seeks !xdcc
* **Search (Private):** !scroogle (!s) !ixquick
* **Search (Real-time):** !kurrently !lavva !oneriot !topsy !evri !tawlk
* **Social:** !twitter (!tw !tweet) !123people (!123p) !43things !diaspora !dmoz !facebook (!fb) !flattr !fonplus !fotolog !foursquare !friendster !ggroups !greplin !hi5 !identica !jetwick !linkedin (!li) !myspace !r !shoutitout !tweetgrid !wink !xanga
* **Social (intl):** !gulesider !orkut !skyrock !wieowie
* **Social news/links:** !delicious !digg !diigo !historious !jetslide !meneame !metafilter (!mefi) !newsvine !pastebin !pinboard (!pb) !reddit !searchyc (!newsyc !hn !hackernews !yc) !stumbleupon (!stumble) !subreddit !subreddit !thefullwiki (!fullwiki) !wikinews !wykop !xmarks
* **Tools:** !biblsrv !bugmenot (!login) !eggtimer !freenode !geocaching (!geocache) !geonames !gmane !gmap !gookokugo !gopher !idioms !kotobank !linguee !local !map !markmail !oopon !pgp !proxy !qr !random !ripestat !tinyurl !tld !trademarks !tz !validate !viewpdf !yubnub
* **Tools (fundraising):** !indiegogo !kickstarter !rockethub
* **Tools (URLs):** !013 !cache (!cached) !downfor (!updown) !isgd !isup (!isitdown) !longurl !vgd !wayback (!archive !archived) !weboftrust (!wot !mywot) !yinlinks
* **Tracking:** !capost !dhl !dhlde !dhlgm !fedex !ips !lasership (!laser) !ontrac !package !purolator !sfs !tnt !track !ups !usps


* **Aggregators:** !aljazeera !ap !binsearch !blogs !blogspot !bnews !cdt !kicknews !news (!n) !newsmax !newsnow !nzbmatrix (!nzb) !nzbs !reuters !ynews
* **Broadcast:** !abcnews !bbc !cbc !cbsnews !cnn !foxnews !msnbc !npr !pbs
* **Business:** !biznar !bloomberg !businessweek !cnbc !fool !forbes !ft !morningstar !msq !wsj !yfinance (!yf)
* **International:** !globeandmail !globo !heise !intaljazeera !locita !redtram !smh !suntimes !theregister !thestar
* **Magazine:** !chilango !csmonitor !economist !newsweek !newyorker !rollingstone !salon !slate (!slatefr) !telegraph !thenation
* **Magazine (car):** !autocar !caranddriver !carmag (!car) !jalopnik (!jalop) !roadandtrack (!randt)
* **Magazine (fashion):** !blackbookmag (!blackbook) !lucire !vogue !vogueuk
* **Newspaper:** !ajc !chicagotribune !dilbert !guardian !latimes !mercurynews !newsday !nrc (!nrcnext) !nypost !nyt !reflets !sfgate !standard !startribune !usatoday !washingtonpost
* **Newspaper (intl):** !corriere !folha !ilsole24ore !repubblica !rtnews
* **Specialty:** !anidb (!anime) !animenewsnetwork (!ann) !csdb !digitalspy !elreg !fark !huffingtonpost !myanimelist !naruto !nationalgeographic !nds !snopes !tokyotosho !winfu
* **Weather:** !accuweather !bbcw !noaa !wc !weather !weatherbug !webcams !wetter !wnetwork (!twn) !wunderground


* **Books:** !bookdepository !bookflavor !bookmine !booko !epubbud !evirt (!evirtdes !evirted !evirttit !evirtau !evirtat) !feedbooks !goodreads !isbndb !isbnnu !kindle !kindleuk !kobo !library.nu (!librarynu !gigapedia) !librarything !librivox !libuniversitaria (!liberia) !majorbooks !ninja !openbook !shelfari !smashwords !wikibooks
* **Docs:** !ipernity !scribd !slideshare !zoho
* **General:** !iarchive !wmc
* **Images:** !awimg !bimages !blender !clipart !clker !commons !compfight !danbooru !deviantart (!da) !exif !flickr (!flickrc) !flickriver !gettyimages !gimages !gisafeoff (!gisoff) !iconfinder !icons (!icon) !imagenet !imagery !images (!i !image (!img) !iops !iqdb !istockphoto !naturespic !ocal (!oca) !photobucket !pictures !safebooru !shuttershock !stockphotos !sxc !texture !tineye !tinypic !wallbase !wallpaper !whi !yimages
* **Music:** !7digital !abcnotation !albumartcd !allmusic !amazonmp3 !betaport !bmp3 !captaincrawl !chords !clipstijl !concerts !datpiff !deezer !dilandau !discogs !emusic !goear !grooveshark !hypem !imeem !imslp !jamendo !kpop !lastfm !metal !mflow !musicbrainz (!mb) !muspedia !pandora !playlist !podcast !pollstar !popsike !rateyourmusic !rdio !ringtones !rootsarchives !som !songmeanings !songsterr (!stabs) !soundcloud !thesession !thumbplay !tones !ultimateguitar (!ug !tabs !gtabs !btabs) !vagalume
* **Music (Folk):** !folktune !thesession
* **Music (Lyrics):** !azlyrics !batlyrics !darklyrics !ikso !lololyrics !lyricful !lyrics !lyricsmania !lyriki !metrolyrics !slyrics
* **Video:** !bvideos (!bvideo !bv) !crunchyroll !dailymotion !diasporatags !dm !hulu !jeux !metacafe !nico !perfspot !roku !stagevu !truveo !tudou !uzg !vbox7 !veoh !video (!watch !v) !videosift !vimeo !webmenu !wimp


* **Audio:** !hark !progarchives
* **Blogs:** !cracked !perezhilton !theonion !tmz !xkcd
* **Blogs (intl):** !spinoza !urbancomfort
* **Comics:** !bwc !hrwiki !mangafox !xkcd
* **Events:** !eventful !gridcalendar (!grical) !qype !seatgeek !stubhub !ticketmaster !tickets !upcoming !vgg (!vgguk !vggde) !yelp
* **Forum:** !bay12f !duckco !gamejaunt !mozbrowser !newffr !stackexchange (!sx) !zyrv
* **Games (general):** !cc !cheatcc !cheatcodes !crawl !emuparadise !eurogamer !g4tv !gamecheats !gamefaqs !gamepro !gamerankings !gamespot !gamesradar !gamezebo !gfaqs !gog !ign !ign !lparchive !miniclip !miniclip !mobygames !newgrounds !nintendolife !palgn !playasia !rom !rps !scrabblelookup !sporcle !tcrf !tigsource (!tig) !unity
* **Games (Minecraft):** !mcwiki !minecraft !mineforum !minepedia
* **Games (Offline):** !gworkshop
* **Games (offline):** !bay12 !boardgamegeek (!bgg) !d20pfsrd !d20srd (!d20 !d&amp;d) !ifdb !magiccards !rpggeek
* **Games (Pokemon):** !bulbapedia (!bulba) !pokepedia !serebii !smogon !veekun
* **Games (specific):** !abandonia !aion !eve !fgf !finalfantasy !guildwiki !kol !kolw !magmawiki (!magma) !nethack !steam !terraria !tf2wiki !thwiki !touhou !vossey !worldofspectrum (!wos)
* **Games (WOW):** !wowamory (!wowarmoryeu) !wowbattlenet !wowhead !wowpedia
* **Misc:** !dtc !eksi !furaffinity !mcanime !ohinternet
* **Movies:** !albumartdvd !allmovie !allocine !csfd !cultureunplugged !ebert !extratorrent !flickpeek !imdb !iw !jinni !lovefilm !metacritic !moviepilot !netflix !opensubtitles (!osub) !podnapisi !rottentomatoes (!rt) !showtimes !starwars !subscene !subsearch !tmdb !torrentz !trailer !ymovies !zipca
* **Radio:** !blogtalkradio !qrz !radiotimes !reciva !shoutcast !tunein
* **Sports:** !bkr !cbssports !espn !mlb !nba !nfl !nhl !si
* **TV:** !cartoonnetwork !channel5 !discovery !disney !iplayer !itv !mtv !next !radiotimes !thefutoncritic !tivo !tv !tvcom !tvdb !tvguide !tvrage


TSM Invalid file handle passed

If TSM client job failed with and error of “Invalid file handle passed”. Here is a quick solution.

Stop the TSM Client Scheduler service.

net stop "TSM Client Scheduler"

Delete (or rename) the adsm.sys directory. It will be recreated by TSM.


Restart the TSM Client Scheduler service.

net start "TSM Client Scheduler"

Rerun the backup job.

Windows Update error - Missing advpack.dll

Ran into an issue with Microsoft Windows Update Service on two Windows 2003 servers. I use a 3rd party patch management tool that calls the Windows Update API. This issue was preventing the correct list of vulnerabilities and causing Windows Update to error out. One of the servers would report Error number: 0x8DDD0004 the other reported an ActiveX issue.

While exploring solutions I ran into the following error message when opening Add/Remove Windows Components via appwiz.cpl.


I tried checking the backup to find when the file changed or went missing. However the backup software failed to launch. Windows Search found a copy of the file in “%SystemRoot%\ServicePackFiles\i386”. Copy and pasted it into “%SystemRoot%\System32”.


In order to repair Windows Update I also needed to stop the bits and Windows Update service, rename the “%SystemRoot%\SoftwareDistribution” directory then restart the services.

%Windir%\system32\net.exe stop bits
%Windir%\system32\net.exe stop wuauserv

Ren %systemroot%\SoftwareDistribution *.bak
rd /s /q %windir%\SoftwareDistribution

%Windir%\system32\net.exe start bits
%Windir%\system32\net.exe start wuauserv

Everything works like a charm. Now to figure out what happened to my DLL.

NATO phonetic alphabet background

Communicate clearly using the Nato phonetic alphabet background. It is difficult to accurately convey an asset tag, serial number, model number, etc to a peer or offsite support. Aside from phone clarity there is often accent or language barriers.

If you are using a Microsoft Windows OS you can quickly add the Nato phonetic alphabet to your desktop background. Grab a copy of the Sysinternals tool Bginfo. Then download the nato.bgi configuration file.


Chrome socks5 command line switch

In Windows the Chrome browser uses your system wide proxy settings. This can be a problem if you have a need to run different browsers and/or applications. An example would be running a Secure Shell proxy to get through a content filtering firewall.

To get around the Chrome system wide proxy settings, use a command line switch. Open or create a shortcut to Chrome/Chromium



Replace with your proxy address and 8080 with your proxy port.

Tail files with Powershell

For those note aware of the GNU Tail utility, it will print the last n lines of text from a file. It is an invaluable tool for monitoring log files.

Since Windows does not have an equivalent command this is quite useful. Using the Powershell Get-Content cmdlet will print the contents of a file. The -wait parameter will print additional lines as they are added.

Get-Content filename -wait

Be aware that this is slow on large files.

Windows 2003 hung saving your settings

Every so often I will run into the error where a Windows 2003 server will get stuck logging off a user. The console screen will display the message “Saving your settings”.

I recently run into this issue while needing to remotely reboot the server. The server in question did not have any kind of remote access card. However the server was running RAdmin software and I was able to get a console screen open. Both shutdown and psshutdown commands failed to run. Running “query session” and “query user” didn’t give me any active sessions to reset.

Ultimately I used pskill to kill the winlogon.exe process. Once the process was killed I was able to log on via console and/or RDP.

Fix Shrew Soft VPN on Ubuntu 11.04

After upgrading my system to Ubuntu 11.04 I was no longer able to establish a VPN connection. Shrew Soft VPN would time out. It appears that the Reverse Path Filter was causing the issue.

Found the following solution:

Edit your network-security.conf to disable the Reverse Path Filter:

sudo vim /etc/sysctl.d/10-network-security.conf

Set the following items from 1 to 0:


Save and perform the following command.

sudo /sbin/sysctl -p

Lenovo T400 will not power on

Ran into a problem with my Lenovo T400. The laptop would not power on. No lights of any kind. Tried with and without the battery and/or AC adapter. Found these instructions while searching around for a solution:

  • Ensure nothing is plugged into the computer
    • Remove the battery
    • Press power button 10 times
    • Press power button down for 30 seconds
    • Press power button twice
    • Attach ac adapter
    • Press power button once. PC should come up. Perform normal start up. Everything should be fine.
  • Shut down and reinstall the battery

Worked like a charm.

Generate QR codes on Wolframalpha

The computational knowledge engine wolframalpha.com can now generate QR Codes. If you type in “QR Code:” followed by the information (up to 7KB of data) you want encoded a QR Code is generated with the option to change the size, download as a PDF.


Thumb drive toolkit

A Windows Administrator USB toolkit. The following is a collection of free and/or open source tools I like to keep on hand. ### Portable Apps collection


PortableApps.com Suite™ is a complete collection of portable apps including a web browser, email client, office suite, calendar/scheduler, instant messaging client, antivirus, audio player, sudoku game, password manager, PDF reader, minesweeper clone, backup utility and integrated menu, all preconfigured to work portably. Just drop it on your portable device and you’re ready to go.

PortableApps has a huge number of programs available. Some more useful than others. Here are the apps I like to keep in my toolkit.

  • KeePass - Encrypted password database
  • Chrome - Chrome browser
  • Putty - Secure Shell / telnet client
  • LibreOffice - OpenOffice fork
  • Notepad++ - Highly usable text editor
  • 7zip - File archiver with a high compression ratio.
  • ClamWin - Antivirus
  • FileZilla - FTP client
  • InfraRecorder - CD/DVD read/write
  • winMd5Sum - md5sum check and compair
  • WinSCP - Secure copy client.
  • Windows Error Lookup Tool


An useful set of tools made my Mark Russinovich now available through Microsoft. Take some time and browse through the available tools. I find I use the Sysinternal tools almost everyday. Not sure how someone would administer Windows without them.

Sysinternals Suite The entire set of Sysinternals Utilities rolled up into a single download. PsTools The PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.

Keep your Sysinternals tools up to date with using a Portable Apps compatible tool WSCC


Found a nice batch file to keep your Sysinternals tools updated over at SysadminGeek.com


TITLE Sysinternals Updater
ECHO Sysintenals Updater
ECHO Written by: Jason Faulkner
ECHO SysadminGeek.com


SET SysInternalsTools="%Temp%\SysInternalsTools.tmp.txt"
SET CurrentTasks="%Temp%\CurrentTasks.tmp.txt"
SET StartWhenFinished="%Temp%\StartWhenFinished.tmp.txt"

ECHO Detected directory: %~dp0
CD %~p0

ECHO Downloading current tool list...
SET LiveShare=\\live.sysinternals.com\tools
START /MIN %LiveShare%
DIR %LiveShare% /B &amp;gt; %SysInternalsTools%
TASKLIST &amp;gt; %CurrentTasks%
ECHO ;Terminated tools &amp;gt; %StartWhenFinished%

ECHO Updating installed SysInternals tools
FOR /F %%A IN ('DIR /B') DO (
    FOR /F "usebackq" %%B IN (%SysInternalsTools%) DO (
        IF /I [%%A]==[%%B] (
            ECHO Updating %%A
            FOR /F "usebackq" %%C IN (%CurrentTasks%) DO (
                IF /I [%%A]==[%%C] (
                    ECHO %%C is currently running, killing process - queue restart
                    ECHO %%C &amp;gt;&amp;gt; %StartWhenFinished%
                    TASKKILL /IM %%A /T /F
            XCOPY %LiveShare%\%%B %%A /Y

ECHO Resuming killed tasks
FOR /F "usebackq skip=1" %%A IN (%StartWhenFinished%) DO (
    ECHO Starting %%A
    START "Sysinternals Tool" "%%A"

IF EXIST %SysInternalsTools% DEL %SysInternalsTools%
IF EXIST %CurrentTasks% DEL %CurrentTasks%
IF EXIST %StartWhenFinished% DEL %StartWhenFinished%



MS recently added Sysinternals Live. Description below from their site.

Sysinternals Live

Sysinternals Live is a service that enables you to execute Sysinternals tools directly from the Web without hunting for and manually downloading them. Simply enter a tool’s Sysinternals Live path into Windows Explorer or a command prompt as http://live.sysinternals.com/ or live.sysinternals.comtools.

You can view the entire Sysinternals Live tools directory in a browser at http://live.sysinternals.com.


Darik’s Boot And Nuke

Darik’s Boot and Nuke (“DBAN”) is a self-contained boot disk that securely wipes the hard disks of most computers. DBAN will automatically and completely delete the contents of any hard disk that it can detect, which makes it an appropriate utility for bulk or emergency data destruction.

If you deal with server decomisions on a regular basis, this is an invaluable tool. This bootable image will allow your to perform a DOD compliant drive wipe.

Any additional tools you must have on hand?

m0n0wall site to site VPN

Configuring site to site VPN using two m0n0wall boxes is a snap.

There are a couple of things you will want to know ahead of time.

  • The IP address or FQDN of both firewalls WAN interface.
  • Internal subnet of both networks.
  • The shared key (password).

Log into your firewall and head to the VPN/IPSec section. Click the + sign to get started. Assuming you are connecting two boxes across the internet, set the Interface to “WAN”. The Local subnet should be set to “LAN subnet” As the name implies, set the Remote subnet to the remote subnet in the form of “” (verify the subnet in the Interfaces: LAN page of the remote firewall). Set the Remote gateway to either the public IP or FQDN of the remote box.


Important: Using the settings Local & Remote subnet settings above both ends will have complete access to each others LAN. Modify these settings and/or your firewall rules accordingly.

Negotiation mode = aggressive For My identifier choose the appropriate item from the drop down list. I am using “Domain name” in the example image. The identified should be the domain name of your local firewall.

  • Encryption algorithm = Blowfish
  • Hash algorithm = SHA1
  • DH key group = 2
  • Lifetime default 28800
  • Authentication method = Pre-shared key
  • Pre-Shared Key = A password you will be using on both ends.


  • Protocol = ESP
  • Encryption algorithms check Blowfish
  • Hash algorithms check SHA1
  • PFS key group = 2
  • Lifetime default 86400


Once completed you will need to apply the same settings to the other m0n0wall system. Remote subnet, Remote gateway and My Identifier will need to be reversed.

Determine if your processor is 64bit capable

Determine if your processor is 64bit capable

Grep the output of /proc/cpuinfo for the lm (long mode) flag.

`grep lm /proc/cpuinfo`
`flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm ida dts tpr_shadow vnmi flexpriority
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm ida dts tpr_shadow vnmi flexpriority`

Long Mode (lm) description via Wikipedia: >In the x86-64 computer architecture, long mode is the mode where a 64-bit application (or operating system) can access the 64-bit instructions and registers. 32-bit programs and 16-bit protected mode programs are executed in a compatibility sub-mode; real mode or virtual 8086 mode programs cannot run in this mode.

Identification and resolution of Volume Shadow Copy Service errors

Identification and resolution of Volume Shadow Copy Service errors.

Identify the problem writers using vssadmin

vssadmin syntax:

vssadmin list {shadows [/set= [shadow copy set GUID]] | writers | providers}
vssadmin delete shadows /for= [/oldest | /all | /shadow=] [/quiet]`

Let's start off by checking the state of the VSS Writers

C:\vssadmin list writers

vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool (C) Copyright 2001 Microsoft Corp.

Writer name: 'System Writer'
Writer Id: {e8132975-6f93-4464-a53e-1050253ae220}
Writer Instance Id: {449e12cf-6b8f-4d75-a821-bc869d6612c4}
State: [1] Failed
Last error: No error

Writer name: 'SqlServerWriter'
Writer Id: {a65faa63-5ea8-4ebc-9dbd-a0c4db26912a}
Writer Instance Id: {de3b2861-77f6-43f8-8619-64dc9ea2fbcf}
State: [1] Stable
Last error: No error

Writer name: 'MSDEWriter'
Writer Id: {f8544ac1-0611-4fa5-b04b-f7ee00b03277}
Writer Instance Id: {9036fdfa-05ef-4f7d-9c2f-84fa2f06560a}
State: [1] Stable
Last error: No error

Writer name: 'WMI Writer'
Writer Id: {a6ad56c2-b509-4e6c-bb19-49d8f43532f0}
Writer Instance Id: {f9f92826-a3d4-486c-ade3-a4201deb8ad2}
State: [7] Failed
Last error: No error

The output above is showing the System and WMI writers in a Failed state.

Most issues with VSS can be resolved by a server reboot. Rebooting the server is not often a viable option in a production environment where uptime is an issue. Let's take a look at some of our other options.

Identify the services associated with the failed writers. Search the registry for the Writer Id and/or Google it.

I have identified the failed writers as:
System Writer is the Cryptographic service.
WMI Writer is the Windows Management Instrumentation service.

Restart both services and recheck the output of ***vssadmin list writers***

C:\vssadmin list writers

vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool (C) Copyright 2001 Microsoft Corp.

Writer name: 'System Writer'
Writer Id: {e8132975-6f93-4464-a53e-1050253ae220}
Writer Instance Id: {449e12cf-6b8f-4d75-a821-bc869d6612c4}
State: [1] Stable
Last error: No error

Writer name: 'SqlServerWriter'
Writer Id: {a65faa63-5ea8-4ebc-9dbd-a0c4db26912a}
Writer Instance Id: {de3b2861-77f6-43f8-8619-64dc9ea2fbcf}
State: [1] Stable
Last error: No error

Writer name: 'MSDEWriter'
Writer Id: {f8544ac1-0611-4fa5-b04b-f7ee00b03277}
Writer Instance Id: {9036fdfa-05ef-4f7d-9c2f-84fa2f06560a}
State: [1] Stable
Last error: No error

Writer name: 'WMI Writer'
Writer Id: {a6ad56c2-b509-4e6c-bb19-49d8f43532f0}
Writer Instance Id: {f9f92826-a3d4-486c-ade3-a4201deb8ad2}
State: [7] Stable
Last error: No error

As you can see above the VSS issues have been resolved by restarting the associated services.

Other VSS errors might not be as straight forward. Let's looks at some additional options:

Clean up any dead VSS snapshots. Some defect systems accumulate hundreds of VSS snapshots that persist in the system and cause Windows to become unresponsive.

    vssadmin delete shadows /all

Restart the services: COM+ System Application Service, Distributed Transaction Coordinator Service, and Volume Shadow Copy Service

Rerun ***vssadmin list writers*** and check the output.

Additionally recommended by Microsoft: create a batch file to start/stop the VSS services and reregister the DLLs.

cd /d %windir%\system32
net stop vss
net stop swprv
regsvr32 ole32.dll
regsvr32 vss_ps.dll
Vssvc /Register
regsvr32 /i swprv.dll
regsvr32 /i eventcls.dll
regsvr32 es.dll
regsvr32 stdprov.dll
regsvr32 vssui.dll
regsvr32 msxml.dll
regsvr32 msxml3.dll
regsvr32 msxml4.dll
regsvr32 Vssapi.dll
regsvr32 Vssui.dll
net start vss
net start swprv

net stop vss
net stop swprv
regsvr32.exe /i %windir%\system32\eventcls.dll
regsvr32.exe /i %windir%\system32\swprv.dll
regsvr32.exe %windir%\system32\vssui.dll
regsvr32.exe %windir%\SysWOW64\vss_ps.dll
regsvr32.exe %windir%\SysWOW64\msxml.dll
regsvr32.exe %windir%\SysWOW64\msxml2.dll
regsvr32.exe %windir%\SysWOW64\msxml3.dll
regsvr32.exe %windir%\SysWOW64\msxml4.dll
regsvr32.exe %windir%\SysWOW64\ole32.dll
regsvr32.exe %windir%\SysWOW64\oleaut32.dll
regsvr32.exe %windir%\SysWOW64\es.dll
regsvr32.exe %windir%\SysWOW64\comsvcs.dll
vssvc /register
net start swprv
net start vss

Batch convert images with ImageMagick

Batch convert image files with ImageMagick

I recently had a number of SVG images that needed to be converted to PNG. There are a few applications that are capable of converting (Gimp, Photoshop, etc). However I wanted something simple that could batch convert them. Little did I know I already had it installed. The application is called ImageMagick.

mogrify -format png *.svg

There are an incredible number of options available. Head on over to the ImageMagick site for more details.


Restart Terminal Services without rebooting

Restart Terminal Services Without Rebooting

Microsoft Windows 2003 and lower does not allow you start or stop the Terminal Services service. However if you can’t schedule a server reboot there is an alternative.

Download the Sysinternals tool Process Explorer 

Using Process Explorer locate the svchost.exe -k termsvcs process. There will be a number of running svchost.exe processes. Hover your mouse over them to identify the correct one. Once you find it, right click and kill it. The Terminal Services service will now be stopped.


Restart the service (no longer greyed out) and your good to go.

Ubuntu Lucid performance tweaks

I use these setting on a laptop with a Core 2 Duo and 4 GB of ram. It might seem like overkill to tweak this system. However since it is a work machine at any time I am running Lotus Notes, VirtualBox, OpenOffice, Chrome, etc. Should you have a system with limited resources I would recommend Xubuntu for a light full featured DE. For something a step up from CLI and very light try any of the open flux blackbox window managers.

Looking to get a bit more performance from your Ubuntu desktop (laptop)? Here are a few tweaks I currently use.


We all know what a bottleneck swap can be. This setting will force your system to keep more data in cache. The applications/data in cache will feel be more responsive as they are not unloaded to disk/swap. Experiment and find what works best for you.

Swap file is controlled by a variable called “swappiness” and higher the number, greater the tendency to go to the disk.

  • swappiness can have a value of between 0 and 100
  • swappiness=0 tells the kernel to avoid swapping processes out of physical memory for as long as possible
  • swappiness=100 tells the kernel to aggressively swap processes out of physical memory and move them to swap cache

Identify your current system swappiness and vfs_cache_pressue settings by using the commands below.


$ sudo cat /proc/sys/vm/swappiness


$ sudo cat /proc/sys/vm/vfs_cache_pressure

Ubuntu’s default swappiness value is 60, vfs_cache_pressure value is 100.

Now change your swappiness to 10 and cache_pressure to 50.

$ sudo sysctl -w vm.swappiness=10
 	$ sudo sysctl -w vm.vfs_cache_pressure=50

The changes above using sysctl are for testing, they will be reset on reboot. When you are comfortable making the settings persistent they will need to be added to the /etc/sysctl.conf file.

$ sudo vim /etc/sysctl.conf

Add the following to the end of the file.

# swap/ram tweaks

Additional reading: Ubuntu Community Documentation: SwapFaq.

CPU Scaling:

$CPU_THRESHOLD setting is the point that your system will increase/decrease the processor frequency. In the example below we will set this value to 40. When your CPU sampled load rate exceeds 40% the CPU frequency will scale. Adjust as needed.

To change the CPU threshold you will need to add the following command into your /etc/init.d/ondemand script.

for CPU_THRESHOLD in /sys/devices/system/cpu/cpu*/cpufreq/ondemand/up_threshold
		[ -f $CPU_THRESHOLD ] || continue
		echo -n 40 &amp;gt; $CPU_THRESHOLD

Open /etc/init.d/ondemand and add the code above into the $CPUFREQ for loop.

$ sudo vim /etc/init.d/ondemand

It should looks like this when added.

for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
		[ -f $CPUFREQ ] || continue
		echo -n ondemand &amp;gt; $CPUFREQ
		for CPU_THRESHOLD in /sys/devices/system/cpu/cpu*/cpufreq/ondemand/up_threshold
			[ -f $CPU_THRESHOLD ] || continue
			echo -n 40 &amp;gt; $CPU_THRESHOLD

Some people recommend changing the $CPUFREQ from ondemand to performance. Doing so will set your processor to full speed. This option is not recommended for a laptop as it will drain your battery and might cause heat issues. For a standard desktop it might be worth testing out.


This script reminds me of powerpill for Archlinux. Powerpill is a wrapper for Arch’s package management tool pacman. As you might have guessed apt-fast is a wrapper for apt-get. Apt-fast uses Alex download accelerator as opposed to apt/aptitude’s use of wget. Axel is available in the standard repositories and is required for the script to function.

Download apt-fast here

Save the script and make it executable.

$ sudo chmod +x /usr/local/bin/apt-fast

Use the script as you would apt.

Download atp-fast from http://www.mattparnell.com/linux/apt-fast


There was a bug in previous version of Gnome that caused a performance problem when the hostname was missing from the /etc/hosts file. It is easy enough to address and will not cause any issues.

Edit /etc/hosts and add your hostname to the loopback address. Replace myserver.mydomain.com myserver with your actual hsotname. myserver.mydomain.com myserver localhost

Note: These settings are not recommend for use on server systems.

Unrar multiple files

Unrar Multiple Files

Not something you run into everyday. However when you need to unrar multiple files in a directory, the following command is handy:

$ find -type f -name '*.rar' -exec unrar x {} \;

apt-get package management

debian-logo apt-get is the package management utility behind Debian-based Linux systems Ubuntu, Mint and Mepis.

A complete list of distributions based on Debian can be found on Distrowatch. ### Basic Package Management: apt-get update

Used to resynchronize the package index files from their sources. The indexes of available packages are fetched from the location(s) specified in /etc/apt/sources.list. For example, when using a Debian archive, this command retrieves and scans the Packages.gz files, so that information about new and updated packages is available.

An update should always be performed after making changes to the source.list and before an upgrade or dist-upgrade.

apt-get upgrade

upgrade is used to install the newest versions of all packages currently installed on the system from the sources enumerated in /etc/apt/sources.list. Packages currently installed with new versions available are retrieved and upgraded; under no circumstances are currently installed packages removed, or packages not already installed retrieved and installed. New versions of currently installed packages that cannot be upgraded without changing the install status of another package will be left at their current version.

An update must be performed first so that apt-get knows that new versions of packages are available.

apt-get dist-update

dist-upgrade, in addition to performing the function of upgrade, also intelligently handles changing dependencies with new versions of packages; apt-get has a “smart” conflict resolution system, and it will attempt to upgrade the most important packages at the expense of less important ones if necessary. The /etc/apt/sources.list file contains a list of locations from which to retrieve desired package files. See also apt_preferences for a mechanism for overriding the general settings for individual packages.

apt-get install xxx yyy zzz

install is followed by one or more packages desired for installation. Each package is a package name, not a fully qualified filename (for instance, in a Debian GNU/Linux system, libc6 would be the argument provided, not libc6_1.9.6-2.deb). All packages required by the package(s) specified for installation will also be retrieved and installed. The /etc/apt/sources.list file is used to locate the desired packages. If a hyphen is appended to the package name (with no intervening space), the identified package will be removed if it is installed. Similarly a plus sign can be used to designate a package to install. These latter features may be used to override decisions made by apt-get’s conflict resolution system.

apt-get remove xxx yyy zzz

remove is identical to install except that packages are removed instead of installed. If a plus sign is appended to the package name (with no intervening space), the identified package will be installed instead of removed.

apt-get purge xxx yyy zzz

Remove programs xxx, yyy and zzz and delete any configuration files that they used.

apt-get check

check is a diagnostic tool; it updates the package cache and checks for broken dependencies.

apt-get clean

clean clears out the local repository of retrieved package files. It removes everything but the lock file from /var/cache/apt/archives/ and /var/cache/apt/archives/partial/. When APT is used as a dselect method, clean is run automatically. Those who do not use dselect will likely want to run apt-get clean from time to time to free up disk space.

apt-get autoclean

Like clean, autoclean clears out the local repository of retrieved package files. The difference is that it only removes package files that can no longer be downloaded, and are largely useless. This allows a cache to be maintained over a long period without it growing out of control. The configuration option APT::Clean-Installed will prevent installed packages from being erased if it is set to off.

apt-get autoremove

autoremove is used to remove packages that were automatically installed to satisfy dependencies for some package and that are no more needed.

Compiling Packages:

apt-get source xxx

source causes apt-get to fetch source packages. APT will examine the available packages to decide which source package to fetch. It will then find and download into the current directory the newest available version of that source package. Source packages are tracked separately from binary packages via deb-src type lines in the sources.list file. This probably will mean that you will not get the same source as the package you have installed or as you could install.

If either –b, –-compile or –build is specified then the package will be compiled to a binary .deb using dpkg-buildpackage

If –download-only is specified then the source package will not be unpacked.Or its build dependencies?

apt-get build-dep xxx

build-dep causes apt-get to install/remove packages in an attempt to satisfy the build dependencies for a source package.

This information and more can me found on the apt-get man page.

Persistent Gnome shell in Lucid

GNOME Shell is the defining technology of the GNOME 3 desktop user experience. It provides core interface functions like switching to windows and launching applications. GNOME Shell takes advantage of the capabilities of modern graphics hardware and introduces innovative user interface concepts to provide a delightful and easy to use experience.

Availability and Status

The GNOME Shell is currently in active development and while many planned features are not yet implemented it is stable enough for everyday use.

Previews of GNOME Shell should be available in most GNOME based distributions. You can follow these instructions to try out the GNOME Shell package on your distribution. If you are interested in trying out the latest features or being a part of the development of the future of GNOME please check out the instructions for building it yourself.

A stable version of GNOME Shell will be released as an integral part of GNOME 3 in September 2010.




Gnome-shell is still a work in progress, however it is quite usable.

$ sudo add-apt-repository ppa:ricotz/testing
$ sudo apt-get update
$ sudo apt-get install gnome-shell

$ gnome-shell --replace

After testing if you would like to make it persistent:

$ sudo update-alternatives --config x-window-manager

Select “mutter” gnomeshell-term

$ sudo cp /usr/share/applications/gnome-shell.desktop /etc/xdg/autostart

The gnome-shell is now the default interface. Enjoy ### UPDATE: (07/12/2010) The most recent update of Gnome-shell has a dependency of GTK+ 3.0 and will not work. > With the GNOME Shell 2.31.5 release, this GNOME 3.0 desktop shell is dependent upon GTK+ 3.0. GNOME Shell will no longer work with the GTK+ 2.x library. Other changes since the previous GNOME Shell release include various bug and build fixes. Lastly, Mutter 2.31.5 has also picked up support for building against GTK+ 3.0. via Phoronox

UPDATE: (07/15/2010)

Per Rico Tzschichholz


There are issues with the gobject-introspection update which is causing much trouble.


$ sudo apt-get install ppa-purge
$ sudo ppa-purge -p testing ricotz

Google Chrome PDF reader

With this effort, we will accomplish the following:

  • PDF files will render as seamlessly as HTML web pages, and basic interactions will be no different than the same interactions with web pages (for example, zooming and searching will work as users expect). PDF rendering quality is still a work in progress, and we will improve it substantially before releasing it to the beta and stable channels.
  • To further protect users, PDF functionality will be contained within the security sandbox Chrome uses for web page rendering.
  • Users will automatically receive the latest version of Chrome’s PDF support; they won’t have to worry about manually updating any plug-ins or programs.


The latest dev release of Google’s Chrome browser contains a built-in PDF reader. The plug-in can be enabled by going to chrome://plugins/ and clicking on “Enable” for the “Chrome PDF Viewer” plug-in.


BOINC cli for World Community Grid

BOINC - Berkeley Open Infrastructure for Network Computing

BOINC is a distributed [grid] computing client that uses idle time on your computer. There are a number of projects that you can attach to and assist with. I will cover how to connect to the World Community Grid via CLI on Ubuntu.

World Community Grid

World Community Grid’s mission is to create the world’s largest public computing grid to tackle projects that benefit humanity.

Our work has developed the technical infrastructure that serves as the grid’s foundation for scientific research. Our success depends upon individuals collectively contributing their unused computer time to change the world for the better.

World Community Grid is making technology available only to public and not-for-profit organizations to use in humanitarian research that might otherwise not be completed due to the high cost of the computer infrastructure required in the absence of a public grid. As part of our commitment to advancing human welfare, all results will be in the public domain and made public to the global research community.

Installation & Configuration

This is a description of how to run BOINC on Ubuntu without Xorg. Install the boinc-client, boinc-manager is not required.

$ sudo apt-get update
$ sudo apt-get install boinc-client

You will need your <account key> to connect to the project. The account key can be obtained either from the command line or the World Community Grid site.

If you do not already have an account you will need to set one up before proceeding.

Account Key via boinccmd:

$ boinccmd --lookup_account http://www.worldcommunitygrid.org <username> <password>

If everything went well you should see the following output:

[email protected]:~$ boinccmd --lookup_account http://www.worldcommunitygrid.org username password
status: Success
poll status: operation in progress
account key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

If you have an existing account or just set one up the key can be found under your profile in the World Community Grid site.

$ boinccmd --host localhost --project_attach http://www.worldcommunitygrid.org account key

Everything should be up and running.

Below is a list of boinccmd options.

usage: boinccmd [--host hostname] [--passwd passwd] command

--lookup_account URL email passwd
--create_account URL email passwd name
--project_attach URL auth          attach to project
--join_acct_mgr URL name passwd    attach account manager
--quit_acct_mgr                    quit current account manager
--get_state                        show entire state
--get_results                      show results
--get_simple_gui_info              show status of projects and active results
--get_file_transfers               show file transfers
--get_project_status               show status of all attached projects
--get_disk_usage                   show disk usage
--get_messages [ seqno ]           show messages &amp;gt; seqno
--get_message_count                show largest message seqno
--version, -V                      show core client version
--result url result_name op        job operation
op = suspend | resume | abort | graphics_window | graphics_fullscreen
--project URL op                   project operation
op = reset | detach | update | suspend | resume | nomorework | allowmorework
--file_transfer URL filename op    file transfer operation
op = retry | abort
--set_run_mode mode duration       set run mode for given duration
mode = always | auto | never
--set_network_mode mode duration
--set_debts URL1 std1 ltd1 [URL2 std2 ltd2 ...]
--get_project_config URL