E-Mail Privacy Should Concern YOU! Read why.

But I’ve got nothing to hide!

If you send something like the location of your extra house key to a family member or telling your colleague or friend what bank account to transfer money to using an unencrypted email, it is the equivalent of writing it on a postcard (no envelope), letting it take its routes through hundreds of prying eyes and unfaithful servants. The information is out in the open and it can be read and even changed before it reaches you without you even knowing.

Even if you have nothing to hide, using email encryption helps protect the privacy of people you communicate with, and makes life difficult for bulk surveillance systems in use today. Remember the Snowden case?

It is a known fact that government authorities and other more scrupulous groups like the NSA, is watching all internet activities closely. The reason for this has been covered as an attempt to “fight terror” and is in a double-crossing way partially true. The thing is that it doesn’t just focus on “suspected” persons activities online, but yours and mine as well.

They use advanced computational linguistic algorithms to snap up words, combinations of words and other “susceptible” ways of expressing something, trying to find hidden contexts using the intrinsic meanings of words and phrases in different combinations crossed with under-developed theoretical linguistic syntax algorithms, leading to a “profile” that who knows what they get out of.
One thing is sure: They get the contents.

I don’t mind if the NSA reads my mail…

With something as easy to interpret as e-mail, you no longer have to be a security specialist or advanced cracker to read and change other peoples e-mail. Anyone can download pre-made “hacker” tool-kit from the internet and watch everything you do on the internet, unless you correctly configure WiFi routers and use secured pairing between your wireless keyboard and PC or other wireless devices.
Tools are readily available for a so called “script-kiddie” to park his car nearby and intercept EVERY LETTER you write on your keyboard. The signals from your wireless keyboard is easily eavesdropped.

Do you trust your ISP to read your personal information?

Even if we take away the factors mentioned up until now, anyone that works for your ISP (Internet Service Provider) with access to the servers can scroll through a long listing of un-encrypted text in email communication whenever they please. So the reasons NOT to encrypt your email communication is starting to disappear.

But I don’t know anything about this!?

Luckily for everybody, the Open Source community has been developing and using such tools for years.

Not only have they developed technologies for doing this, but they’ve also taken time to create graphical user interfaces for setting up the tools you need, no matter what operating system you are using.

These products won’t cost you anything other than a little time and dedication to make a change to your rights for privacy. Descriptions and documentation is also available and easy to understand, often delivered in a multitude of languages as well.

Here is something to get you going in no time:

Mac OS X Users: https://gpgtools.org/gpgsuite.html

Windows Users: http://www.gpg4win.org/index.html

Linux / BSD Users: You know what to do… 😉

If you choose to use products mentioned in this post or in any of its links, please consider donating a little money to the Free  Software Foundation, or even better, become a donating member!

Best of luck with claiming your right to privacy!

fsfButton

Advertisements

Using Cygwin and making it behave more like a Package Manager

Using the possibilities of the next to nothing alternative

Sometimes you’re stuck at a Windows box, and you long for all those trusty, handy Unix/Linux tools.
Then it is good to know that you can install Cygwin, as I’m sure most developers have heard of.

Simply put, it is a “near POSIX” standard “Unix like” environment for MS Windows® that let’s you install your Korn shell or ZSH for that matter, and pretend you’re using a decent computer operating system.

And, quoting the site:

  • a DLL (cygwin1.dll) which provides substantial POSIX API functionality.

Anyway. I haven’t been using it much, so this “tip” might turn up to be old news for many, but there will always be new beginners, right?

The point of this tip is to inform you that the file you download from Cygwin’s web site actually takes command-line arguments worth knowing about.

According to their site they claim that each time you want to add or remove program packages to the Cygwin installation, you need to download the install file anew and make the desired changes to your installation.

This is something that has annoyed me, after being used to installing pre-built software with a decent Package Manager like dpkg and it’s front-ends or RPM tools.

A Google Search away (“Duck Duck Go search”, Actually), I found a list of handy cmd-line options to use with the downloaded .exe setup file.

One thing should be mentioned though: The installer, as any other piece of software tends to change over time.
I suspect this is why Cygwin thinks it is best to always use the latest version of their installer, and being a software developer myself I do agree.

So, the first time you install Cygwin using the installer (this is the 64-bit version) make sure to install the “curl” and the “wget” tools. Then you can easily make a .bat file to download the latest version to the directory of choice before running it with the command line parameters described.

Here is a descriptive list over command line arguments to the .exe installer.
If you’re on a machine with no administration rights, you could use the –no-admin switch as an example.

Command Line Options:
 -D --download                     Download from internet
 -L --local-install                Install from local directory
 -s --site                         Download site
 -O --only-site                    Ignore all sites except for -s
 -R --root                         Root installation directory
 -x --remove-packages              Specify packages to uninstall
 -c --remove-categories            Specify categories to uninstall
 -P --packages                     Specify packages to install
 -C --categories                   Specify entire categories to install
 -p --proxy                        HTTP/FTP proxy (host:port)
 -a --arch                         architecture to install (x86_64 or x86)
 -q --quiet-mode                   Unattended setup mode
 -M --package-manager              Semi-attended chooser-only mode
 -B --no-admin                     Do not check for and enforce running as
                                   Administrator
 -h --help                         print help
 -l --local-package-dir            Local package directory
 -r --no-replaceonreboot           Disable replacing in-use files on next
                                   reboot.
 -X --no-verify                    Don't verify setup.ini signatures
 -n --no-shortcuts                 Disable creation of desktop and start menu
                                   shortcuts
 -N --no-startmenu                 Disable creation of start menu shortcut
 -d --no-desktop                   Disable creation of desktop shortcut
 -K --pubkey                       URL of extra public key file (gpg format)
 -S --sexpr-pubkey                 Extra public key in s-expr format
 -u --untrusted-keys               Use untrusted keys from last-extrakeys
 -U --keep-untrusted-keys          Use untrusted keys and retain all
 -g --upgrade-also                 also upgrade installed packages
 -o --delete-orphans               remove orphaned packages
 -A --disable-buggy-antivirus      Disable known or suspected buggy anti virus
                                   software packages during execution.

Use Cygwins abilities as a Package Manager with Cygcheck

In fact, the cygcheck.exe program accompanying every installation makes Cygwin behave more like systems such as dpkg (apt-get) or RPM (Yum / Zypper)

Some common tasks using cygcheck:

The -c option checks the version and status of installed Cygwin packages. If you specify one or more package names, cygcheck will limit its output to those packages, or with no 
arguments it lists all packages.

$ cygcheck -c
Cygwin Package Information
Package             Version         Status

alternatives        1.3.30c-10      OK
autoconf            13-1            OK
autoconf2.1         2.13-12         OK
autoconf2.5         2.69-2          OK
...

If you list one or more programs on the command line with -s, cygcheck will diagnose the 
runtime environment of that program or programs, providing the names of DLL files of which 
the program depends.

$ cygcheck -s vim
Found: D:\cygwin64\bin\vim.exe
Found: D:\cygwin64\bin\vim.exe
D:\cygwin64\bin\vim.exe
D:\cygwin64\bin\cygwin1.dll
C:\Windows\system32\KERNEL32.dll
C:\Windows\system32\api-ms-win-core-rtlsupport-l1-2-0.dll
C:\Windows\system32\ntdll.dll
C:\Windows\system32\KERNELBASE.dll
C:\Windows\system32\api-ms-win-core-apiquery-l1-1-0.dll
C:\Windows\system32\api-ms-win-core-processthreads-l1-1-2.dll
...

Searching all packages for a specific file:

$ cygcheck -p 'cygintl-2\.dll'

Found 1 matches for 'cygintl-2\.dll'.
libintl2-0.12.1-3 GNU Internationalization runtime library

$ cygcheck -p 'libexpat.*\.a'
Found 2 matches for 'libexpat.*\.a'.
expat-1.95.7-1 XML parser library written in C
expat-1.95.8-1 XML parser library written in C.

Here is a more complete list of alternatives:

At least one command option or a PROGRAM is required, as shown above.
-c, --check-setup show installed version of PACKAGE and verify integrity 
(or for all installed packages if none specified)
-d, --dump-only just list packages, do not verify (with -c)
-s, --sysinfo produce diagnostic system information (implies -c -d)
-r, --registry also scan registry for Cygwin settings (with -s)
-k, --keycheck perform a keyboard check session (must be run from a
 plain console only, not from a pty/rxvt/xterm)
-f, --find-package find the package to which FILE belongs
-l, --list-package list contents of PACKAGE (or all packages if none given)
-p, --package-query search for REGEXP in the entire cygwin.com package

Repository (requires internet connectivity)

Search for software:
Note: -c, -f, and -l only report on packages that are currently installed. To search all 
official Cygwin packages use -p instead. The -p REGEXP matches package names, descriptions, and names of files/paths within all packages.
--delete-orphaned-installation-keys

Delete installation keys of old, now unused
installations from the registry. Requires the right to change the registry.
--enable-unique-object-names Cygwin-DLL
--disable-unique-object-names Cygwin-DLL
--show-unique-object-names Cygwin-DLL

Enable, disable, or show the setting of the
\"unique object names\" setting in the Cygwin DLL
given as argument to this option. The DLL path must
be given as valid Windows(!) path.
See the users guide for more information.
If you don't know what this means, don't change it.

-v, --verbose produce more verbose output
-h, --help annotate output with explanatory comments when given
with another command, otherwise print this help
-V, --version print the version of cygcheck and exit
-c, --check-setup show installed version of PACKAGE and verify integrity 
(or for all installed packages if none specified)
-d, --dump-only just list packages, do not verify (with -c)
-s, --sysinfo produce diagnostic system information (implies -c -d)
-r, --registry also scan registry for Cygwin settings (with -s)
-k, --keycheck perform a keyboard check session (must be run from a
 plain console only, not from a pty/rxvt/xterm)
-f, --find-package find the package to which FILE belongs
-l, --list-package list contents of PACKAGE (or all packages if none given)
-p, --package-query search for REGEXP in the entire cygwin.com package

Repository (requires internet connectivity)

Search for software:
Note: -c, -f, and -l only report on packages that are currently installed. To search all 
official Cygwin packages use -p instead. The -p REGEXP matches package names, descriptions, and names of files/paths within all packages.

--delete-orphaned-installation-keys

Delete installation keys of old, now unused
installations from the registry. Requires the right to change the registry.
--enable-unique-object-names Cygwin-DLL
--disable-unique-object-names Cygwin-DLL
--show-unique-object-names Cygwin-DLL

Enable, disable, or show the setting of the
\"unique object names\" setting in the Cygwin DLL
given as argument to this option. The DLL path must
be given as valid Windows(!) path.
See the users guide for more information.
If you don't know what this means, don't change it.

-v, --verbose produce more verbose output
-h, --help annotate output with explanatory comments when given
with another command, otherwise print this help
-V, --version print the version of cygcheck and exit
-c, --check-setup show installed version of PACKAGE and verify integrity 
(or for all installed packages if none specified)
-d, --dump-only just list packages, do not verify (with -c)
-s, --sysinfo produce diagnostic system information (implies -c -d)
-r, --registry also scan registry for Cygwin settings (with -s)
-k, --keycheck perform a keyboard check session (must be run from a
 plain console only, not from a pty/rxvt/xterm)
-f, --find-package find the package to which FILE belongs
-l, --list-package list contents of PACKAGE (or all packages if none given)
-p, --package-query search for REGEXP in the entire cygwin.com package

Repository (requires internet connectivity)

Search for software:
Note: -c, -f, and -l only report on packages that are currently installed. To search all 
official Cygwin packages use -p instead. The -p REGEXP matches package names, descriptions, 
and names of files/paths within all packages.

--delete-orphaned-installation-keys

Delete installation keys of old, now unused
installations from the registry. 
Requires the right to change the registry.

--enable-unique-object-names Cygwin-DLL
--disable-unique-object-names Cygwin-DLL
--show-unique-object-names Cygwin-DLL

Enable, disable, or show the setting of the
\"unique object names\" setting in the Cygwin DLL
given as argument to this option. The DLL path must
be given as valid Windows(!) path.
See the users guide for more information.
If you don't know what this means, don't change it.

-v, --verbose produce more verbose output
-h, --help annotate output with explanatory comments when given
with another command, otherwise print this help
-V, --version print the version of cygcheck and exit

For those of you that want more in-depth information on using Cygwin for programming or just as a way to use Windows more like a decent OS, here is a direct link to the Cygwin PDF User Guide.

Until next time, happy Cygwin hacking…

Chris

Some GNU Emacs hotkeys for ya!

I’ve collected some of the Emacs shortcuts / keyboard hotkeys I find myself using from time to time! 😉

Please visit:
GNU Emacs for Unix/Linux and precompiled Windows binaries
Aquamacs for OS X (I prefer this over http://emacsformacosx.com/ as it is better integrated)

To get a hold of this incredible “editor”. The reasons I write “editor” is because calling Emacs an editor is something of an understatement! It’s more like a little operating system or at least an intelligent Lisp world!

For you guys never bothered to learn Emacs: You don’t know what you’re missing out on!

Ok, here are the hotkeys (feel free to add some as a comment, and I’ll add them to the list!):

General commands:

c-x c-f = new buffer (file)
c-x c-c = quit
c-g = cancel input command
c-v next page
m-v previous page
c-l toggle cursor point up/down/center (pgUp/pgDown)

Navigation in text:

c-p = previous line
c-n = next line
c-b = backward
c-f = forward
m-f = move forward Word-by-word
c-a = beginning of the line
c-e = end of the line
m-a = beginning of the sentence
m-e = end of the sentence

m-< = beginning of the text
m-> = end of the text

Editing Text

Killing text:
(text goes to a safety buffer like in Cut)

m-backspace = kill word before cursor
m-d = kill word after cursor
m-k = kill words until end of sentence (.)
c-k = kill words until end of line
c-space = mark start of delete (move to end of text to delete)
c-w = delete text from mark until here
c-y = yank (paste) text from last kill buffer
m-y = cycle through the kill buffer entries

c-x u = undo
c-_ = undo too!

Search for text:
c-s = search forward in buffer from cursor
c-r = search backwards in buffer from cursor

for a non-interactive search press enter before search word.

Search and replace:
m-x replace-string + enter
<word to replace>
<word to replace with>

Managing buffers and windows

c-x c-b = display buffer list
c-x o = switch to buffer list, select with arrows and enter
c-x b = start typing the name of the buffer to choose (tab-complete)

c-x 1 = one buffer in window
c-x 2 = two buffers in window horizontal
c-x 3 = two buffers in window vertical

c-x 0 = close active buffer (file)

m-x recover-file = recover file after crash (open original file, not auto-backup)

c-u 90 c-x f = set margin width to 90 chars

c-u 0 c-l = move current line to top of buffer window
c-x o = move cursor to “other” buffer window
c-m-v = scroll through other window (keeping cursor in main window)

m-x make-frame = create an independent Emacs frame

esc esc esc = get out of recursive editing level mode

c-h f <function> = help on <function>
c-h k <command> = help on <command>
c-h a <keyword> = search for <keyword> in help
c-h i m Emacs = read Emacs manual using info

That is something to get you started!

Until next time, happy editing!

Chris

Useful search commands in GNU/Linux

Finding commands and stuff in Linux:

which <command>
Lists the first occurrence of the <command>

whereis <command>
Lists all occurrences of <command>

locate <command>
Lists all that contains the word

apropos <command>
Search man page descriptions for <*command*>

whatis <command>
Search man pages description for <command>

(sudo) find / -name <command>
Searches entire filesystem for <command>

Debian / Ubuntu based distros specific:

apt-cache search <command>
Lists packages containing <command> from package repositories

dpkg-query -S <command>
Searches the list of installed packages for <command>

dpkg -L <command>
Lists all files installed by <package>

FYI only 😉

Network Licensing Maya 2010 on the Linux client

I recently received a question about licensing via a network server running Windows on the network.

I’m definitely no licensing expert, but this MIGHT give you a push in the right direction. (Or get you totally far out) 😉

So, the guy that contacted me had a problem regarding the license utility not showing up when starting Maya.

Autodesk support had turned him down, as the platform (or rather the distribution) used was not “supported” by the giant.
This should not be a barrier, and I seriously think that Autodesk should be able to offer SOME sort of support to paying network licensees that pay $$$ an mas for their overpriced products, no matter what Linux distribution they choose to use. (hopeless).

So here it goes:

Well, the license utility usually pops up on the first launch of Maya.

The error:

Tried Maya Unlimited 2010 (657B1 2010.0.0.F), error 41

The F (657B1 2010.0.0.F) in the error stands for floating license I think.
The FlexLM errorcode 41 stands for “Feature was never checked out”

You obviously should have access to the license file and that this is registered with AD and in order, as the
licensing works on the Windows clients. This is done using the LMTOOLS on the
Windows licensing server.
So, on the client side:

First find out where the lmutil executable is installed on your local machine.
I think what you need to do is to first locate the licensing server with:

./lmutil lmhostid -hostname

This should show the servername.

Then you need the License server ID, to get this:

./lmutil lmhostid

The twelve-character host ID should show up.

So with this information you should be able to get the same interface to licensing
on the Linux box with the license tool “lmutil” located somewhere in /opt/Autodesk/Adlm/ path.
(if this is where you installed).

Do a search for the file if you dont find it.
This is the executable license utility that looks the same on all platforms.

But, if you cant get by with this, I must wave the white flag, as I’m no licensing expert!
😉

Maya 2010 on Linux, and Mac, plus answer to 64 bit Mac question

Yep. New version. 2010. In the house, running happily on my Mac and Linux machines.

The procedures are nearly identical for installing the 2009 version, with the exception of the built in extra packages. I’ll Post a step-by-step instruction for installing 2010 soon, and answer the question about “Why is there no 64 bit version of Maya for OS X”, that pops up at about every g.d forum I visit.

Short answer: Maya is Carbon. Carbon is not 64 bit, because Apple decided that’s a waste of time and resources. So. If there will be a 64 bit version for Mac, the WHOLE application must be re-written in Objective-C in native 64bit Cocoa Framework (this is the only way to program native 64-bit applications on the Mac), vs. the 32 bit Carbon C++ API, that’s as mentioned is abandoned by Apple Inc.
Don’t think we’ll see that happen. Maya has some years on its back… But who knows?

Only the future will know.

Think that actually sums up part two of this post.

Happy living!

Support FSF (Free Software Foundation)

I donate money to very few organisations / foundations. Actually only two:

1. The Salvation Army

2. The Free Software Foundation

Give a helping hand to see all the wonderful free software evolve and crush the overpriced  commercial crap, that so many “depend” on these days. Click my FSF member button that links to FSF’s donation page and choose an amount to donate.

[FSF Associate Member]