Hiding your web server behind proxy

In one of my previous blog posts I mentioned hiding your server behind proxy to protect yourself from long downtime.

Since some of you wanted more information, I figured I should write about it. This will still only scratch the surface of it and you should do some additional reading if you want to get a better understanding of how these things work and what they can be used for.

Let’s begin!

Continue reading “Hiding your web server behind proxy”

Internet paranoid handbook

Knowing that internet is not all cute and cuddly and that the line between real and virtual sometimes gets kind of blurry, it is important to think a bit before acting, and possibly save you from getting in trouble.

What I meant by “blurry line between real world and virtual one”  is that what happens on internet not always stays on internet. If you read news, it is possible that you have noticed articles about police raids on some sort of network based service providers or their servers, governments asking communication service providers (e-mail, IM, others) to hand them private conversations to help in their investigations, or blocking network access and disturbing donation receiving.

While some “shady” network services were started by paranoid people (in a good sense), who think a lot about their security and anonymity, most others don’t realise how important it could be or just don’t care.

Who should care about this? People who call themselves media, political organisations, internet pirates and people who want to stay anonymous.


Here are some quick tips that could be of some use to you:

1. Domain name

Since most of the visitors reach your service through domain name, make sure you use domain name(s) that can’t be easily taken away by your country’s government or get you in problems for using them.


2. Location

2.1. Choosing country

Make sure your files are hosted on servers outside of your government’s reach. In case of  piracy, countries that don’t care about piracy or anti-piracy are best suited for this (Canda?).

Also make sure that your country doesn’t have official international investigation agreements with the hoster country.

2.2. Choosing data center

It would not hurt if the data center would be located deep under ground in some fortress that was previously used as a bomb shelter. Probably most countries have those.

2.3. Don’t bring your work to home

If there is something physical that can’t be encrypted and hidden, don’t keep it at home. Hell, don’t keep it at home even if it is encrypted!


3. Laws of your country

In certain cases, make sure that you can’t be extradited to other country. If necessary, move to new home. If you are dealing with some really powerful people, this could be really tricky (Wikileaks case).


4. Inability to reach users after takedown

Nothing scares away users more than leaving them wondering what is going one. Make sure you have some social messaging account that is hosted on safe grounds, that all your users know about. In case of problems inform them using those tools.


5. Encryption

5.1.Disk encryption

Keep your data encrypted and don’t give the key to anyone. Also recommend this to your clients.

Since computers are getting more powerful all the time, complaining about CPU power needed to use data encryption is silly.

Also make sure that your encryption key can’t be accessed using cold boot attack. If needed, glue the RAM to the motherboard! Seriously, this could help. 😀

5.2. Connection encryption

Use connection encryption between your server and clients.

If you don’t trust your government and certificates given out by some companies, make your own and make sure your clients recognize it.


7. Data loss and downtime

Good old saying “Real men don’t make backups” is meant more like a joke and should not be taken seriously. Do make backups! Keep them far away from your main server, hide them, encrypt them, but make sure you have them (and try not to loose the key).

Having not only your data but also server configuration backed up could help reduce downtime in case of server change.


8. Hiding

8.1. Fake identities for fake servers

Hiding your super powerful server behind cheap, anonymous VPS could help you stay unidentified by less powerful people. There are some hosting companies that provide cheap VPS hosting and allow you to enter fake owner data for small fee. If you can then hide your payment account and fake your domain name owner data, you could stay anonymous as long as your proxy hoster doesn’t give out your real server address. In this case even if your proxy is taken down, reopening is just a matter of getting new proxy server in some other part of the world.

8.2. Anonymous administration

There is always some risk that your server could be taken and data searched for leads.

If possible, leave no log files about your clients and administrators or make up some fake ones.

Use proxy! Tor Project should help you hide yourself.

8.3. Don’t use Skype

Since Skype was bought by Micro$oft, it can’t provide anonymous communication anymore. As an extra, they probably added the famous “generic crash library” to it. 😀 OK, to be serious, most of the public IM and e-mail networks should be considered unsafe. Set up your own private encrypted IM network and don’t log stuff.

But if we keep talking about Micro$soft, try to stay away from it. You never know what is hiding in their lame binaries and “security through obscurity” (M$’s motto?) is stupid. Open source software is the future, go with it, explore how “security by design” works.



It is hard to write universal hiding guide for every project and each case is different. If you think it is necessary, get someone to give you good advices.

Remember that it takes only one small mistake to fail completely.

Most importantly keep your conscience clean and be good! If you are doing it for the right reasons (and have good PR campaign), people will support you (shouldn’t they?).


P.S. Feel free to add more tips or point to some errors in the comment section. I’l try to keep this post up to date.

Using public/popular Bittorrent trackers is unsafe

I didn’t want to write longer title so let me explain what I meant with it. Instead of “unsafe”, I should probably use “relatively not as safe as smaller and not so popular Bittorrent trackers”.

But let me start from the beginning.

Some time ago I read this article in TorrentFreak about using Bittorrent as a DDoS tool. Of course then I tested it on my own server to see how it works. Because I didn’t send too many fake announcements my box didn’t “go down” but I sure got a lot of incoming traffic. That PDF that can be found in the previously mentioned article states that their box received Bittorrent handshake requests long after they sent the last announcement. They suggest that those connections are made by some anti piracy organisations  to sniff what kind of torrents you have loaded in your Bittorrent client.

Since I specified my webserver’s port 80 as a target, I can see all the Bittorrent handshakes in my Nginx access log.

And even after about 6 months I still get them a lot. 🙂

This clearly shows that public Bittorrent network is full of crap. Probably in most countries you won’t be too worried about this but you never know what and when they intend to do with this data.

So what can you do?

If you have blocked incoming connections, no need to worry (but this also makes it harder to download and share stuff). In other cases using random ports each time you start your Bittorrent client could help a bit.

Also using not so popular and private Bittorrent trackers should be safer. Another nice thing about them is that they usually have some high speed servers dedicated for seeding torrents resulting in faster download speeds for you.

Hamster time tracker in system tray

Project Hamster is probably the best Linux time tracker out there.

But there is a small problem. It is written to be used as Gnome panel applet. I guess that some things will change with Gnome 3 (maybe it will get better Gnome shell integration or something?) but the lead developer has written that there will be no tray icon for Hamster:

generally though the system or notification tray is the no-go zone and one that triggered all the shunning in the panels (too many icons behaving too differently etc).

I found that there is script to use it with Ubuntu’s indicator applet but could not find one for system tray.

So I did it myself.

Inactive icon

I modified hamster-appindicator script by Alberto Milone to work with system tray (instead of appindicator). It now behaves similar to the panel applet. Only noticeable difference is that you don’t see current running task name and time in the tray (because there is only an icon and no text) and how long it has been running, but you can see it in the tooltip of the tray icon.


Right click menu

To make it more usable, I have included green and red icons that are used to indicate running task (by default I made it use green icon but you can change it in the script).

Left mouse click toggles tracker window, right click shows menu.

Opened window

Icons and script can be downloaded from https://bitbucket.org/janhouse/hamster-tray/downloads .

I’l later make hamster-tray PKGBUILD for Archlinux and put it on AUR.

If you want to point out any errors (it probably has some since I was making it in rush in the middle of the night) leave a comment. I’l try to update it at some point.

P.S. YAY! I can use Hamster again! 🙂




After upgrading my Archlinux today I noticed that it did not work anymore because upgrade contained Gnome3 stuff.

So the error was:

$ hamster-tray
Traceback (most recent call last):
  File "/usr/local/bin/hamster-tray", line 51, in <module>
    from hamster.applet import HamsterApplet
  File "/usr/lib/python2.7/site-packages/hamster/applet.py", line 29, in <module>
    import gnomeapplet
ImportError: libpanel-applet-2.so.0: cannot open shared object file: No such file or directory

Quick dirty fix for the moment is to edit applet.py and remove line:

import gnomeapplet

This will probably make it not work as Gnome 2 panel applet but I guess that those applets are removed from Gnome3 anyway.

This is just a temporary fix and I will try to completely rewrite this script as soon as I get some time.

6 mēneši ar Arch Linux

Ir pagājuši seši mēneši kopš lietoju Arch Linux.

Uzskaitīšu dažus no iemesliem kāpēc no Ubuntu pārgāju tieši uz Arch:

  • Arch Linux logo ir smukāks kā Ubuntu logo.
  • Mani pamudināja freenode #ubuntu-lv kanāla lietotāji (kāpēc tur neuzturas Ubuntu lietotāji?).
  • Arch komūnas Wiki ir lielisks (jā, tas iekrita acīs vēl tad, kad lietoju Ubuntu).
  • Periodiski netiek izdotas stabilās versijas. Pastāv vairāki repozitoriji (stabilais, komūnas, testēšanas, u.c.), kuros pieejamās pakas tiek pastāvīgi atjaunotas. (Kā tulkot “rolling release distro”?)

Daži secinājumi:

  • Arch lietotāju komūna ir vēl labāka kā sākumā domāju. Gandrīz visu ir iespējams atrisināt izlasot Wiki. Pat ja Arch Wiki nav tas ko meklēju, problēmu palīdz atrisināt freenode #archlinux kanāla lietotāji.
  • Paku menedžeris Pacman, kuru lieto Arch, uz mana datora strādā ievērojami ātrāk kā Apt uz Ubuntu vai Debian.
  • Arch nav domāts katram. Ja esi iesācējs un nepatīk mācīties ko jaunu, paliec pie Ubuntu vai Windows.
  • Šķiet, ka uz Arch piecos mēnešos esmu iemācījies vairāk par Linux kā divus gadus lietojot Ubuntu.
  • Arch lietošana audzē matus 😀 – esmu sācis lietot vieglākas, vienkāršākas programmas. (Atteicos no Gnome un Compiz, lietoju Openbox, cenšos Gedit vietā lietot Vim un GUI rīku vietā aizvien biežāk izvēlos komandrindas programmas.)
  • Neskatoties uz to, ka lietoju “testing” repozitoriju un ik pa laikam uzinstalēju kaut ko no AUR, viss strādā pārsteidzoši labi un nav radušās lielas problēmas.
  • Lielākās problēmas, ar kurām saskāros uz Ubuntu, uz Arch nav vai arī ir vienkāršāk risināmas.

Varētu uzskaitīt daudzus un dažādus plusus un gan jau, ka atrastos arī mīnusi, bet ja esi nolēmis kārtīgāk apgūt Linux pasauli un nebaidies mācīties ko jaunu, iesaku pamēģināt Arch ikvienam Linux entuziastam.

Tuvākajā laikā distribūciju nemainīšu un paskatīšos kā Arch uzvedas uz serveriem (sākšu eksperimentēt ar mājas maršrutētāju).

Ubuntu 2010. gada pavasarī.
Ubuntu 2010. gada vasarā
Pirmās dienas uz Arch
6 mēneši uz Arch

P.S. Pēdējā ekrānatēlā var manīt, ka uz Openbox neesmu paspējis piestrādāt pie vizuālā. Kad to sakārtošu, pacentīšos tēmu ielikt DeviantArt (ja būs gana laba).

Auto-uploader v3

A bit later than I expected but it is available for testing in the new tuper-v3 repository on my SVN server. Use your old usernames and passwords to get access to it.

I did rewrite most of the code and changed the way it works.

  • The new auto-uploader client (announce-client) process keeps running in the background and gets announcements from main auto-uploader server. This means that there is no need for IRSSI anymore (unless you really want to use it).
  • Possibly it is also slightly faster since most of the needed modules are kept loaded while announce-client process is running.
  • Multiple commands are executed asynchronously in separate worker processes.
  • Announce-client locally listens for incoming connections so you can still pass commands to it manually. (Detailed documentation about communication with announce-client will be added to repository later this week.) You can use this to make your own custom extensions.

Next updates:

  • Better support for uTorrent. (Teach Eliminator to use uTorrent API.)
  • FTP auto-upload (or should I say auto-download from FTP, auto-upload to tracker).
  • Setup wizard for Windows users.
  • Update “Uploader” section in my webpage, make it show v3 changelog.

Jailkit, mini_sendmail and custom HELO

To be sure that a server stays safe in case when one site is compromised, I try to lock every single site in its own chroot jail. To make it a bit easier I use Jailkit.

Since you probably don’t want to set up sendmail for each chroot, you could use mini_sendmail. It will work as relay and will pass messages to actual sendmail.

The problem is that there is no way to specify a custom username or hostname and this could be quite important in some cases.

In order to solve this problem I did some quick and dirty modifications and here is the patch in case you need it:

--- Makefile
+++ Makefile
@@ -7,10 +7,10 @@
BINDIR = /usr/local/sbin
MANDIR = /usr/local/man
CC = gcc
-#CFLAGS = -g
-LDFLAGS = -s -static
-#LDFLAGS = -g -static
+CFLAGS = -g
+#LDFLAGS = -s -static
+LDFLAGS = -g -static

CC := $(DIET) $(CC)
--- mini_sendmail.c
+++ mini_sendmail.c
@@ -65,6 +65,8 @@
static char* argv0;
static char* fake_from;
static int parse_message, verbose;
+static char* helo;
+static char* user;
#ifdef DO_MINUS_SP
static char* server;
static short port;
@@ -80,7 +82,7 @@
static void usage( void );
static char* slurp_message( void );
-static char* make_received( char* from, char* username, char* hostname );
+static char* make_received( char* from, char* user, char* helo );
#endif /* DO_RECEIVED */
static void parse_for_recipients( char* message );
static void add_recipient( char* recipient, int len );
@@ -111,6 +113,7 @@
argv0 = argv[0];
fake_from = (char*) 0;
parse_message = 0;
+ server = "localhost";
#ifdef DO_MINUS_SP
server = "";
port = SMTP_PORT;
@@ -124,6 +127,10 @@
fake_from = &(argv[argn][2]);
else if ( strcmp( argv[argn], "-t" ) == 0 )
parse_message = 1;
+ else if ( strncmp( argv[argn], "-h", 2 ) == 0 && argv[argn][2] != '\0' )
+ helo = &(argv[argn][2]);
+ else if ( strncmp( argv[argn], "-u", 2 ) == 0 && argv[argn][2] != '\0' )
+ user = &(argv[argn][2]);
#ifdef DO_MINUS_SP
else if ( strncmp( argv[argn], "-s", 2 ) == 0 && argv[argn][2] != '\0' )
server = &(argv[argn][2]);
@@ -162,14 +169,22 @@
#endif /* DO_GETPWUID */

+ if ( user == (char*) 0 ){
+ user=username;
+ }
if ( gethostname( hostname, sizeof(hostname) - 1 ) < 0 )
show_error( "gethostname" );

+ if ( helo == (char*) 0 ){
+ helo=username;
+ }
if ( fake_from == (char*) 0 )
- (void) snprintf( from, sizeof(from), "%s@%s", username, hostname );
+ (void) snprintf( from, sizeof(from), "%s@%s", user, helo );
if ( strchr( fake_from, '@' ) == (char*) 0 )
- (void) snprintf( from, sizeof(from), "%s@%s", fake_from, hostname );
+ (void) snprintf( from, sizeof(from), "%s@%s", fake_from, helo );
(void) snprintf( from, sizeof(from), "%s", fake_from );

@@ -181,7 +196,7 @@

message = slurp_message();
- received = make_received( from, username, hostname );
+ received = make_received( from, user, helo );
#endif /* DO_RECEIVED */

(void) signal( SIGALRM, sigcatch );
@@ -209,7 +224,7 @@
exit( 1 );

- (void) snprintf( buf, sizeof(buf), "HELO %s", hostname );
+ (void) snprintf( buf, sizeof(buf), "HELO %s", helo );
send_command( buf );
status = read_response();
if ( status != 250 )
@@ -337,7 +352,7 @@

static char*
-make_received( char* from, char* username, char* hostname )
+make_received( char* from, char* user, char* helo )
int received_size;
char* received;
@@ -349,8 +364,8 @@
tmP = localtime( &t );
(void) strftime( timestamp, sizeof(timestamp), "%a, %d %b %Y %T %Z", tmP );
received_size =
- 500 + strlen( from ) + strlen( hostname ) * 2 + strlen( VERSION ) +
- strlen( timestamp ) + strlen( username );
+ 500 + strlen( from ) + strlen( helo ) * 2 + strlen( VERSION ) +
+ strlen( timestamp ) + strlen( user );
received = (char*) malloc( received_size );
if ( received == (char*) 0 )
@@ -360,7 +375,7 @@
(void) snprintf(
received, received_size,
"Received: (from %s)\n\tby %s (%s);\n\t%s\n\t(sender %s@%s)\n",
- from, hostname, VERSION, timestamp, username, hostname );
+ from, helo, VERSION, timestamp, user, helo );
return received;
#endif /* DO_RECEIVED */

Save it as some.patch. Move it inside mini_sendmail source directory and run:

patch -p0 < some.patch
cp mini_sendmail /to/jail/usr/bin/sendmail

You can specify username with -u and hostname (and HELO message) with -h parameter.

If you are going to use it with PHP, change sendmail_path in php.ini to something like this:

sendmail_path = /usr/bin/sendmail -s127.0.0.1 -p5555 -unoreply -hexample.com -fnoreply@example.com -t -i

This should make php connect to sendmail running on port 5555 and send example.com as HELO and noreply as username.

Patch was made for version 1.3.6.

Mazliet par Linux

Jau kādu laiku vēlējos uzrakstīt par savu pieredzi ar Linux operētājsistēmu, par kuru daudzi runā, bet liela daļa nemaz nezin kas tas ir.

Šajā ierakstā, īpaši neiedziļinoties, aprakstīšu Linux grafisko vidi un populārākās/saistošākās programmas. Šoreiz nepieminēšu dažādās grafiskās vides un to atšķirības. Ja pietiks spēka un kādam tas interesēs, uzrakstīšu par to citreiz.

Daļai no jums varētu nepietikt drosmes, lai izlasītu visu rakstu, tāpēc pieliku saturu. 🙂


Ja nemaldos, datorus sāku iepazīt pirms, apmēram, 10 gadiem. Pa visu šo laiku esmu lietojis dažādas Microsoft Windows operētājsistēmas versijas (95, 98, (98SE), ME, 2000, XP, Vista, 7) un šobrīd esmu apstājies pie Linux. Pingvīnu sāku lietot pirms, apmēram, četriem gadiem, un sākumā to lietoju tikai uz servera. Šobrīd pasmejos, atceroties kā pirms diviem gadiem teicu, ka to nekad nelietošu uz galda datora/laptopa ikdienas darbiem. (Nekad nesaki nekad. 🙂 )

Pāreja uz Linux

Kaut gan biju pieradis pie Windows, jutu, ka tajā kaut kas nav kā vajag. Iespējams tāpēc, ka man visu ļoti patīk pielāgot kā pašam labāk tīk un neviena Windows versija nav draudzīga šajā ziņā. Un tā, pēc Windows 7 izmēģināšanas (pāris mēnešus lietoju RC versiju), tiecoties pēc kā jauna un interesanta, uz laptopa uzinstalēju Debian Linux. Sāku ar Debian, jo iepriekš to biju lietojis uz serveriem, un lekcijās varēja vērot kā to lieto Pēteris. Nevarētu teikt, ka nezināju pilnīgi neko, jo elementāras lietas (apt-get, grep, locate, u.c.) zināju no serveru instalācijām, bet kopumā tas bija kas jauns un bija ko apgūt.


Nedaudz palietojis Debian, nolēmu to nomainīt ar Ubuntu, jo tas šķita draudzīgāks iesācējiem, ar lielāku comunity, tam ir Launchpad, un Ubuntu ir vērsts uz “user friendly“. Varētu jau teikt, ka Ubuntu un Debian ir viens un tas pats, jo Ubuntu ir bāzēts uz Debian, bet realitātē ar katru versiju tie paliek arvien atšķirīgāki. Canonical (ubuntu izstrādātāji) mēģina to padarīt vizuāli (un visādi citādi) atšķirīgu no standarta GNOME (grafiskās vides), un tāpēc lielai daļai programmu tiek veidoti savi ielāpi. Varbūt ne visi Ubuntu jaunievedumi ir lieliski, bet salīdzinot ar citām lielajām distribūcijām, Ubuntu progresē ātrāk, un ar savu progresu mudina pārējos turēt līdzi (vai liek izmirt).

Jaunas Ubuntu versijas tiek izdotas reizi sešos mēnešos un reizi divos gados tiek izdota stabilā LTS versija (ilgtermiņa atbalsta versija). Pats, šķiet, izmēģināju četras versijas un katra nākamā paliek ievērojami labāka, lietotājam draudzīgāka.

Ubuntu, manuprāt, ir labākā distribūcija, kuru lietot jauniem Linux lietotājiem, kuri iepriekš lietojuši Windows. Uzliku to vairākiem cilvēkiem (arī savai mammai) un daļa vēl tagad to lieto bez īpašām problēmām.


Lielai daļai jauno Linux lietotāju rodas problēmas ar alternatīvu programmu apzināšanu/lietošanu, ja iepriekš lietots Windows. Protams, es nebiju izņēmums. Biju ļoti pieradis pie grafiskajām un video apstrādes programmām (Photoshop, Lightroom, AE, Vegas, u.c.), spēlēm un dažādām utilītām, kurām ir Windows, bet nav  Linux versijas.

Draiveri, sistēma

Uz galda datora iekārtas strādāja bez problēmām, par ko biju pārsteigts. Problēmas sagādāja laptops ar Radeon X1200 (VGA compatible controller: ATI Technologies Inc RS690M [Radeon X1200 Series]) video karti, kuram uz jaunākām Linux versijām vairs nav pieejami ražotāja draiveri un nākas lietot atvērtos draiverus, kuri ir krietni sliktāki un liek aizmirst par 3d spēlēm vai pat pārāk izpušķotu tēmu (ar caurspīdību, fona pludināšanu un citiem brīnumiem). Bet salīdzinot ar to kā bija pirms pāris gadiem, kad sāku lietot Linux, atvērtie Radeon 3d draiveri ir krietni progresējuši, un vairs nerodas problēmas ar desktopa izskaistināšanu (par spēlēm, joprojām, var aizmirst).

Manuprāt, Linux bez Nvidia vai Intel video kartēm var sagādāt galvassāpes, bet ir tādi, kuri to pašu saka par Nvidia (varbūt aiz skaudības, jo man ar Nvidia viss darbojās kā nākas).

Vēl problēmas sagādāja skaņa, jo ap to laiku, kad sāku lietot Linux, Ubuntu pārgāja no Alsa uz PulseAudio skaņas sistēmu. No vienas puses PulseAudio bija labāks un jaunāks, bet no otras puses, tas bija nepabeigts, ar daudzām problēmām un liela daļa aplikāciju nebija tam domātas. Dīvain, bet uz Ubuntu vēl šobrīd (versija 10.10) man rodas problēmas ar iebūvētā mikrofona lietošanu (uz Arch Linux viss ir ok).

Peles, Webkameras un citi sīkumi strādā, pārsvarā, bez problēmām un sāk darboties ātrāk kā uz Windows. Jaunākās Linux versijās tiek atbalstīti arī dažādi muzikas atskaņotāji, iPhone, iPad, utt.

Nedaudz nācās paķimerēties, lai piedzīvinātu digitālās televīzijas uztvērēju (par ko jau rakstīju blogā) vai pirkstu nospiedumu lasītāju, bet šādas iekārtas nav diez ko izplatītas/populāras un par to nesatraucos.

Foto, video apstrāde, 3d grafika, audio apstrāde

Diemžēl, daļai programmu uz Linux nav labu alternatīvu, tāpēc par ātru, ērtu un/vai advancētu bilžu (Lightroom) vai video apstrādi (After Effects/Vegas/Movie maker, u.c.) var aizmirst (vismaz pagaidām). Jā, ir pieejamas dažādas video apstrādes programmas, bet lielākā daļa ir, labi ja, Windows Movie Maker līmenī (par nestabilitāti un random nokrašošanu nemaz nerunājot). Foto apstrādei ir pieejams Gimp un sērija ar dažādiem līdzīgiem un ne tik līdzīgiem rīkiem, bet fotogrāfi, kuri uz Windows ir lietojuši Adobe Photoshop Lightroom, neko līdzīgu, pagaidām, uz Linux neatradīs (nē, Picasa nespēj aizvietot Lightroom).

3D grafikas fanāti var priecāties par Blender, jo tas darbojas arī uz Linux. Kādreiz arī bija pieejama Maya (maksas) Linux versija, bet nezinu vai jaunākās versijas ir pieejamas priekš Linux.

Neesmu pētījis speciālas programmas diskžokejiem, bet vienkāršai audio apstrādei var lietot Audacity, kas, šķiet, ir pieejams arī uz Windows.

Dokumenti, prezentācijas, plānošana, e-book lasītāji

Par Ofisa programmatūru pat īsti negribu rakstīt. Ir pieejams bezmaksas OpenOffice.org (drīz, šķiet, aizvietos ar LibreOffice), bet tas ir briesmīgs. Rakstīts uz C++ (šī nav problēma) un Java (bet šī gan ir), ar neērtu un morāli novecojušu grafisko saskarni, sliktu ātrdarbību un random pakāršanos.

  • OOo Writer ir vēl daudz maz sakarīgs un darīt vienkāršas lietas nav pārāk sarežģīti. Patīkami, ka dokumentus var eksportēt PDF formātā un pēc pamatīgas gūglēšanas var izveidot savu tēmas sagatavi, lai dokumenti neizskatītos briesmīgi.
  • Neesmu pārāk daudz lietojis OOo Calc, bet zinu, ka advancētiem Excel lietotājiem būtu ko teikt.
  • OOo Impress prezentāciju veidošanas programma ir slikta. Es ar savu pacietību biju spējīgs izveidot gana pievilcīgu prezentāciju, bet parastam lietotājam nervi varētu neizturēt. Slaidu pārkārtošana apēd 100% CPU uz vairākām sekundēm, pat neko nedarot. Ja ir pievienoti vairāk par 10 slaidiem, programma ievērojami bremzē un laicīgi nereaģē uz dotajām komandām. Visu īpaši nepatīkamu padara programmas nobrukšana laikā, kad vismazāk gaidi.

Ja LibreOffice drīzumā pilnībā mainīs savu grafisko saskarni uz ko lietotājam pievilcīgāku, tas varētu būt gana labs un, iespējams, es tik skarbi neizteiktos. Kopumā skatoties, nav tik traki neērti uzrakstīt vienkāršus dokumentus vai izveidot primitīvu prezentāciju, ar pāris slaidiem. Problēmas rodas tad, kad jāveido kas sarežģīts.

Laika plānošanas vai sekošanas programmas ir savādākas kā uz Windows un prasa laiku, lai pie tām pierastu. No šādiem sīkrīkiem varu ieteikt Tomboy, “Getting things GNOME!“, Time tracker (Hamster project).

Uz Linux ir pieejams lielisks PDF lasītājs Evince, ko, manuprāt, no pilnības šķir tikai grāmatzīmju pievienošanas iespēja.


Linux nevar lepoties ar pārāk daudzām skaistām 3d/2d spēlēm, bet dažas, tādas kā Nexuiz, Alien Arena, Cube 2, Teeworlds, u.c. ir. Šķiet, ka pēdējā laikā parādās arvien vairāk spēles, kuras pieejamas arī uz Linux.

Nezinu vai problēma ir ar OpenGL vai konkrēto dzini, bet testējot Unigine uz Linux un Windows (testēts uz viena un tā paša datora), Windows ar DirectX strādāja ievērojami ātrāk par OpenGL versiju.

Tiem, kuri sevi dēvē par kārtīgiem geimeriem (tiem, kuri spēlē jaunākās spēles, ne tikai un vienīgi WoW), Linux, pagaidām, nebūs īstā OS, ko lietot ikdienā.

Mūzikas, video atskaņošana, web pārlūki, twitter, skype, čati, epasta klienti, ziņu agregatori

Uz Linux nav Winamp vai iTunes, bet ir kaudze ar citiem video un audio atskaņotājiem. Pats priekš video skatīšanās lietoju VLC. Mūzikas atskaņotāji ir daudzi un dažādi. Pats esmu lietojis MPD (mūzikas atskaņotājs, ko lietoju uz mājas rūtera, kontrolēt to var no cita Linux/Windows/Mac datora caur kādu no daudzajiem klientiem), Rhyhtmbox (vistuvāk iTunes, strādās ar iPhone/iPod/citiem pārnēsājamiem atskaņotājiem),  Quod Libet (šobrīd pats lietoju).

Web pārlūkošanai ir pieejami dažādi pārlūki, no kuriem populārākie ir Firefox, Chromium (Google Chrome), Opera. Pats lietoju Chromium, kas ēd vairāk ramu, bet darbojas zibenīgi.

Tiem, kuriem patīk lietot Twitter, rekomendēju Hotot. Viens no labākajiem Twitter klientiem un noteikti pārspēj briesmīgo Gwibber, kas nāk komplektā ar Ubuntu.

Pagaidām, Linux Skype versija ir morāli novecojusi un pārāk jauki neiekļaujas Gnome vidē, bet zvanīt (un veikt video zvanus) var, čatot un sūtīt failus arī ir iespējams. Patīk, ka Skype Linux versijai ir iespēja “Auto accept”, kas automātiski pieņems visus draugu sūtītos failus.

IRC lietotājiem rekomendēju XChat. Tas ir labākais IRC klients kādu esmu redzējis. (Diemžēl, visām XChat Windows versijām nestrādā garumzīmju un mīkstinājuma zīmju ievade, kas to padara gandrīz nelietojamu uz Windows (ja nemaldos, problēma ar GTK+).) Irc ir gandrīz neatņemama Linux sastāvdaļa, jo caur to, pieslēdzoties freenode irc serverim, bez maksas reālā laikā pieejama citu lietotāju palīdzība (Izmantojiet to!).

Pārējiem populāriem IM tīkliem var lietot kādu no daudzajiem klientiem. Ubuntu nāk kompelktā ar Empathy, bet pats lietoju Pidgin. Pidgin man apvieno MSN, Yahoo messenger, Google talk, Jabber, Facebook chat, ICQ.

Epastu saņemšanai, sūtīšanai, kārtošanai komplektā ar Gnome nāk Evolution, ko lietoju diezgan ilgi. Šobrīd izmēģinu Thunderbird, kas ir pieejams arī uz Windows.

Noteikti ir daudzi un dažādi ziņu agregatori, bet, laikam, ietekmējos no Pētera un lietoju Liferea.

Failu pārlūkošana

Uz Windows ir viens Windows Explorer. Uz linux ir ļoti daudzas un dažādas programmas failu pārvaldīšanai. Populārākā (ja nemaldos) ir Nautilus. Pats par sevi, Nautilus ir gana labs, bet salāpītā Nautilus Elementary versija ir krietni uzlabota, lietotājam draudzīgāka, kuru iesaku tiem, kuriem patīk minimālisms. Vēl Nautilus ir pieejami dažādi papildinājumi, kas padara ērtāku dažādu darbu veikšanu.

Programmētāju rīki

Jā, uz Linux nav pieejama Microsoft Vizuālā Studija, ko daudzi dēvē par vienu no lielākajiem Windows trumpjiem. Ir Mono platforma, bet tā bremzē trakāk par Eclipse un programmas, kuras kodētas uz Mono (cik esmu novērojis) nav no tām ātrākajām.

Ja ir vēlme lietot smagu IDE, var lietot Eclipse vai citus līdzīgus brīnumus.

Ja uz Windows nesagādāja problēmas koda rakstīšana Notepad++ vai citā līdzīgā programmā, pietiks ar vienkāršākiem editoriem kā Gedit vai Geany.

Windows programmu emulēšana uz Linux ar Wine

Ja nu galīgi nepatīk neviena no Linux programmu alternatīvām, var mēģināt darbināt to pašu Windows programmas versiju izmantojot Wine.

Daudzi ir sūdzējušies, ka caur Wine lielākā daļa izmēģināto programmu nedarbojas. Man gan ir bijusi cita pieredze. Man, šķiet, lielākā daļa, pēc nelielu/lielu pūļu pielikšanas, darbojās.

Lielai daļai programmu ir programmas, no kurām tās ir atkarīgas. Lai uzzinātu trikus, kas palīdz piedzīvināt noteiktas programmas, iesaku pameklēt WineHQ aplikāciju datubāzē. Esmu darbinājis gan dažādas spēles (Mass effect, Trine, CS1.6, TF2, u.c.), gan MS Office un atsevišķus Adobe produktus.

Vairs nelietoju Wine, jo esmu apradis ar Linux piedāvātājām programmām.

Arch Linux

Pirms, apmēram, trīs mēnešiem pārgāju no Ubuntu uz Arch Linux distribūciju. Kāpēc? Tāpēc, ka uz Ubuntu bija problēmas ar video draiveriem un PulseAudio, kā arī nepatika tas, ka atjaunojot uz jaunāku Ubuntu versiju, pāris reizes nobruka sistēma un bija jāpieliek pūles, lai atrastu risinājumu. Diez vai kas būtu nobrucis, ja nebūtu licis daudzas aplikācijas ārpus oficiālās aplikāciju sistēmas, bet ko vajadzēja, to vajadzēja. 😀 Apvaicājoties Freenode #ubuntu-lv čata kanāla, man ieteica tieši Arch, jo tajā brīdī visi, kas tur atradās, lietoja tieši Arch. 🙂

Man patīk tas, ka Arch turpina atjaunoties (rolling release distro) nepārtraukti, atšķirībā no Ubuntu, kuram ievērojami atjaunojumi parādās reizi sešos mēnešos.

Ļoti priecājos par to, ka uz Arch pazuda skaņas (PulseAudio) un video problēmas, kuras uz Ubuntu nepazuda visā tā lietošanas laikā.

Arch arī nelieto apt paku sistēmu, tā vietā ir pacman, pie kā nācās pierast, bet tagad pat šķiet, ka ir vēl foršāk.

Pieļauju, ka Arch nebūtu tik populārs, ja tam nebūtu aktīva komūna un lielisks Wiki. Pamanīju Arch wiki un forumu vēl tad, kad lietoju Ubuntu, jo to bieži kā pirmo izmeta Google meklēšanas rezultātos.


Neskatoties uz daudzajiem trūkumiem (kam gan tādi nav), Linux ir lieliska operētājsistēma ne tikai uz serveriem. Ja nenotiks brīnums, Linux būtu jāpaliek ievērojami populārākam (ne tikai uz mobilajiem [Android]) un, iespējams, pēc gadiem pieciem, ofisa tantes vairs nerauks pieri ieraugot .odt faila formātu vai Gnome/KDE/XFCE/citu desktopu.

Linux piedāvā plašas pielāgošanas iespējas, tam ir ļoti daudzas un dažādas lieliskas programmas (un lielākā daļa no tām ir bezmaksas), tas ir drošāks.

Ja pirms pāris gadiem teicu, ka Linux uz laptopa/desktopa nelietošu, tad šobrīd varu teikt, ka to pret citu operētājsistēmu nemainīšu (vismaz ne tuvākajā laikā).

Un nevajag tik daudz klausīties tajā ko saka apkārtējie (“linux sucks!”, “windows sucks”, “mac pwnz”, “linux rocks!”) un vajag pamēģināt pašiem. Novelciet to pašu Ubuntu Live CD, ierakstiet diskā/USB un palietojiet pāris dienas. Ja nebūsiet atklājuši savu nākamo operētājsistēmu, tad vismaz būsiet paskatījušies ārpus savas ierastās kastes.

Virszemes digitālā televīzija uz Linux

Kaut gan televīziju, jau dažus gadus, vairs neskatos un nejūtos, ka būtu ko zaudējis, dažādu iemeslu dēļ gribēju to piedzīvināt uz sava datora ar Arch Linux.

Uztveršanai lietoju aparātu, kurš maksāja, apmēram, piecus latus un izskatās gandrīz identiski šim. Komplektā nāca uztvērējs, antena un pults.

Pieslēdzot ierīci pie USB, Linux to atpazina kā ID 15a4:9016 Afatech Technologies, Inc. AF9015 DVB-T USB2.0 stick. Kā jau lielai daļai DVB-T uztvērēju, draiveris bija jāmeklē atsevišķi. Vadoties pēc šīm instrukcijām, nokompilēju Linux kerneli iekļaujot AF9015 draiveri.

Pēc ierīces iedarbināšanas pagāja laiciņš, kamēr sapratu kā pareizi jāmeklē kanāli, jo nepareizi noliktas antenas dēļ signāls nebija gana spēcīgs, lai uztvertu kanālus, un tāpēc domāju, ka daru kaut ko nepareizi.  Pēcāk arī īsti nesapratu ko iesākt ar uzģenerēto failu, jo tas nebija nevienā populārā plejlistes formātā. Pamēģināju to atvērt ar VLC media player un izrādījās, ka tas to saprot ļoti labi. Vairs neatceros ar kādu komandu skenēju kanālus, bet gatavu m3u plejlisti var novilkt no šejienes.

Derētu arī piedzīvināt komplektā iekļauto pulti, bet to citreiz.

Lai skatītos maksas kanālus, atsevišķi nepieciešams iegādāties viedkartes lasītāju, Lattelecom viedkarti un, iespējams, nedaudz pamocīties, lai to visu sakonfigurētu.



Ja TV netiek lietots regulāri, mājās ir gana jauns dators (nav aizvēsturisks) un nav vēlēšanās tērēt naudu uz dārgu dekoderi, šāds USB puļķis ir tieši laikā.

To, piemēram, varētu lietot TV kanāla strīmošanai internetā, lai draugi, kuriem nav citu iespēju, redzētu savu iemīļoto hokeja spēli, ziņu pārraidi vai ko citu.


Update (08.12.2011.): Sākot ar kādu Kernel 2.9.x man vairs draiveri nevajag atsevišķi kompilēt. Šobrīd esmu uz Kernel 3.1.4 un viss strādā out of the box. Pieslēdzu karti pie USB, atveru pleilisti ar VLC un varu skatīties. Sanāca arī piedzīvināt komplektā esošo pulti, ar kuru varu kontrolēt visu ko, ne tikai VLC. 🙂

Web panel for Uploader

Since some people prefer shiny user interfaces over command line, I have added web administration panel to auto uploader.

Since it is really early über pre-alpha version, it doesn’t have many options yet but it will change in time.

The idea is to create admin panel that allows you to manage Uploader using only your browser and to forget about terminal commands.

Alpha version of web panel for Uploader

As you can see in the screenshot above, you can already search, remove, upload and redownload releases.

Web panel is built using PHP and jQuery. To make it work, make sure you have installed Sqlite3 for PHP (it comes installed by default from PHP 5.3.x). You should be able to install it on Debian/Ubuntu by using sudo apt-get install php5-sqlite.

It is available through SVN repository, inside trunk/web_panel/.