Tuesday, July 29, 2014

Inkscape and the Alt key in Unity (Ubuntu 14.04.1 LTS)

System: Ubuntu 14.04.1 LTS
Problem: Unity "steals" the Alt-key so that it doesn't function as it should in Inkscape.

Solution:

  • install dconf-tools
  • launch it
  • go to org -> gnome -> desktop -> wm -> preferences
  • set "mouse-button-modifier" to "<Super>" (without the quotation marks).
    DO NOT SET IT TO "none" or leave the field empty, or you won't be able to left-click normally anymore anywhere in Unity (I know because I made the mistake, had to log out and log in to Xfce to correct it, Unity was totally messed up).
(With thanks to this post but take caution not to set the value to "none"!)

Monday, July 28, 2014

[SOLVED] Brightness control broken on Ubuntu

OS: Ubuntu 12.04 LTS
Hardware:  HP Envy dv7 7390eb laptop
Problem: brightness control broken on kernel upgrade from "precise" to "trusty"

Explanation:

I received a notification in Update Manager that my "current Hardware Enablement Stack (HWE) is going out of support" so I did the proposed upgrade.

I had some problems with dependencies which I solved according to these instructions:

"Command:
amd64:
apt-get install -V libglapi-mesa-lts-trusty libgl1-mesa-glx-lts-trusty xserver-xorg-lts-trusty xserver-xorg-input-all-lts-trusty xserver-xorg-video-all-lts-trusty libgl1-mesa-dri-lts-trusty x11-xserver-utils-lts-trusty libglapi-mesa-lts-trusty:i386 libgl1-mesa-dri-lts-trusty:i386 libgl1-mesa-glx-lts-trusty:i386 libgles2-mesa-lts-trusty libglapi-mesa-lts-trusty mesa-vdpau-drivers-lts-trusty
i386:
apt-get install -V libglapi-mesa-lts-trusty libgl1-mesa-glx-lts-trusty xserver-xorg-lts-trusty xserver-xorg-input-all-lts-trusty xserver-xorg-video-all-lts-trusty libgl1-mesa-dri-lts-trusty x11-xserver-utils-lts-trusty mesa-vdpau-drivers-lts-trusty libgles2-mesa-lts-trusty libglapi-mesa-lts-trusty"
found in the comments on this bug report.

Everything seemed to be OK after reboot, apart from the fact that the brightness control on my HP Envy dv7 laptop was broken. The function keys for brightness did move the brightness slider that appears on screen, but brightness itself was not affected and stayed at 100%.

After testing some different workarounds that didn't work, I found a solution on this blog post (I copy it here for completeness):

"Open terminal ( Ctrl+Alt+T ) and type:
sudo gedit /etc/default/grub
You will find this line in the new opened window:
Change it to:
Save and close the window and type this in the terminal:
sudo update-grub
This will update your grub and while rebooting your PC, it will set an extra parameter on the grub menu during boot."

Happy Ubuntuing!

Sunday, May 4, 2014

Enable Kindle offline reading in Firefox

I had have a problem (and if I google for "kindle offline firefox" I see I'm not the only one) to enable offline reading in Firefox of the Kindle books I purchased. (Chrome went smoothless by the way). I use Ubuntu Linux - so I can't use a Kindle app because Amazon didn't provide Linux versions of these.

After some surfing around the internet, I found an Amazon page with explanations about Kindle Cloud Reader and Firefox. In Firefox you need to manually adjust the permissions for the Kindle Cloud Reader in order to store books offline.

Instead of copying and pasting the instructions, which then quickly will be outdated, I'll just paste the link to the Amazon page here: Amazon Help: Enable offline reading. The section on Firefox is clear and easy to follow.

It didn't, however, enable me offline access to my books (meaning: without internet connection, I can't open my book although it's supposed to be available offline).

I found this forum post (which deteriorates in petty fights but still has some interesting info) which mentioned the necessity of turning private browing on - doesn't make a difference in my case -; and this post that mentions installing a Kindle app - which doesn't exist for Linux so no solution either.

So, as far as I'm concerned, at this point in time (May 2014) Kindle Cloud Reader doesn't work offline with Firefox on Ubuntu. If you've got it working with Firefox on Linux (tested and tried!), by all means share. Chrome works out of the box.

Thursday, May 1, 2014

How to get exempt of US tax withholding without ITIN! (Get an EIN)

So here is how I finally, and very simply, got exempt from the 30% tax withholding for non-US residents on Createspace and Amazon Kindle Direct Publishing without getting an ITIN.
(With many thanks to the writer of the blog-post: Non-US Self-Publisher? Tax Issues Don’t Need to be Taxing).

For those looking for help with getting an ITIN number: you probably don't need one. An EIN number is a lot easier to obtain, and is sufficient for self-publishing on Amazon and Createspace.

Step 1: Apply for an EIN

First, I filled in an SS4 form. Find the latest version and instructions here: Form SS-4, Application for Employer Identification Number (EIN). You just need it filled in to have it before you when you call the IRS, you won't need to send it off.

Mine looked like this:

Then, I phoned the USA IRS service to apply for an EIN. I found their phone number on the IRS site on the page: How to Apply for an EIN, under the heading "Apply by Telephone – International Applicants". (If calling from outside the US, add 001 before the telephone number).
Be sure to have pen and paper handy, and your filled-in SS4 form before you.

After about 5 minutes of waiting, I got a very friendly lady on the other side of the line who asked me some simple questions. Having the SS4 form before me, these where easily answered. A lot of spelling was involved, but a few minutes later she gave me my EIN number, in the form 12-3456789.

Easy as that.

Step 2: fill in and send off W8-BEN forms

1) Amazon KDP

Amazon KDP gives you the possibility to fill in your W8-BEN online. Just sign in to Amazon KDP, click on "Yourname's Account" (top right), scroll down to "Tax information" and click on "Update Tax Information". You will be guided through the process and at the end you will be notified that your tax withholding rate is now 0%. Hurray for Amazon KDP and yourself!

(General information for Amazon KDP here: go to Amazon KDP Help, and in the menu on the left look for the heading "Managing your sales" ->Tax Information requirements.)

2) Createspace

Createspace has not yet entered the future (or the present) of online W8-BEN form filing and requires you to print it out, fill it in by hand, sign it (in ink!, no photocopies) and actually physically send it off.
Mine (for Belgium) looked like this:
(I blackened out the personal parts of course).
Just to be complete: I don't know if this matters, but just before sending it off and after scanning this, I added "(Copyrights)" after the word "Other" in line 10, as in the tax treaty tables (see below) the column in question states "Copyrights".

For line 10, you may have to adapt some data to your own country. 
  • For the number of the article (12 in my case) you'll have to click on the link to your country in this IRS tax treat country list, then click on "Income tax treaty", and in this treaty (the PDF that opens) find the article number for "Royalties". So for Belgium, that's 12, as you can see in the table of articles of the treaty.
  • for the tax withholding percentage (0% in my case), you'll have to open IRS publication 515: Withholding of Tax on Nonresident Aliens and Foreign Entities, go to the section "Tax Treaty Tables" (almost at the end), look for the tables that say "Royalties" on top and find your country's tax withholding percentage for Royalties - Copyrights. In my case, on page 40, right column for Belgium: 0%.
Now you'll have to send the form to Createspace, with or without a cover letter stating that you join the W8-BEN form for compliance with tax withholding, and that's it. Don't forget to mention your Createspace ID (you can find it on your Createspace Member Dashboard) on the top margin of your form, they won't process it without it. 
You'll find the Createspace address to send your form to on their Tax Information page (to find this page manually, go to Createspace Help -> Topic "My Account" -> "Tax Information").

About a month after sending off my W8-BEN to Createspace I contacted their support team myself asking an update on my tax status. They sent me another email-address to send my question to, which I did, and from which I received the following reply a few days later: 
"I can confirm that your account, member ID# XXXXXX, we received your W-8 form and it was processed, lowering your withholding to 0%."
Success!

Good luck and happy self-publishing!


If you appreciated this article for some reason or another, please share it (see the buttons below), and, of course, don't forget to Flattr! (Why?)


Saturday, March 29, 2014

Weebly: how to re-use the same images without uploading twice

I'm trying to move my portfolio of digital contemporary art drawings, which is currently on Tumblr, to Weebly.
One of the annoying drawbacks of Weebly is that you have to upload the same image over and over again if you want to use it on different pages or in different elements.

Single images

For single images, here's a workaround I found in this post on The Country School Technology Blog. I quote:

Find a picture you want to reuse and RIGHT click it. Select "Open image in New Tab". (This just makes the next step a bit easier.) Go to the new tab, select the URL address and COPY it. Then go back to your blog post (or whatever) and click the blue box to insert an image. This time, however, instead of dragging photos to the uploader or selecting images from your computer, select the Image URL icon in the uploader's toolbar. Then PASTE the URL you copied from the other tab into the window. That's it - your image will now appear in your new post.
In the original post you'll also find a slideshow with explanations.

Galleries and slideshows

However, this only works for single images. On Weebly, galleries and slideshows do not permit the use of URLs, you can only upload images.
To reuse galleries and slideshows, I found the following workaround myself:
  • create a hidden page, which will be your "photobucket"
  • create a gallery/slideshow on that page and upload all your photos to it
  • whenever you need a "partial" gallery or slideshow, or a copy of it:
    • go to your hidden "photobucket" page (I find it by going to the "Pages" tab, select it there and click "Save & Edit"), 
    • select your gallery/slideshow and copy it to the page in question (hovering over the left upper corner, this turns into an arrow; if you click this arrow you get a drop-down menu with the option "copy" to the page of your choice)
    • then, on the target page, remove from the copied gallery/slideshow the unwanted images and make other changes as you wish (the original one, in your "photobucket", remains unchanged)
  • Before starting to copy images/galleries from your "photobucket", add all the captions first!
It's still only a workaround. The main problem being that if you want to add pictures, you'll have to start all over again anyway. So for galleries and slideshows, we really need an option to insert images by URL as well, or an interface where you can select already uploaded images. I submitted a feature request, if it appears, please vote for it!

Alternatives

By the way, if you consider using Weebly, have a look also at Wix and Squarespace. They look more professional to me (and are, I think), but are more expensive also.

Saturday, January 11, 2014

Convert .EPUB ebook to .PDF

To convert an .epub file (an ebook) to a PDF, I tried several options:
  • Calibre, great software, but not for conversion to PDF: it doesn't handle top and bottom margins on this type of conversion, so it even cuts characters in half on the output PDF between pages
  • Printing from the Calibre Ebook-viewer to PDF file: works in some ways better than the Calibre conversion itself, but it doesn't handle page breaks
  • CLI (command line interface) use of Calibre's conversion (ebook-convert): works, but I can't manage the parameters well enough from the command line
So finally I found Prince, which works beautifully.

The workflow is:
  • make a copy of your .epub file
  • rename the extension of your copy from .epub to .zip (it is in fact a simple .zip file)
  • extract the .zip file in a directory of your choice
  • navigate to the subdirectory where the text files of your ebook are extracted (the .html and .xhtml ones)
  • use the command
    prince cover.xhtml page_1.html page_2.html page_3.html -o book.pdf
     where you change and add filenames according to your specific case of course.
The output is book.pdf and should look fine.
If I understand correctly, this should work under Ubuntu and Windows alike...

(With thanks to this thread...)

Saturday, August 24, 2013

A working jack configuration (Ubuntu 12.04 LTS)

For my own reference, and possibly yours, I put here a working jack configuration, on Ubuntu 12.04 LTS on a HP Envy DV7 laptop with an UGM96 USB sound card. (The UGM96 device worked right out of the box, by the way).

So here are the four tabs of the "setup" screen of QjackCtl (the last three tabs are just default values):




I succeeded also in breaking my setup by pushing the parameters too far, trying to achieve a better latency. Well, breaking is a big word, in fact jack just didn't work anymore, but finally I got it back putting the parameters as they should, rebooting, cursing and tweaking a bit.

To start jack, just push the "start" button on QjackCtl and it should work (I don't use the "play" button and don't even know what it's for). Then you have to connect your inputs and outputs between applications of course, i.e. in another application called Patchage, or in QjackCtl itself (less intuitive).

I also have pulseaudio-module-jack installed.

When I start jack using the QjackCtl application, the message I get is the following. I post it here because there are "error messages", but apparently they can be ignored, it works just fine:

07:45:40.364 Patchbay deactivated.07:45:40.382 Statistics reset.07:45:40.389 ALSA connection change.07:45:40.396 D-BUS: Service is available (org.jackaudio.service aka jackdbus).Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started
07:45:40.403 ALSA connection graph change.07:45:47.201 D-BUS: JACK server is starting...Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started
07:45:47.216 D-BUS: JACK server was started (org.jackaudio.service aka jackdbus).Sat Aug 24 07:45:47 2013: Starting jack server...
Sat Aug 24 07:45:47 2013: JACK server starting in realtime mode with priority 10
Sat Aug 24 07:45:47 2013: control device hw:1
Sat Aug 24 07:45:47 2013: control device hw:1
Sat Aug 24 07:45:47 2013: Acquired audio card Audio1
Sat Aug 24 07:45:47 2013: creating alsa driver ... hw:1|hw:1|128|2|44100|0|0|nomon|swmeter|soft-mode|32bit
Sat Aug 24 07:45:47 2013: control device hw:1
Sat Aug 24 07:45:47 2013: configuring for 44100Hz, period = 128 frames (2.9 ms), buffer = 2 periods
Sat Aug 24 07:45:47 2013: ALSA: final selected sample format for capture: 24bit little-endian
Sat Aug 24 07:45:47 2013: ALSA: use 2 periods for capture
Sat Aug 24 07:45:47 2013: ALSA: final selected sample format for playback: 24bit little-endian
Sat Aug 24 07:45:47 2013: ALSA: use 2 periods for playback
Sat Aug 24 07:45:47 2013: graph reorder: new port 'system:capture_1'
Sat Aug 24 07:45:47 2013: New client 'system' with PID 0
Sat Aug 24 07:45:47 2013: graph reorder: new port 'system:capture_2'
Sat Aug 24 07:45:47 2013: graph reorder: new port 'system:playback_1'
Sat Aug 24 07:45:47 2013: graph reorder: new port 'system:playback_2'
Sat Aug 24 07:45:47 2013: New client 'PulseAudio JACK Sink' with PID 2289
Sat Aug 24 07:45:47 2013: Connecting 'PulseAudio JACK Sink:front-left' to 'system:playback_1'
Sat Aug 24 07:45:47 2013: Connecting 'PulseAudio JACK Sink:front-right' to 'system:playback_2'
Sat Aug 24 07:45:47 2013: New client 'PulseAudio JACK Source' with PID 2289
Sat Aug 24 07:45:47 2013: Connecting 'system:capture_1' to 'PulseAudio JACK Source:front-left'
Sat Aug 24 07:45:47 2013: Connecting 'system:capture_2' to 'PulseAudio JACK Source:front-right'
07:45:49.262 JACK connection change.07:45:49.264 Server configuration saved to "/home/bart/.jackdrc".07:45:49.265 Statistics reset.07:45:49.268 Client activated.07:45:49.272 JACK connection graph change.Sat Aug 24 07:45:49 2013: Saving settings to "/home/bart/.config/jack/conf.xml" ...
Sat Aug 24 07:45:49 2013: New client 'qjackctl' with PID 3418