Evil Coding Monkey Ubuntu, Android, web development, open source, etc.

16Jul/120

Installing a Transmission Daemon on Ubuntu

TransmissionLet's say you have a computer (could be your home file server) on which you want to install a torrent client as daemon (command line), and manage it through a Web interface. Would be great, right? It's pretty easy to achieve but there are a couple of details you need to pay attention to.

Note: This tutorial was written for Ubuntu Server 12.04 but it doesn't mean it can't be useful for other versions or distros.

Required packages

It's pretty simple as only a couple of packages need to be installed, and they are already in the repositories. For readability, I'm putting each of them on a different line, but they should all go on the same.

sudo apt-get install transmission-cli
                     transmission-common
                     transmission-daemon

Create folders for Transmission

Even if you could always use the default folders, I like keeping track of everything, the way I want it. So here's what I've done. I think the folder names talk by themselves.

sudo mkdir ~/transmission
sudo mkdir ~/transmission/complete
sudo mkdir ~/transmission/downloading
sudo mkdir ~/transmission/torrents

Permissions

This step isn't crucial, but it will save you lots of "sudo" commands in the future. By default, Transmission always gives downloaded files permissions to the transmission group (debian-transmission to be more precise). This is why adding your user to this group could be a good idea. Make sure your replace your_user in the following commands:

sudo usermod -a -G debian-transmission your_user

Now you need to set the correct ownership and permissions:

sudo chown -R your_user:debian-transmission ~/transmission
sudo chmod -R 755 ~/transmission

A good configuration file

Now this part is very important. The configuration file must be filled correctly or else you might not be able to access Transmission's web interface. Many other things could also "go wrong". But don't worry, you can edit this file anytime in the future to fix any problem you might encounter.

First thing to do is to stop the daemon. If you don't, the configuration file will be overridden when Transmission closes the next time.

sudo /etc/init.d/transmission-daemon stop

Use any text editor (I use Nano here) to edit the configuration file.

sudo nano /etc/transmission-daemon/settings.json

You will find all possible settings here: official Transmission wiki.

When you're done, restart the daemon.

sudo /etc/init.d/transmission-daemon start

Configuration file example

Here's an example of what I have added or changed from the default configuration file. Don't forget to change your_favorite_list_url and your_user in the following example.

"blocklist-enabled": true,
"blocklist-updates-enabled": true,
"blocklist-url": "your_favorite_list_url",

"download-dir": "/home/your_user/transmission/complete",

"incomplete-dir-enabled": true,
"incomplete-dir": "/home/your_user/transmission/downloading",

"rpc-authentication-required": false,
"rpc-whitelist-enabled": false,

"watch-dir-enabled": true,
"watch-dir": "/home/your_user/transmission/torrents"

Make sure there's a comma at the end of each line, except for the last one. The last entry (watch-dir), means every torrent file your copy in that folder will be automatically added by Transmission. Download should start only seconds after that.

Port forwarding

For optimal performance in both download and upload, it is recommended to open/forward Transmission's default port, 51413. To do that, you will need to access your router's from your favorite Web browser (usually at http://192.168.0.1 or http://192.168.1.1). If you need help passed that point, I suggest googling for something like "your_router_model port forwarding". You should find plenty of information.

Access Transmission WebUI

Now that you have stopped the daemon, edited settings.json, and restarted the daemon, you should be able to access the Web interface. Simply navigate to your server/computer's IP and port 9091 (can be changed in settings.json if it doesn't suit your needs), which should look something like: http://192.168.1.101:9091.

Last step: show your girlfriend how to add new torrents using WebUI. ;-)

15May/127

Playing Diablo 3 on Ubuntu Made Very Easy!

After trying to install Diablo 3 on my Hackintosh from and original DVD an failing (it installed fine but the game won't start), I decided to look for an Ubuntu solution. This is when I learned about PlayOnLinux, a Wine graphic user interface that makes installation of Windows programs very easy. So here's a VERY EASY guide to install Diablo 3 on Ubuntu with online installation files.

  1. Make sure your game is correctly registered in your Battle.net account
  2. Download the Diable 3 Game Client (for Windows) from that same account
  3. Open the Ubuntu Software Center
  4. Search for PlayOnLinux and install it (this might take a while)
  5. Start PlayOnLinux, and complete the basic configuration steps (mostly automatic)
  6. Click on the Install button, and select the Testing category in the menu on the left
  7. Select Diablo 3, click install, and follow the instructions
  8. Complete the download/install process
  9. You're done! Enjoy Diablo 3 on Ubuntu!

Note: I had a little resolution glitch when first started the game. Changing the resolution from the login screen inside the game fixed it.

Other note: the guys at PlayOnLinux say they will support the DVD install method soon.

----EDIT----

If you're using Ubuntu 12.04, and experience the connection error #3007 over and over, here's a solution that seems to work. Before connection, open a terminal and type this command:


echo 0|sudo tee /proc/sys/kernel/yama/ptrace_scope

This solution comes from that thread in PlayOnLinux forums. Please let us know if it works for you or not.

13May/120

Installing Dictionaries in LibreOffice – Ubuntu 12.04

You just installed or updated to Ubuntu 12.04 (Precise Pangolin), and now you realize you need correction tools for a language that didn't come by default? Follow these very simple steps, and you'll be ready to go in a matter of minutes.

Make sure you have sudo access

First, you need to make sure you have administrator (sudo) rights on your system (which you most probably have if you installed it yourself). If you are not sure you have sudo access on your system, try the following:

  • Open a terminal (can be done from the Dash Home menu)
  • Type the command written below (it updates APT's local package index and is totally inoffensive)
  • The command will ask for the sudo password, enter your usual password
  • If you have sudo access,  you should see a list of package update URLs go through the terminal window
  • If you don't have access, find who does! (sorry, we can't really help you here)
sudo apt-get update

Install dictionary packages

Two packages must be installed. The first is the dictionary itself, the second will add correct hyphenation patterns to LibreOffice's corrector. Examples here are for French, but you only need to change the last part (fr) for the language of your choice. For example: sp for Spanish, or de for German.

sudo apt-get install myspell-fr
sudo apt-get install hyphen-fr

Thesaurus (synonyms and antonyms) for your language

If you are interested in having thesaurus features for your newly installed language, you only need to install one package:

sudo apt-get install mythes-fr

The shortcut to access thesaurus in LibreOffice is CTRL+F7.

Change the default language for all documents

Now that you have installed a new dictionary (and maybe more correction tools), you probably want to change the default language/dictionary for new documents you will create. Here's how to do that:

  1. Open Writer
  2. From the top menu go to: Tools / Options. A new windows will open
  3. In the left menu of this new window, go to: Language Settings / Languages
  4. Look for Default languages for documents, and just under it, choose your preferred language
  5. Take a look at the other options above if you want to
  6. Close the Options windows
  7. You should see the language you have just selected at the center-left of Writer's bottom toolbar
15Apr/122

Tips to Strong Passwords for Improved Privacy

Many people think the strongest passwords are those made of special/foreign characters such as É, &, * or ¿. A password looking like g&J2!3aQ must be pretty strong right? What about taking a dictionary word, and replacing letters with numbers, for example, 0r4ng3? Well, these two examples aren't THAT strong.

For a human being without automated tools, the first one is kinda hard to break, and the second one is a bit easier. For a specialized bot though, it's almost as easy as breaking 87654321. Many algorithms exist to help dishonest people break into your email, bank Web access, or social media accounts. I'm sure all of you will want to prevent that. Following are my personal advices for safer passwords (or pass phrases). Some are based on computer science facts, and others on real experiences from friends, and myself. They can't be taken as the ultimate truth, but will help you achieve better safety for your multiple on-line accounts.

Don't use the same password twice

Imagine you are on a public computer signing in to some irrelevant website, let's say to leave a comment on a forum, and someone sees what you are typing: your email address (which is often used as username), and your password. He can now access your email account if it is protected by the same password. From there, he can do almost anything because he'll be able to use the "retrieve your password" feature of all other websites you have an account on.

Prefer a long phrase to a complicated short password

As illustrated in this image, the longer the password, the better. More than that, you can choose it so it's easier for you to remember. "I lost my favorite green shoe" (if it means something to you), is much easier to remember than uJ@ggC9K!.

Some miscellaneous tips for short passwords

If a site limits you to a short password (10 or 12 characters for example), here are some easy tips you can follow :

  • Don't use dictionary words or people/place names, even with numbers at the beginning or end, this is the first thing password crackers will try
  • Same thing with replacing letters with "matching" numbers: m4st3r, those are broken easily
  • Find something easy to remember so you don't have to write it down, for example : 1994 with "turtles" (the year you bought your favorite turtles): 1tURt99Les4
  • You might wanna use a more complex combination of uppercase and lowercase letters, and also numbers to make it hard to break for humans

Don't change your password for no reason

If your account hasn't been compromised, and if you don't have a good reason to change your password, don't change it. You risk forgetting it or maybe not choosing a password as strong as your first one. Remember, it hasn't been cracked yet! ;-)

Please, I'm sure some of you readers will have more tips, and maybe discredit mine, who knows. Feel free to leave your comments.

8Mar/120

Free Unity 3 “basic” License

Last year I talked a bit about some of my augmented reality projects. Many of you have sent questions and posted comments so I suppose there is a certain level of interest in that field. One of the conclusions I had back then was that to achieve a certain level of quality (great lighting effects, surface reflection, etc.) when rendering a 3D model in an augmented reality project, you better use a good 3D engine (such as Unity). I still think this is true.

Yesterday I "discovered" that Unity is offering its iOS and Android "basic" license for free until April 8th. Normally, you'd have to pay $400 for each of them. So if you were unsure Unity was a good choice for your project of not, go ahead and buy it for free. ;-) What a great way to finally test it out.

  1. Go to https://store.unity3d.com/index.html
  2. Select Unity FREE
  3. Add features: iOS and Android (both free until April 8th)
  4. Proceed to checkout
  5. Open email upon reception, and follow the instructions

Now enjoy your brand new installed Unity development tools!

3Mar/123

2012: The Year I Stopped Using Microsoft Products

First, this post is about a personal crusade during which I intend to stop using ALL Microsoft products that I am currently using. My reasons to do such a thing are mostly philosophical, and I won't start hating Microsoft fans/lovers, and I truly don't want to start a fight with anyone. But feel free to add your thoughts and ideas to this post.

I work in a company where Microsoft products are too often presented as the only answer to a problem, even if nobody has taken the time to analyze other possible solutions. My team though works very hard to promote open source solutions inside the company, and among our clients. So this whole idea (dropping Microsoft products) came to me at work about 2 weeks ago. I was telling everyone in my team we should stop using MS products just to prove to "the world" that it can be done, and you can still live a happy life. Hehe! To make a long story short, I accepted my own idea/challenge! So here's what I plan to do over the following months.

Close my Hotmail account

I've had a Hotmail account for something like 15 years now, and most accounts I have opened on other websites are linked to it. This is why I'm giving me a couple of months to switch all of them to my Gmail account.

Wipe my home PC... for a Hackintosh!

I have a recent PC at home I use for music recording. My band's first album (available for free here) was partly recorded with it. Our sound engineer works with a software called Cubase, which is sold for Windows and Mac. Because everyone around me works with Cubase, I need to stick to it. This is why I passed the last few days working on building my own Hackintosh. It's been kind of an easy operation with the great help of iBoot and Multibeast found on this website. My new Hackintosh with Snow Leopard is up and running, and Cubase 6 works like a charm on it.

I'm not much of a gamer, but I do enjoy a game of Star Craft 2 once in a while. I believe I can download the Mac version of the game directly from my Battle.net account. That's good news!

Flex development

Currently working on a mobile Flex (iOS and Android) project at work, I use the Flash Builder IDE everyday, and it's Windows only. In the following weeks, I will analyze a couple of possibilities I have in front of me, and I should be able to do all my work with Ubuntu. Those are the possible solutions I have found so far:

  • fb4linux, an unofficial port of Adobe Flash Builder
  • Standard Eclipse IDE with a couple of Ant scripts
  • FlashDevelop, offering a Mac/Linux virtualization, what ever that means

Wine for Adobe Photoshop

For most of my needs, I can live with GIMP instead of Photoshop. But for more complex tasks, I prefer Photoshop. After some short research, it seems that Wine is the answer as WineHQ reports gold rating for Adobe Photoshop CS5.

Use Pidgin instead of MSN Messenger (or whatever the new name is)

Pidgin is a great chat client which works over many protocols, including gTalk. This is where I am heading.

Ubuntu as main OS

For all my computers, including my corporate notebook, I will be using Ubuntu as the only or main OS. I have tried a couple of other distros like Linux Mint, but I keep getting back at Ubuntu. My girlfriend will also switch to Ubuntu. No more Windows in the house! This means no more MS Office which will get replaced by LibreOffice and Google Docs.

Replace MS Outlook for corporate emails and meetings

My employer uses Exchange servers worldwide. My own corporate account is configured/hosted on a Microsoft Exchange Server 2010. I'm anxious to see if Thunderbird 11 will offer some level of connectivity, and if not, I will need to explore different avenues. I haven't thought a lot about this last point yet.

That's it!

After realizing all those steps, I think my "life" will be Microsoft-free. At least, I will feel like it is. OK, I will probably still be using some services that have Microsoft written somewhere under the good, such as self-service grocery checkouts. But I think I will still prove that life without buying or owning Microsoft products is possible. This also means no Ford vehicles for me as long as they'll be equipped with MyFord Touch/Ford Sync, and XBox game nights at friends' are over. Hahaha!

4Dec/1120

Linux Mint 12: Making a Bootable USB Stick

Linux MintWith the release of Linux Mint 12 "Lisa" on November 26th, the distribution gets a lot of attention these days. If you're like me, you probably like to try "new" distributions from time to time. This is why I felt like giving a try to Mint this week.

Creating the bootable device

  1. Download a Linux Mint image from here
  2. If you're under Ubuntu, use Startup Disk Creator (installed by default)
  3. If you're under Windows,  use Univeral USB Installer, free and available here
  4. The rest is pretty straightforward...

Fixing a common problem

Once your USB device is "ready",  you will get the following error if you try booting from it:

vesamenu.c32: not a COM32R image
boot:

After some short research I found the following fix, which is very simple to apply, and completely solves the problem:

  1. Browse the USB device to the syslinux folder
  2. Open and edit the syslinux.cfg file
  3. The first line should read: default vesamenu.c32
  4. Change it to: default live
  5. Save and close the file

That's it! You're now ready to try/install Linux Mint 12 "Lisa".

1Nov/111

Flash Builder: How to Disable the Annoying Click Sound

I've been developing in Flash Builder 4 (under Windows 7) a lot in the last months, and there's a detail that REALLY annoys me: a click sound every time a file is opened or closed, or when a information bubble pops, and in too many other occasions. After going through each and every Flash Builder option, I finally found a way to get rid of that sound with the precious help of our friend Google. Seems this "problem" is related to Eclipse (on which Flash Builder is built), and Windows (no way!). So the way to disable this click sound is by going to:

Control Panel -> Sounds ->Windows Explorer -> Start Navigation

Set this value to "None", and you're done! You don't need to code with your speakers turned off anymore!

30Sep/112

The Mouse that Saved My Life

Evoluent Vertical Mouse 4Ok... it only saved my right wrist. But when your work as a computer engineer, it's almost as saving your life.

A love story

First time I heard about Evoluent's VerticalMouse was on TV in show where they were comparing ergonomic mice, about 7 years ago (wow, it's been a while). Some time after that, I bought a VerticalMouse 2 which, to be honest, took me a bit more than a week to completely master. I loved this mouse from day one, even if I had some difficulty using it at first. But with it's great resolution, capability to work on all surfaces I've tried, its very light weight, the way I never have to move my wrist while using it, and feeling all the weight of my arm being supported by my forearm and not my wrist, I knew I had found the right mouse.

Why I started using this mouse in the first place

First of all, my right wrist suffered many brutal shocks in the time I was a skatepark adept. Second of all, I'm still an active snowboarder, and that sport often gets hard on the wrists. Finally, I'm a bass player, and I play with with my fingers only. Also, I've seen many people with carpal tunnel problems who had to have cortisone shots in their wrists... Anyway. At the time I thought: "I know I'll have to use a mouse at work all my life, so why not act today?!"

New model review

After 7 seven years with my VerticalMouse 2, it recently stopped working. That's why I ordered a standard size VerticalMouse 4 on Monday. It finally arrived today, and I've been using it for several hours now. I am so NOT disappointed! I love the space they added for your little finger, the fact that I can change the precision (or resolution) with a hardware button is very useful, and the shape of the mouse itself has greatly improved since version 2. They also added a second thumb button, which I use as a forward button. As I'm already a VerticalMouse use, it felt comfortable right away. Finally, it looks great with blue logo light and three green precision level lights.

I totally recommend this mouse to anyone who already has wrists problems or forearm problems or someone who wants to PREVENT problems. If you're in the same position I am, you'll be using a mouse at least 40 hours a week for the next 30 years or so. It might be the right time to start preventing recurrent problems.

30Aug/115

Render Your Own 3D Model in QCAR

Teapot 3D Model

Note: this article is short and doesn't give detailed answers as much as I would have liked. I started writing it a while ago and realized it had never been published. I haven't worked with QCAR for a couple of months now, so the subject isn't so fresh in my mind anymore. Here it goes...

I've worked with QCAR for about two months earlier this summer. Using the library is very easy, and it gives pretty good results in terms of responsiveness and robustness. But because my knowledge of OpenGL is very limited, my worst problem has been importing my own 3D model and making it render correctly (with textures and proper lighting).

Use Blender to triangulate

First, mobile devices don't run the standard OpenGL library, they run OpenGL ES. This means 3D models have to be triangulated or they won't render at all. Triangulation is the process of dividing all polygons into triangles.

Blender is a free open source 3D graphics application. It can easily be installed on any Ubuntu version by installing the package named blender. Using Blender you'll be able to triangulate your model when exporting to an .obj file. Then you'll have to export the .obj file to a .h, which finally can be imported into your QCAR/Android project. This might be "great" for testing, but in the long term, you'll run into dozens of problems of lighting, reflection, animation, etc.

Texture dimensions

A problem you might run into is using badly dimensioned textures. This problem was kind of hard to find for me as you only get runtime fatal errors which don't give any relevant detail. But you need to know that almost all mobile devices will only take squares and 2x1 / 1x2 rectangles for texture files. For example, these dimensions would work: 512 x 512, 32 x16 and 128 x 256 pixels. These would not : 1024 x 16, 512 x 64 pixels. Another thing with textures: depending on models, there are limits to the total number of texture files you can load at the same time in an application, and there are limits to their dimensions (1024, 512, and 256 pixels).

I recommend using Unity

According to Wikipedia, "Unity is an integrated authoring tool for creating 3D video games or other interactive content such as architectural visualizations or real-time 3D animations." In other words: it makes A LOT OF STUFF much better and much faster than an OpenGL developer (or a whole team) would do. What are the downsides? Size (approximately 16 to 20 MB when correctly compiled), cost ($400 for the Android license), and finally, support is not as good on Android as it is on iOS. More information available on Unity's website.

Even if Unity's solution isn't perfect (are there any perfect solutions anyway?), it is in my opinion a million times better than working with your own 3D model and custom OpenGL ES. You'll be able to simplify your model(s) to enhance performance (which is very important on mobile devices), lighting and other visual effects will be much easier to create, etc. Overall, you'll get a much better result for way less effort. Everyone wins!

Please visit QCAR's developer site for SDK download, documentation on how to start a QCAR project, how to integrate the Unity extension, and more.

WordPress SEO

Switch to our mobile site