Darktable – Photo Management under Ubuntu

Whilst I am by no means a photographer I do end up taking quite a few photos (these days pretty much exclusively on my phone) and the management of these photos can be a pain. So far I have never found an program worth the pain over plain old file management.

But having stumbled across Darktable (http://darktable.org/) I think I might have found a worthwile package.

Screenshot

Install on Ubuntu:

sudo add-apt-repository ppa:pmjdebruijn/darktable-release
sudo apt-get update
sudo apt-get install darktable

Bulk converting Office documents to PDF

When you need to convert multiple documents to PDF for distribution (or from one Office format to another) there are a few utilities around. The most workable I found is the UNOCONV utility which is build on top of LibreOffice / OpenOffice. This uses the OpenOffice conversion facilities rather than a simple PDF print driver.

On Ubuntu it can be installed via Software Center or via apt-get from the core repositories.
sudo apt-get install unoconv
Combined with the -exec option of the Unix find command this makes conversion of whole directory structures a breeze.
#find all Word Documents and convert to PDF
find . -name "*.doc*" -exec unoconv -f pdf {} \;
#find all Powerpoint Documents and convert to PDF
find . -name "*.ppt*" -exec unoconv -f pdf {} \;

To show all the possible conversion formats you can use:
unoconv --show
The following list of document formats are currently available:

bib – BibTeX [.bib]
doc – Microsoft Word 97/2000/XP [.doc]
doc6 – Microsoft Word 6.0 [.doc]
doc95 – Microsoft Word 95 [.doc]
docbook – DocBook [.xml]
html – HTML Document (OpenOffice.org Writer) [.html]
odt – ODF Text Document [.odt]
ott – Open Document Text [.ott]
ooxml – Microsoft Office Open XML [.xml]
pdf – Portable Document Format [.pdf]
rtf – Rich Text Format [.rtf]
latex – LaTeX 2e [.ltx]
sdw – StarWriter 5.0 [.sdw]
sdw4 – StarWriter 4.0 [.sdw]
sdw3 – StarWriter 3.0 [.sdw]
stw – Open Office.org 1.0 Text Document Template [.stw]
sxw – Open Office.org 1.0 Text Document [.sxw]
text – Text Encoded [.txt]
mediawiki – MediaWiki [.txt]
txt – Text [.txt]
uot – Unified Office Format text [.uot]
vor – StarWriter 5.0 Template [.vor]
vor4 – StarWriter 4.0 Template [.vor]
vor3 – StarWriter 3.0 Template [.vor]
xhtml – XHTML Document [.html]

The following list of graphics formats are currently available:

bmp – Windows Bitmap [.bmp]
emf – Enhanced Metafile [.emf]
eps – Encapsulated PostScript [.eps]
gif – Graphics Interchange Format [.gif]
html – HTML Document (OpenOffice.org Draw) [.html]
jpg – Joint Photographic Experts Group [.jpg]
met – OS/2 Metafile [.met]
odd – OpenDocument Drawing [.odd]
otg – OpenDocument Drawing Template [.otg]
pbm – Portable Bitmap [.pbm]
pct – Mac Pict [.pct]
pdf – Portable Document Format [.pdf]
pgm – Portable Graymap [.pgm]
png – Portable Network Graphic [.png]
ppm – Portable Pixelmap [.ppm]
ras – Sun Raster Image [.ras]
std – OpenOffice.org 1.0 Drawing Template [.std]
svg – Scalable Vector Graphics [.svg]
svm – StarView Metafile [.svm]
swf – Macromedia Flash (SWF) [.swf]
sxd – OpenOffice.org 1.0 Drawing [.sxd]
sxd3 – StarDraw 3.0 [.sxd]
sxd5 – StarDraw 5.0 [.sxd]
tiff – Tagged Image File Format [.tiff]
vor – StarDraw 5.0 Template [.vor]
vor3 – StarDraw 3.0 Template [.vor]
wmf – Windows Metafile [.wmf]
xhtml – XHTML [.xhtml]
xpm – X PixMap [.xpm]

The following list of presentation formats are currently available:

bmp – Windows Bitmap [.bmp]
emf – Enhanced Metafile [.emf]
eps – Encapsulated PostScript [.eps]
gif – Graphics Interchange Format [.gif]
html – HTML Document (OpenOffice.org Impress) [.html]
jpg – Joint Photographic Experts Group [.jpg]
met – OS/2 Metafile [.met]
odg – ODF Drawing (Impress) [.odg]
odp – ODF Presentation [.odp]
otp – ODF Presentation Template [.otp]
pbm – Portable Bitmap [.pbm]
pct – Mac Pict [.pct]
pdf – Portable Document Format [.pdf]
pgm – Portable Graymap [.pgm]
png – Portable Network Graphic [.png]
pot – Microsoft PowerPoint 97/2000/XP Template [.pot]
ppm – Portable Pixelmap [.ppm]
ppt – Microsoft PowerPoint 97/2000/XP [.ppt]
pwp – PlaceWare [.pwp]
ras – Sun Raster Image [.ras]
sda – StarDraw 5.0 (OpenOffice.org Impress) [.sda]
sdd – StarImpress 5.0 [.sdd]
sdd3 – StarDraw 3.0 (OpenOffice.org Impress) [.sdd]
sdd4 – StarImpress 4.0 [.sdd]
sxd – OpenOffice.org 1.0 Drawing (OpenOffice.org Impress) [.sxd]
sti – OpenOffice.org 1.0 Presentation Template [.sti]
svg – Scalable Vector Graphics [.svg]
svm – StarView Metafile [.svm]
swf – Macromedia Flash (SWF) [.swf]
sxi – OpenOffice.org 1.0 Presentation [.sxi]
tiff – Tagged Image File Format [.tiff]
uop – Unified Office Format presentation [.uop]
vor – StarImpress 5.0 Template [.vor]
vor3 – StarDraw 3.0 Template (OpenOffice.org Impress) [.vor]
vor4 – StarImpress 4.0 Template [.vor]
vor5 – StarDraw 5.0 Template (OpenOffice.org Impress) [.vor]
wmf – Windows Metafile [.wmf]
xhtml – XHTML [.xml]
xpm – X PixMap [.xpm]

The following list of spreadsheet formats are currently available:

csv – Text CSV [.csv]
dbf – dBASE [.dbf]
dif – Data Interchange Format [.dif]
html – HTML Document (OpenOffice.org Calc) [.html]
ods – ODF Spreadsheet [.ods]
ooxml – Microsoft Excel 2003 XML [.xml]
ots – ODF Spreadsheet Template [.ots]
pdf – Portable Document Format [.pdf]
sdc – StarCalc 5.0 [.sdc]
sdc4 – StarCalc 4.0 [.sdc]
sdc3 – StarCalc 3.0 [.sdc]
slk – SYLK [.slk]
stc – OpenOffice.org 1.0 Spreadsheet Template [.stc]
sxc – OpenOffice.org 1.0 Spreadsheet [.sxc]
uos – Unified Office Format spreadsheet [.uos]
vor3 – StarCalc 3.0 Template [.vor]
vor4 – StarCalc 4.0 Template [.vor]
vor – StarCalc 5.0 Template [.vor]
xhtml – XHTML [.xhtml]
xls – Microsoft Excel 97/2000/XP [.xls]
xls5 – Microsoft Excel 5.0 [.xls]
xls95 – Microsoft Excel 95 [.xls]
xlt – Microsoft Excel 97/2000/XP Template [.xlt]
xlt5 – Microsoft Excel 5.0 Template [.xlt]
xlt95 – Microsoft Excel 95 Template [.xlt]

Jitsi Ubuntu VoIP SIP Client

The latest instalment in my never-ending quest to find a decent SIP client (see Ubuntu SIP I & Ubuntu SIP II) I came across JITSI (http://jitsi.org/). Since the website looked very interesting and the project seems very well maintained (http://jitsi.org/index.php/Main/Screenshots) I decided to give it a go.

The installation is a breeze with a Ubuntu/Debian package available and the installation also adds the repository to keep the package up to date.

http://download.jitsi.org/jitsi/debian/

After a few test calls it seems to work very well. The UI is much more intuitive than comparable Ubuntu clients. Looks I found my new default client – nice job Jitsi Team.

 

Installing Samsung Multifunction Printer – Ubuntu 11.10

Getting Multifunction Printers to scan under Linux can be a bit of a pain. The Samsung SCX-3400 I had to install recently was no exception.

Here are the necessary steps I had to perform:

  1. Ignore all Samsung Provided CD’s and downloads. They do not work under Oneiric Ocelot (11.10)
  2. Add Samsung Unified Driver repository http://www.bchemnet.com/suldr/smfpv3.html
  3. Install Samsung drivers and libsane-extras
  4. Edit sane configuration files
vim /etc/apt/sources.list
#add the Samsung Unified Driver Repo
deb http://www.bchemnet.com/suldr/ debian extra
wget http://www.bchemnet.com/suldr/suldr.gpg
apt-key add suldr.gpg
apt-get update
apt-get install samsungmfp-data samsungmfp-driver samsungmfp-network samsungmfp-scanner samsungmfp-configurator-data samsungmfp-configurator-qt4 libsane-extras

The following sane config files need to be modified (add lines)

/etc/sane.d/xerox_mfp.conf

# Samsung SCX-3400
usb 0x04e8 0x344f

/lib/udev/rules.d/40-libsane.rules

# Samsung SCX-3400
ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="344f", ENV{libsane_matched}="yes"

The entries above are for the SCX-3400 model. To find the USB ID’s for other models use

sane-find-scanner

Thanks to the following Ubuntu Forum participants for providing some the tips: http://forum.ubuntuusers.de/topic/installation-samsung-scx/

Connecting to Cisco Small Business VPN from Ubuntu

Connecting to IPSec VPN gateways has always been one of the more painful things to do. Unfortunately Cisco is not helping by being extremely sluggish on making their utilities available on most recent OS revisions (you can’t even get their QuickVPN client to work properly on 64bit Win7 yet). Operating System support outside of Windows seems to be pretty much non-existent (see https://supportforums.cisco.com/thread/2040595).

Shame on you Cisco !

Option 1 – running QuickVPN under using wine

Download the QuickVPN client

http://www.cisco.com/cisco/software/type.html?mdfid=282414013&flowid=787

Install using wine

wine setup.exe

Copy the QuickVPN Client Certificate to the QuickVPN program folder and run

cp RVS4000_Client.pem ~/.wine/drive_c/Program\ Files/Cisco\ Small\ Business/QuickVPN\ Client/
cd ~/.wine/drive_c/Program\ Files/Cisco\ Small\ Business/QuickVPN\ Client/
wine VPNClient.exe

Option 2 – vpnc connection

apt-get install vpnc openconnect  network-manager-vpnc  network-manager-openconnect

Theoretically it should be possible to connect to the Cisco Small Business Routers using vpnc (& openconnect). However there is ZERO information from Cisco as to the settings and the QuickVPN utility seems to use some non-standard authentication and handshake mechanisms.

I would love to hear from anybody who was able to connect using native (and standard) Linux VPN utilities rather than the wine hack above.

Android 4.0 screenshot functionality on Galaxy Nexus

One of the features I missed since the good old Android 1.5 days was the ability to take screen-shots on the device. Prior to Android 4 (ICS) the only workable way to create screen-shots was to connect via USB cable and use the Android SDK to make remote screen-shots.

On Android 4.0 all you have to do is press Volume Down Key + Power Key down at the same time and hold.  You should hear the camera click (if audio is on) and Android will show a notification that the screenshot was saved on your device and you can now upload or transfer to your favourite service.

Finding a Notepad++ alternative / replacement on Ubuntu

One of the most important utilities on any computer is a decent text editing tool. Since there are as literally hundreds of text-editors out there you would think it is an easy task to find a similar one for each platform.

After years of trialing on various Windows platforms I have found Notepad++ to be the most useful of them all (closely followed by EMEditor which I used for years before Notepad++). Since I have now switched to Ubuntu completely it was necessary to find a permanent alternative on that platform since Notepad++ is only available on Windows.

The requirements list in order of priority:

  1. Fast & Native (reading NOT Java or similar runtime requirements)
  2. Excellent Search & Replace (which is where most fail ….)
  3. Lightweight
  4. Simple GUI (reading NOT an IDE)

Potential Candidates

Scite

Scite was my first try since it is based on the same engine as Notepad++. I have used it for a number of months but was never really happy with it. Issues with “Find in Files” functionality have been the final issue that make me move on. http://www.scintilla.org/SciTE.html

Scite Screenshot

Geany

I came across this one very recently and after a short trial period grown to really like it. Apart   from it’s silly name and very ugly icon it really has got the nicest overall balance of speed and functionality. And most importantly it also has very decent in-built search & replace functions. This includes ”Find in Files” functionality which actually works. http://www.geany.org/

Geany Screenshot

Vim (Cream)

Since vim is my command-line text editor of choice for years I was giving the GUI version a try next to Geany. However since I am not a total vim freak (never had enough time to learn all the power of this tool) I decided to stick to a dedicated GUI text editor for long editing tasks (HTML, CSS coding) and keep vim for when I am on the command-line or a headless server.

Gedit

Being the default editor in Ubuntu I have used it a bit, but always found it very sluggish and not very intuitive to use. Apart from the fact is installed by default I did not find many things I liked about it.

Note: sometimes the find and replace needs are outside of the capabilites of any text editor and you have to resort to a specialised tool. As a GUI I have always found Regexxer (http://regexxer.sourceforge.net/) very useful. Otherwise there is always the full power of grep and sed.

Mobile sensors and the “Internet of Things” in learning

With the Internet of Things slowly becoming mainstream the potential uses of this technology can also be seen in the Education sector. This blogpost is the first installment of a series of posts that highlights practical examples that can be used in teaching and training.

Part 1 – Environmental Noise Monitoring

WideNoise by leeander, on Flickr
Creative Commons Attribution-Noncommercial-No Derivative Works 2.0 Generic License  by  leeander 

Noise pollution has been a serious problem in many large cities all over the world and with the help of common mobile devices (smartphones) this can be easily measured, monitored and compared with a large quantity of samples from other cities/regions.

Some of the skills taught in these projects are:

  • Environmental science
  • Citizen science (collaborative data gathering)
  • Measurement / sensing
  • Data visualisation
  • Data comparison
Here are two very useful pieces of software to undertake this type of project:

WideNoise

With WideNoise users can monitor the noise levels around them using an App downloadable from Android Market or Apple AppStore. It has geo-location capabilities allowing users to also check the online map to see the average sound level of the area around them.

The project has made it’s source code available via an Open Source license allowing further customisation.

http://www.widetag.com/widenoise/

NoiseTube

A project developed by Sony Computer Science Laboratory Paris & VUB BrusSense group allows a user to measure the level of noise in dB(A) (with a precision a bit lower than a sound level meter), and contribute to collective noise mapping effort by annotating it (tagging, e.g. subjective level of annoyance). This information can be automatically published on this website (3G/GPRS or manual upload on any PC).

http://www.noisetube.net/

These two projects provide an excellent starting point for educators to become involved on the ‘Internet of Things. A copy of this can be seen on my work blog as well.