I’m gradually moving from a desktop to a laptop, and spending more and more time on Linux.
By and large, the transition to Linux is almost complete. There are still a few projects that were originally developed for Win (they are very specific tools), some of which I plan to port and those that cannot be ported at all — will run in VirtualBox.
From time to time, I find myself missing some programs and tools that I am used to as a user of another system. But this is more due to ignorance.
P.S.: vim, of course, is very powerful, but to get used to it… its tutorial is very short and covers only a few topics.
An idiot’s dream :-). Finally it came true — I got a laptop.
Actually, I’ve been thinking about getting a laptop for a long time, but the fact that I have a desktop computer at my disposal has stopped me. There was no real need for a laptop. Cold calculation and expediency have always prevailed over childish “I want it!” impulses. But now the situation has changed in favour of this purchase. I’m going to the QGIS hackfest, and there will probably be more travelling after that.
I opted for a Lenovo ThinkPad SL500. It is not the most powerful machine at the moment, but it was not bought for games. As one article said, “The best laptop is YOUR laptop”, and mine suits my needs quite well :-). The only thing that is a bit annoying is the glossy top lid. It seems to be a problem for all manufacturers: everywhere I’ve been — all laptops are glossy, and many not only on the outside, but also on the inside. So I didn’t have much of a choice here. The newer SL510 is matte (thanks to Patrick, they came to their senses!), but it is impossible to get it now, especially in our province.
For those who are interested, here are the brief specifications: 15.4" WXGA TFT display, Celeron DualCore T3000 1.8GHz/800MHz, GL40 Express chip, integrated video GMA 4500M, RAM 2048 Mb DDR2 667 MHz (PC2-5300), HDD 250 Gb, DVD-RW, modem, Wi-Fi, Bluetooth, LAN 1 Gb/s, 7-in-1 card reader, webcam 2 Mpx, 4 USB ports, there are also headphone and microphone outputs, HDMI, FireWire and VGA. A detailed review can be found on notebookcheck.net, where the same model is described, but with a slightly different configuration.
I have already installed DeepStyle 3.1, updated some packages and am now setting up a build environment for QGIS. I also need to read a lot of mans and do some fine-tuning (suspend, power management, CPU frequencies, etc.). But all this will probably be done after the hackfest, as there is not much time left.
I haven’t written anything for a month, as I just haven’t had enough time, and internet access has been quite limited at times. The most important news is that I’m going to the QGIS Hackfest in Vienna. Actually, the discussion about attending the hackfest started more than 2 months ago at the end of August, but I deliberately did not write anything because there were a lot of problems and ambiguities, especially the question of the visa. It was only this week that everything finally became clear.
The most difficult part was getting a visa from the Austrian embassy. The first thing you need to do is call the embassy or visit them in person to get the list of documents required and make an appointment. The last option is more suitable for Kyiv residents; for the rest, it is better to make a call. Remember that there is a charge for the call (€12) and that you can only pay by VISA or MasterCard, so keep your card details around.
The list of documents is not very long, but for all the documents you need a copy with a translation into German, otherwise, they will not be accepted. I have collected the following documents:
a foreign passport
copies of all pages of the national passport that contain any information
a copy of the individual tax number
a certificate from your place of work stating your average monthly salary and that you will keep your salary and job for the duration of the trip (if, like me, you have recently changed jobs and have not worked for 3 months, please also bring a copy of your employment record)
a bank account statement with information on account balance and movements of funds for the last 3 months
2 photos 3.5×4.5
filled visa application form
documents confirming that I won’t be living on the street or at the train station :-) (the statement from the online booking should work)
insurance with coverage of €30,000
The documents should be submitted one month before the planned date of departure. Of course, you can submit them earlier, but they will only be processed one month before anyway. I went to Kiev, stood in line and handed in the documents. Last week I received a call for an interview and went to Kyiv again…
It turns out that I am a suspicious person for the embassy. I got my passport back in April 2008, but it was “clean” until now (well, I haven’t had much luck travelling). So “clean” passport — one. I’m travelling alone — two. Only for 5 days — three. Four: travelling alone, all alone and and not on a sightseeing tour from some agency. Going to the capital — five (Why? For what? He’s probably a terrorist). I talked to the officer for about 15-20 minutes, and here the letter with the invitation to the hackfest, or rather to the “developers’ meeting” (if it had said hackfest — I would certainly have left without a visa), which I had asked the organisers for in advance, came in very handy. Then I waited almost 4 hours for an answer, but it was worth it — they gave me a visa in the end. For exactly 5 days. Now I am packing my bags.
P.S.: You can read about the upcoming hackfest in Vienna on the wiki. There is also a blog post with a report on the previous one, which took place in Hannover this spring, and an interview with the participants. If I get the chance, I will try to post updates directly from the scene or share my impressions when I get back. And this post can be seen as a teaser :-).
Less than a month has passed since the release of QGIS 1.2.0 and now… 1.3.0 is available. Pretty fast, huh?
There are not that many changes, mostly bug fixes and minor improvements. There is a tendency to switch to native analysis tools (i.e. not related to GRASS), for example this version includes the “Raster terrain analysis” plugin for terrain analysis.
The announcement, as usual, is available on the official blog.
Release. There are a lot of changes, especially in the digitising tools: undo/redo support, history of edits, feature simplification and merging, ability to remove holes in polygons, and many other useful features. And also added support for attribute table field aliases, support for keyboard shortcut customisation, plugin and provider for working with OpenStreetMap… going through all the new features will take a long time.
The so-called visual changelog can be found on the developers’ blog. I haven’t translated the announcements in the wiki into Ukrainian and Russian yet because the official version isn’t ready yet. I think it will be cleaned up by tonight, and then I can start translating.
I wanted to build QGIS on Windows using MSYS + MinGW. So, I gathered all the necessary programs and libs, updated the QGIS code from SVN and, armed with the “Coding and compilation guide”, set to work. It took my Sempron almost two evenings to compile the dependencies and QGIS itself. It went well at first, but when I got to avce00, I stuck. That thing would not compile at all, throwing warnings and errors at almost every line. I gave up and grabbed the binaries from OSGeo4W. That did the trick.
And this is the moment. It’s compiled. I run it and… and nothing. QGIS crashes at the beginning of loading. I run it from the console — it crashes again, leaving an “Access violation” message in the terminal. So here I am scratching my head and trying to figure out who to blame: avce00, my two left hands or spots on the sun. There are many reasons for this behaviour. Even developers say that building with MSYS and MinGW is quite a complex process.
I decided to postpone it for now, and in the meantime, I will try to build QGIS with VisualStudio Express. I need it for work.
A new version of matplotlib 0.99 has been released recently, the list of changes can be found here. I have rebuilt the package for OSGeo4W, updated the corresponding wiki page and uploaded the new package to the server.
I continue to work on the Statist plugin. It’s been a while since I updated the public repository — I’ve been working with my local copy. But today I uploaded a pretty big update.
Among the most notable changes:
ability to export frequency distribution histogram in PNG, PS, EPS, SVG and PDF formats
added toolbar with interactive plot navigation tools such as zoom and pan
the frequency distribution can be displayed as a histogram or a line graph.
ability to manually set range for both axes
improved and more polished UI
extended number of statistical values calculated by the plugin
fixed the issue with the broken plot resizing when changing the plugin window size.
There is only one major bug left (there are probably others, but they have not shown up yet) — in some cases, the histogram is displayed in a rather strange, I would say suboptimal, way. I have some ideas about how to fix this and will have to test them.
Enjoy the plugin. If you have any problems and/or feature requests, do not hesitate to email the author :-).
A bit more about Cyrillic and other non-ASCII characters in matplotlib. I decided to create a more comprehensive example to show how to output Cyrillic (or any other non-ASCII) characters in different parts of the plot. Actually, there is nothing complex here; you just need to find the time and read the manual, which is quite good, by the way. But as not everyone likes to read manuals… Anyway, here is the code:
#!/usr/bin/env python# -*- coding: utf-8 -*-from pylab import*import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
plt.rcParams["text.usetex"] =Falsefp = fm.FontProperties(fname="/home/alex/devel/mpl_cyr/CharisSILR.ttf")
plt.text(0.5, 0.5, u"довільний текст", fontproperties=fp)
# create some data to use for the plotx = arange(0.0, 3.0, 0.01)
y1 = sin(2* pi * x)
y2 = cos(2* pi * x)
# the main axes is subplot(111) by defaultplot(x, y1, label=u"Синусоїда")
plot(x, y2, label=u"Косинусоїда")
xlabel(u"Підпис вісі X", fontproperties=fp)
ylabel(u"Підпис вісі Y", fontproperties=fp)
title(u"Назва графіка", fontproperties=fp)
legend(prop=fp)
show()