
[{"content":"","date":"September 30, 2026","externalUrl":null,"permalink":"/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":" A collection of musings on Free Software, random hacking, anime and other tidbits.\nGeneral Linux KDE Anime Featured Out with the old, in with the new (??) September 30, 2026 General Linux Site An art-challenged individual's perspective on AI (anime) generated art November 20, 2022 General Anime Anime Aiart Stable-Diffusion Blast from the past: 超獣機神ダンクーガ (Super Beast Machine God Dancougar) June 13, 2021 Anime General Anime ","date":"September 30, 2026","externalUrl":null,"permalink":"/","section":"dennogumi.org","summary":" A collection of musings on Free Software, random hacking, anime and other tidbits.\nGeneral Linux KDE Anime Featured Out with the old, in with the new (??) September 30, 2026 General Linux Site An art-challenged individual's perspective on AI (anime) generated art November 20, 2022 General Anime Anime Aiart Stable-Diffusion Blast from the past: 超獣機神ダンクーガ (Super Beast Machine God Dancougar) June 13, 2021 Anime General Anime ","title":"dennogumi.org","type":"page"},{"content":"","date":"September 30, 2026","externalUrl":null,"permalink":"/categories/general/","section":"Categories","summary":"","title":"General","type":"categories"},{"content":"","date":"September 30, 2026","externalUrl":null,"permalink":"/tags/linux/","section":"Tags","summary":"","title":"Linux","type":"tags"},{"content":"Note: this article contains anime-style AI generated illustrations. If that bothers you\u0026hellip; feel free to stop reading (although you might miss out\u0026hellip; or not?).\nLeave of absence? # Soo\u0026hellip; the last post here was approximately four (or was it five?) years ago. What the heck happened?\nI could start with a list of more or less plausible justifications:\nLife (who hasn\u0026rsquo;t used this as a catch-all for everything?) \u0026ldquo;I\u0026rsquo;ve been busy\u0026rdquo; (who hasn\u0026rsquo;t?) \u0026ldquo;Stuff happened\u0026rdquo; (spoiler: it happens all the time) Although some stuff did indeed happen, there are some real reasons on why this blog hasn\u0026rsquo;t been updated for a long time:\nLaziness. There, I said it. Writing short or long-form text requires patience and dedication, and I couldn\u0026rsquo;t be arsed to sit down and do that, despite having a lot of things I wanted to write about (and I still do) Theming. At the time I used Ananke, for the site, that, boy, had many issues. So many that I forked half of the theme to fix it. And guess what it happened? It was so fragile, I was afraid to even build the site A certain interest of mine, uh, got me a little carried away. So, why now!? # What\u0026rsquo;s the point of coming up with random excuses? Good question. The honest answer is that \u0026ldquo;Because I wanted to\u0026rdquo;. Or at least, that\u0026rsquo;s what when I started writing this draft, at this point quite a while ago. It felt like a waste to let my main site (yes, it\u0026rsquo;s been really online since 1999) go to waste, even though the domain references something that is long gone.\nIn addition, given the recent developments, I thought it\u0026rsquo;d be nice to give alternative points of view from a FOSS drive-by contributor with a less prevalent background than the ones which are dominating the field.\nIn addition, talk about whatever I feel like talking (not much, probably?), using my established, extraordinary (don\u0026rsquo;t mention my modesty!) writing style.\nEnough! Just tell us what has changed! # Cough, cough! So much dirt! There was a lot of cruft accumulated over the years, including when this blog was still made using Jekyll: in fact I think there were broken links for almost a decade or so (!). In addition, there were topics I did not want to cover anymore, or that they felt a little too out of scope. Therefore, the changes have been pretty invasive.\nRemoved all references to my work: posts marked as science will remain, but I don\u0026rsquo;t want to blog about that on personal space anymore (and I\u0026rsquo;m no longer a scientist anyway) Cleaned a bit the about section and the various pages Removed references to old software and what not (it\u0026rsquo;s not going to get updated anymore, anyway) Removed comments: there\u0026rsquo;s no point in having them, honestly Fixed all broken image links (except two, which I think I have lost along the way in 2006-ish). In addition I switched to the wonderful Blowfish theme, which is greatly customizable and works like I wanted to. Care was made to ensure that existing links didn\u0026rsquo;t break (I had a LLM pass through them: you may think all that you want, but that boring work is perfect for a brainless agent). In fact, this brainless LLM work is what enabled a migration that would\u0026rsquo;ve taken weeks to take just a few minutes (plus more weeks to get the motivation, heh\u0026hellip;). Finally also thanks to Blowfish the site should finally be readable on mobile.\nLast but not least, I wanted to give this page a closer touch to my own interests, so I added plenty of generative-model-made illustrations, of a certain group of characters I helped someone with in the past two decades. Like this I\u0026rsquo;m closer as I wanted originally dennogumi.org to be.\nBut\u0026hellip; # You haven\u0026rsquo;t seen the last of me yet! I\u0026rsquo;m expecting that not everyone will like the new look (possibly the content?). I can see at least a number of criticisms going my way:\nIt\u0026rsquo;s not professional! — You\u0026rsquo;re browsing a site whose name (電脳組) translated literally from Japanese is electric brain group. What did you expect, a slick portal for a Fortune 500 company? Besides, this is my personal site: my only obligations are towards the hoster\u0026rsquo;s terms of service. I could fill it with dumps of ancient Sanskrit manuscripts and it would still be OK. You\u0026rsquo;re using AI!!!!1111 — Yes. It\u0026rsquo;s written also in the footer. All these images were generated locally on my GPU. If you change your moral judgment depending on whether someone uses or not \u0026ldquo;AI\u0026rdquo;\u0026hellip; well, I\u0026rsquo;d suggest a re-evaluation of your priorities. Characters are also partially mine, and the other co-creator gave me permission to use them. All other moral judgments are only fit for a dust bin. Why anime? — I like it. And have since about 40 years ago. For any unwanted judgment on the characters (which are entirely fictional, but I don\u0026rsquo;t understand why this needs to be stressed these days) or on myself, the dust bin is that way. But you are a dictator/vegetable eater/polo wearer! — Please. Make yourself at home in the dust bin. Wrapping up # Oh, so it\u0026rsquo;s not Valentine\u0026rsquo;s Day? Not that kind of wrapping, Yumiko.\nThe 5 cent question is always the same: will this be a single post, lost in the thread of time, or will I get around to writing more? I would rather not say \u0026ldquo;Only time will tell\u0026rdquo;, because of course that would mean never. I do have ideas for a few posts though:\nMy thoughts as a former scientist on the use of coding agents; About the forgotten freedom of software, Freedom 0; A description of my current \u0026ldquo;homelab\u0026rdquo; setup. Three ideas for a blog don\u0026rsquo;t seem much, but it\u0026rsquo;s still a number greater than zero. And the moment I\u0026rsquo;m writing them, something else may come to mind (hopefully).\nBut enough rambling for now. Enjoy the new look(?) and until next time (within this geological era!)!\n","date":"September 30, 2026","externalUrl":null,"permalink":"/2026/09/out-with-the-old-in-with-the-new/","section":"Posts","summary":"Note: this article contains anime-style AI generated illustrations. If that bothers you… feel free to stop reading (although you might miss out… or not?).\nLeave of absence? # Soo… the last post here was approximately four (or was it five?) years ago. What the heck happened?\n","title":"Out with the old, in with the new (??)","type":"post"},{"content":"","date":"September 30, 2026","externalUrl":null,"permalink":"/tags/site/","section":"Tags","summary":"","title":"Site","type":"tags"},{"content":"","date":"September 30, 2026","externalUrl":null,"permalink":"/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"},{"content":"","date":"November 20, 2022","externalUrl":null,"permalink":"/tags/aiart/","section":"Tags","summary":"","title":"Aiart","type":"tags"},{"content":"You might have heard it in the past few months: some areas of the Internet are buzzing with discussions on \u0026ldquo;generative art\u0026rdquo;, that is, artwork generated from \u0026ldquo;AI\u0026rdquo; models that were fed with an absurdly large amount of images as training as a base. There are supporters, there are critics, and techology advances: among all this, this post offers my humble experience with computer-generated imagery.\nIn this post, you\u0026rsquo;ll be guided by Yumiko, Satsuki, and Maya: the first two are characters created by someone else I know (who wants to remain anonymous) which I then expanded, cooperating with their creator in a certain project from a few years ago; the latter is\u0026hellip; well, a character with an interesting history, which will be explained later.\nBut first, an introduction for those unfamiliar with this world is in order.\nWhat is this AI you speak of? # Even Yumiko wants to know! Unless you were living in hibernation in Alpha Centauri waiting for the right moment to start the invasion, you might have heard about the use of various methods of \u0026ldquo;machine learning\u0026rdquo; to have a computer program (to be very simple) \u0026ldquo;learn\u0026rdquo; particular features out of a data set (chess games, video games, images, sounds\u0026hellip;) and use them to perform various tasks, such as playing games, generate texts, tackle complex scientific problems and many more things.\nScientific background or not, my mind is limited and I\u0026rsquo;d need someone more expert than me to find a precise definition of these systems (feel free to do so in the comments!). In this space there is active scientific research, both by universities and commercial companies, such as DeepMind (now owned by Google) and OpenAI (although they\u0026rsquo;re not really \u0026ldquo;open\u0026rdquo;\u0026hellip;).\nOne important point, which is relevant for the background of all this, is that aside the algorithms (the instructions required to \u0026ldquo;learn\u0026rdquo; and then \u0026ldquo;apply\u0026rdquo; the digested data), one of the key ingredients of this potentially palatable recipe is the model: you can view it as what the \u0026ldquo;AI\u0026rdquo; has learned after processing the data. While most of the algorithms are public (there are even research papers), models are often not, so only their creators can change, improve, or build upon them.\nYou know, it sounds awfully like the prologue to an incident involving a former MIT researcher and a jammed printer, but I\u0026rsquo;ll leave that out for now. We\u0026rsquo;ll get back to it later.\nA robot that can paint # Eeh~ I don\u0026rsquo;t really understand all this stuff\u0026hellip; In January 2021, OpenAI announced DALL-E, a play on Disney\u0026rsquo;s WALL-E and renowned artist Salvador Dalì: an extension to their GPT-3 system (which generated texts) which allowed the generation of images from natural language. This meant that the text \u0026ldquo;an apple on a wooden table\u0026rdquo; would produce (more or less) an image of an apple on a wooden table. To prevent any possible potential liability (they said \u0026ldquo;misuse\u0026rdquo; or similar terms, but it was mainly for liability), both sexual and violent images were removed from the (massive) data set used for training. However, despite \u0026ldquo;Open\u0026rdquo; in the name, DALL-E was only available to OpenAI\u0026rsquo;s paying customers (like GPT-3). There was no way to alter, modify, or improve the whole deal unless OpenAI wanted to (in part they did, with DALL-E 2).\nSimilar models were made by other companies, like Midjourney, but likewise, they kept everything to themselves. Some places started offering generation services (free, or at a price), but it looked like some sort of niche interest. Until summer 2022.\nOne event that changed everything # That summer, Patrick Esser (from RunwayML) and Robin Rombach from a university research group (Machine Vision \u0026amp; Learning, LMU Berlin) released Stable Diffusion, another approach to generate images, trained on about 5 billion reference images. The big deal is that, although with some restrictions, the model was substantially more open than the others, and in fact was available, and allowed modification and reuse. That was when AI generation exploded.\nExplosions? Mess with Satsuki, and you\u0026rsquo;ll get burned. Many, from researchers to particularly smart lay people, actually started working on improvements to the models, the algorithms, and everything that turned around Stable Diffusion. Although Stable Diffusion aimed at all kinds of art, specialized models were made, for example, to draw anime-style art. In addition, NovelAI, a company which provided a service to create stories using GPT-3, developed a custom (and high quality) model to draw anime art. Said model was also somehow leaked, and prompted further modifications (link in Chinese), although of likely questionable legality.\nThe advantage of all of this is that a regular user, assuming the availability of a suitable high-end GPU (NVIDIA or AMD, although Intel\u0026rsquo;s ARC could also prove useful in the future), can generate art. There\u0026rsquo;s a plethora of software available to do so, although the most popular one is very ambiguous on licensing. There is still plenty of movement (warning: some links contained there may be NSFW) in the field, as well.\nThe rest of this post, in fact, deals to what I actually did with all this stuff.\nArt-challenged? # Those who are familiar with me or my background know it already: art was never my forte. In high school, my lowest grades were in art and related subjects. I was never, ever able to draw more than stick figures. It wasn\u0026rsquo;t a big deal: whatever I lacked in art I made up for it in other disciplines (like science).\nSeriously. This is the extent of my skill. So what has that to do with AI art? Well, there are a couple of reasons that might be worth telling.\nIdeas, and lack of implementation # As I discussed with the creator of Yumiko and Satsuki several times, it would\u0026rsquo;ve been nice to actually see characters \u0026ldquo;spring to life\u0026rdquo;. Ever since the characters were conceived, thanks to a totally random comment I made that opened the lid to a train of thought which brought them in this form.\nI\u0026rsquo;ve noted down your total inability to draw. Go on. Neither of us could do it. Even Yumiko\u0026rsquo;s creator is an artistically-challenged person, although less than myself. However, we asked (and paid, of course) artists. Despite sometimes troublesome relationships (involving, in one case, a dispute on a payment site), it helped shape the characters and even prompted new ideas for them. One of the issues was that often for cost or time we would actually cut some of the planned ideas for the images.\nExample: one image arrived late, there were some more adjustments to do, but we glossed over to avoid waiting more time. Plus some of the artists weren\u0026rsquo;t trusting their skill enough drawing certain types of characters (either women or men, for example) Nevertheless, there was quite an amount of art produced in the past years (our wallets weren\u0026rsquo;t happy).\nFor these reason, using AI-generated imagery is a potentially useful way to prototype scenes, fine tune them, and see whether they \u0026ldquo;fly\u0026rdquo; in the context of what they\u0026rsquo;re depicting (sometimes a good idea might have a bad implementation, for example). At this point, one can ask an artist to draw the final composition after gathering enough information.\nBuilding upon a memory # The second reason involves memories, or rather, fading memories. Around twenty years ago, or perhaps a little more (in the 1999-2002 period), back when high speed Internet had just arrived in my country but I was stuck with a 28.8K modem (or an even more unreliable 56K one). At the time, I somehow found myself on Japanese sites, although at the time, I didn\u0026rsquo;t understand even a single word of what was written. One of these sites was an aggregator called Surfer\u0026rsquo;s Paradise (or \u0026ldquo;surpara\u0026rdquo;).\nClicking at random through the list of the \u0026ldquo;newly added\u0026rdquo; sites made me end up on an artist\u0026rsquo;s page: I do not know who it was. Even more clicking around, and I found myself in the rough sketch (らくがき) section, and in particular my attention was attracted by the drawing (rough) of a girl with light blue, long hair, wearing a futuristic armor (a mixture of black, white and blue), with a shield and a blade that sprung out of a vambrace on the right wrist and two long ribbon-like structures attached to the headgear. A scribbled text next to it read \u0026ldquo;i-Girl\u0026rdquo; (note, this is not a more famous image of an \u0026ldquo;i-Girl\u0026rdquo; related to the iMac). I liked the concept, and fantasized a bit on it. That\u0026rsquo;s how \u0026ldquo;Maya\u0026rdquo; (at the time without a family name) was born.\nI\u0026rsquo;m\u0026hellip; I\u0026rsquo;m the copy of someone else\u0026rsquo;s memory!? However, I was never able to find the drawing again. I don\u0026rsquo;t even remember the web page, and the image was not on any of the many backups I made. I remember saving it, but it was likely lost. So for many years, \u0026ldquo;Maya\u0026rdquo; was just an idea that kept going back and forth in my head. At some point, the concept of a \u0026ldquo;civilian Maya\u0026rdquo; (the one you\u0026rsquo;ve seen so far) and a \u0026ldquo;battle Maya\u0026rdquo;, heavily inspired by 1980s anime like 超音戦士ボーグマン (Sonic Soldier Borgman), having the ability to transform and don some kind of powered suit (with a bracelet heavily borrowed from Borgman\u0026rsquo;s Baltector), took shape.\nI\u0026rsquo;m also Maya, and I will fight whatever random evil threatens this town! This is what allowed the character (and a few others around her) to \u0026ldquo;exist\u0026rdquo;. No longer as a vague memory (which is also fading), but in something that can be seen. I wouldn\u0026rsquo;t have asked an artist to do this, as the details were too scant to actually do anything. This way of generating allowed me not only to put form to my memory, but also to start fleshing out more details (although it is unlikely that it will become anything - there\u0026rsquo;s already too much bad stuff out there).\nWhat AI art gets near-perfectly # Being a system that is trained on existing art (and, due to technical reasons, to mostly square, low-resolution images), such a system can get some things right, and some things wrong. First, we\u0026rsquo;ll focus on the good points. Remember, however, that this is from a perspective of someone who has no artistic sense.\nWhat are you saying? It\u0026rsquo;s obvious that I\u0026rsquo;d end up being pretty! Certain models (like the leaked NovelAI, or its evolution, the \u0026ldquo;Anything\u0026rdquo; model) get most anime-related stuff almost perfectly. The images of Satsuki and Yumiko you\u0026rsquo;ve seen here are extremely close to the character designs that were commissioned years ago. Of course the artist style is different, but it\u0026rsquo;s really them. Even other characters that existed only in textual descriptions ended up being \u0026ldquo;just right\u0026rdquo;, like the fellow below (by the way, his name is Nindech: don\u0026rsquo;t make him angry, or he\u0026rsquo;ll eat you).\nI haven\u0026rsquo;t eaten enough children this morning. Bring me more! So, getting good results is definitely possible, for the most part. However, that doesn\u0026rsquo;t mean that they come out easily (more about this later).\nWhat isn\u0026rsquo;t that great # Of course, like all software, this method has some limitations, which can become even more evident with anime-style art. One of the major issues is that the data fed to it was in rather low resolution for the most part (512x512), which means that a lot of fine details are lost, and thus the algorithm has a hard time getting them right. Examples are fingers (you might have noticed in the images in this post), but also stuff like weapons, which barely end up in the characters\u0026rsquo; arms (the suspicious \u0026ldquo;Anything v3.0\u0026rdquo; model gets them much better, to be honest).\nAlso, if there are not enough pixels to properly form the image, some details like faces are completely messed up. Photographic proof below.\nHurr durr my arm is a sword!!!!!1111 The more acute observers might also have noticed, sometimes, a lack of symmetry in clothing and backgrounds. Again, this is in part to due to how the algorithm works, and in part due to the low resolution of the input images. You can raise the resolution, of course, but that requires loads of video RAM on your GPU (around 16G or more).\nThe AI also has no notion of what the elements in the scene are there. As such, multiple characters in one scene often share the same traits (e.g., if you have one with glasses, everyone will have them), and this is even more evident if there are characters of different gender together.\nIn addition, most (but not all) anime-styled models have a major slant towards female characters. Getting male characters out that don\u0026rsquo;t look like eldritch abominations requires some work.\nWork, exactly.\nIs it really low-effort? # One of the major criticism of AI-generated art (in general, not necessarily anime-styled), along with the \u0026ldquo;stealing\u0026rdquo; of art (we\u0026rsquo;ll discuss that later) is that it would, potentially, enable \u0026ldquo;low-effort\u0026rdquo; generation of art.\nWhile it\u0026rsquo;s true that some (see on DLsite.com, for example) are selling AI-generated art that is of abysmal quality (low resolution and not even checked), getting pictures right requires quite a bit of work. For each of the images in the post, I\u0026rsquo;ve gone at least through 30 iterations each, adjusting the inputs, blacklisting some terms, and adjusting resolutions so they would look fine (only to, sometimes, redo everything due to a mistake). I can say it takes about more than an hour for more complex subjects, and several hours for the most difficult ones.\nI went to the plastic surgeon. It\u0026rsquo;s all fine now. There are tools to \u0026ldquo;help\u0026rdquo; the AI to generate images correctly, which involve either slightly altering a provided image (as opposed to pure text input) or by instructing it to only touch part of the image itself. These are considerably more complex to use. For one series of images I think I spent about six hours in total (cumulative) to get them right.\nLet\u0026rsquo;s get this clear: it\u0026rsquo;s not comparable to the effort one artist makes in creating a drawing, but it\u0026rsquo;s not at the level of \u0026ldquo;push button, receive cookie\u0026rdquo;. Absolutely not.\nWill the AI overlords replace humans? # And this brings us to the main argument of AI-generated art, which is true even more for anime-styled one. Will the AI overlords make artists obsolete? Big question.\nLords? Who needs them! I\u0026rsquo;ll just kill them all! (The above is Yumiko. Don\u0026rsquo;t ask, long story.)\nI\u0026rsquo;ve had quite a long debate with someone far more art-inclined than me on this topic. The point this person made is that morally, if there\u0026rsquo;s no effort involved, it shouldn\u0026rsquo;t be really sold as \u0026ldquo;art\u0026rdquo;, although with a distinction between those who spread, or sell, generated images \u0026ldquo;as-is\u0026rdquo; and those who put effort in getting them better. Of course, I\u0026rsquo;m summarizing a lot (this post is already very long as it is!) but that was the gist of our argument.\nAs I see it, the matter is undoubtedly complex and time will be definitely needed to sort most of the issues out.\nThere are several points that will need to get cleared:\nThis is not \u0026ldquo;stealing\u0026rdquo;. At best it is plagiarism, or copyright infringement. They are not the same thing, as stealing implies a physical deprivation of something, not an unauthorized copy or modification; Whether AI art is a derivative work of the images it was trained on, it is likely a matter that will need courts to get involved, because at this point there is absolutely no clear way to call the generated art \u0026ldquo;original\u0026rdquo; or \u0026ldquo;derivative\u0026rdquo;, in particular when no preexisting subjects are involved; There\u0026rsquo;s the whole stuff of AI being used for stuff that people would find unpleasant, borderline legal, or outright revolting and creepy. Again, now that the models are out, while one can \u0026ldquo;censor\u0026rdquo; or \u0026ldquo;limit\u0026rdquo; them, other people may be still able to add whatever they want to them, so it may need law, or courts if such limits are wanted. Given the pace this field is evolving, I\u0026rsquo;m guessing it will take some time for everything to settle and these issues are discussed (if they are). Interesting (or troubling, depending on your point of view) times ahead.\nIs a storm brewing, or will the sun shine again? Conclusions # So, what\u0026rsquo;s the conclusion of this somewhat long and rambling text (aside \u0026ldquo;close browser tab\u0026rdquo;, of course)? I\u0026rsquo;m not an artist at all, and I admittedly enjoy the opportunity that these methods give me to give form to concepts that, for lack of skill (and sometimes money) were left to random thoughts in moments of boredom. Likewise, they injected a second life (or rather a third in the project\u0026rsquo;s development history) in old characters and stories: Yumiko and Satsuki\u0026rsquo;s creator actually enjoys those images quite a lot.\nLike everything, it is not perfect and there are problems of all kinds. It\u0026rsquo;s getting to the level of good enough for me, and I honestly look forward to any potential improvements the future may bring. And with a technology that brings, inherently, some distruption, I guess that the debates on AI generated imagery won\u0026rsquo;t calm down any time soon, and some shift in perspective (good or bad) will have to occur.\nSo, this brings the journey narrated in this very long post to an end. The three real stars of it (certainly not me), Yumiko, Satsuki, and Maya, bid you farewell. Maybe they\u0026rsquo;ll pop here again with another post on AI generated art, maybe they won\u0026rsquo;t.\nOnly time will tell. So, until next time.\n","date":"November 20, 2022","externalUrl":null,"permalink":"/2022/11/an-art-challenged-individuals-perspective-on-ai-anime-generated-art/","section":"Posts","summary":"You might have heard it in the past few months: some areas of the Internet are buzzing with discussions on “generative art”, that is, artwork generated from “AI” models that were fed with an absurdly large amount of images as training as a base. There are supporters, there are critics, and techology advances: among all this, this post offers my humble experience with computer-generated imagery.\nIn this post, you’ll be guided by Yumiko, Satsuki, and Maya: the first two are characters created by someone else I know (who wants to remain anonymous) which I then expanded, cooperating with their creator in a certain project from a few years ago; the latter is… well, a character with an interesting history, which will be explained later.\n","title":"An art-challenged individual's perspective on AI (anime) generated art","type":"post"},{"content":"","date":"November 20, 2022","externalUrl":null,"permalink":"/categories/anime/","section":"Categories","summary":"","title":"Anime","type":"categories"},{"content":"","date":"November 20, 2022","externalUrl":null,"permalink":"/tags/anime/","section":"Tags","summary":"","title":"Anime","type":"tags"},{"content":"","date":"November 20, 2022","externalUrl":null,"permalink":"/tags/stable-diffusion/","section":"Tags","summary":"","title":"Stable-Diffusion","type":"tags"},{"content":"","date":"October 7, 2022","externalUrl":null,"permalink":"/categories/kde/","section":"Categories","summary":"","title":"KDE","type":"categories"},{"content":"","date":"October 7, 2022","externalUrl":null,"permalink":"/categories/linux/","section":"Categories","summary":"","title":"Linux","type":"categories"},{"content":"","date":"October 7, 2022","externalUrl":null,"permalink":"/categories/opensuse/","section":"Categories","summary":"","title":"Opensuse","type":"categories"},{"content":"","date":"October 7, 2022","externalUrl":null,"permalink":"/tags/opensuse/","section":"Tags","summary":"","title":"Opensuse","type":"tags"},{"content":"As many readers of this blog are aware, openSUSE has been offering packages of git snapshots from KDE since quite a while. They are quite useful for those wiling to test, report bugs, and / or hack on the code, but also for those who want to see what\u0026rsquo;s brewing in KDE land (without touching their existing systems). However, a major drawback for non English speakers was the lack of translations.\nWhat\u0026rsquo;s the problem with translations? # KDE translations are not hosted on the community\u0026rsquo;s git repositories, but are instead stored in KDE\u0026rsquo;s SVN server. The main reason they were not moved to git was to preserve the existing workflows of the translation teams (who might not be as technical as the actual hackers). Translations are then placed in tarballs at the times of betas / RCs / releases.\nThis unfortunately means that having a git checkout, like what the OBS does when building the unstable packages, will not carry any translations whatsoever. Worse, existing -lang packages for stable versions will raise dependency problems if present (because they require the exact same version of their corresponding binary paclage).\nAlso, since the KDE team tries to keep the same set of package defintions (spec files) between the stable and unstable OBS projects, this meant some extra complexity to take into account the fact that translations might or might not be there.\nAs far as I remember, since some time there was some tooling in KDE infrastructure to download translations at build time, but it was a big no-no for the OBS, as there is no network access during building for security reasons.\nTwo sides of a solution # This proved to be a problem also for KDE\u0026rsquo;s own release management. On September 2nd, KDE hacker Albert Astals Cid outlined a proposal to have an automated way to copy translations from SVN into their corresponding repository, with a series of scripts that would do so periodically.\nAfter some discussion and once at Akademy, the switch was turned on October 2nd. This means that our git checkouts were getting translations!\nOf course, some adjustments were needed: spec files in the KDE Unstable projects were not taking the presence of translations into account, and thus quite a number of builds were failing. krop, KDE team member extraordinaire, stepped in and fixed all the spec files. This in turn made him realize that some upstream KDE projects were not actually handling translations correctly in their CMake code, so he fixed them too.\nWithin a couple days, all KDE Unstable repositories (Frameworks, Applications and Extra) had translations enabled, where applicable. After many years, it became possible to test the latest KDE software and have it in your own language.\nDo I need to do anything? # If you don\u0026rsquo;t have the language packages installed and you have installation of recommended packages enabled (the default), they should be installed automatically. If you have, like myself, forcibly installed the language packages from the stable repositories, you can force install the new ones (for example with zypper install -f \u0026lt;packagename\u0026gt;), or if you\u0026rsquo;re on Tumbleweed, accept to swap them when prompted (this occurs when a new stable version of KDE software is published in a snapshot). Or you can install them manually should you prefer to do so.\nShould any issues with the packaging arise (e.g., missing dependencies, conflicts), please file a ticket on bugzilla.opensuse.org.\nAnd as always, have a lot of fun!\n","date":"October 7, 2022","externalUrl":null,"permalink":"/2022/10/translations-available-for-kde-unstable-packages/","section":"Posts","summary":"As many readers of this blog are aware, openSUSE has been offering packages of git snapshots from KDE since quite a while. They are quite useful for those wiling to test, report bugs, and / or hack on the code, but also for those who want to see what’s brewing in KDE land (without touching their existing systems). However, a major drawback for non English speakers was the lack of translations.\n","title":"Translations available for KDE unstable packages","type":"post"},{"content":"","date":"October 22, 2021","externalUrl":null,"permalink":"/tags/389-ds/","section":"Tags","summary":"","title":"389-Ds","type":"tags"},{"content":"","date":"October 22, 2021","externalUrl":null,"permalink":"/tags/ldap/","section":"Tags","summary":"","title":"LDAP","type":"tags"},{"content":"In the past months I\u0026rsquo;ve set up LDAP at home, to avoid having different user accounts for the services that I run on my home hardware. Rather than the venerable OpenLDAP I settled for 389 Directory Server, commercially known as Red Hat Directory Server, mainly because I was more familiar with it. Rather than describing how to set that up (Red Hat\u0026rsquo;s own documentation is excellent on that regard), this post will focus on the steps required to enable encryption using Let\u0026rsquo;s Encrypt certificates.\nThe problem # Even the LDAP server (they\u0026rsquo;re actually two, but for the purpose of this post it does not matter) was just operating in my LAN, I wanted to reduce the amount of information going around in clear, including LDAP queries. That meant setting up encryption, of course.\nThe problem was that Red Hat\u0026rsquo;s docs only cover the \u0026ldquo;traditional\u0026rdquo; way of obtaining certificates, that is obtaining a Certificate Authority (CA) certificate, request a server certificate, obtain it and set it up in the server. There is (obviously) no mention of Let\u0026rsquo;s Encrypt anywhere. I\u0026rsquo;ve found some guides, but they were either too complicated (lots of fuzzing around with certutil) or they weren\u0026rsquo;t clear for some steps. Hence, this post.\nNOTE: I\u0026rsquo;ve focused on 389-ds version 2.0 and above, which has a different CLI set of commands than the venerable 1.3 series. All of the steps shown here can also be carried out via the Cockpit Web interface as well, if your distribution carries it (spoiler: openSUSE doesn\u0026rsquo;t).\nImporting the CA # This is arguably one of the most important steps of the process. 389-ds needs also to store the CA for your certificates. As you may (or may not) know, Let\u0026rsquo;s Encrypt\u0026rsquo;s CA certificates are two:\nThe actual \u0026ldquo;root\u0026rdquo; certificate, by Internet Security Research Group (ISRG); An intermediate certificate, signed by the above root, called \u0026ldquo;R3\u0026rdquo;. Let\u0026rsquo;s Encrypt certificates, like the one powering this website, are signed by R3. But since you have to follow a \u0026ldquo;chain of trust\u0026rdquo;, to validate the certificate you follow these steps (excuse me, security people; this is probably a bad semplification):\nCheck the actual certificate (e.g. the one on dennogumi.org) The certificate is signed by \u0026ldquo;R3\u0026rdquo;, so move up the chain and check the R3 certificate The R3 certificate is signed by the ISRG root certificate, so move up the chain and check the ISRG root The ISRG certificate is trusted by the OS / application using it, so everything stops there. If any of the steps fails, the whole validation fails.\nThis long winding explanation is to tell you that 389-ds needs the whole certificate chain for its CA (so ISRG root + R3) in order to properly validate the Let\u0026rsquo;s Encrypt certificate you\u0026rsquo;ll use. If you don\u0026rsquo;t do that, chances are that some software which uses the system CA will work (for example ldapsearch) but others, like SSSD will fail with \u0026ldquo;Unknown CA\u0026rdquo; errors (buried deep into debug logs, so at the practical level they\u0026rsquo;ll just fail and you won\u0026rsquo;t know why).\nLet\u0026rsquo;s get to business. Access the Chain of Trust page for Let\u0026rsquo;s Encrypt and download the relevant certificates. I\u0026rsquo;m not sure if 389-ds supports ECDSA certificates, so I downloaded the RSA ones: ISRG Root X1 and Let\u0026rsquo;s Encrypt R3 (both in PEM format). Put them somewhere in your server. Then, as root, import the two CA certificates into 389-ds (substitute LDAP_ADDRESS with the LDAP URI of your server):\n1 2 3 4 5 6 7 8 9 # ISRG Root dsconf -v -D \u0026#34;cn=Directory Manager\u0026#34; LDAP_ADDRESS security ca-certificate \\ add --file /path/to/certificate --name \u0026#34;ISRG\u0026#34; # Let\u0026#39;s Encrypt R3 dsconf -v -D \u0026#34;cn=Directory Manager\u0026#34; LDAP_ADDRESS security ca-certificate \\ add --file /path/to/certificate --name \u0026#34;R3\u0026#34; NOTE: This step may not be necessary if you use Let\u0026rsquo;s Encrypt\u0026rsquo;s \u0026ldquo;full chain\u0026rdquo; certificates, but I did not test that.\nImporting the certificates # Then, you have to import a Let\u0026rsquo;s Encrypt certificate, which means you have to obtain one. There are hundreds of guides and clients that can do the job nicely, so I won\u0026rsquo;t cover that part. If you use certbot, Let\u0026rsquo;s Encrypt\u0026rsquo;s official client, you will have the certificate and the private key for it in /etc/letsencrypt/live/YOURDOMAIN/fullchain.pem and /etc/letsencrypt/live/YOURDOMAIN/privkey.pem.\nYou need to import the private key first (substitute LDAP_ADDRESS and DOMAIN with the LDAP URI of your server and the Let\u0026rsquo;s Encrypt domain, respectively):\n1 2 3 dsctl LDAP_ADDRESS tls import-server-key-cert \\ /etc/letsencrypt/live/DOMAIN/fullchain.pem \\ /etc/letsencrypt/live/DOMAIN/privkey.pem Note that you pass the certificate as well as the key to import it (in doubt, check\u0026rsquo;s Red Hat documentation).\nOnce the key is done, it is time to import the actual certificate:\n1 2 3 4 dsconf -v -D \u0026#34;cn=Directory Manager\u0026#34; LDAP_ADDRESS security certificate add \\ --file /etc/letsencrypt/live/DOMAIN/fullchain.pem \\ --primary-cert \\ --name \u0026#34;LE\u0026#34; --primary-cert sets the certificate as the server\u0026rsquo;s primary certificate.\nThen, we switch on TLS in the server:\n1 2 dsconf -v -D \u0026#34;cn=Directory Manager\u0026#34; LDAP_ADDRESS config replace \\ nsslapd-securePort=636 nsslapd-security=on And finally, we restart our instance (replace INSTANCE with your configured instance name):\n1 systemctl restart dirsrv@INSTANCE Testing everything out # You can use ldapsearch to check whether the SSL connection is OK (I\u0026rsquo;ve used Directory Manager, but you can use any user you want):\n1 2 3 4 5 6 7 8 # STARTTLS ldapsearch -H ldap://your.ldap.hostname -W -x -D \u0026#34;cn=Directory Manager\u0026#34; -ZZ \u0026#34;search filter here\u0026#34; # TLS ldapsearch -H ldaps://your.ldap.hostname -W -x -D \u0026#34;cn=Directory Manager\u0026#34; \u0026#34;search filter here\u0026#34; If everything is OK, you should get a result: otherwise, you\u0026rsquo;ll get an error like \u0026ldquo;Can\u0026rsquo;t contact the LDAP server\u0026rdquo;.\nAlternatively, you can use openssl:\n1 2 3 4 5 openssl s_client -connect your.ldap.hostname:636 [...] --- SSL handshake has read 5188 bytes and written 438 bytes Verification: OK Don\u0026rsquo;t forget to adjust your applications to connect via ldaps rather than ldap after everything is done.\nRenewing the certificates # To renew the certificates you repeat the steps outlined above for the certificates (without the CA part, of course). Make sure you always import your private key: if there is a mismatch between it and the certificate, 389-ds will refuse to start.\nIf you use certbot you can use a post-renewal hook to trigger the import of the certificate into 389-ds. This is what I\u0026rsquo;ve been using: bear in mind it\u0026rsquo;s customized to my setup and does a few more things than needed. Also it does only import the certificate, and not the full chain.\nI messed up and 389-ds won\u0026rsquo;t start! What do I do? # You can disable encryption by editing /etc/dirsrv/slapd-INSTANCE/dse.ldif and changing nsslapd-security to off, then start 389-ds again. Then you can review everything and see what went wrong. But if you can, I recommend the Cockpit Web UI: it makes the first-time setup a breeze.\nWrap up # Importing the certificates is surprisingly simple, but my Internet searches have been frustrating because at least half of what I found was either not applicable, incomplete, or did not work. I hope this small tutorial can be useful for those who want a bit more security in their LDAP setup.\n","date":"October 22, 2021","externalUrl":null,"permalink":"/2021/10/setting-up-lets-encrypt-certificates-for-the-389-ds-ldap-server/","section":"Posts","summary":"In the past months I’ve set up LDAP at home, to avoid having different user accounts for the services that I run on my home hardware. Rather than the venerable OpenLDAP I settled for 389 Directory Server, commercially known as Red Hat Directory Server, mainly because I was more familiar with it. Rather than describing how to set that up (Red Hat’s own documentation is excellent on that regard), this post will focus on the steps required to enable encryption using Let’s Encrypt certificates.\n","title":"Setting up Let's Encrypt certificates for the 389-ds LDAP server","type":"post"},{"content":"","date":"August 1, 2021","externalUrl":null,"permalink":"/tags/containers/","section":"Tags","summary":"","title":"Containers","type":"tags"},{"content":"","date":"August 1, 2021","externalUrl":null,"permalink":"/tags/owntracks/","section":"Tags","summary":"","title":"Owntracks","type":"tags"},{"content":"","date":"August 1, 2021","externalUrl":null,"permalink":"/tags/podman/","section":"Tags","summary":"","title":"Podman","type":"tags"},{"content":"One thing I always wanted to do when going on holiday is to track where I go, the places I\u0026rsquo;ve been, and see how much I\u0026rsquo;ve travelled around. This is true in particular when going to places where I walk around a lot (Japan stays at the top of the list, also for other reasons that are not related to this post). Something like viewing a map showing where you were, and where did you go, with optional export to KML or GPX to import into other programs like Marble.\nTo my knowledge, there are a number of proprietary solutions to this problem, but in this case I value these kind of data quite a lot, so they are out of the question from the start. And so, I began my search for something I could use.\nI initially set up with Traccar but the sheer complexity of the program (not to mention that I relied on some features from a popular fork was off-putting. Also it did far more than what I wanted it to do, and the use case of the program was completely different from mine anyway. After a couple of unsuccessful tries, I left it to gather virtual dust on my server until I deleted it completely.\nA possible solution: OwnTracks # More recently (and more than once) I got interested in OwnTracks, which at least on paper promised exactly what I wanted. In particular, the web page mentioned\nOwnTracks allows you to keep track of your own location. You can build your private location diary or share it with your family and friends. OwnTracks is open-source and uses open protocols for communication so you can be sure your data stays secure and private.\nTherefore that was worthy of investigation. Unfortunately, I found the documentation to be really sub par. Actually the program is very powerful and can do many things, but the guide is essentially a collection of topics rather than \u0026ldquo;how to do X\u0026rdquo;. Thus, even simple tasks like a proper installation procedure were hard to grasp.\nTo give a simple explanation on how the whole thing works: OwnTracks collects location data from one\u0026rsquo;s smartphone and submits information to a recorder, which is hosted wherever you prefer, which can then store, process and display the information. The Recorder can either use a protocol called MQTT, widely used for IoT, or work through HTTP.\nAs the author of OwnTracks himself recommends HTTP when using the OwnTracks app on Android 6.0+, I didn\u0026rsquo;t bother investigating MQTT and went straight to HTTP.\nThe rest of this post is how I set up everything.\nInstalling the OwnTracks Recorder with Podman # As the OwnTracks application for smartphones can be acquired either from F-Droid or the relevant app stores, that was not a problem (the app is also FOSS, by the way, or I wouldn\u0026rsquo;t have considered it). Then I turned my attention to the Recorder.\nThe Recorder is a C application which must be compiled manually, and that can have options disabled or enabled at compile time. To be honest I wasn\u0026rsquo;t too keen in building it from source, so I looked at other ways to obtain it. I first searched for it in the Open Build Service, but as I didn\u0026rsquo;t find it, I had to install it manually.\nOwntracks has its own Docker image for the Recorder, but while I admit that containerization has its uses, I\u0026rsquo;m not too keen on having it controlled by a daemon that runs as root. And since I had a Docker daemon update that broke many services I used (the daemon would just crash on startup), I didn\u0026rsquo;t want to add more to an already fragile system.\nEnter podman. Podman is another way of running containers, without any daemon running, and more importantly it can run them rootless. That means that you can run individual containers (or groups of them) as a non privileged user, which is better than having a daemon running as root. The various podman commands are also made to mimic Docker, and that eases adaptation.\nThe rest of this entry deals on how to install and set up the OwnTracks Recorder and authentication.\nPreparations # For this guide I used podman version 3.2.3, installed through my distribution\u0026rsquo;s package manager (zypper on openSUSE). Your mileage may vary with other versions.\nFirst of all, I created a new user. I used useradd but any way is fine, for example thorugh YaST or other tools.\n1 useradd --system -c \u0026#34;OwnTracks\u0026#34; owntracks --create-home This is a real login, so that you can do things interactively. I set up a strong password and configured SSH to refuse any login from this user, to make sure it stays local only.\nBefore we proceed further, we have to set up subuids and subgids for our user, or podman will not function properly. The reason is that podman (by default, at least) when running rootless will use user namespaces to map user and group IDs inside the container to other IDs outside the container itself (as an example, root inside your container will be seen as UID 100001 in the host system). These IDs are called subuids and subgids.\nTo make this work you have to assign ranges of subuids and subgids to your user to use, ensuring they don\u0026rsquo;t overlap with anything existing in your system. At least in openSUSE Leap 15.2 the generation of these is not automatic, meaning you have to resort to usermod to do the job:\n1 2 usermod --add-subuids \u0026lt;min-subuid\u0026gt;-\u0026lt;max-subuid\u0026gt; \\ --add-subgids \u0026lt;min-subgid\u0026gt;-\u0026lt;max-subgid\u0026gt; \u0026lt;login\u0026gt; Once that is done, you\u0026rsquo;ll see something like this in /etc/subuid and /etc/subgid:\n1 owntracks:100000:65536 That means that owntracks will use subuids (or subgids) starting from 100000 up to 65536 more. (man subuid and man subgid are your friends).\nIf we want to run containers at boot, we have to enable lingering in systemd for the user:\n1 loginctl enable-linger owntracks Getting the container images # Once that is a done deal, we can finally switch to our user and retrieve the Docker images. OwnTracks has two images that can be used:\nowntracks/recorder, which is the actual Recorder application; owntracks/frontend, which is a fancy HTML/JS frontend to display data gathered from the Recorder. Getting the images is straightforward, as the podman syntax closely mimics the one of Docker:\n1 2 podman pull owntracks/backend podman pull owntracks/frontend Now that we have the images, we have to make sure to run them together and able to see each other, because the frontend requires a valid connection to the Recorder to be able to display information. In the Docker world, this is often done with docker-compose, but although podman can be used with docker-compose it also has its own way, called \u0026ldquo;pods\u0026rdquo; of keeping containers tightly knit together.\nFirst, we create some directories to host the configuration and other container data:\n1 mkdir -p owntracks/recorder/config owntracks/recorder/data owntracks/frontend/config owntracks/recorder/store owntracks/recorder/output Then we create our pod. Note that all container:host port mappings need to be created here, or they won\u0026rsquo;t work when adding individual containers:\n1 2 3 4 podman pod create \\ --name owntracks \\ -p 127.0.0.1:8083:8083 \\ -p 127.0.0.1:6666:80 This creates the pod owntracks and maps port 8083, the one used by the Recorder, to 8083 on the host (only from localhost). Likewise, port 80 on the frontend is mapped to port 6666 (the default is different, but I had something else listening there already).\nAt this point, we need to create a couple of files before starting the containers. Most importantly, you need to decide on which domain host the Recorder and the frontend. For this guide we will:\nHost both the Recorder and the frontend on the same domain (we will use tracks.example.com) The frontend will be accessible on the root of the domain, while the various parts of the Recorder will live in the owntracks subdirectory (tracks.example.com/owntracks). We then create owntracks/recorder/config/recorder.conf with this content:\n1 2 3 4 5 6 7 8 9 #(@)ot-recorder.default # # Specify global configuration options for the OwnTracks Recorder # and its associated utilities to override compiled-in defaults. OTR_TOPICS = \u0026#34;owntracks/#\u0026#34; OTR_HTTPHOST = \u0026#34;0.0.0.0\u0026#34; OTR_PORT = 0 OTR_HTTPPORT = 8083 The important bit here is OTR_PORT. Setting it to 0 disables looking for a MQTT broker, which I was not interested in running. If it is non-zero, it will try to connect to that port and startup will fail if there is no service running. There are plenty of other configuration options: consult this list for more information.\nFor the frontend, we create instead owntracks/frontend/config/config.js:\n1 2 3 4 5 6 window.owntracks = window.owntracks || {}; window.owntracks.config = { api: { baseUrl: \u0026#34;https://tracks.example.com/owntracks/\u0026#34;, }, }; baseUrl is where your Recorder lives (see above). It can also be somewhere else entirely if need be. Like with the Recorder, there are many more configuration options to explore.\nStarting the containers # It is now time to start the actual containers, and for this we use podman run. First we start the Recorder, mapping the folders we have created earlier:\n1 2 3 4 5 6 7 8 9 podman run \\ --pod owntracks \\ -d \\ --rm \\ --name ot_recorder \\ -v /path/to/owntracks/recorder/config:/config \\ -v /path/to/owntracks/recorder/store:/store \\ -v /path/to/owntracks/recorder/output:/output \\ owntracks/recorder As you can see, the syntax is very close to what Docker does. You can omit the --rm switch if you don\u0026rsquo;t want the container to be deleted when you stop it (it might be relevant for startup, as I\u0026rsquo;ll explain later).\nCheck if the Recorder is actually running (you can just use podman ps but here I show a slightly more complex approach to make output slimmer):\n1 2 3 4 5 podman ps \\ -f \u0026#39;name=ot_.*\u0026#39; \\ # Only show containers starting with \u0026#34;ot\u0026#34; --format \u0026#39;{{ .ID }}\\t{{ .Image}}\\t{{.Names}}\\t{{.Status}}\\t{{.Pod}}\u0026#39; 843222dacfd7 docker.io/owntracks/recorder:latest ot_recorder Up 2 weeks ago ff8bb4e9dac2 You might want to check also the logs for possible errors with podman logs ot_recorder.\nThen it\u0026rsquo;s the turn of the frontend:\n1 2 3 4 5 6 7 8 9 podman run \\ --pod owntracks \\ -d \\ --rm \\ --name ot_frontend \\ --env SERVER_HOST=127.0.0.1 \\ --env SERVER_PORT=8083 \\ -v /path/to/owntracks/frontend/config/config.js:/usr/share/nginx/html/config/config.js \\ owntracks/frontend There are a couple of things worth noting here. The env option sets environment variables, and tell the frontend to connect to localhost on port 8083 to find the Recorder. In a podman pod, a service of a container can be accessed by another by connecting through localhost. There are other ways to use proper DNS names like docker-compose does, but they\u0026rsquo;re not essential in this specific case. Secondly, although we use --env you can use proper environment files if you desire so (see man podman).\nCheck with podman logs ot_frontend whether the container has connected correctly to the Recorder, and we\u0026rsquo;re done.\nAutomatic startup # We can use systemd user units to do the job to start our container at boot. Before that we need to do one more thing, which is important especially if you never log in directly with this user (and that\u0026rsquo;s why we made it in the first place).\nIn order to systemd to work, it needs (as far as I can see) XDG_RUNTIME_DIR set. So I put this in the user\u0026rsquo;s shell startup configuration:\n1 export XDG_RUNTIME_DIR=/run/user/$(id -u) then I logged out and back in. I\u0026rsquo;m not sure if this can be done without a logout/login.\nAfterwards, it\u0026rsquo;s matter of creating the relevant directories and generating the systemd units:\n1 2 3 4 5 mkdir -p ~/.config/systemd/user cd ~/.config/systemd/user podman generate systemd --name owntracks -f # optional: add --new to re-create containers at each restart # Make systemd aware of the units systemctl --user daemon-reload This will create a bunch of files there, namely pod-owntracks.service, container-ot_recorder.service and container-ot_frontend.service. You can then enable owntracks at boot with\n1 systemctl --user enable pod-owntracks.service You can add --new to make podman recreate pod and containers on each restart. This is a prerequisite if you want podman to actually update images easily, but at least in my limited testing, when pods are involved often restarts break, so I made the containers persistent. YMMV.\nPoint a browser on the server (even links will suffice) to localhost:8083 and localhost:6666 if you want to verify everything is done correctly.\nOn the OwnTracks user front, everything is done, so the next steps are carried out as root (or with sudo).\nHooking up the web server # Right now both the Recorder and the frontend are accessible only via localhost. This was the plan all along, because we\u0026rsquo;ll put nginx in front of them. I assume you have already a functional web server with proper SSL set up (with Let\u0026rsquo;s Encrypt, there is no reason not to).\nFirst of all, create a new configuration file for your site. Then you can add the following bits to it (largely copied from the OwnTracks docs):\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name tracks.example.com; server_tokens off; client_max_body_size 40m; # Put SSL and other configuration bits here # OwnTracks frontend location / { proxy_pass http://127.0.0.1:6666/; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; auth_request_set $auth_cookie $upstream_http_set_cookie; add_header Set-Cookie $auth_cookie; } # OwnTracks backend # Proxy and upgrade WebSocket connection location /owntracks/ws { rewrite ^/owntracks/(.*) /$1 break; proxy_pass http://127.0.0.1:8083; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection \u0026#34;upgrade\u0026#34;; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /owntracks/ { proxy_pass http://127.0.0.1:8083/; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; } # OwnTracks Recorder Views location /owntracks/view/ { proxy_buffering off; # Chrome proxy_pass http://127.0.0.1:8083/view/; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; } location /owntracks/static/ { proxy_pass http://127.0.0.1:8083/static/; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; } # HTTP Mode location /owntracks/pub { proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; # Optionally force Recorder to use username from Basic # authentication user. Whether or not client sets # X-Limit-U and/or uses ?u= parameter, the user will # be set to $remote_user. proxy_set_header X-Limit-U $remote_user; } } Check the configuration with nginx -t and then restart your webserver. If you access https://tracks.example.com you should see a map (OpenStreetMap) and if you access https://tracks.example.com/owntracks you should be presented with a list of locations and users. Of course everything is empty, because we haven\u0026rsquo;t added any device yet.\nBefore we actually start recording, we need to secure access, otherwise anyone could see where you\u0026rsquo;re going (not good). That means adding some form of authentication.\nAuthentication: is httpasswd the only way? # The simplest solution would be to use HTTP Basic Authentication and secure the root, /owntracks and /owntracks/pub paths. However, that\u0026rsquo;s not what I wanted: as I planned to allow a few trusted users for viewing, I didn\u0026rsquo;t want to have them remember another series of usernames and passwords. I had already a central source of authentication (more on that below), so I wanted to use that.\nOn the other hand, the OwnTracks app only understands Basic Authentication and nothing else. So, what to do?\noauth2-proxy # I could have used LDAP instead, but I don\u0026rsquo;t have LDAP on my system and I didn\u0026rsquo;t want to retrofit it in the existing services. The solution was to use the OAuth 2.0 standard in conjunction with nginx\u0026rsquo;s auth_request module to allow authentication through another source.\nFor the actual OAuth2 service, I wanted something simple so I looked at oauth2-proxy. It is used often in conjunction with Kubernetes and the nginx_ingress controller, but it can be used also with the \u0026ldquo;regular\u0026rdquo; nginx.\nA warning before going further. This guide assumes you put the OAuth2 service in a top-level domain called auth.example.com.\nAs oauth2-proxy is written in Go, you can just clone the git repo and build it yourself, or download a pre-built binary (I built it and installed it in /usr/local/bin). While a Docker image is offered, in my opinion there\u0026rsquo;s no need for Docker containers for a single application. You\u0026rsquo;re free to use whatever option you want, of course.\nWith oauth2-proxy installed, it\u0026rsquo;s time to set things up. Create a path to host the configuration (I used /etc/oauth2-proxy) and write the following in the configuration file (oauth2-proxy.cfg; some comments are from the sample configuration plus some of my own):\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 ## OAuth2 Proxy Config File ## https://github.com/oauth2-proxy/oauth2-proxy # There are plenty of other options; see the sample configuration for details ## \u0026lt;addr\u0026gt;:\u0026lt;port\u0026gt; to listen on for HTTP/HTTPS clients http_address = \u0026#34;127.0.0.1:4180\u0026#34; ## Are we running behind a reverse proxy? Will not accept headers like X-Real-Ip unless this is set. reverse_proxy = true ## Alternative users for Basic Authentication htpasswd_file = \u0026#34;/etc/nginx/owntracks.htpasswd\u0026#34; display_htpasswd_form = true ## the OAuth Redirect URL. # defaults to the \u0026#34;https://\u0026#34; + requested host header + \u0026#34;/oauth2/callback\u0026#34; redirect_url = \u0026#34;https://auth.example.com/oauth2/callback\u0026#34; ## oauth2-proxy can also acts a proxy for files, but we\u0026#39;ll just use nginx ## So we make sure it doesn\u0026#39;t proxy anything upstreams = [ \u0026#34;file:///dev/null\u0026#34; ] # Put ALL domains you want oauth2-proxy to redirect to after authentication # otherwise redirection will *NOT* work whitelist_domains = [ \u0026#34;.example.com\u0026#34;, ] ## pass HTTP Basic Auth, X-Forwarded-User and X-Forwarded-Email information to upstream # These are needed for the OwnTracks application pass_basic_auth = true pass_user_headers = true pass_authorization_header = true set_basic_auth = true ## pass the request Host Header to upstream ## when disabled the upstream Host is used as the Host Header pass_host_header = true ## Email Domains to allow authentication for (this authorizes any email on this domain) ## for more granular authorization use `authenticated_emails_file` ## To authorize any email addresses use \u0026#34;*\u0026#34; # I use my own mail domains here: adjust this configuration to your liking email_domains = [ \u0026#34;example.com\u0026#34; ] ## The OAuth Client ID, Secret provider = \u0026#34;YOUR_PROVIDER\u0026#34; client_id = \u0026#34;CLIENT_ID\u0026#34; client_secret = \u0026#34;CLIENT_SECRET\u0026#34; # Put provider specific options here # Basic authentication users - for the OwnTrack apps ONLY ## Additionally authenticate against a htpasswd file. Entries must be created with \u0026#34;htpasswd -B\u0026#34; for bcrypt encryption ## enabling exposes a username/login signin form htpasswd_file = \u0026#34;/etc/nginx/owntracks.htpasswd\u0026#34; display_htpasswd_form = false ## Cookie Settings ## Name - the cookie name ## Secret - the seed string for secure cookies; should be 16, 24, or 32 bytes ## for use with an AES cipher when cookie_refresh or pass_access_token ## is set ## Domain - (optional) cookie domain to force cookies to (ie: .yourcompany.com) ## Expire - (duration) expire timeframe for cookie ## Refresh - (duration) refresh the cookie when duration has elapsed after cookie was initially set. ## Should be less than cookie_expire; set to 0 to disable. ## On refresh, OAuth token is re-validated. ## (ie: 1h means tokens are refreshed on request 1hr+ after it was set) ## Secure - secure cookies are only sent by the browser of a HTTPS connection (recommended) ## HttpOnly - httponly cookies are not readable by javascript (recommended) cookie_name = \u0026#34;YOUR_COOKIE_NAME\u0026#34; # See the oauth2-proxy docs on how to generate this cookie_secret = \u0026#34;YOUR_COOKIE_SECRET\u0026#34; cookie_domain = \u0026#34;example.com\u0026#34; cookie_secure = true cookie_httponly = true Note there are a few options to fill in, in particular the OAuth2 provider. There are plenty of options to choose from: they range from external services (GitHub, Google) to self-hosted ones (Nextcloud, Gitea, Gitlab, Keycloak\u0026hellip;). Refer to the oauth2-proxy documentation on how to set them up.\nPersonally, I wanted to use mailcow, which can also act as an OAuth2 authentication source, but it does not support OpenID Connect fully, therefore I settled for my Gitea instance, which then in turn authenticates against mailcow. Complicated, but does the job.\nLastly, you also need to create the static user(s) for the OwnTracks app. I have found no other way to avoid it. If you know a better way that avoids this, let me know.\n1 2 3 4 5 htpasswd -c /etc/nginx/owntracks.htpasswd # The -B switch is *mandatory* if you want to use htpasswd with oauth2-proxy htpasswd -c -B /etc/nginx/owntracks.htpasswd myusername # Insert the password when prompted # Repeat if you have more than one Once you have oauth2-proxy set up, try running it:\n1 oauth2-proxy --config /etc/oauth2-proxy/oauth2-proxy.cfg Quit with Ctrl-C. If it starts up correctly, it\u0026rsquo;s time to make it start on boot. This assumes you are using a recent enough version of systemd (I used 234).\nCreate this unit file (/etc/systemd/system/oauth2-proxy.service):\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 [Unit] Description=oauth2-proxy daemon service After=syslog.target network.target [Service] # Change it to any non-privileged user you want; \u0026#34;nobody\u0026#34; may work too # DynamicUser may also work, but I have not tested it User=nginx Group=nginx ExecStart=/usr/local/bin/oauth2-proxy --config=/etc/oauth2-proxy/oauth2-proxy.cfg ExecReload=/bin/kill -HUP $MAINPID # As it only needs to listen and forward requests, limit its access # With later systemd versions you can also sandbox it further ProtectHome=true ProtectSystem=full PrivateTmp=true KillMode=process Restart=always [Install] WantedBy=multi-user.target Afterwards, it\u0026rsquo;s time to enable and start the service:\n1 2 systemctl daemon-reload systemctl enable --now oauth2-proxy.service If you want to be fancier and want it to start only when required, you can always use systemd\u0026rsquo;s socket activation. However, I had no need for this so I left it always running.\nAdjusting nginx configuration # Now, we need to add the relevant information to nginx.\nFirst we create a server stanza for our authentication service:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name auth.example.com; server_tokens off; # Add SSL data, etc. here location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Scheme $scheme; proxy_pass http://127.0.0.1:4180; } } Then we create a file called /etc/nginx/oauth2.conf which will contain an internal (not accessible from outside) location to handle authentication requests:\n1 2 3 4 5 6 7 8 location /internal-auth/ { proxy_pass http://127.0.0.1:4180/; internal; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme $scheme; proxy_set_header X-Auth-Request-Redirect $scheme://$host$request_uri; } Lastly, we create a file called /etc/nginx/oauth2_parameters to specify the parameters used in the location stanzas we actually want to protect with authentication. The contents:\n1 2 3 4 5 6 7 8 9 10 11 12 auth_request /internal-auth/oauth2/auth; # the ?rd parameter ensures you are properly redirected after authentication error_page 401 = https://auth.example.com/oauth2/start?rd=$scheme://$host$request_uri; # pass information via X-User and X-Email headers to backend, # requires running with --set-xauthrequest flag auth_request_set $user $upstream_http_x_auth_request_user; auth_request_set $email $upstream_http_x_auth_request_email; proxy_set_header X-User $user; proxy_set_header X-Email $email; # If you have set cookie refresh in oauth2-proxy, uncomment the two lines below # auth_request_set $auth_cookie $upstream_http_set_cookie; # add_header Set-Cookie $auth_cookie; You can use either start or sign_in for the error_page line. The former forwards you immediately to your authentication source, while the latter offers a \u0026ldquo;Sign up with XXX\u0026rdquo; and a form for httpasswd authentication, if enabled in the oauth2-proxy configuration. As the OwnTracks app will send the Basic Authentication requests directly, I decided not to enable the form and have users go directly to authentication.\nFinishing touches # Once that\u0026rsquo;s all and done, you just need to tell nginx to use what you just wrote. Modify the OwnTracks stanzas as follows:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 include oauth2.conf; location / { include oauth2_params; proxy_pass http://127.0.0.1:6666/; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; } # Only changed sections are shown location /owntracks/ { include oauth2_params; proxy_pass http://127.0.0.1:8083/; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; } # And further below... location /owntracks/pub { include oauth2_params; proxy_pass http://127.0.0.1:8083/pub; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; # Optionally force Recorder to use username from Basic # authentication user. Whether or not client sets # X-Limit-U and/or uses ?u= parameter, the user will # be set to $remote_user. # proxy_set_header X-Limit-U $remote_user; } Ensure oauth2-proxy is running, then restart nginx. Try accessing https://tracks.example.com and you should be redirected to your authentication provider\u0026rsquo;s login form. Once logged in, you should be redirected again to the OwnTracks frontend.\nAdding our server to the OwnTracks app # Now that authentication is set up on the web page, we need to configure the OwnTracks app.\nThe following screenshots were made on Android. The IOS app may be different. YMMV.\nFirst of all, tap the hamburger menu and select Preferences (click on all the images for a larger version):\nHamburger menu Then, tap on Connection:\nSettings page Once on this screen, you can set both the URL and your username/password combination. First, ensure that mode is set to HTTP (if not, change it).\nHost setup form Then tap on host, and insert the url as https://tracks.example.com/owntracks/pub (the pub is important, as it\u0026rsquo;s the HTTP API endpoint).\nConnection page Then, insert the username and password combination you generated earlier with httpasswd.\nTo test that the connection is actually working, exit the settings and enable location services on your phone. An up arrow icon in the OwnTracks app will light up (it\u0026rsquo;s to manually upload the location). Hit it, and then tap again on the hamburger menu, selecting \u0026ldquo;Status\u0026rdquo;, this time. If everything has gone well, you should see something like this:\nOwnTracks connection status page If you then go to the frontend, you should see a pin where your location has been successfully recorded.\nAnd thus, everyhing is set up. We\u0026rsquo;re done.\nTrouble? What kind of trouble? # In case something goes wrong, there are a few places you can check:\nFor OAuth2-proxy, the oauth2-proxy logs with journalctl -u oauth2-proxy; For OwnTracks, the podman logs with podman logs ot_frontend or podman logs ot_recorder For all the rest, the nginx logs. Wrap up # A nice bonus of this setup is that you can potentially add OAuth2 authentication to any application you have running if it does not provide authentication itself, as long as it runs in the same domain.\nI wrote this guide because the (not large) resources on oauth2-proxy mainly deal with Kubernetes, and many, other essential bits of information are scattered throughout the net. I hope it will be useful to someone (well, at least it was useful to me, so that\u0026rsquo;s a start).\nHave fun!\nReferences # OwnTracks documentation oauth2-proxy documentation oauth2-proxy nginx example Podman documentation ","date":"August 1, 2021","externalUrl":null,"permalink":"/2021/08/setting-up-owntracks-recorder-and-oauth2-with-nginx-oauth2-proxy-and-podman/","section":"Posts","summary":"One thing I always wanted to do when going on holiday is to track where I go, the places I’ve been, and see how much I’ve travelled around. This is true in particular when going to places where I walk around a lot (Japan stays at the top of the list, also for other reasons that are not related to this post). Something like viewing a map showing where you were, and where did you go, with optional export to KML or GPX to import into other programs like Marble.\n","title":"Setting up OwnTracks Recorder and OAuth2 with nginx, oauth2-proxy and podman","type":"post"},{"content":" 獣を超え、(Rise beyond beasts,)\n人を超え、(Rise beyond men,)\nそして、今神になる・・・(And now, become a god...)\nそれが究極のマシン、(That is the ultimate machine,)\n超獣機神ダンクーガ！！ (Super Beast Machine God Dancougar!!)\nThis is the iconic, and undoubtedly over-the-top, quote from the anime this post is about, 超獣機神ダンクーガ, that is Super Beast Machine God Dancougar.\nTo be honest, Dancouga would be probably a better spelling, since it\u0026rsquo;s a play on the kanji 断空我 (which are read as dan-kuu-ga), and according to the series, they mean \u0026ldquo;我を空にして煩悩を断つ\u0026rdquo; (Empty the self and break off from the worldly desires), supposedly inspired by Zen (but it\u0026rsquo;s actually just made up, as far as I can tell).\nI\u0026rsquo;ve been interested in the series for the past 30 (!) years, but I\u0026rsquo;ve never had the occasion to watch it properly (save for a handful episodes around that time, but I didn\u0026rsquo;t know a single word of Japanese back then). The occasion presented itself recently, so, like my previous post on Galaxy Angel I\u0026rsquo;m making a retrospective post about it.\nWhat is this series about? # Dancougar is a giant mecha anime which aired on TV (TBS) from April 5th to December 27th 1985, totalling a total of 38 episodes, animated by Ashi Production (葦プロダクション). Due to bad ratings, the series was cut short of the last episode. Thanks to a campaign from the fans, the actual ending was added as part of a \u0026ldquo;summary\u0026rdquo; OAV which recapped the whole series, 失われた者たちへの鎮魂歌（レクイエム）(Requiem for the fallen), with the English title of Requiem for Victims, out in april 1986.\nA second OAV (originally planned to be a theatrical release), GOD BLESS DANCOUGA, was released roughly a year later. Lastly, a series of 4 OAVs were released between 1989 and 1990, with the title 白熱の終章 (the blazing last chapter or blazing ending).\nThe TV series # Plot and characters # The basic premise of the plot in Dancougar is not different from any \u0026ldquo;regular\u0026rdquo; mecha show from earlier times: the extraterrestial Muge Zorbados Empire, led by Emperor Muge, has set its sights on Earth as a new target for its interstellar campaign of conquest. Muge\u0026rsquo;s soldiers, thanks to their superior technology, quickly obliterate the regular troops from Earth, but resistance movements throughout the world push back against total submission.\nThat\u0026rsquo;s when the four main characters and members of the military (Shinobu Fujiwara, Sara Yuki, Masato Shikibu and Ryo Shiba) step in. Over time (Shinobu being the first and Ryo the last) they\u0026rsquo;re recruited in the 獣戦機隊 (juu-senki-tai, often translated as Cyber Beast Force), a special unit located in Japan (what a surprise!), led by General Ross Igor and Prof.Kotaro Hazuki. They\u0026rsquo;re then given specialized battle machines designed by Hazuki himself (Eagle Fighter, a fighter jet; Black Cougar, a medium armored tank; Land Liger, a tank similar to Black Cougar but with different armament; Big Moth, a heavy tank) and asked to assist the resistance force around the world.\nBeing a mecha show, these machines aren\u0026rsquo;t exactly what they seem. \u0026ldquo;Strong\u0026rdquo; feelings from their pilots (rage, basically) can trigger a special circuit and transform them into the animal they take the name from. So the Eagle Fighter gets an aura and can cut through enemies like a blade, the Black Cougar and the Land Liger turn into (who could\u0026rsquo;ve guessed) a cougar and a liger, and the Big Moth, contrary to public expectations, does not turn into a giant moth, but instead a mammoth.\nAside the usual army of nameless mecha, drones and flying ships from Muge Zorbados, the unit has to battle against the strength of the three generals appointed from the Emperor himself: Death Gaia, a \u0026ldquo;level to the ground then ask questions\u0026rdquo; guy; Gil Dorom, a master of mind tricks and manipulation; and Helmut, a strong and incredibly cruel warrior. To make matters worse, a cunning officer with unlimited ambition (and Sara\u0026rsquo;s fianceé), Shapiro Keats, defects and quickly gains a command position in the invasion force.\nSlow paced progression # \u0026ldquo;Well, what about the mecha?\u0026rdquo; you might ask. Well\u0026hellip; that\u0026rsquo;s one of the features that makes this series unique, in my view. Despite being shown in the opening since episode 1, the robot that gives the name to the series does not appear until the sixteenth episode. And what would the reason be?\nThe reason is that the series does quite a slow build up of the story and the characters, which then are ready to be given their toy of mass destruction. This is markedly different from other classic robot shows: although some don\u0026rsquo;t feature the main mecha in the first episodes (like Golion, Daltanious, and Zambot 3 to name a few), once it comes into play it basically monopolizes the episodes, save for notable exceptions.\nThis is not the case of Dancougar. First the characters are given their vehicle and the possibility to turn them into the animals they are named after (the so-called Aggressive Beast Change). A number of episodes later, they gain the ability of turning into proper robots (Humanoid Mode). It\u0026rsquo;s interesting to note that the mechas in Humanoid Mode do not have melee weapons common in many mecha shows, and instead rely on more conventional weaponry such as guns. The only exception is Ryo\u0026rsquo;s Big Moth, which can occasionally engage enemies in hand-to-hand combat. This is nothing new, but a little more surprising as Dancougar is closer to the \u0026ldquo;classic\u0026rdquo; genre than to the \u0026ldquo;realistic\u0026rdquo; one (think Gundam).\nAnd then the main mecha is introduced in a two-part episode, with a very nice BGM (灼熱の怒り, or burning rage). There\u0026rsquo;s also another (small) element of novelty: the head is not the part that connects last during the assembly.\nLastly, the Dancougar basically has no weapons, a difference from many mecha shows: it basically relies on brute strength to destroy its enemies, occasionally with a large cannon. The only other upgrade that it gets is a flight unit, which is basically shown only in the last episodes.\nIt must be noted that this progression is not limited to the mecha but also to the characters themselves, including new ones, which are slowly introduced during the series. This makes the journey quite enjoyable, although it must be said that there are, especially in the early epsiodes, many episodes that are almost literally copy-pasted from each other. Nevertheless, it is nice to see some adjustments in the characters, with some themes progressing through several episodes.\nClimax and ending # After the Dancougar is introduced, the events in the series \u0026ldquo;somewhat\u0026rdquo; accelerate (there are still some fillers here and there), with a further two-part episode which introduces the mobile base Gundor and the final objective to put an end to the war agaisnt the Muge Zorbados Empire. The last episodes are a series of hard confrontations between the characters and their enemies, first on Earth then in space, until it\u0026rsquo;s time to actually go against Emperor Muge himself.\nAnd that\u0026rsquo;s where the series ends. Seriously: it ends (pretty frustratingly) one episode before its natural conclusion, due to the bad ratings (as I mentioned earlier). It would be a bummer, but luckily the OAV that came out a few months later provides a satisfying ending (more on that later).\nAnimation, voices and sound # To be frank, Dancougar is plagued by production problems. These were also present years later with its remake Dancougar Nova, so I think it\u0026rsquo;s probably a systemic problem of Ashi Production. Keeping in mind we\u0026rsquo;re talking about the mid-1980s here (so we can\u0026rsquo;t expect anything spectacular animation-wise, at least in a TV series), the animation quality fluctuates from acceptable to downright terrible as shown in a few images below:\nIt\u0026rsquo;s clear that at some point cuts were made because certain scenes couldn\u0026rsquo;t be animated: in one episode, where the Dancougar fights a Muge mech in the water, one can\u0026rsquo;t literally understand what was going on because the scenes are too disjointed. The assembly sequence of the Dancougar is not even complete in the episode it appears, and the one for the flight unit only properly appears in the last episode (earlier replaced with tacky close-ups of Shinobu\u0026rsquo;s face).\nNevertheless, during the action scenes it is mostly OK and does its job. While nothing particularly innovative, the character design by いんどり小屋 (Indorigoya, company now known as Studio Live) does what it is intended to do. A note goes to the voice actors: almost all of them perform admirably (except perhaps Helmut, who is a little over the top even for being a psycopath), except one, who is voiced by Rie Fujiwara, who sings the two opening songs (愛よファラウェイ, Love is far away and ほんとのキスをお返しに, In return for a real kiss). She does quite a poor impression of the character she\u0026rsquo;s voicing (a bit like the early episodes of Shoji Kawamori\u0026rsquo;s AKB0048, if you remember that series), and her tone is all over the place. Luckily, said character\u0026rsquo;s screen time is limited (despite a major presence in the opening animation).\nMusic is fairly good in my opinion, although it depends whether you like or dislike the music taste of the 1980s. Osamu Totsuka and Takeshi Ike did a nice job on both the BGMs and the songs. As for effects, it\u0026rsquo;s standard 1980s stuff: the sounds of explosions are particularly telling on that regard.\nWell well\u0026hellip; is this series any good? # Despite its age and its ups and downs on animation (and occasionally trite plot lines), the TV series is definitely worth watching. It\u0026rsquo;s not Gundam, but also not Mazinger, and for some aspects it shows some originality without trying to be original all the time. Of course the ending would be bad by itself, but luckily the subsequent OAV made it much better.\nA closure: Requiem for Victims # As said before, the series did not really end: in fact, it stops short of a climactic finale. The OAV that came out shortly afterwards tries to correct that, while providing a summary of the whole thing for those not too familiar with the TV series.\nQuick summary of the story # The OAV starts right where the series ended, and characters reminisce about what brought them there. Then, the subsequent 50 minutes or so are a whole recap of the series (using the previously animated footage of course) which cover the main events that transpired. Then the perspective goes back to Shinobu and the gang, as they approach Emperor Muge for a final showdown.\nThe story not only gives a proper ending to the series, but it does do that satisfyingly. The final fight is a bit rushed like it happens in most mecha shows but the action scenes before that are nicely directed. Surprisingly, it\u0026rsquo;s also the only time where the Dancougar wields a giant mecha-esque weapon, namely a large sword called ダンクー剣 (Dancou-Sword), but although it is used quite stereotypically, it fits in the narrative of the story.\nAfter viewing the OAV, there is definitely a sense of closure, which was missing from the original series.\nAnimation and sound # Of course, I won\u0026rsquo;t count the recycled scenes from the series, but being an OAV, Requiem for Victims is much better done, probably due to longer time constraints and hopefully a higher budget.\nThis also means that the scenes (as I mentioned earlier) are far more dynamic than the TV series. I can imagine that the animators had a hard time, due to the complexity of the Dancougar\u0026rsquo;s design.\nSound-wise, there\u0026rsquo;s nothing to report. Basically most of the music is from the series (the opening and endings are also from there) and I did not notice anything different.\nOverall comments # This OAV is a must watch if you saw the series, otherwise you won\u0026rsquo;t be able to see the story in full. The fact that it is also (in my opinion) even nicely done is quite a plus.\nGOD BLESS DANCOUGA # Plot and other assorted bits # This one hour and twenty minutes long OAV was originally meant to be a theatrical release, and it shows clearly from the first moment it starts: the way the story is told, the camera angles and the way the scenes are mounted are more fit for a film than a regular OAV. Story-wise, it is set a bit after the end of the series, and it tells a completely new, self-contained story with little relationship to the TV series plot. In some aspects, it feels like what would be called a 外伝 (gaiden or side story), which was also seen in some series later on (鎧伝サムライトルーパー, Yoroi den Samurai Troopers, for example).\nThe story revolves around some strange happenings around a super-computer which is regulating the life of the citizens in the city where Shinobu and the others are (some members of the squad, like Ryo, are still working in the military, while others are on leave). Apparently not everyone is happy about this, as a mysterious terrorist group often launches attacks against the infrastructure which controls this over-reaching system. After Sara meets an ex-team mate, now in high position in the administration of said super-computer, the whole situation gets messy as the squad is framed and arrested.\nRescue comes from an unexpected group of people, and then it\u0026rsquo;s time to board the machines, form the Dancougar and fight the real mastermind behind the mess.\nStory wise GOD BLESS DANCOUGA is enjoyable, although a little puzzling at times (a certain character appears all of a sudden and there\u0026rsquo;s just a single line of dialogue that gives no explanation). But if you don\u0026rsquo;t look for over-complicated plots, it surely is fun enough to warrant the time spent watching it.\nAnimation and sound # Given the original target it\u0026rsquo;s not surprising that the animation quality reaches the highest point seen for the whole production. It\u0026rsquo;s well done (remember though, these are the 1980s!) and nicely animated, including the action scenes with the mecha (there are two) and also with the characters themselves (a lot more). Disappointingly (for me, at least), the assembly sequence of the Dancougar was redone and it is a lot more \u0026ldquo;classic\u0026rdquo;, in the sense that the head goes last, and while it is technically far better than the one seen in the series, it is not as \u0026ldquo;nice\u0026rdquo;, subjectively speaking.\nOn the sound front, the BGMs are the same from the series but they have all redone from scratch, so the quality and the ambience is definitely better. There are new opening and ending songs, rather obviously, 愛は奇蹟 (Love is a miracle) for opening and 素直になりたい (I want to become honest [with myself]), ordinary run-of-the-mill tunes that (at least in my opinion) were nothing special.\nGod bless the verdict # It\u0026rsquo;s fun, and that\u0026rsquo;s what matters. There\u0026rsquo;s nothing much else to say that I recommend taking a look at it if you\u0026rsquo;ve watched both the series and Requiem for Victims\nA candle, not a fire: the \u0026ldquo;blazing\u0026rdquo; ending # I admit\u0026hellip; what I\u0026rsquo;ll be writing is heavily biased: I couldn\u0026rsquo;t bring myself to watch this four-part OAV in full. The reason? It follows the \u0026ldquo;grimdark\u0026rdquo; pattern for remakes that all popped during the late 1980s and early 1990s, such as Tatsunoko Production\u0026rsquo;s re-imagining of Casshern and Hurricane Polymer from the same period (while Tekkaman Blade was an exception to this rule).\nThe problem is that when applied to characters that weren\u0026rsquo;t meant to be like that, it turns them into caricatures of their former selves. In the first OAV we see Shinobu go all emo for no reason at all (he doesn\u0026rsquo;t even speak for most of it!) then he suddenly changes his mind (but why?): this is completely incoherent with the previous portrait of the character. Also, Masato also suffers from this change, and really becomes down right ridicolous, especially in later episodes. And the new character design is kind of dull and doesn\u0026rsquo;t really suit the main characters.\nAnd while we\u0026rsquo;re speaking of the art: the Dancougar was redesigned to be \u0026ldquo;simpler\u0026rdquo;, because it was hard to animate, and it looks nothing like what was seen before, and frankly, a lot duller. In addition, the assembly sequence was even directly copied from GOD BLESS DANCOUGA without any change\u0026hellip;\nThe fights, up to the part I\u0026rsquo;ve seen, are uninspiring and uninteresting, and at the same time some characters either do not appear or are put out of commission with the power of the Plot Device™. After the second episode, I couldn\u0026rsquo;t put up with it anymore and shelved the whole thing. To me, it did not even exist: that\u0026rsquo;s how much I was disappointed by it.\nOverall conclusions # This post took quite a while to write (I started in March!) but I hope it provides a comprehensive overview of an old series that while it went under the radar, it deserves recognition for the different approach it took to mecha shows. Therefore, as you may have noticed from the recommendations in the individual sections, I suggest you take a look at it: you won\u0026rsquo;t be disappointed (but just skip those last four OAVs, please).\nAnd let\u0026rsquo;s wrapt this post up with another catchphrase of the series, from Shinobu himself:\nやってやるぜ！ (Let\u0026rsquo;s do it!)\n","date":"June 13, 2021","externalUrl":null,"permalink":"/2021/06/blast-from-the-past-%E8%B6%85%E7%8D%A3%E6%A9%9F%E7%A5%9E%E3%83%80%E3%83%B3%E3%82%AF%E3%83%BC%E3%82%AC-super-beast-machine-god-dancougar/","section":"Posts","summary":"After quite a long time, I was finally able to take a look at this series: a rather atypical mecha show that despite some bad production, still manages to be interesting.","title":"Blast from the past: 超獣機神ダンクーガ (Super Beast Machine God Dancougar)","type":"post"},{"content":"","date":"June 13, 2021","externalUrl":null,"permalink":"/tags/general/","section":"Tags","summary":"","title":"General","type":"tags"},{"content":" わかれてふ事はいろにもあらなくに心にしみてわびしかるらむ\n(Parting / has no hue / and yet / it stains deep within our hearts / this sorrow.)\n(古今和歌集, Koshinwakashu, Book VIII, 381; Translation by Dr.Thomas McAuley, http://www.wakapoetry.net/)\nToday marks yet another turning point in the flow of the events: it was my last day at the Mario Negri Institute after a period of approximately ten years (I joined as a post-doctoral fellow on March 1st, 2011, and got a permanent position at the end of 2015). This was far longer than my previous engagements (usually between three and four years) and at times I thought that I might have \u0026ldquo;settled\u0026rdquo;.\nWell, among the things I am truly bad at, foretelling is one of them. In more recent times, a brand new opportunity arose for the group I work in: an opportunity quite hard to miss, to be honest. And so, starting from March 1st, I\u0026rsquo;ll be working in a brand new group (Cancer Pharmacology), although with more or less the same colleagues and even leaders and PIs (as I stated earlier, most of the group I was in moved as well) at the Humanitas University, part of the Humanitas Research Hospital.\nSince I cannot really know the future, I\u0026rsquo;ll just throw some reflections on the past ten years. I know it sounds trite and you\u0026rsquo;ve probably seen these fake-sounding texts all the time, but I honestly think the time spent at the Mario Negri Institute was deeply influential for my research career and attitude. In particular I think the lesson learnt from the institute\u0026rsquo;s founding principles, as outlined by Prof.Silvio Garattini\u0026rsquo;s last lecture as director, is still as valid as today as when the institute was founded in 1961. These are teachings that I\u0026rsquo;ll carry around, no matter where I\u0026rsquo;m going.\nJust like the years I spent as postdoc in Firenze (in Duccio Cavalieri\u0026rsquo;s group, a person whom I consder my master and mentor), what I did at Mario Negri in these years was very important for my journey through the improvement of how to observe, think, and execute research. I learnt a lot of new stuff, had lots of ideas (most wrong, but a few of them good) and even had the pleasure of seeing people that I once coached starting off on their own at top speed.\nI know, I\u0026rsquo;m writing this while most of the people I know are leaping off the platform as well. But I still want to say thankful for the discussions (some even rather heated), the support and the general interactions that occurred through the years. And this applies to present colleagues and past colleagues too (hi, Chiara!). You\u0026rsquo;ve been alll a tremendous help and support.\nAnd now\u0026hellip; well, some of the old, some of the news. Familiar faces but also new faces. Old paths and new paths at the same time. Familiar yet unknown places. A few knowns but a lot more unknowns. I\u0026rsquo;m not going to make predictions this time!\nAnd as a parting line, I quote again the Koshinwakashu, this time with a poem on travel (translation by Dr.Thomas McAuley of http://www.wakapoetry.net):\nほのぼのと明石の浦の朝霧に島がくれ行く舟をしぞ思ふ\n(In the gloaming / across Akashi Bay / Through the morning mists / Vanishing between the islands / I follow a boat with my thoughts)\n","date":"February 25, 2021","externalUrl":null,"permalink":"/2021/02/partings/","section":"Posts","summary":"Because changes occur when one least expects them. This post is about one such change.","title":"Partings","type":"post"},{"content":"","date":"February 25, 2021","externalUrl":null,"permalink":"/categories/science/","section":"Categories","summary":"","title":"Science","type":"categories"},{"content":"","date":"February 25, 2021","externalUrl":null,"permalink":"/tags/science/","section":"Tags","summary":"","title":"Science","type":"tags"},{"content":"","date":"February 7, 2021","externalUrl":null,"permalink":"/tags/diy/","section":"Tags","summary":"","title":"Diy","type":"tags"},{"content":"(Note: this post also appears in Planet KDE and Planet openSUSE because I thought this might be interesting to others)\nAs I mentioned in some other posts, I have a small \u0026ldquo;server\u0026rdquo; which I use as a NAS to provide archiving for photos and other files of interest. As it runs in a remarkably small (and quiet) enclosure, I\u0026rsquo;ve managed to put it in an incospicuous part of the room it is in. For the most part, it runs without a hitch: but in some (rare) occasions it needs to be looked at, and sometimes either logging via SSH is not possible, or it is not enough to diagnose the problem. In other words, I need to check what\u0026rsquo;s on the display. And the position it is in means that attaching a monitor and a keyboard can be inconvenient at best. In other words, I needed out-of-band management.\nKVM over IP # This machine does not run on server-grade hardware, and as such, it lacks a Baseboard Management Controller (BMC) like the ones found in more expensive boards (like HP\u0026rsquo;s iLO, Dell\u0026rsquo;s iDRAC, or the ASPEED AST2400 found in Supermicro boards), which means it does not have an additional network interface to do out of band management. An alternative to do this kind of work is having an additional piece of hardware, connected to the network and the server, which captures the server\u0026rsquo;s video output along with keyboard / mouse input, so that it can be controlled remotely, a so called KVM over IP.\nThere are a number of manufacturers that offer such devices, like Lantronix or Aten. The problem is that they\u0026rsquo;re absurdly expensive, going in the 500-1000€ range, which frankly is too expensive for my hobby-level interest.\nHere comes a new challenger # One day, doing a casual search I became aware of someone who apparently had the same problem, who decided to do something about it and created pikvm. This is, according to the page itself\nA very simple and fully functional Raspberry Pi-based KVM over IP that you can make with your own hands without any soldering!\nThis was certainly intriguing. Even more intriguing was that the project is entirely Free Software, which made it even more fit to my requirements. So after a few days of reading and researching, I decided to have a go at it.\nHardware and important notices # These are the materials and parts I used:\nOne Raspberry Pi 4 2GB A 64GB micro SD card A USB-C power splitter (more on that later) A short USB C to USB C cable A Pi case with fan (this proved ultimately to be a mistake; see later on for why) A HDMI to CSI 2 module to feed the server\u0026rsquo;s video input to the Pi A USB C to USB A cable, to connect the Pi to the server for keyboard / mouse control A Raspberry Pi USB C power supply (at least 3A) pikvm uses USB On-The-Go to be able to capture input from the server\u0026rsquo;s USB port and also optionally mount media (then made available to the server; think ISOs mounted as virtual CD-ROMS, for example). However, connecting directly the Pi to the USB ports of the server can be extremely problematic. The Pi\u0026rsquo;s USB C port delivers both data and power; the host machine USB ports also deliver power. In certain circumstances, this can cause a significant reverse current into the host\u0026rsquo;s USB ports, potentially frying hardware.\nTo prevent this \u0026ldquo;inconvenience\u0026rdquo;, one can either make a split Y cable (warning: video link), separating the power and the data lines, or use a ready-made splitter. As I frankly suck at anything which involves precision work at a reasonable level (I still can\u0026rsquo;t believe how I managed as a lab bench scientist in my early career days) I went for the splitter: one port would get only power, and the other only data, eliminating the problem.\nAssembling the hardware # Unfortunately I took no photos while assembling the hardware, because I only thought about writing a blog post much later, therefore you\u0026rsquo;ll have to live with my $ADJECTIVE_OF_CHOICE prose for now. Setting the whole thing up was quite easy, easier than expected, in fact. It was only a matter of removing tape from the acrylic pieces of the case, set up spacers, and place the Pi inside.\nThe case I bought came with a daughterboard to provide more convenient access to the Pi\u0026rsquo;s USB ports. I attached it to the Pi itself without much thought, yet unaware of the mistake I was doing (yes, I\u0026rsquo;m building up the \u0026ldquo;suspense\u0026rdquo;).\nAttaching the HDMI to CSI-2 module proved a little harder. You have to connect its ribbon cable to the Pi\u0026rsquo;s camera port (image by Ram.Sh, taken from the Raspberrpi Pi forums), but without bending it because it can easily snap if you\u0026rsquo;re not careful. I had to fiddle a bit to make sure that the tiny plastic piece acting as a stopper to the cable was actually firmly in place.\nAs the case could not house the splitter and the HDMI to CSI-2 module (I had originally planned to put them inside, but I based my plan on a different version of the case, and the one I have they wouldn\u0026rsquo;t fit properly) I mounted them on top of the case, using a couple of M2 standoffs and additional screws.\nThe original (let\u0026rsquo;s call it version 1) was something like this:\nFirst version of pikvm Then, I had to download the appropriate image for the Pi, flash it to the microSD card, then put the microSD card in the Pi. After that, it was just a matter of connecting the cables (USB to splitter and server; HDMI to module; network cable) and plugging in the USB C power supply.\nInitial test run # First of all\u0026hellip; it turned on, which was already a good result in itself. After a longer than expected boot (because it was generating certificates and SSH keys), the machine was finally reachable on the network (actual domain name redacted):\n1 2 3 4 5 $ ping pikvm.example.com -c 3 PING pikvm.example.com (192.168.10.83) 56(84) bytes of data. 64 bytes from 192.168.10.83 (192.168.10.83): icmp_seq=1 ttl=62 time=3.96 ms 64 bytes from 192.168.10.83 (192.168.10.83): icmp_seq=2 ttl=62 time=4.09 ms 64 bytes from 192.168.10.83 (192.168.10.83): icmp_seq=3 ttl=62 time=3.86 ms The first step was to change the default password for root (which is, unsurprisingly root, although I would have preferred \u0026ldquo;hunter2\u0026rdquo;). pivkm runs Arch Linux as base (with some additional repositories set up by pikvm\u0026rsquo;s author) and keeps the whole filesystem read-only. So after connecting via SSH, the first thing to do is to switch it to read-write and then change the password. There are two convenience aliases provided to make things simple.\n1 2 3 4 5 [root@pikvm ~]# rw [root@pikvm ~]# passwd New password: [...] [root@pikvm ~]# ro After that, it was time to access the web interface provided by pikvm. It is password protected by default, and also in this case the login / password combination is predefined (admin and admin). Thus first I accessed the terminal again and set a different password:\n1 2 3 4 [root@pikvm ~]# rw [root@pikvm ~]# kvmd-htpasswd set admin [...] [root@pikvm ~]# ro Then I could finally log in and be presented by this interface:\nMain web interface of pikvm As you can see, there\u0026rsquo;s also a web terminal for those who don\u0026rsquo;t want to use SSH. You can also use VNC in place of the web interface should you want it. As I wanted to see if everything was working, I went for the KVM option. After a small embarrassing moment where I got no signal because the HDMI cable was not plugged in properly in the module (ahem), I was presented with the login screen from the server (any reference to Preem Palver, the First Speaker is not coincidental).\nScreen capture from the server I was working! But then, I tried using the keyboard\u0026hellip; and no input arrived to the server.\nDiagnosing the problem # I then tried to troubleshoot the problem. pikvm\u0026rsquo;s diagnostic said that the stream from USB was \u0026ldquo;paused\u0026rdquo; so I suspected the cabling, or the USB splitter. I then tried:\nReplacing the USB C to USB A cable (three different cables): no dice; Replacing the USB C to USB C cable to the splitter (three different cables): no dice; Using a USB C hub in place of a splitter; no dice. I was at my wits\u0026rsquo; end, so I just posted a question on the subreddit dedicated to the project. It was then a suggestion was made, to actually test and remove the daughterboard I had attached to the Pi. I was vaguely aware that it needed specific boot options to be used, but they were incompatible with the ones used by pikvm, so I had left them alone.\nI proceeded to do so, and after removing one side of the case (or the USB C cable wouldn\u0026rsquo;t fit), I came up with the following solution:\nAdjusted version without daughterboard And after I attached it back to the server, lo and behold, keyboard input was working!\nLogin screen with characters typed That is why I said it was a mistake to use that case, or at least the daughterboard. It was not suitable for the purpose and it took a while just to realize it was not forwarding data properly. In retrospect, I would\u0026rsquo;ve used a different case.\nConclusion # So that\u0026rsquo;s how I was able to prepare an affordable KVM-over-IP solution and be happy (?). The project\u0026rsquo;s maintainer, aside sponsorships, is actually working on a proper HAT (warning: video link) which is about to go on sale: a possibly better option for those who don\u0026rsquo;t want to fiddle too much like I did, which also offers additional options which require more manual work and that I did not do (like ATX power control to control the server\u0026rsquo;s power remotely).\n","date":"February 7, 2021","externalUrl":null,"permalink":"/2021/02/diy-kvm-over-ip-with-pikvm/","section":"Posts","summary":"(Note: this post also appears in Planet KDE and Planet openSUSE because I thought this might be interesting to others)\nAs I mentioned in some other posts, I have a small “server” which I use as a NAS to provide archiving for photos and other files of interest. As it runs in a remarkably small (and quiet) enclosure, I’ve managed to put it in an incospicuous part of the room it is in. For the most part, it runs without a hitch: but in some (rare) occasions it needs to be looked at, and sometimes either logging via SSH is not possible, or it is not enough to diagnose the problem. In other words, I need to check what’s on the display. And the position it is in means that attaching a monitor and a keyboard can be inconvenient at best. In other words, I needed out-of-band management.\n","title":"DIY KVM over IP with pikvm","type":"post"},{"content":"","date":"February 7, 2021","externalUrl":null,"permalink":"/tags/pikvm/","section":"Tags","summary":"","title":"Pikvm","type":"tags"},{"content":"","date":"February 7, 2021","externalUrl":null,"permalink":"/tags/selfhosted/","section":"Tags","summary":"","title":"Selfhosted","type":"tags"},{"content":"","date":"January 30, 2021","externalUrl":null,"permalink":"/tags/openwrt/","section":"Tags","summary":"","title":"Openwrt","type":"tags"},{"content":" Omnia? # The Turris Omnia is quite a nice (although a little pricey) OpenWRT-based router from CZ.NIC. It provides a fairly powerful CPU, relatively unconstrained eMMC space, and quite a lot of hackability (some revisions even have GPIO ports to play with). It runs a modified version of OpenWRT, named TurrisOS.\nThe problem # A few years ago, I built a custom NAS for my storage needs, using a cheap Intel SoC (J1900 chipset) and a (much pricier) mini-ITX small form factor server tower. While I want it to be primarily a NAS, I wanted to run a few services on it, for example Nextcloud or Pymedusa. Of course, in these days it\u0026rsquo;s better to use HTTPS, and the process is both cheap and fast using Let\u0026rsquo;s Encrypt. I also wanted to use SNI with multiple subdomains (files.example.com, medusa.example.com, etc.) pointing to the same internal LAN IP (because some of the software I used is much harder to set up with subpaths of a single domain).\nActually setting up the certificates (with the dns-01 challenge) was rather easy to do (I might do a separate blog post on the topic), but then I got hit by a problem: the default domain used by DHCP in Omnia is lan, which of course is not the same as the one used with the Let\u0026rsquo;s Encrypt certificates. Also, subdomains meant that I had to insert static host mapping for each one of them, which made testing of new software (on a new subdomain) and maintenance tedious.\nHence, the question:\nHow could I have an arbitrary number of subdomains (foo.bar, baz.foo.bar) all resolve to the same IP without manual mapping?\nThe solution # Unlike upstream OpenWRT, TurrisOS does not use dnsmasq for name resolution (it is only used as DHCP server), opting instead for Knot Resolver, also developed by CZ.NIC. kresd (the Knot Resolver daemon) is sufficiently nimble and can be scripted and configured with a bit of Lua. Unlike others that absolutely require features that are dnsmasq specific, I had absolutely no problems with it.\nThanks to the extensive documentation and some helpful developers I was able to configure it to do exactly like I wanted.\nOne first needs to check, on the Omnia, the configuration file which is located at /etc/config/resolver, and navigate to the options related to kresd:\n1 2 3 4 5 6 7 8 config resolver \u0026#39;kresd\u0026#39; option rundir \u0026#39;/tmp/kresd\u0026#39; option log_stderr \u0026#39;0\u0026#39; option log_stdout \u0026#39;0\u0026#39; option forks \u0026#39;1\u0026#39; option include_config \u0026#39;/etc/kresd/custom.conf\u0026#39; option keep_cache \u0026#39;0\u0026#39; list hostname_config \u0026#39;/etc/hosts\u0026#39; This is my configuration, which might be different from yours. What\u0026rsquo;s important is option include_config, which you can point to a custom file where you can set additional kresd configuration.\nWhat I did was to create this file and add:\n1 2 3 4 5 local genRR = policy.ANSWER({ [kres.type.A] = { rdata=kres.str2ip(\u0026#39;192.168.30.55\u0026#39;), ttl=900 }, }, true) policy.add(policy.suffix(genRR, { todname(\u0026#39;internal.example.com.\u0026#39;) })) What does it do? It sets a query policy, which tells kresd what to do exactly with some requests.\nNotice that these statements will only work with kresd \u0026gt;= 5.1, but even the legacy TurrisOS 3.x has the latest version, if you are up-to-date with updates.\nIn particular, when the request is kres.type.A, so an A record, it gives back 192.168.30.55 with a time-to-live of 900 seconds. This means that every request that follows this policy will answer the same IP address. The secont line adds a new policy rule to the resolver, which means that every subdomain of internal.example.com will resolve to 192.168.30.55.\nSince kresd assumes data in the DNS wire format, as defined in RFC 1035, we use a couple of convenience functions (kres.str2ip and todname) so we can just type our IP addresses or domain names without any trouble. We can also, potentially, specify multiple subdomains to check with the policy.todnames function:\n1 policy.add(policy.suffix(genRR, policy.todnames({\u0026#39;internal.example.com\u0026#39;, \u0026#39;external.example.com\u0026#39;}))) Once that is a done deal, you can just restart kresd on the Omnia (/etc/init.d/resolver restart) to have kresd pick up your configuration. If it doesn\u0026rsquo;t start\u0026hellip; well, you have a problem. In this case you can set log_stderr and log_stdout to 1 in the configuration and then check /var/log/messages for potential configuration errors.\nConclusion # Like this, I was able to set Let\u0026rsquo;s Encrypt for all the subdomains I needed and I could also use HTTPS internally, without resorting to ideas like adding my own CA (which would have complicated things quite a bit. It took a while to figure out, including troubles due to API changes, but now it performs exactly as I want to.\n","date":"January 30, 2021","externalUrl":null,"permalink":"/2021/01/quick-tips-server-name-indication-for-internal-domains-with-turris-omnia/","section":"Posts","summary":"Omnia? # The Turris Omnia is quite a nice (although a little pricey) OpenWRT-based router from CZ.NIC. It provides a fairly powerful CPU, relatively unconstrained eMMC space, and quite a lot of hackability (some revisions even have GPIO ports to play with). It runs a modified version of OpenWRT, named TurrisOS.\nThe problem # A few years ago, I built a custom NAS for my storage needs, using a cheap Intel SoC (J1900 chipset) and a (much pricier) mini-ITX small form factor server tower. While I want it to be primarily a NAS, I wanted to run a few services on it, for example Nextcloud or Pymedusa. Of course, in these days it’s better to use HTTPS, and the process is both cheap and fast using Let’s Encrypt. I also wanted to use SNI with multiple subdomains (files.example.com, medusa.example.com, etc.) pointing to the same internal LAN IP (because some of the software I used is much harder to set up with subpaths of a single domain).\n","title":"Quick tips: Server Name Indication for internal domains with Turris Omnia","type":"post"},{"content":"","date":"January 30, 2021","externalUrl":null,"permalink":"/tags/turris-omnia/","section":"Tags","summary":"","title":"Turris-Omnia","type":"tags"},{"content":"The migration happened and well\u0026hellip; it turns out that it was not as smooth as I expected. In particular, comments weren\u0026rsquo;t working at all due to a filesystem permission on the database (which meant nothing would get written at all). That is now fixed. Sorry for the problems.\nTo add problems over problems, I had a hardware failure (RAID card) last June, which wrecked the root filesystem and I had to reinstall everything from scratch. When I looked back to recover the last comment backup\u0026hellip; Well\u0026hellip; it wasn\u0026rsquo;t being backed up. I was able to recover the ones up to 2015-2016 or so because I had still my old Disqus export laying around.\ntl;dr: Comments were broken, now they\u0026rsquo;re fixed, lost a bunch of comments due to hardware failure.\nExcuse me while I go bury myself.\n","date":"January 9, 2021","externalUrl":null,"permalink":"/2021/01/fixed-comments/","section":"Posts","summary":"The migration happened and well… it turns out that it was not as smooth as I expected. In particular, comments weren’t working at all due to a filesystem permission on the database (which meant nothing would get written at all). That is now fixed. Sorry for the problems.\nTo add problems over problems, I had a hardware failure (RAID card) last June, which wrecked the root filesystem and I had to reinstall everything from scratch. When I looked back to recover the last comment backup… Well… it wasn’t being backed up. I was able to recover the ones up to 2015-2016 or so because I had still my old Disqus export laying around.\n","title":"Fixed comments","type":"post"},{"content":"","date":"January 9, 2021","externalUrl":null,"permalink":"/tags/kde/","section":"Tags","summary":"","title":"Kde","type":"tags"},{"content":"","date":"January 9, 2021","externalUrl":null,"permalink":"/tags/update/","section":"Tags","summary":"","title":"Update","type":"tags"},{"content":"You might have noticed that the blog has a markedly different look than before. It has not only changed visually, but also under the hood. This (brief) post summarizes the reasons behind the change.\nWhy? # Simply put, the previous solution was unmaintainable. \u0026ldquo;But,\u0026rdquo; you might say, \u0026ldquo;it was a static site generator! How could it become unmaintainable?\u0026rdquo;.\nIt can. You might recall I moved from Wordpress to Jekyll about six years ago. I chose the Feeling Responsive theme at the time, but it did not do what I wanted it to do (including support of Isso for hosted comments), and it was meant to be a landing page rather than a blog.\nSo, having probably indulged in something that altered my perceptions at the time (funny, because I neither drink nor smoke\u0026hellip;), I forked the theme.\nYes. You read that right. I forked the theme. And to add the functionality I required, and in particular not to leave many broken links around I had to add several Jekyll plugins: some I even had to modify myself to make them behave properly.\nThen\u0026hellip;\nThen, version updates # Jekyll had several compatibility-breaking updates. I couldn\u0026rsquo;t update my fork because it was far beyond my ability (I\u0026rsquo;m a scientist, not a designer nor a coder in the strict sense), and many plugins started falling apart. I had to hastily prepare a makeshift Docker image containing the exact versions of everything I had (Jekyll 2.5.x, even) and spend several hours trying to make it work correctly (that included using obsolete versions of Alpine Linux, for example).\nIn short, I made even a worse job than what Viktor von Frankenstein did. Unfortunately, I am not really proud of that. The horrible contraption I built made even writing posts problematic, because the process would sometimes break.\nIt\u0026rsquo;s good having a blog where not even the main author can write and expect things to be published, eh?\nA solution? # More recently, I\u0026rsquo;ve been reading about Hugo, a rather fast static site generator which also happens to be packaged for openSUSE. In particular I found the approach to theming better than Jekyll, because you can just override parts of a theme should you require it, instead of forking a whole theme and hope for the best.\nThus, I used the Ananke theme with some extra additions (documented in the git repository). Importing things was pretty painless. The CSS wasn\u0026rsquo;t, and I\u0026rsquo;m sure there are still loads of broken things, but at least I\u0026rsquo;m moving forward. Please leave a comment if you find anything broken, thanks!\nHopefully I can blog a little more than just making an update and disappearing again (not that I\u0026rsquo;ve disappeared: I\u0026rsquo;ve been fairly active doing packaging work in openSUSE). But again, to quote the words of Merlin, \u0026ldquo;it is a secret only known to the ancient gods and me.\u0026rdquo;\nConquests of Camelot: The Search for the Grail - © 1989 Sierra On-Line ","date":"January 6, 2021","externalUrl":null,"permalink":"/2021/01/refreshed-look/","section":"Posts","summary":"You might have noticed that the blog has a markedly different look than before. It has not only changed visually, but also under the hood. This (brief) post summarizes the reasons behind the change.\nWhy? # Simply put, the previous solution was unmaintainable. “But,” you might say, “it was a static site generator! How could it become unmaintainable?”.\n","title":"Refreshed look","type":"post"},{"content":"","date":"January 5, 2021","externalUrl":null,"permalink":"/tags/obs/","section":"Tags","summary":"","title":"Obs","type":"tags"},{"content":"If I look back at the last post I made on ths blog\u0026hellip; let\u0026rsquo;s say quite a lot of time has passed. The reason? Well, first of all, one would call it a lack of motivation1, and afterwards, the emergence of a small yet quite annoying pathogen which caused a bit of a stir worldwide. But today I\u0026rsquo;m not going to talk about viruses: perhaps some other time when you can avoid hear about it for breakfast, lunch, and dinner.\nKDE software from git and the OBS # Yes, today I\u0026rsquo;m going to talk about the OBS, that is the Open Build Service, not to be confused with another highly successful open source project.\nAs you know, since ages, the openSUSE KDE team provides a series of repositories which track the latest state of the git repositories in KDE, be them either Frameworks, Plasma, or the applications part of the Release Service. This also allows to create Live CDs which can be useful for testing out the software.\nBut the question that I\u0026rsquo;ve seen every now and then is\u0026hellip; how it is actually done? Is everything provided by the OBS, or does someone need to add some glue on top of that?\nUsing the OBS to provide updates to KDE packages from git # Source services # From the official documentation:\nSource Services are tools to validate, generate or modify sources in a trustable way.\nOk, that doesn\u0026rsquo;t tell us much, does it? Luckily, the concept is simple. It is that, for packages built in the OBS, we can use tools (internal or external) to perform operations on the source(s) the packages are built from. These are done before any actual building starts.\nThe openSUSE wiki has some examples of what a source service can do, of which one immediately jumps to our eye:\nCheckout service - checks out from SVC system (svn, git, \u0026hellip;) and creates a tarball.\nThat means that we can, theoretically, ask the OBS to do a checkout from git, and automatically generate a tarball from there. In addition, a source service can add version information to the RPM spec file - the blueprint of an openSUSE package - including some data taken off git, for example the date and the revision hash of the checkout.\nSource services are implemented as files named _service which live in the OBS for each package. Let\u0026rsquo;s take a look at the one for kcoreaddons in the KDE:Unstable::\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 \u0026lt;services\u0026gt; \u0026lt;service name=\u0026#34;obs_scm\u0026#34;\u0026gt; \u0026lt;param name=\u0026#34;url\u0026#34;\u0026gt;https://invent.kde.org/frameworks/kcoreaddons.git\u0026lt;/param\u0026gt; \u0026lt;param name=\u0026#34;scm\u0026#34;\u0026gt;git\u0026lt;/param\u0026gt; \u0026lt;param name=\u0026#34;versionformat\u0026#34;\u0026gt;VERSIONgit.%ci~%h\u0026lt;/param\u0026gt; \u0026lt;/service\u0026gt; \u0026lt;service name=\u0026#34;set_version_kf5\u0026#34; mode=\u0026#34;buildtime\u0026#34;/\u0026gt; \u0026lt;service mode=\u0026#34;buildtime\u0026#34; name=\u0026#34;tar\u0026#34; /\u0026gt; \u0026lt;service mode=\u0026#34;buildtime\u0026#34; name=\u0026#34;recompress\u0026#34;\u0026gt; \u0026lt;param name=\u0026#34;file\u0026#34;\u0026gt;*.tar\u0026lt;/param\u0026gt; \u0026lt;param name=\u0026#34;compression\u0026#34;\u0026gt;xz\u0026lt;/param\u0026gt; \u0026lt;/service\u0026gt; \u0026lt;service mode=\u0026#34;buildtime\u0026#34; name=\u0026#34;set_version\u0026#34; /\u0026gt; \u0026lt;/services\u0026gt; obs_scm # The first line inside service tells us that we\u0026rsquo;re using the obs_scm service, which is a built-in service in openSUSE\u0026rsquo;s OBS instance to checkout the sources from the url, using git. The versionformat parameter sets the version to a literal VERSION (more on that later) and adds the git suffix, and then adds %ci, which is replaced by the checkout date (example: 20210102T122329) and %h, which puts the short git revision hash in the version (example: 5d069715).\nThe whole data is compressed in a cpio archive with the obscpio extension. At this point, we don\u0026rsquo;t have a tarball yet.\nAfter the checkout # THe next services run when the package is actually built, as you can see by the mode=\u0026quot;builtime\u0026quot; in their definitions. The first one (set_version_kf5) is actually a service made by Fabian Vogt (fellow member of the KDE team) which replaces VERSION by the current version present in the KDE git (done manually: it is read from the OBS project configuration, and bumped every time it happens upstream). The following lines set the version in the spec file, and compress the whole thing into a tarball.\nAt this point, the build system starts building the actual source and creating the package.\nManual labor # Just when are these kind of source services run? If left by themselves, never. You need to actually signal the OBS (trigger, in OBS-speak) to run the service. An example is with the osc command line utility:\n1 osc service remoterun KDE:Unstable:Frameworks kcoreaddons Or there\u0026rsquo;s a button in the OBS web interface which can allow you to do just that:\nThere\u0026rsquo;s just a little problem. When there are more than 200 packages to handle, updating in this way gets a complicated. Also, while the OBS is smart enough to avoid updating a package that has not changed, it has no way to tell you before the service is actually run.\nAutomation # Luckily, the OBS has features which, used with some external tools, can solve the problem in a hopefully effective way.\nSince 2013 the OBS can use authentication tokens to run source services, and you can for example trigger updates with pushes to GitHub repositories. To perform this task for the KDE:Unstable repositories, I based upon these resources to build something to do mass updates in a reliable way.\nFirst of all, I generated a token, and I wanted to make sure that it could only trigger updates. Nothing more, nothing less. This was fairly easy with osc:\n1 osc token --create -o runservice I did not specify a project, so the token works with all the repositories I have access to. This was a requirement, because the KDE Unstable repositories are actually three different OBS projects.\nTo trigger an update in the OBS, one needs to call the https://api.opensuse.org/trigger/runservice endpoint, doing a POST request and include the project name (project parameter) and the package name (package parameter). An example (I know, I didn\u0026rsquo;t encode the URL for simplicity, bear with me):\n1 https://api.opensuse.org/trigger/runservice?project=KDE:Unstable:Frameworks\u0026amp;package=kcoreaddons The token needs to be passed as an Authorization header, in the form Token \u0026lt;your token here\u0026gt;. You get a 200 response if the trigger is successful, and 404 in other cases (including an incorrect token).\nLike this, I was able to find a way to reliably trigger the updates. In fact, it would be probably easy to conjure a script to do that. But I wanted to do something more.\nA step further # I wanted to actually make sure to trigger the update only if there were any new commits. But at the same time I did not want to have a full checkout of the KDE git repositories: that would have been a massive waste of space.\nEnter git ls-remote, which can give you the latest revision of a repository for all its branches (and tags), without having to clone it. For example:\n1 2 3 4 5 6 7 8 9 10 git ls-remote --heads https://invent.kde.org/pim/kitinerary.git/ 22175dc433dad1b1411224d80d77f0f655219122 refs/heads/Applications/18.08 5a0a80e42eee138bda5855606cbdd998fffce6c0 refs/heads/Applications/18.12 2ca039e6d4a35f3ab00af9518f489e00ffb09638 refs/heads/Applications/19.04 2f96d829f28e85f3abe486f601007faa2cb8cde5 refs/heads/Applications/19.08 f12f2cb73e3229a9a9dafb347a2f5fe9bd6c7975 refs/heads/master 18f675d888dd467ebaeaafc3f7d26b639a97d142 refs/heads/release/19.12 90ba79572e428dd150183ba1eea23d3f95040469 refs/heads/release/20.04 763832e4f1ae1a3162670a93973e58259362a7ba refs/heads/release/20.08 c16930a0b70f5735899826a66ad6746ffb665bce refs/heads/release/20.12 In this case I limited the list to branches to branches (--heads). As you can see, the latest revision in master for kitinerary at the time of writing is f12f2cb73e3229a9a9dafb347a2f5fe9bd6c7975. So, the idea I had in mind was:\nGet the state of the master branch in all repositories part of the KDE Unstable hierarchy; Save the latest revision on disk; On the following check (24 hours later) compare the revisions between what\u0026rsquo;s stored on disk and the remote; If the revisions differ, trigger an update; Save the new revision to disk; This was slightly complicated by the fact that package names on the OBS and source repositories in KDE can differ (example: plasma-workspace is plasma5-workspace or akonadi is akonadi-server). My over-engineered idea was to create a JSON mapping of the whole thing (excerpt):\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 { \u0026#34;KDE:Unstable:Frameworks\u0026#34;: [ { \u0026#34;kde\u0026#34;: \u0026#34;frameworks/attica\u0026#34;, \u0026#34;obs\u0026#34;: \u0026#34;attica-qt5\u0026#34;, \u0026#34;branch\u0026#34;: \u0026#34;master\u0026#34; }, { \u0026#34;kde\u0026#34;: \u0026#34;frameworks/kdav\u0026#34;, \u0026#34;obs\u0026#34;: \u0026#34;kdav\u0026#34;, \u0026#34;branch\u0026#34;: \u0026#34;master\u0026#34; } ] } (Full details on the actual repository)\nIt was painful to set up the first time, but it paid off afterwards. I just needed a few more adjustments:\nCheck whether the remote repository actually existed: I used GitLab\u0026rsquo;s project API to obtain a yes/no answer for each repository, and skip them if they do not exist. Commit the changed files to git and push them to the remote repository holding the data. As I am mostly a Python person, I just used Python to write a yet another over-engineered script to do all the steps outlined above.\nIcing on the cake # Mmm\u0026hellip; cake. Wait. We\u0026rsquo;re not talking about food here, just about how the whole idea was put into \u0026ldquo;production\u0026rdquo; (include several hundred of quotes around that word). I created a separate user on my server (the same which runs dennogumi.org) with minimal privileges, put the token into a file with 0600 permissions, and set up a cron job which runs the script every day at 20 UTC+1.\nThere was just one extra step. Historically (but this is not the case anymore nowadays) the OBS would fail to perform a git checkout. This would leave a package in the broken state, and the only way to recover would be to force an update again (if that did not fix it, it would be time to poke the friendly people in #opensuse-buildservice).\nInspired by what a former KDE team member (Raymond \u0026ldquo;tittiatcoke\u0026rdquo; Wooninck) did, I wrote a stupid script which checks the packages in broken state (at the moment just for one repository and one architecture: a broken clone would affect all of them equally) and forces an update. It needs to use tokens rather than osc, but I\u0026rsquo;ll get to that soon, hopefully.\nConclusion # There, you have it. This is how (at the moment) I can handle updating all KDE packages from git in the OBS with (now) minimal effort. Probably it is an imperfect solution, but it does the job well. Shout out to Fabian who mentioned tokens and prompted the idea.\nAlso called laziness.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"January 5, 2021","externalUrl":null,"permalink":"/2021/01/providing-kde-software-updates-from-git-for-fun-and-profit-in-opensuse/","section":"Posts","summary":"If I look back at the last post I made on ths blog… let’s say quite a lot of time has passed. The reason? Well, first of all, one would call it a lack of motivation1, and afterwards, the emergence of a small yet quite annoying pathogen which caused a bit of a stir worldwide. But today I’m not going to talk about viruses: perhaps some other time when you can avoid hear about it for breakfast, lunch, and dinner.\n","title":"Providing KDE software updates from git for fun and profit in openSUSE","type":"post"},{"content":"","date":"June 7, 2019","externalUrl":null,"permalink":"/tags/hacks/","section":"Tags","summary":"","title":"Hacks","type":"tags"},{"content":"Yesterday I finally flipped the switch on the MX record and moved to a new server (still aptly named after another character from アキハバラ電脳組). The machine was found through Hetzner\u0026rsquo;s server auctions and has quite a good configuration for the price paid:\nIntel Xeon CPU E31245 @ 3.30GHz 16G ECC RAM (ECC was the deciding factor) LSI Hardware RAID 1 with two 3x2T disks Now, since the old server has been chugging along since 2011, the 5 eurocent question is why did you move at all? It turns out there were a pretty good number of reasons (to me, at least).\nOS and software # tsugumi (the old server) ran CentOS 7, which was a requirement to properly run Kolab Server (more on this later). As the base is very stable, some of the bits and pieces there were already pretty outdated. That usually is not a problem, except for PHP, whose version is EOL upstream. There are alternatives to get a newer PHP version on CentOS, but they were impractical (again, more on this later). There were also a few unfortunate choices I made during the years that I did not bother fixing to avoid any kind of breakage.\nIn addition I wasn\u0026rsquo;t too happy with CentOS at all, mainly because of familiarity. I mean, I mostly use openSUSE Tumbleweed on desktops, and the HPC system I use at work is based on Ubuntu. I wouldn\u0026rsquo;t choose Ubuntu or any Debian derivative (a matter of personal taste), so the obvious choice was openSUSE Leap, and in particular 15.1 that had just been released.\nReinstalling was not an option, as the server accepted mail, so I did not want to risk downtime. Like the other times I did this, I put a new server in parallel, migrated all the mail, web and other services to it, then decommissioned the old one.\nFor most of the bits I run the process was simple enough as rsyncing the files to the new ones, or turning off services for the time needed to make database dumps, restore them, and flipping the DNS if required. With the occasional hiccup, I would say that I got most of them working within a couple of days (including DNS propagation).\nMail, however, was a different issue.\nSaying goodbye to Kolab, forever # I used to run Kolab Server 3.4, but as time passed I found many barely tolerable issues with it. Some of these were related to the software itself, some in the way Kolab Systems (the company which does most of the Kolab Server work, and the owner of the Kolab Now! mail service) handled the software itself and the relationships with the community and downstreams. Let\u0026rsquo;s get to each of these issues in order.\nQuirks with the software # Kolab is an incredibly complex piece of software which includes C++ parts (including forks of some libraries developed originally by KDE), a series of daemons, Postfix for SMTP, Cyrus as POP/IMAP server, and Amavis/ClamAV/Spamassassin for spam handling. It offers a user database based on LDAP, and a web interface to administer users and mailboxes. The first problem is exactly this complexity: Kolab is incredibly fragile and some configuration changes may break everything with obscure errors.\nAlso, some of the defaults make sense for Kolab Now, but have little sense for many other users, for example making the primary username the surname (real or fake) of the user. Changing these is not trivial and very poorly documented (read more on this later). Multi domain support, by default, is basically non existent, and to be productive you might want to rely on scripts made by third party contributors to make everything manageable (in this case, again the documentation is unhelpful). Lastly, it doesn\u0026rsquo;t work with SELinux: you have to run everything in permissive mode.\nAnd here also comes the software problem. Kolab has PHP bindings for its C++ libraries, which are tied to the PHP version in the distro. So you can\u0026rsquo;t really use PHP from another repository without risking breaking anything (I know on CentOS you can use SCLs, but this means an additional setup cost). You can\u0026rsquo;t run Kolab in LXC, nor in Docker. I had to resort to very ugly hacks to run other software that required at least PHP 7.\nDocumentation is a sore point of Kolab in general: painfully incomplete, sometimes hard to read, or woefully out of date. A perfect opportunity for someone from outside. to fix it\u0026hellip; if how the whole thing worked was actually understandable. Some advanced features of Kolab are completely undocumented: the Chwala file sharing component, for example, can tie to the Seafile web file sharing application, but it was not documented anywhere and the configuration options were hidden in mailing list threads. It took a lot of digging to get all of this in shape and contribute as a HOWTO.\nUpgrade paths are complex, unsupported, and require manual migrations of the databases. It is thanks to the efforts of a couple of community members that they were available at all. In addition, some newer versions introduced major regressions, like with the new component Guam, which was supposed to act as a proxy in front of Cyrus IMAP and hide the special IMAP folders Kolab uses for calendars, contacts, and even files, which was obviously not ready when Kolab 16 was released (it couldn\u0026rsquo;t even understand SSL). On top of that, there hasn\u0026rsquo;t been a new version since Kolab 16: upstream development moved to \u0026ldquo;Winterfell\u0026rdquo;, a continuously developed, integrated, and deployed version. Probably very useful for what Kolab Systems does with Kolab Now!: I\u0026rsquo;m not sure it would benefit others, though.\nRelationship with upstreams and downstreams # First and foremost, all bits of Kolab are Free Software and use open standards, and their developers know this very well. A huge point in their favor. However, Kolab Systems has a very poor handling of projects that are upstream and downstream of Kolab, unless they are part of the upstream themselves (like with the Roundcube Mail web mail client, or Cyrus IMAP itself). In fact, I think their extent of collaboration with upstreams that aren\u0026rsquo;t directly related to their interest is non-existent: KDE developed Kirigami, whose only dependency is Qt, yet the Kube mail client just got rid of the \u0026ldquo;unnecessary dependency\u0026rdquo;, and also went on to fork a couple of PIM libraries (PIM and KDAV): while probably they needed this for legitimate reasons, it only caused extra fractures in a community (KDE PIM) which is already very short on developers. Developed projects that had no interest to them were basically abandoned without notice, like the Qt5 version of libkolab, which was ultimately forked by KDE PIM due to its lack of maintenance. And let\u0026rsquo;s not forget a rather heated discussion on KDE Frameworks release policies on kde-frameworks-devel.\nIn addition, they don\u0026rsquo;t seem to care at all about downstreams. Packaging Kolab for a distribution is an exercise in futility, due to the number of downstream patches, occasional git snapshots, and other very Kolab-specific bits that do not fit well in an integrator\u0026rsquo;s workflow. I don\u0026rsquo;t mind if Kolab Systems don\u0026rsquo;t do that themselves (they need to keep on making money to stay alive), but enabling or facilitating integration downstream would help a lot.\nLastly, contributions. For a project that is this complex, it\u0026rsquo;s not unusual to expect few contributions. Yet, basically every interaction with the community ended up in silence, no communication, and outright failure. On this topic, let\u0026rsquo;s note the failed Indiegogo campaign for Roundcube Next (never ever did anything with zero communication), the almost dead mailing lists, and the fact that the official forums are a spamfest (and for some time, they weren\u0026rsquo;t even reachable).\nThe verdict # I had to move away from Kolab because I felt that the limitations of the software were a problem and the issues around the community at large were too much (good luck trying to find help). Thus, I had to move to another solution. I chose mailcow-dockerized mostly because its feature set overlapped most with what I needed (including shared IMAP folders through email addresses, which was a killer feature of Kolab), and also had a nice web interface to configure part of the system (including some extra bits like DKIM, 2FA, or temporary mail addresses). I don\u0026rsquo;t really like the reliance on Docker and it\u0026rsquo;s not perfect, but it does the job good enough for what I needed to do.\nMigration of the mail # First, I created users corresponding to whatever was on the Kolab server, including a few extra aliases. Then, I changed the SPF records to also include the new mail server (but keep the old one as well). Migrating the mail was a matter of using imapsync with a cron job running every 15 minutes (and many special cases to map folders correctly between the two instances). Some users were very opinionated on spam handling, so I had to make sure some corner cases (like no graylisting) were covered, and the spam thresholds were set for them so that messages would never get dropped.\nThe effort paid off as when I migrated the accounts (I don\u0026rsquo;t have that many users, so a few Thunderbird instance on desktops and K-9 Mail on Android) most people did not even notice the change.\nWrapping up # Then it was time to move my own (large) account to the new infrastructure. I couldn\u0026rsquo;t point the old KMail account to it as the special Kolab folders would be missing, so I armed myself with patience and created a new account from scratch. Calendar and contacts were exported to ICS and VCF, and then imported back in the new platform. KMail has native support of CardDAV/CalDAV used by mailcow (SOGo Groupware) so adding the relevant address book and contacts was easy.\nOverall I\u0026rsquo;m pretty satisfied. The software stack is more up to date and on a platform (openSUSE Leap 15.1) that I am far more familiar with, and while complex, I can understand the components used by mailcow (Dovecot, rspamd, postfix) better than what I used to be able to with Kolab. As a plus, the newer software stack allowed me to do some changes in the web part, finally scrapping GitLab (no fault of its own: too big for what I needed), replaced by Gitea and Drone for CI.\nAs usual it was a pretty good learning experience and there are a couple more additions I plan on doing in the future.\nAfter migrating my users (some did not even notice the change), I took the plunge myself and configured KMail for CalDAV/CardDAV for contacts and calendars, plus a new IMAP account. Within three or four days of testing (plus many other tests I did with a VM a couple of weeks before, and a few bug reports filed and fixed upstream), I removed the MX record pointing to the old server, and kept only the new one. Everything seems to be running smoothly so far, and the old server will be officially decommissioned tomorrow.\n","date":"June 7, 2019","externalUrl":null,"permalink":"/2019/06/new-server-away-from-kolab/","section":"Posts","summary":"Yesterday I finally flipped the switch on the MX record and moved to a new server (still aptly named after another character from アキハバラ電脳組). The machine was found through Hetzner’s server auctions and has quite a good configuration for the price paid:\nIntel Xeon CPU E31245 @ 3.30GHz 16G ECC RAM (ECC was the deciding factor) LSI Hardware RAID 1 with two 3x2T disks Now, since the old server has been chugging along since 2011, the 5 eurocent question is why did you move at all? It turns out there were a pretty good number of reasons (to me, at least).\n","title":"New server: away from Kolab","type":"post"},{"content":"Header image credit: 1840151sudarshan (Wikimedia Commons, CC BY-SA)\nA while ago I posted a way to download 実況動画 from Nicovideo. One of my acquaintances publishes videos there, and he wanted to collect the various comments to reply in a follow up video (what the Nico users call the コメント返し). When the comments are more than just a few, it\u0026rsquo;s hard to find where they refer to without watching them on Nicovideo itself, and its UI is suboptimal. Ideally one would check comments ordered by their position in the video. There are existing programs but their user interface is utterly confusing at best. This called for something simpler, and that\u0026rsquo;s what I tried to do.\nAccessing the Nicovideo comments # It turned out that a Python 3.x module to access the Nicovideo API coupled with scraping exists. It even offers the ability to download the comments! The main drawback from the program is that it downloads either raw JSON or raw XML from the comments (it does not only do that, but I only considered my needs), and that the documentation is a little outdated (I\u0026rsquo;ll get over that in a bit).\nA typical example of the JSON it fetches is below:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 { \u0026#34;chat\u0026#34;: { \u0026#34;thread\u0026#34;: \u0026#34;1546445582\u0026#34;, \u0026#34;no\u0026#34;: 1, \u0026#34;vpos\u0026#34;: 861, \u0026#34;date\u0026#34;: 1546468307, \u0026#34;date_usec\u0026#34;: 432985, \u0026#34;premium\u0026#34;: 1, \u0026#34;anonymity\u0026#34;: 1, \u0026#34;user_id\u0026#34;: \u0026#34;cT63iaz7BkGIQOV2aOebGQJs_nA\u0026#34;, \u0026#34;mail\u0026#34;: \u0026#34;184\u0026#34;, \u0026#34;content\u0026#34;: \u0026#34;うぽつ\u0026#34; } } There are several keys, but the ones of interest are the ones marked chat. The text of the comment is in the content field in this case うぽつ means アップロードおつかれさまです, that is, \u0026ldquo;thanks for uploading\u0026rdquo; (very loosely translated). no is a progressive number that tells us, in this case, that the comment is the first one (not necessarily at the start of the video). vpos is important, but weird: it tells where the comment appears in the video, but its unit is in tenths of millisecond since the start (from 0), so that means that this comment appeared at 8160 ms in the video. The other fields, as described here are:\nmail: a value of 184 indicates an anonymous comment user_id: the user ID of the commenter, or a random string in case of an anonymous comment anonymity: self explanatory date: date of the comment in UNIX timestamp date_usec: microseconds of the date (as far as I understoood) thread: ID of the conversation Making it into something legible # As you saw, the information there are not very useful for humans. What needs to be done first is to convert the values into something useful. In my case, I needed just the comment and the timestamp, so something like this:\n1 2 3 4 5 6 7 8 9 10 11 12 from datetime import datetime def process_element(element): element = element[\u0026#34;chat\u0026#34;] video_pos = element[\u0026#34;vpos\u0026#34;] * 10 comment = element[\u0026#34;content\u0026#34;] video_time = datetime.fromtimestamp(video_pos / 1000).strftime(\u0026#34;%M:%S.%f\u0026#34;) return (video_time, comment) What this does is converting the vpos field into milliseconds, then use datetime.fromtimestamp to change it into a proper datetime object, then format it by minutes and seconds (Nicovideo downgrades every video longer than 30 minutes to 360p quality, so having videos longer than an hour is unlikely).\nThis could be then wrapped nicely, assuming we have the JSON representation:\n1 2 3 4 5 6 7 8 9 10 import simplejson as json # plain old json will suffice too with open(filename) as handle: data = json.load(handle) # Get rid of the other elements valid_elements = [item for item in data if \u0026#34;chat\u0026#34; in item] entries = [process_element(item) for item in valid_elements] # Sort from earliest to latest, crude but effective entries.sort(key=lambda x: x[0]) Afterwards, it\u0026rsquo;s trivial to write the results as a tab-delimited file.\nSubtitles # I then thought that perhaps it would be useful to have the comments as subtitles, because like this they could be superimposed to the video (like Nicovideo does) to gather more context (but without using Nicovideo\u0026rsquo;s awful video player). A quick search led me to the pysrt library which can relatively easily create SRT files. Generating then a SRT file matching the video is quite simple:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 import pysrt def build_srt(data): srt_file = pysrt.SubRipFile() for index, processed_content in enumerate(data): time, text = processed_content # HACK: reparse because we already have sorted data time = datetime.strptime(time, \u0026#34;%M:%S.%f\u0026#34;) subtime_st = pysrt.SubRipTime(minutes=time.minute, seconds=time.second, milliseconds=time.microsecond / 1000) subtime_end = pysrt.SubRipTime(minutes=time.minute, seconds=time.second + 2, milliseconds=time.microsecond / 1000) entry = pysrt.SubRipItem(index, subtime_st, subtime_end, text=text) srt_file.append(entry) return srt_file srt_file = build_srt(valid_elements) srt_file.save(srt_name) The function takes a list like the entries we have generated, containing tuples of (time, comment) and returns a SubRipFile instance.\nEach entry in a SRT file has its own index, starting from 0, so we just rely on enumerate to get the right one. Having sorted the list beforehand makes it simple to preserve the correct ordering: this is the reason for the hacky reparsing of the date (better solutions welcome!). Such a generated file can then be used with mpv or vlc (the latter has some trouble, though) to display the comments superimposed to the video.\nAutomating things # So far, the process is in two steps, downloading the file and then parsing it. However, it would be nicer if we could avoid just saving the JSON file and process the data directly after obtaining it. nicotools can be used as a library, but unfortunately the API does not provide such a feature. However, everything is defined as a series of classes, so it\u0026rsquo;s easy to extend the Comment class used to fetch comments for our purpose, using inheritance:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 import asyncio from nicotools.download import Comment, utils class CommentStream(Comment): # If for any reason we don\u0026#39;t want SRT output srt = False def saver(self, video_id: str, is_xml: bool, coroutine: asyncio.Task) -\u0026gt; bool: # This only works with JSON output if is_xml: super().saver(video_id, is_xml, coroutine) return True comment_data = coroutine.result() data = json.loads(comment_data) contents = [process_element(item) for item in data if \u0026#34;chat\u0026#34; in item] file_path = utils.make_name(self.glossary[video_id], \u0026#34;\u0026#34;, extention=\u0026#34;txt\u0026#34;) file_srt = utils.make_name(self.glossary[video_id], \u0026#34;\u0026#34;, extention=\u0026#34;srt\u0026#34;) contents.sort(key=lambda x: x[0]) with file_path.open(\u0026#34;w\u0026#34;, encoding=\u0026#34;utf-8\u0026#34;) as f: f.write(\u0026#34;Time\\tComment\\n\u0026#34;) f.writelines(\u0026#34;\\t\u0026#34;.join(element) + \u0026#34;\\n\u0026#34; for item in contents) if self.srt: srt_data = build_srt(contents) srt_data.save(str(file_srt)) return True nicotools uses asyncio to perform its task, and saving the data is handled by the saver class. Thus, we create a subclass of Comment and we override its saver method. There we build our data, and we save our results, using the provided helpers from nicotools, which create a pathlib.Path instance from the video name (extracted from self.glossary[video_id]).\nWrapping it up # With our modified class, we now need to actually connect to Nicovideo and download the comments. To do this job, nicotools requires video IDs, which in Nico are in the form smXXXXX. To make things easier for my acquaintance, I though it would be better to extract it from one or more URLs, so an easy helper function was born:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import os from urllib.parse import urlparse def extract_ids(urls): video_ids = list() for url in urls: parsed = urlparse(url) # The last path element is always the video ID nico_id = os.path.split(parsed.path)[-1] video_ids.append(nico_id) return nico_id We can then get to the Real Thing(TM) and download the comments. First of all, we need a valid username and password. Since my acquaintance uses youtube-dl which parses netrc files, I just used the netrc module part of the standard library to extract what was needed:\n1 2 3 4 from netrc import netrc user, _, password = netrc.netrc().hosts[\u0026#34;niconico\u0026#34;] After taking care of that, I got stumped, because when testing the modified class (but also the original!) with the examples in the documentation, I always got an exception stating that the session had expired. A look at the actual code of nicotools showed me that the examples were wrong: before doing anything, we need to establish a sort of persistent session that will allow us to download things. This is done by the Info class in nicotools:\n1 2 3 4 5 from nicotools.download import Info # video_ids is a list of smXXX IDs database = Info(video_ids, mail=user, password=password).info We then need to pass these data to our CommentStream class and have it handle the rest:\n1 2 3 com = CommentStream(database, user, password, save_dir=my_dest_dir) com.srt = True # If neeeded com.start() start() will authenticate, parse and download what needed, then it will execute our saver function and save the results.\nThere! Like this we can get the comments, have them in a human-readable format, and also use optionally a SRT file to superimpose them to the video.\nThe full script # The script I built from the pieces I showed here is reproduced below. It is licensed under the BSD license, and even though it worked for me (and whoever I made it for) your mileage may vary.\nIt requires:\nPython 3.6 (required by nicotools) nicotools (and its dependencies) pysrt simplejson 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 #!/usr/bin/python3 # Copyright 2018 Luca Beltrame # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # # 1. Redistributions of source code must retain the above copyright notice, # this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright notice, # this list of conditions and the following disclaimer in the documentation # and/or other materials provided with the distribution. # 3. Neither the name of the copyright holder nor the names of its # contributors may be used to endorse or promote products derived from this # software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \u0026#34;AS IS\u0026#34; # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. import asyncio import argparse from datetime import datetime import netrc import os from urllib.parse import urlparse import pysrt from nicotools.download import Comment, Info, utils import simplejson as json def process_element(element): element = element[\u0026#34;chat\u0026#34;] video_pos = element[\u0026#34;vpos\u0026#34;] * 10 comment = element[\u0026#34;content\u0026#34;] video_time = datetime.fromtimestamp(video_pos / 1000).strftime(\u0026#34;%M:%S.%f\u0026#34;) return (video_time, comment) def extract_ids(urls): video_ids = list() for url in urls: parsed = urlparse(url) nico_id = os.path.split(parsed.path)[-1] video_ids.append(nico_id) return nico_id def build_srt(data): srt_file = pysrt.SubRipFile() for index, processed_content in enumerate(data): time, text = processed_content # HACK: reparse because we already have sorted data time = datetime.strptime(time, \u0026#34;%M:%S.%f\u0026#34;) subtime_st = pysrt.SubRipTime(minutes=time.minute, seconds=time.second, milliseconds=time.microsecond / 1000) subtime_end = pysrt.SubRipTime(minutes=time.minute, seconds=time.second + 2, milliseconds=time.microsecond / 1000) entry = pysrt.SubRipItem(index, subtime_st, subtime_end, text=text) srt_file.append(entry) return srt_file class CommentStream(Comment): # If for any reason we don\u0026#39;t want SRT output srt = False def saver(self, video_id: str, is_xml: bool, coroutine: asyncio.Task) -\u0026gt; bool: # This only works with JSON output if is_xml: super().saver(video_id, is_xml, coroutine) return True comment_data = coroutine.result() data = json.loads(comment_data) contents = [process_element(item) for item in data if \u0026#34;chat\u0026#34; in item] file_path = utils.make_name(self.glossary[video_id], \u0026#34;\u0026#34;, extention=\u0026#34;txt\u0026#34;) file_srt = utils.make_name(self.glossary[video_id], \u0026#34;\u0026#34;, extention=\u0026#34;srt\u0026#34;) contents.sort(key=lambda x: x[0]) with file_path.open(\u0026#34;w\u0026#34;, encoding=\u0026#34;utf-8\u0026#34;) as f: f.write(\u0026#34;Time\\tComment\\n\u0026#34;) f.writelines(\u0026#34;\\t\u0026#34;.join(element) + \u0026#34;\\n\u0026#34; for item in contents) if self.srt: srt_data = build_srt(contents) srt_data.save(str(file_srt)) return True def main(): parser = argparse.ArgumentParser() parser.add_argument(\u0026#34;video\u0026#34;, help=\u0026#34;Video URL(s)\u0026#34;, nargs=\u0026#34;+\u0026#34;) parser.add_argument(\u0026#34;-d\u0026#34;, \u0026#34;--destination\u0026#34;, help=\u0026#34;Destination directory\u0026#34;, default=\u0026#34;./\u0026#34;) parser.add_argument(\u0026#34;--no-srt\u0026#34;, action=\u0026#34;store_false\u0026#34;, help=\u0026#34;Don\u0026#39;t generate SRT\u0026#34;) options = parser.parse_args() user, _, password = netrc.netrc().hosts[\u0026#34;niconico\u0026#34;] video_ids = extract_ids(options.video) database = Info(video_ids, mail=user, password=password).info com = CommentStream(database, user, password, save_dir=options.destination) com.srt = options.no_srt com.start() if __name__ == \u0026#34;__main__\u0026#34;: main() ","date":"January 3, 2019","externalUrl":null,"permalink":"/2019/01/hack-of-the-day-extracting-comments-from-nicovideo/","section":"Posts","summary":"Header image credit: 1840151sudarshan (Wikimedia Commons, CC BY-SA)\nA while ago I posted a way to download 実況動画 from Nicovideo. One of my acquaintances publishes videos there, and he wanted to collect the various comments to reply in a follow up video (what the Nico users call the コメント返し). When the comments are more than just a few, it’s hard to find where they refer to without watching them on Nicovideo itself, and its UI is suboptimal. Ideally one would check comments ordered by their position in the video. There are existing programs but their user interface is utterly confusing at best. This called for something simpler, and that’s what I tried to do.\n","title":"Hack of the day: extracting comments from Nicovideo","type":"post"},{"content":"Part of this post is about openQA, openSUSE\u0026rsquo;s automated tool which tests a number of different scenarios, from installation to the behavior of the different desktop environments, plus testing the freshest code from KDE git. Recently, thanks to KDE team member Fabian Vogt, there has been important progress when testing KDE software.\nTesting the Dolphin file manager # Those who use KDE software, either in Plasma or in other desktop environments have at least heard of Dolphin, the powerful file manager part of KDE Applications (by the way, have you checked out the recent beta yet?). A couple of weeks ago, in the #opensuse-kde channel, Fabian mentioned the possibility of writing new openQA tests: although there are many tests already, the desktop ones are all but comprehensive given the many possible scenarios. After some discussion back and forth, the consensus was to test Dolphin as it\u0026rsquo;s a very commonly used in many everyday tasks.\nThe second part was thinking up what to test. Again, the idea was to focus on common tasks: navigating and creating folders, creating and removing files, and adding elements to Places (the quick-access bar on the left). The first idea also contemplated testing drag-and-drop, but unfortunately such actions aren\u0026rsquo;t yet supported by openQA, so they were put in the backlog. With these goals in mind, Fabian created a series of tests. This is what being tested:\nLaunching dolphin and creating a folder Navigating in the folder and creating a text file via context menu (\u0026ldquo;Create New\u0026hellip;\u0026rdquo;) Test navigation via the breadcrumb Adding the newly-added folder via Places and ensuring it shows up in other applications Remove the folder and the added place You can see the latest results of the tests for Krypton on openQA. Of course, this does not apply to only the latest unstable code: it is also working for the main distributions.\nWhat does this mean, in practice? openQA is flexible enough to allow even complex tests with multiple operations in succession, and these tests are very useful in catching bugs early, as it has already happened in the past. That doesn\u0026rsquo;t mean you should be complacent: keep filing those bugs, either to the distro for packaging issues, or to KDE for issues related to the software.\nNew Krypton links # A small but welcome addition to the Krypton live images is that now the latest build is automatically symlinked to a fixed name (openSUSE_Krypton.$arch.iso, where $arch is either i686 or x86_64). This allows now to link the images directly whenever required: before this change any direct link would break due to the ISO changing name at every rebuild. Doing the same for Argon is on the horizon, but requires some more work before it will happen.\nKDE Applications 18.08 beta enters KDE:Applications # As manual testing is still important, the openSUSE KDE:Applications repository now contains the KDE Applications 18.08 beta. If you\u0026rsquo;re willing to help test the beta, please download the package and file bugs for issues you encounter. In case you\u0026rsquo;re just using the repository as an add-on, you might want to hold off updating until the final release is out.\nSpeaking of final release… there might some slight delays in getting it to the distribution this time: part of the KDE team (Antonio, Fabian) is attending Akademy, while others (yours truly) will be away enjoying their hard-earned (?) vacation. In this case, please exercise patience and keep your pitchforks away. ;)\n","date":"July 28, 2018","externalUrl":null,"permalink":"/2018/07/dolphin-and-openqa-and-other-assorted-bits/","section":"Posts","summary":"Part of this post is about openQA, openSUSE’s automated tool which tests a number of different scenarios, from installation to the behavior of the different desktop environments, plus testing the freshest code from KDE git. Recently, thanks to KDE team member Fabian Vogt, there has been important progress when testing KDE software.\nTesting the Dolphin file manager # Those who use KDE software, either in Plasma or in other desktop environments have at least heard of Dolphin, the powerful file manager part of KDE Applications (by the way, have you checked out the recent beta yet?). A couple of weeks ago, in the #opensuse-kde channel, Fabian mentioned the possibility of writing new openQA tests: although there are many tests already, the desktop ones are all but comprehensive given the many possible scenarios. After some discussion back and forth, the consensus was to test Dolphin as it’s a very commonly used in many everyday tasks.\n","title":"Dolphin and openQA and other assorted bits","type":"post"},{"content":"","date":"July 28, 2018","externalUrl":null,"permalink":"/tags/openqa/","section":"Tags","summary":"","title":"OpenQA","type":"tags"},{"content":" 実況? Is it something edible? # In recent times, I\u0026rsquo;ve been watching a lot of VOICEROID実況 (じっきょう, jikkyou, literally \u0026ldquo;commentary\u0026rdquo;) videos from the rather famous (in Japan) video service ニコニコ動画, better known as \u0026ldquo;Nicovideo\u0026rdquo;. In this case, the commentary actually refers to games: they\u0026rsquo;re basically a Japanese version of the Let\u0026rsquo;s Play videos that are all around other places like YouTube.\nThe difference from \u0026ldquo;regular\u0026rdquo; videos lies in the \u0026ldquo;VOICEROID\u0026rdquo; term: this is a name of a TTS software developed by AH Software using an engine devised by a company called AI Inc. The name is derived from the very famous VOCALOID singing software. Like in VOCALOID, many different voices have been created, each associated to a specific character. This software is used to have these characters talk and provide commentary to the game being shown. Depending on the video and the uploader, these comments may range from comedy to more serious themes, and some authors even created stories featuring them in the game they are playing.\nThis in turns shapes the characters beyond the original designs by AHS into the realm of \u0026ldquo;secondary creations\u0026rdquo;, to use a term borrowed from Re:CREATORS. That\u0026rsquo;s what makes thse videos interesting for me (and in addition, it\u0026rsquo;s still a good way to keep my Japanese up to speed).\nThe problem # The video interface of Nicovideo sucks. Seriously. Up to recent times, it didn\u0026rsquo;t even offer 1080p, and most of the features (including advanced seeking, etc.) are locked beyond their premium account (which, however, grants access also to other bits like live events). In addition, when the website is under heavy traffic watching videos can be a true pain. Luckily, youtube-dl supports downloading from Nicovideo, barring some bugs.\nThis situation complicated recently, because Nicovideo became the target of a dDoS from outside Japan. Their response was to shut off access from outside Japan for a number of days. I could\u0026rsquo;ve just waited it out, but I wanted to work around the problem. So I started to what to think about it.\nThe implementation # The first ingredient in the recipe was getting a cheap VPS located in Japan. Linode did in their Tokyo 2 datacenter, so I signed up for their $5 offering. I didn\u0026rsquo;t need either processing power or storage: it would just exist as a \u0026ldquo;hop\u0026rdquo; to Nico. For the image, I chose openSUSE Leap 42.3, as I\u0026rsquo;m mostly familiar with the distribution. I installed a stock minimal install, but I used the distro-supplied kernel instead of Linode\u0026rsquo;s (there\u0026rsquo;s a reason, which I\u0026rsquo;ll show afterwards).\nThen, I need some form of VPN to allow access from my home network. I thought about openVPN, but since I\u0026rsquo;ve been testing and using WireGuard with great satisfaction, I settled for that. WireGuard is much simpler to configure than openVPN, doesn\u0026rsquo;t require daemons, and routing uses the stock Linux tools like iproute2. It has also support for LEDE and OpenWRT, which meant I could hook it up in my Turris Omnia.\nFirst of all, I added the relevant repositories:\n1 2 # zypper ar -f obs://network:vpn vpn # zypper in wireguard wireguard-tools This installed both the tools (wg and wg-quick) and the kernel module required by WireGuard (that\u0026rsquo;s why I needed a stock distro kernel).\nThen, I needed a firewall:\n1 2 3 4 5 6 7 8 # zypper in firewalld # systemctl start firewalld # firewall-cmd --add-service=ssh # firewall-cmd --zone=public --change-interface=eth0 # firewall-cmd --zone=public --change-interface=eth0 --permanent # firewall-cmd --add-service=ssh --permanent # firewall-cmd --zone=internal --add-masquerade # firewall-cmd --zone=internal --add-masquerade --permanent Afterwards, I had to configure WireGuard:\n1 2 3 4 5 # mkdir /etc/wireguard # chmod 0700 /etc/wireguard # umask 002 # Don\u0026#39;t make files group accessible # wg genkey \u0026gt; /etc/wireguard/wg0.key # this generates a private key # cat /etc/wireguard/wg0.key | wg pubkey \u0026gt; /etc/wireguard/wg0.pub Then I edited /etc/wireguard/wg0.conf with the details of the interface:\n1 2 3 4 5 6 7 8 9 10 11 12 [Interface] PreUp = firewall-cmd --add-port=51820/udp PostDown = firewall-cmd --remove-port=51820/udp ListenPort = 51820 PrivateKey = \u0026lt;my private key\u0026gt; Address = 10.67.53.10/32 MTU = 1500 # Different from default, see below [Peer] PublicKey = \u0026lt;my public key\u0026gt; AllowedIPs = 10.67.53.0/24,192.168.35.0/24 Endpoint = \u0026lt;home address IP\u0026gt;:51820 \u0026ldquo;Allowed IPs\u0026rdquo; in WireGuard mean the destination IPs that are allowed through the tunnel (note that routing must be set separately, although wg-quick handles that for you).\nAfterwards I had to tweak the firewall to ensure that:\nThe wg0 interface was masqueraded (for packets coming from my own LAN) Packets could go from wg0 to eth0 and vice versa Apply MSS clamping Some of the commands below may be redundant, but firewalld wasn\u0026rsquo;t really meant to be used like this (I removed the --permanent lines for brevity).\n1 2 3 4 5 # firewall-cmd --zone=internal --change-interface=wg0 # firewall-cmd --direct --passthrough ipv4 -t nat -A POSTROUTING -s 10.67.35.0/24 -o eth0 -j MASQUERADE # firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i wg0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT # firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i eth0 -o wg0 -m state --state RELATED,ESTABLISHED -j ACCEPT # firewall-cmd --direct --passthrough ipv4 -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu Then, I brought the interface up:\n1 2 # systemctl start wg-quick@wg0 # systemctl senable wg-quick@wg0 I set the MTU specifically to 1500, because lower values set by wg-quick would cause packet fragmentation and packets would go nowhere (I spent a lot of time with tcpdump before figuring it out).\nOn the Turris Omnia side, I had already WireGuard configured. It was just a matter of adding a few lines in /etc/config/network and restarting the network itself:\n1 2 3 4 5 6 7 8 config wireguard_wg0 option public_key \u0026#39;\u0026lt;public-key\u0026gt;\u0026#39; list allowed_ips \u0026#39;10.67.53.10/32\u0026#39; list allowed_ips \u0026#39;\u0026lt;nicovideo IP block\u0026gt;\u0026#39; option endpoint_host \u0026#39;\u0026lt;linode public IP\u0026gt;\u0026#39; option endpoint_port \u0026#39;51820\u0026#39; option persistent_keepalive \u0026#39;60\u0026#39; option route_allowed_ips \u0026#39;1\u0026#39; While the dDoS was in effect, I routed data for Nicovideo through the VPN, thus bypassing the block. Now that it works so well, I might consider it expanding it to work around some programs (games) that reply on Japanese IPs, like Girls Trinary.\nAdmittedly, it wasn\u0026rsquo;t enough, even after the dDoS was over. Given that the VPS has a higher speed link than my own connection when it comes to Japan, why not leverage that?\nTo do so, I installed a couple more packages:\n1 # zypper in rsync python3 python3-pip youtube-dl The last package required enabling the Packman repository through YaST beforehand.\nThen, I installed sarge, which wasn\u0026rsquo;t available in the distro, through pip:\n1 # pip3 install sarge --prefix /usr/local And then it was a matter of hacking around a \u0026ldquo;simple\u0026rdquo; script. This would fetch one or multiple video URLs (including Nicovideo\u0026rsquo;s \u0026ldquo;mylist\u0026rdquo;, similar to YT\u0026rsquo;s playlists), pass them through youtube-dl, then rsync them to the NAS I have at home (and deleting them afterwards). It makes use of youtube-dl\u0026rsquo;s \u0026ldquo;hooks\u0026rdquo; which are executed when a video has been downloaded.\nThe script is provided at the bottom of the post (BSD licensed). Note the total absence of error checking: it was a \u0026ldquo;hack\u0026rdquo; as the title of the post implies. It worked for me: it may or not may work for you. It might even kill every kitten in the world or bring the Great Old Ones to this planet. Exercise caution.\nAfterwards, there was just the matter of filling in the Nicovideo download credentials, as login is required to view. To do I created a .netrc in the home directory of the download user:\n1 machine niconico login \u0026lt;my login\u0026gt; password \u0026lt;my password Set permissions to 0600, and it\u0026rsquo;s done (or できた！ if I were to use Japanese).\nThen I just need to invoke the script with one or more URLs and it will download and transfer things to my NAS. Magic!\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 #!/usr/bin/python3 # Copyright 2018 Luca Beltrame # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # # 1. Redistributions of source code must retain the above copyright notice, # this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright notice, # this list of conditions and the following disclaimer in the documentation # and/or other materials provided with the distribution. # 3. Neither the name of the copyright holder nor the names of its # contributors may be used to endorse or promote products derived from this # software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \u0026#34;AS IS\u0026#34; # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. import argparse import os from pathlib import Path import sys import sarge import youtube_dl MY_NAS_IP = \u0026#34;127.0.0.1\u0026#34; def download_hook(params): if params[\u0026#34;status\u0026#34;] == \u0026#34;finished\u0026#34;: destination = params[\u0026#34;filename\u0026#34;] cmd = (\u0026#34;/usr/bin/rsync -aP \u0026#34; \u0026#34;{0} {1}:/home/storage/video/nico/\u0026#34;) cmd = sarge.shell_format(cmd, destination, MY_NAS_IP) print(cmd) output = sarge.run(cmd) def manual_rsync(filename): cmd = (\u0026#34;/usr/bin/rsync -aP --remove-source-files \u0026#34; \u0026#34;{0} {1}:/home/storage/video/nico/\u0026#34;) cmd = sarge.shell_format(cmd, filename, MY_NAS_IP) print(cmd) output = sarge.run(cmd) def file_downloaded(ydl, params): filename = ydl.prepare_filename(result) return Path(filename).exists() def check_mylist(ydl, params): \u0026#34;\u0026#34;\u0026#34;Get all video files from a Nico\u0026#39;s mylist, skipping already downloaded ones. \u0026#34;\u0026#34;\u0026#34; playlist_start = 1 filenames = list() for entry in params[\u0026#34;entries\u0026#34;]: filename = ydl.prepare_filename(entry) if Path(filename).exists(): playlist_start += 1 manual_rsync(filename) continue filenames.append(filename) return playlist_start, filenames def main(): youtube_params = {\u0026#34;usenetrc\u0026#34;: True, \u0026#34;progress_hooks\u0026#34;: [download_hook, error_hook]} check_params = {\u0026#34;simulate\u0026#34;: True, \u0026#34;usenetrc\u0026#34;: True, \u0026#34;quiet\u0026#34;: True} parser = argparse.ArgumentParser() parser.add_argument(\u0026#34;url\u0026#34;, nargs=\u0026#34;+\u0026#34;) options = parser.parse_args() urls = options.url # Check filenames to_download = list() for url in urls: # Simulate download once to get metadata with youtube_dl.YoutubeDL(check_params) as ydl: result = ydl.extract_info(url) if \u0026#34;mylist\u0026#34; in url: playlist_start, to_download = check_mylist(ydl, result) if not to_download: urls.remove(url) continue # FIXME: Alters this globally for all downloads youtube_params[\u0026#34;playliststart\u0026#34;] = playlist_start else: filename = ydl.prepare_filename(result) if Path(filename).exists(): urls.remove(url) manual_rsync(filename) continue to_download.append(filename) if not urls: return # Keep on retrying to work around youtube-dl\u0026#39;s behavior with nico while True: try: with youtube_dl.YoutubeDL(youtube_params) as ydl: res = ydl.download(urls) except youtube_dl.utils.DownloadError: res = -1 pass # DANGEROUS if res == 0: break for item in to_download: if Path(item).exists(): Path(item).unlink() if __name__ == \u0026#34;__main__\u0026#34;: main() ","date":"January 23, 2018","externalUrl":null,"permalink":"/2018/01/hack-of-the-day-downloading-voiceroid%E5%AE%9F%E6%B3%81-from-nicovideo/","section":"Posts","summary":"実況? Is it something edible? # In recent times, I’ve been watching a lot of VOICEROID実況 (じっきょう, jikkyou, literally “commentary”) videos from the rather famous (in Japan) video service ニコニコ動画, better known as “Nicovideo”. In this case, the commentary actually refers to games: they’re basically a Japanese version of the Let’s Play videos that are all around other places like YouTube.\n","title":"Hack of the day: downloading VOICEROID実況 from Nicovideo","type":"post"},{"content":"As you may already know (if you don\u0026rsquo;t, please check these older posts) openQA, the automated testing system used by openSUSE runs daily tests on the latest KDE software from git. It works well and uncovered a number of bugs. However, it only tested X11. With Wayland starting to become usable, and some developers even switching to Wayland full time, it was a notable shortcoming. Until now.\nWhy would openQA not run on Wayland? The reason lies in the video driver. openQA runs its tests in a virtual machine (KVM) which uses the \u0026ldquo;cirrus\u0026rdquo; virtual hardware for video display. This virtualized video card does not expose an interface capable of interfacing with the kernel\u0026rsquo;s Direct Rendering Manager (DRM), which is required by kwin_wayland, causing a crash. To fix it, \u0026ldquo;virtio\u0026rdquo;, which presents a way for the guest OS to properly interface with the host\u0026rsquo;s hardware, is needed. Virtio can be used to emulate many parts of the VM\u0026rsquo;s hardware, including the video card. That would mean a working DRM interface, and a working Wayland session!\nHowever, openQA tests did not handle the case where virtio was needed. This is where one of our previously-sung heroes, Fabian Vogt, comes into play. He added support for running Wayland tests in openQA using virtio. This means now that the Argon and Krypton live images now undergo an additional series of tests which are performed under Wayland. And of course, actual bugs have been found already.\nLast but not least, now the groundwork has been laid down to do proper Wayland testing on vanilla Tumbleweed as well. openQA should be probably churning out results soon. Exciting times ahead!\n","date":"August 7, 2017","externalUrl":null,"permalink":"/2017/08/there-can-never-be-enough-testing/","section":"Posts","summary":"As you may already know (if you don’t, please check these older posts) openQA, the automated testing system used by openSUSE runs daily tests on the latest KDE software from git. It works well and uncovered a number of bugs. However, it only tested X11. With Wayland starting to become usable, and some developers even switching to Wayland full time, it was a notable shortcoming. Until now.\nWhy would openQA not run on Wayland? The reason lies in the video driver. openQA runs its tests in a virtual machine (KVM) which uses the “cirrus” virtual hardware for video display. This virtualized video card does not expose an interface capable of interfacing with the kernel’s Direct Rendering Manager (DRM), which is required by kwin_wayland, causing a crash. To fix it, “virtio”, which presents a way for the guest OS to properly interface with the host’s hardware, is needed. Virtio can be used to emulate many parts of the VM’s hardware, including the video card. That would mean a working DRM interface, and a working Wayland session!\n","title":"There can never be enough testing","type":"post"},{"content":"","date":"August 7, 2017","externalUrl":null,"permalink":"/tags/wayland/","section":"Tags","summary":"","title":"Wayland","type":"tags"},{"content":"An archive of all posts published on dennogumi.org.\n","date":"March 2, 2017","externalUrl":null,"permalink":"/post/","section":"Posts","summary":"An archive of all posts published on dennogumi.org.\n","title":"Posts","type":"post"},{"content":"A new version of Danbooru Client is now available!\nWhat is Danbooru Client? # Danbooru Client is an application to access Danbooru-based image boards (Wikipedia definition).\nIt offers a convenient, KF5 and Qt5-based GUI coupled with a QML image view to browse, view, and download images hosted in two of the most famous Danbooru boards (konachan.com and yande.re).\nHighlights of the new version # Unbreak konachan.com support (change in URL format) Coming up next # HTTPS support! This is something that I didn\u0026rsquo;t think up in the first release but that it is sorely needed nowadays. Ah? You wanted to know about multiple API support? Well\u0026hellip; so far the code has been a bit bitrotting, as I kind of lack the motivation to work on it. If I pick it up again, I hope to finish it.\nRelease details # Currently, there is only a source tarball. For security, I have signed it with my public GPG key (A29D259B) and I have also provided a SHA-512 hash of the release.\nSource tarball (XZ compressed) GPG signature SHA-512 checksum ","date":"March 1, 2017","externalUrl":null,"permalink":"/2017/03/danbooru-client-0.6.1-released/","section":"Posts","summary":"A new version of Danbooru Client is now available!\nWhat is Danbooru Client? # Danbooru Client is an application to access Danbooru-based image boards (Wikipedia definition).\nIt offers a convenient, KF5 and Qt5-based GUI coupled with a QML image view to browse, view, and download images hosted in two of the most famous Danbooru boards (konachan.com and yande.re).\n","title":"Danbooru Client 0.6.1 released","type":"post"},{"content":"","date":"March 1, 2017","externalUrl":null,"permalink":"/tags/danbooru-client/","section":"Tags","summary":"","title":"Danbooru-Client","type":"tags"},{"content":"If you look through this blog\u0026rsquo;s archives, you may notice that although Free and Open Source Software is what I write most about, it is not the exclusive topic. I\u0026rsquo;ve written on science (my day job) as well as other interests. And today I\u0026rsquo;d like to lift the wraps on another project which I take part on, unrelated to the above.\nNotice for those who read my blog coming from FOSS aggregators like Planet KDE: this is fairly different than most recent topics from me, so be warned before you continue reading.\nIt all began on a calm summer night 20 years ago # Sounds trite, isn\u0026rsquo;t it? Except it\u0026rsquo;s actually how it happened. I and my brother were having a walk one night and he mentioned having an idea about a story that he\u0026rsquo;d like written. So far I had a (limited) success in getting something decent on paper (or on stuff that never left my HDD), but I was steadily improving, therefore I was genuinely interested.\nInspired by some of the things we had read in those years (in particular the entire cycle of Conan by Robert E. Howard and horror stories by H.P. Lovecraft), he was thinking about a short story involving a werewolf, but was missing some key element. I commented, half-jokingly, that perhaps he should have added zombies to it (we had recently played a few titles in the arcades which involved said undead, like Data East\u0026rsquo;s Night Slashers, and a few years later SEGA\u0026rsquo;s Zombie Revenge).\nKnow what? That was the missing piece he needed to get the story. As we walked back home, he was able to get all the plot out in some form. The following morning, he wrote it down not to forget anything. And that was the start of everything.\nFunnily enough, the project I\u0026rsquo;m talking about here has only little relation with zombies and nothing with werewolves.\nEarly history # From that night, it took quite a while to get something done. And by quite a while I mean 10 years. As it was a fairly \u0026ldquo;spare time\u0026rdquo; idea, it would often be put in the back burner, or get ignored for months. After a few years, we also decided to move from our native language to English, which complicates matters (hint: a proper story is much more difficult to do than a blog post). And of course you have to consider \u0026ldquo;feature creep\u0026rdquo; (yes, that can happen with stories, too) and subsequent setbacks or cuts to make things more manageable.\nIn addition to all of this, during these developments we grew interested in what we called \u0026ldquo;illustrated novels\u0026rdquo;, but better known as light novels in more recent years. In this context it means that narration is accompanied by a few artworks depicting key scenes. After some early attempts, a certain artist was contacted, and a number of artworks commissioned. The work was good, but delivery was incredibly slow and there were certain liberties taken in the design, liberties that were not fixed to prevent additional slowdowns. In the end, the artwork was massively beneficial for my motivation as I was finally able to finish the first part of the story. The whole thing was self-published for a while and put around freely (on a dedicated web page) under a very restrictive Creative Commons license as well.\nThe story had a mixture of elements taken from Japanese pop culture, like manga and anime, but also influences from other books we had written, including the aforementioned R.E. Howard and HP Lovecraft, all mixed with a personal touch. At the time, it looked reasonably done to us (and we had favorable comments from the few people who read it).\nOver the course of the following years, two more parts were made leveraging the same artist. Output didn\u0026rsquo;t improve and the quality decreased, but in the end I was able to finish the rest, although with a great deal of difficulties. Thus the whole matter was done, finished.\nOr was it?\nBack to the present: much-needed changes # You may have experenced those feelings related to regret, like \u0026ldquo;What could have happpened if I did things in a different way?\u0026rdquo;. With regards to the story, this is what happened here. As time passed and we looked back (and read more stuff), there were many things that could have used serious improvement. In addition, I and my brother took up studying Japanese after our first trip to Japan in 2008, and I developed a serious knack for Japanese history. This meant that some of the things written in the past were overly naive or even incorrect. After several years of pondering, we took a decision: restart from scratch, keep the good, and fix whatever needed fixing.\nAt the same time, we wanted to overhaul the art as welll, but this time getting on someone more experienced and that cared for the end result (something that the original artist and a few followers did not). After a bit of scouting, we settled on Collateral Damage Studios, and we couldn\u0026rsquo;t be happier as we finally saw the characters taking life as we had originally envisioned, rather than compromises.\nAnd lastly, we went back to the license. While the one we chose back in the days gave us most control, it was also incredibly rigid with no clear advantage. For this reason, we decided to move to a Creative Commons Attribution ShareAlike license for the new work. At least this allows freedom of share and build upon the work, as long as the authors are attributed properly and that modifications are shared in the same manner as the original work.\nSo, what\u0026rsquo;s this project all about? # Having finally finished the first chapter of this new endeavor, I\u0026rsquo;d like to lift the wraps over The Guardians of the Dawn, and on the first part of the whole story, Lost Innocence. It is going to be published online on the go, as soon as each chapter is finished. At the moment this means prologue and first chapter, including artwork: work on the second chapter is under way. Also, the web page does not only host the project itself. We\u0026rsquo;ve just started, but we plan to expand it with posts covering the characters, the genesis of the story and other similar bits, along with artwork in the gallery as it becomes available.\nMore technical details on how the whole thing is made will be made on this blog, instead (and I\u0026rsquo;m sure this will interest the technical-oriented readership).\nLike before, this is a story that borrows heavily from a combination of horror, fantasy and Japanese culture, mixed with our personal ideas. Of course we cannot claim originality: the Internet (and dead tree publishing) is full of Japanese-like works, with varying degrees of length and quality. That said, we wanted to move in a different direction, mainly because our tastes did not fully overlap with the stereotypes that come out from these works.\nWhether this is good enough or not, this is left as an exercise to you, dear readers. ;) But we\u0026rsquo;d love comments and feedback, either here or on the actual web page. So, let us know!\n","date":"January 15, 2017","externalUrl":null,"permalink":"/2017/01/announcing-a-new-project/","section":"Posts","summary":"If you look through this blog’s archives, you may notice that although Free and Open Source Software is what I write most about, it is not the exclusive topic. I’ve written on science (my day job) as well as other interests. And today I’d like to lift the wraps on another project which I take part on, unrelated to the above.\nNotice for those who read my blog coming from FOSS aggregators like Planet KDE: this is fairly different than most recent topics from me, so be warned before you continue reading.\n","title":"Announcing a new project","type":"post"},{"content":"","date":"January 15, 2017","externalUrl":null,"permalink":"/tags/guardians/","section":"Tags","summary":"","title":"Guardians","type":"tags"},{"content":"","date":"January 15, 2017","externalUrl":null,"permalink":"/tags/projects/","section":"Tags","summary":"","title":"Projects","type":"tags"},{"content":"","date":"January 15, 2017","externalUrl":null,"permalink":"/tags/writing/","section":"Tags","summary":"","title":"Writing","type":"tags"},{"content":"In the past three weeks, the openSUSE community KDE team has been pretty busy to package the latest release of Applications from KDE, 16.12. It was a pretty large task, due to the number of programs involved, and the fact that several monolithic projects were split (in particular KDE PIM). This post goes through what we did, and how we improved our packaging workflow.\nSome prerequisites # In openSUSE speak, packages are developed in \u0026ldquo;projects\u0026rdquo;, which are separate repositories maintained on the OBS. Projects whose packages will end up in the distro, that is where they are being developed to land in the distribution, are called devel projects. The KDE team uses a number of these to package and test:\nKDE:Qt for currently-released Qt versions KDE:Frameworks5 for Frameworks and Plasma packages KDE:Applications for the KDE Applications packages KDE:Extra for additional software not part of the above categories The last three have also an Unstable equivalent (KDE:Unstable:XXX) where packages built straight off git master are made, and used in the Argon and Krypton live images.\nA new development approach # With the release of Leap 42.2, we also needed a way to keep only Long Term Support packages in a place were could test and adjust fixes for Leap (which, having a frozen base, will not easily accept version upgrades), so we created an additional repository with the LTS suffix to track Plasma 5.8 versions (and KF 5.26, which is what Leap ships).\nAs you can see, the number of repositories was starting to get large, and we\u0026rsquo;re still a very low number team, with everyone contributing their spare time to this task. Therefore, a new approach was proposed, prototyped by Hrvoje \u0026ldquo;shumski\u0026rdquo; Senjan and spearheaded by Fabian Vogt during the Leap development cycle.\nThe idea was to use only one repository as an authoritative source of spec files (for those not in the know, spec files are files needed to build RPM packages, and describe the structure of the package, it sources, whether it should be split in sub-packages, and so on), only do changes there and then sync back the changes to the other repositories.\nIn this case, KDE:Frameworks5 was used as source. All changes were then synced to both the LTS repository and to the Unstable variant with some simple scripting and the use of the osc command, which allows interacting with the OBS from the CLI. This significantly reduced divergences between packages and eased maintenance.\nEnter Applications 16.12 # When we started packaging Applications, we faced a number of problems that involved the existence of kdelibs 4.x applications that were now obsoleted by KF5 based versions (see Okular, but not only that). Additionally, there were a major number of splits, meaning that we had to track and adjust packaging to keep in mind that what used to be there wasn\u0026rsquo;t around anymore.\nWe had already a source that kept track of these changes: the KDE:Unstable:Applications repository, which followed git master. A major problem was that its development had gone in a different direction than the original KDE:Applications, meaning that there was a significant divergence in the two.\nInitially we set up a test project and tried to figure out how to lay out a migration path for the existing packages. It didn\u0026rsquo;t work too well by hand: too many changes, too many packages to keep track of. That is when Raymond Wooninck had the idea to automate the whole process and change the development workflow of Applications packaging.\nThe new workflow worked as such:\nThe authoritative source of changes is the Unstable repository, because that\u0026rsquo;s where the changes end up first, before release On beta release time, packages would be copied from Unstable to the stable repository, dropping any patches present that were upstreamed openSUSE specific patches (integration, build system, etc.) would stay in both repositories upstream patches (patches already committed but not part of a release) would only stay in the stable repository In order to ensure that this would be done automatically, Raymond created a repository and wrote scripts to do both the Unstable-\u0026gt;stable transition and to automate packaging of new minor releases. Once we switched to this workflow, adjustments were much easier, and we were able to finish the job, at least: yesterday (as of writing) the new Applications release was checked in Tumbleweed.\nThis new workflow requires some discipline (to avoid \u0026ldquo;ad hoc\u0026rdquo; solutions) but dramatically reduces the maintenance required, and allows us to track changes in the packages \u0026ldquo;incrementally\u0026rdquo; as they happen during a release cycle. At the same time, this guarantees that all the openSUSE packaging policies are followed also in the Unstable project (which was more lax, due to the fact that it would never end up in the distro).\nFinal icing on the cake # The last bit was to ensure timely updates of all the Unstable project hierarchy avoiding to watch git commits like hawks. I took up the challenges and wrote a script, which, coupled with a repository mapping file would cache the latest \u0026ldquo;seen\u0026rdquo; (past 24h) git revision of the KDE repositories, and trigger updates only if something changed (using git ls-remote to avoid hitting the KDE servers too hard).\nI put this on a cron job which runs every day at 20 UTC+1, meaning that even the updates are now fully automated. Of course I have to check every now and then for added dependencies and build faiures, but the workload is definitely less than before.\nFinal wrap up # A handful of tools and some quick thinking can make a massive collection of software manageable by a small bunch of people. At the same time, there\u0026rsquo;s always need for more helping hands! Should you want to help in openSUSE packaging, drop by in the #opensuse-kde IRC channel on Freenode.\n","date":"December 18, 2016","externalUrl":null,"permalink":"/2016/12/killing-the-redundancy-with-automation/","section":"Posts","summary":"In the past three weeks, the openSUSE community KDE team has been pretty busy to package the latest release of Applications from KDE, 16.12. It was a pretty large task, due to the number of programs involved, and the fact that several monolithic projects were split (in particular KDE PIM). This post goes through what we did, and how we improved our packaging workflow.\nSome prerequisites # In openSUSE speak, packages are developed in “projects”, which are separate repositories maintained on the OBS. Projects whose packages will end up in the distro, that is where they are being developed to land in the distribution, are called devel projects. The KDE team uses a number of these to package and test:\n","title":"Killing the redundancy with automation","type":"post"},{"content":"Admit it: how many times you have seen \u0026ldquo;software from this branch is completely untested, use it at your own risk\u0026rdquo; when you checked the latest code from any FOSS project? I bet you have, many times. For any reasonably modern project, this is not entirely true: Continuous Integration and automated testing are a huge help in ensuring that the code builds and at least does what it is supposed to do. KDE is no exception to this, thanks to build.kde.org and a growing number of unit tests.\nIs it enough? # This however does not count functional testing, i.e. checking whether the software actually does what it should. You wouldn\u0026rsquo;t want KMail to send kitten pictures as a reply to a meeting invitation from your boss, for example, or you might want to test that your office suite starts and is able to actually save documents without crashing. This is something you can\u0026rsquo;t test with traditional unit testing frameworks.\nWhy does this matter to KDE? Nowadays, the dream of always summer in trunk as proposed 8 years ago is getting closer, and there are several ways to run KDE software directly from git. However, except for the above strategy, there is no additional testing done.\nOr, should I rather say, there wasn\u0026rsquo;t.\nOur savior, openQA # Those who use openSUSE Tumbleweed know that even if it is technically a \u0026ldquo;rolling release\u0026rdquo; distribution, it is extensively tested. That is made possible by openQA, which runs a full series of automated functional tests, from installation to actual use of the desktops shipped by the distribution. The recently released openSUSE Leap has also benefited from this testing during the development phase.\n\u0026ldquo;But, Luca,\u0026rdquo; you would say, \u0026ldquo;we already know about all this stuff.\u0026rdquo;\nIndeed, this is not news. But the big news is that, thanks mainly to the efforts of Fabian Vogt and Oliver Kurz, now openQA is testing also KDE software from git! This works by feeding the Argon (Leap based) and Krypton (Tumbleweed based) live media, which are roughly built daily, to openQA, and running a series of specific tests.\nYou can see here an example for Argon and an example for Krypton (note: some links may become dead as tests are cleaned up, and will be adjusted accordingly). openQA tests both the distro-level stuff (the console test) and KDE specific operations (the X11 test). In the latter case, it tests the ability to launch a terminal, running a number of programs (Kate, Kontact, and a few others) and does some very basic tests with Plasma as well.\nIs it enough to test the full experience of KDE software? No, but this is a good solid foundation for more automated testing to spot functional regressions: during the openSUSE Leap 42.2 development cycle, openQA found several upstream issues in Plasma which were then communicated to the developers and promptly fixed.\nIs this enough for everything? # Of course not. Automated testing only gets so much, so this is not an excuse for being lazy and not filing those reports. Also, since the tests run in a VM, they won\u0026rsquo;t be able to catch some issues that only occur on real hardware (multiscreen, compositing). But is surely a good start to ensure that at least obvious regressions are found before the code is actually shipped to distributions and then to end users.\nWhat needs to be done? More tests, of course. In particular, Plasma regression tests (handling applets, etc.) would be likely needed. But as they say, every journey starts with the first step.\n","date":"November 27, 2016","externalUrl":null,"permalink":"/2016/11/testing-the-untestable/","section":"Posts","summary":"Admit it: how many times you have seen “software from this branch is completely untested, use it at your own risk” when you checked the latest code from any FOSS project? I bet you have, many times. For any reasonably modern project, this is not entirely true: Continuous Integration and automated testing are a huge help in ensuring that the code builds and at least does what it is supposed to do. KDE is no exception to this, thanks to build.kde.org and a growing number of unit tests.\n","title":"Testing the untestable","type":"post"},{"content":"You may be aware that openSUSE Leap 42.2 is now in the release candidate stage, and there\u0026rsquo;s a lot of activity aimed at squashing those pesky bugs before they hit the final release. One particular bug proved to be quite tough to fix, and it was only solved thanks to the \u0026ldquo;heroes\u0026rdquo; mentioned in the title. This is the history of the bug.\nThe report # October 6th, 2016 - A bug iss reported against Plasma reporting a hard freeze of Plasma when using the Noveau driver, but not with the closed NVIDIA blob. Although the effect is deleterious to Plasma and not other desktop environments, there is evidence that the issue is in the driver itself, but there\u0026rsquo;s only partial indications, and no conclusive proof.\nThe problem is that no one of the current KDE team members has access to a NVIDIA card so it\u0026rsquo;s hard to determine what is actually going on. After thinking over it for a while, I decided it was time to call in the pros. And in KDE, Martin Graesslin of KWin fame is the best bet when graphics and KWin interactions are involved. He suggested to get a backtrace of the freezes and crashes to ensure what exactly is happening. At the same time, Antonio Larrosa from the KDE team tried to get hold of a test system to investigate the cause.\nAntonio eventually managed to reproduce the problem with a specific NVIDIA card and Noveau, and his initial results pointed at issues in interactions between the Noveau driver and KWin itself. Martin, being a nice person, also subscribed to the report, and once the bactraces came in he was able to find a solution to the riddle: when using OpenGL, Mesa waited for a buffer and in turn blocked KWin. The net result was an apparent freeze of the workspace when logging in.\nPatches had been proposed to fix the issue, but according to upstream Noveau developers, they just made matters worse (instability).\nAs an aside, Noveau, despite the heroic efforts from its developers, has still several issues when using apparently \u0026ldquo;normal\u0026rdquo; workflows: for example any application using QWebEngine will crash on Noveau because while the driver does work well with multi-threaded rendering, the Blink engine uses different threads even when Qt is using single-threaded rendering.\nOnce the problem was found, the 5 eurocent question was: what can we do to fix the situation?\nThe hunt for a solution # One major problem with this issue was that not all NVIDIA cards were affected. Only specific models exhibited the problem, which meant blanket-disabling OpenGL for KWin when using Noveau was too restrictive. But at the same time, the only environment affected was Plasma. The situation was extremely dire for the default desktop in openSUSE.\nBut two of our today\u0026rsquo;s heroes did not give up. Martin and Antonio sat around a virtual table and tried to work out a solution. Martin suggested to use the same mechanism that KWin used normally to determine if the use of OpenGL is \u0026ldquo;unsafe\u0026rdquo; when starting up, disabling it if any problems arose. It didn\u0026rsquo;t work in the specific case only because the freeze occurred when rendering started, that is past this checkpoint.\nThe discussion was fruitful. Across the several hypotheses mentioned, Fabian Vogt, also from the openSUSE KDE team, thought about a \u0026ldquo;dead man\u0026rsquo;s switch\u0026rdquo;: KWin would get killed and restarted if a freeze occurred, but disabling OpenGL after the restart. That was enough for Antonio and Martin to come up with a strategy: checking with a timer if KWin was frozen during rendering. If the timer went off, KWin would get killed and restarted automatically, but disabling OpenGL (more technically, activating the \u0026ldquo;OpenGL unsafe protection\u0026rdquo;), and now would be able to continue without freezes. Antonio posted his patch for review and that is where we meet another hero of the day, David \u0026ldquo;d_ed\u0026rdquo; Edmundson. During the patch review, he asked Antonio what kind of card exhibited the issue, and promptly acted to get one to run tests himself.\nPatches went back and forth for a number of days, scrapping one solution after the other, until Martin was finally able to accept the final revision, which was merged by Antonio in the Plasma/5.8 branch of kwin (meaning, everyone will benefit from it). Fabian then proceeded to submit these patches to openSUSE Leap and to openSUSE Tumbleweed.\nAs final icing on the cake, Antonio was able to come up with a patch to QWebEngine to disable the GPU if Noveau was detected, preventing crashes at the price of reduced performance (and adding two environment variables to force or disable the behavior, respectively).\nThe bottom line # What could I say: upstream-downstream collaboration is truly awesome, and even more so when such a difficult bug is tackled and fixed. The way my fellow KDE team members acted is truly commendable, and so the behavior of upstream KDE (despite the false \u0026ldquo;they don\u0026rsquo;t listen\u0026rdquo; mantra) that helped and offered assistance in getting a proper solution out.\nSo if you ever meet Antonio, David, Fabian, and Martin, please offer them a beverage of their choice. They\u0026rsquo;re the heroes Free Software deserves.\nBottom note # Other noteworthy people need to be mentioned here due to their involvement:\nDominique Leuenberger and Ludwig Nussel, namely the Tumbleweed and Leap release managers, for keeping up at their jobs (that is, ensuring that awesome software is released timely and properly); The SUSE X11 developers, for their assistance on the Mesa side of things; The openSUSE community for bug reporting and testing, or this bug would\u0026rsquo;ve never been discovered. ","date":"October 29, 2016","externalUrl":null,"permalink":"/2016/10/the-heroes-we-deserve/","section":"Posts","summary":"You may be aware that openSUSE Leap 42.2 is now in the release candidate stage, and there’s a lot of activity aimed at squashing those pesky bugs before they hit the final release. One particular bug proved to be quite tough to fix, and it was only solved thanks to the “heroes” mentioned in the title. This is the history of the bug.\nThe report # October 6th, 2016 - A bug iss reported against Plasma reporting a hard freeze of Plasma when using the Noveau driver, but not with the closed NVIDIA blob. Although the effect is deleterious to Plasma and not other desktop environments, there is evidence that the issue is in the driver itself, but there’s only partial indications, and no conclusive proof.\n","title":"The heroes we deserve","type":"post"},{"content":"As you may know (unless you\u0026rsquo;ve been living in Alpha Centauri for the past century) the openSUSE community KDE team publishes LiveCD images for those willing to test the latest state of KDE software from the git master branches without having to break machines, causing a zombie apocalypse and so on. This post highlights the most recent developments in the area.\nUp to now, we had 3 different media, depending on the base distribution (stable Leap, ever-rolling Tumbleweed) and whether you wanted to go with the safe road (X11 session) or the dangerous path (Wayland):\nArgon (Leap based) Krypton (Tumbleweed based, X11) Krypton Wayland (Tumbleweed based, Wayland) So far we\u0026rsquo;ve been trying to build new images in sync with the updates to the Unstable KDE software repositories. With the recent switch to being Qt 5.7 based, they broke. That\u0026rsquo;s when Fabian Vogt stepped up and fixed a number of outstanding issues with the images as well.\nBut that wasn\u0026rsquo;t enough. It was clear that perhaps a separate image for Wayland wasn\u0026rsquo;t required (after all, you could always start a session from SDDM). So, perhaps it was the time to merge the two\u0026hellip;\nTherefore, from today, the Krypton image will contain both the X11 session and the Wayland session. You can select which session to use from the SDDM screen. Bear in mind that if you use a virtual machine like QEMU, you may not be able to start Wayland from SDDM due to this bug.\nDownload links:\nArgon (x86_64 only) Krypton (i686) (Currently not available) Krypton (x86_64) Should you want to use these live images, remember where to report distro bugs and where to report issues in the software. Have a lot of fun!\n","date":"June 25, 2016","externalUrl":null,"permalink":"/2016/06/two-in-one/","section":"Posts","summary":"As you may know (unless you’ve been living in Alpha Centauri for the past century) the openSUSE community KDE team publishes LiveCD images for those willing to test the latest state of KDE software from the git master branches without having to break machines, causing a zombie apocalypse and so on. This post highlights the most recent developments in the area.\nUp to now, we had 3 different media, depending on the base distribution (stable Leap, ever-rolling Tumbleweed) and whether you wanted to go with the safe road (X11 session) or the dangerous path (Wayland):\n","title":"Two in one","type":"post"},{"content":"","date":"May 29, 2016","externalUrl":null,"permalink":"/tags/forums/","section":"Tags","summary":"","title":"Forums","type":"tags"},{"content":"Every day, a sizable number of people posts problems on the KDE Community Forums and the ever-helpful staff does their best to solve whatever issues they\u0026rsquo;re facing. But what exactly does one do when this happens? This post provides more insights on the process.\nNOTE: The following applies to my workflow for the Kontact \u0026amp; PIM subforum.\nStep 1: Someone posts a problem # The questions posted are various, and range from simple tasks (\u0026ldquo;how I do XXX\u0026rdquo;) to very specific workflows. It covers a large spectrum. The first thing I do when reading a post, is to go through a \u0026ldquo;mental checklist\u0026rdquo;:\nIs this known already? Are there enough information? What distro is this user on? Answering point 1 means I have to keep up with development of KDE software, or if I don\u0026rsquo;t know, check the mailing lists and blog posts to see if other people have raised the issue (checking Bugzilla is a last resort, due to the very large number of bugs posted there). It also helps running the latest KDE software.\nIf point 2 isn\u0026rsquo;t satisfied, I ask a few more questions following the General Troubleshooting guidelines. These include conditions for reproduction of the issue, if it still occurs with a new user account, and so on.\nPoint 3 is related to point 2: not all distros are equal, so knowing on which distro the user in may reveal distribution-specific issues that need to be addressed directly downstream.\nStep 2: Going deeper # If the issue isn\u0026rsquo;t solved even like this, \u0026ldquo;we need to go deeper\u0026rdquo;. Usually, time permitting, I try to reproduce the issue myself if it is within my reach (for example, if it doesn\u0026rsquo;t involve company secrets on an internal server ;).\nIf I can reproduce it, I tell the user to file a bug, or workarounds, if I found any. If I can\u0026rsquo;t, I ask a few more details. Usually this can lead to the issue being solved, or to a bug report being filed.\nStep 3: Communicating # Sometimes the issue is unclear, or it is behavior where the line between feature and bug is very blurred. In this case, I need to get information straight from the horse\u0026rsquo;s mouth. I hop on IRC, and I address the developers directly, usually pointing at the forum thread, and asking for details.\nSometimes they follow up directly, sometimes they report me useful information, and sometimes they tell me its\u0026rsquo; a feature or a bug. In either case, I report the information to the thread starter. In rare cases, the issue is simple enough that it gets fixed shortly afterwards.\nStem 4: Following up # Unfortunately not all bugs can be addressed straight away, so sometimes issues stay lingering for a long period of time. However, sometimes a commit or two may fix it, with or without a bug being filed. If I notice this (I do read kde-commits from time to time ;) I follow up on the thread writing about it being fixed, workarounded, or whatever.\nWhat\u0026rsquo;s the point of this post, anyway? # Good question. ;) I mean this to show how much work can go into a \u0026ldquo;simple\u0026rdquo; user support request post on the KDE Community Forums. This is even more important to point out since apparently, frustration can make people tell that others\u0026rsquo; work is worthless.\nSo, if you ever bump in any of the forum staff, be sure to offer them a beverage of their choice. ;)\n","date":"May 29, 2016","externalUrl":null,"permalink":"/2016/05/i-have-a-problem.../","section":"Posts","summary":"Every day, a sizable number of people posts problems on the KDE Community Forums and the ever-helpful staff does their best to solve whatever issues they’re facing. But what exactly does one do when this happens? This post provides more insights on the process.\nNOTE: The following applies to my workflow for the Kontact \u0026 PIM subforum.\nStep 1: Someone posts a problem # The questions posted are various, and range from simple tasks (“how I do XXX”) to very specific workflows. It covers a large spectrum. The first thing I do when reading a post, is to go through a “mental checklist”:\n","title":"I have a problem...","type":"post"},{"content":"A new version of Danbooru Client is now available!\nWhat is Danbooru Client? # Danbooru Client is an application to access Danbooru-based image boards (Wikipedia definition).\nIt offers a convenient, KF5 and Qt5-based GUI coupled with a QML image view to browse, view, and download images hosted in two of the most famous Danbooru boards (konachan.com and yande.re).\nHighglights of the new version # Support for width / height based filtering: now you can exclude posts that are below a specific width or height (or both) New dependency: KTextWidgets Coming up next # Sooner or later I\u0026rsquo;ll get to finish the multiple API support, but given that there\u0026rsquo;s close to no interest for these programs (people are happy to use a browser) and that I work on this very irregularly (every 6-7 months at best), there\u0026rsquo;s no ETA at all. It might be done this year, perhaps the next.\nRelease details # Currently, there is only a source tarball. For security, I have signed it with my public GPG key (A29D259B) and I have also provided a SHA-512 hash of the release.\nSource tarball (XZ compressed) GPG signature SHA-512 checksum ","date":"May 1, 2016","externalUrl":null,"permalink":"/2016/05/danbooru-client-0.6.0-released/","section":"Posts","summary":"A new version of Danbooru Client is now available!\nWhat is Danbooru Client? # Danbooru Client is an application to access Danbooru-based image boards (Wikipedia definition).\nIt offers a convenient, KF5 and Qt5-based GUI coupled with a QML image view to browse, view, and download images hosted in two of the most famous Danbooru boards (konachan.com and yande.re).\n","title":"Danbooru Client 0.6.0 released","type":"post"},{"content":"Ever since the launch of Argon and Krypton, the openSUSE community KDE team didn\u0026rsquo;t really stand still: a number of changes (and potentially nice additions) have been brewing this week. This post recapitulates the most important one.\nI\u0026rsquo;d like the most recent Qt, please # As pre-announced by a G+ post, the openSUSE repositories bringing KDE software directly from KDE git (KDE:Unstable:Frameworks and KDE:Unstable:Applications) have switched their Qt libraries from Qt 5.5 to the recently released Qt 5.6. This move was made possible by the heroic work of Christophe \u0026ldquo;krop\u0026rdquo; Giboudeaux, who was able to beat QWebEngine into submission and make it build in the OBS.\nQt 5.6 comes with a much improved multiscreen handling and a lot of fixes contributed by people from KDE. A certain number of issues that were plaguing Plasma users should be gone with this version. Be wary however that\u0026rsquo;s not yet released in stable form, and there may be plenty of bugs. Also, the interaction of KDE software with Qt 5.6 is not completely tested: be sure to try it, and report those bugs!.\nFor these reasons, Qt 5.6 is not yet in Tumbleweed (the stable release will be submitted once it is out). Therefore you will need an additional repository to be able to update, KDE:Qt56. If you have KDE:Qt55 in your repository list, you must remove it and replace it with KDE:Qt56.\nYou can add the repository easily like this:\n1 2 zypper ar -f obs://KDE:Qt56 KDE_Qt56 # Tumbleweed zypper ar -f obs://KDE:Qt56/openSUSE_Leap_42.1 KDE_Qt56 # for Leap Then force an update to this repository\n1 2 zypper ref zypper dup --from KDE_Qt56 Then update from KDE:Unstable:Frameworks first, then KDE:Unstable:Applications.\nA bit of Wayland in my gases, too! # Of course, this change has also trickled down to the Argon and Krypton media, which have been updated to reflect this change. But that\u0026rsquo;s not all. The KDE team is now proud to offer a Wayland-based Krypton image, which accompanies the standard one. Thanks to KIWI, making this was faster than shouting Ohakonyapachininko! Well, perhaps not, but still quite easy.\nIf you want to try out the Wayland base image, be aware that it is nowhere near alpha level. There is a lot going on and development is heavy, so it may be broken in may interesting ways before you even notice it. You have been warned!\nWhere do you find all this goodness? The KDE:Medias directory on download.opensuse.org has all the interesting bits. The three kinds of images residing there are:\nopenSUSE_Argon (x86_64 only): Leap based, X11 based KDE git live image; openSUSE_Krypton (i586 and x86_64): Tumbleweed based, X11 based KDE git live image; openSUSE_Krypton_Wayland (i586 and x86_64): Tumbleweed based, Wayland based KDE git live image. Let\u0026rsquo;s not forget about bugs! # Borrowing from my previous entry:\nChances are that you might run into one or more bugs. This is software from git, and code review/continuous integration can only do so much. What should you do in such a case?\n(NOT recommended) Kick and scream and demand a refund ;) If your bug is in the distribution stack, like drivers or packaging, file a bug on openSUSE\u0026rsquo;s bugzilla with enough details so that it can be looked at; If your bug is instead in KDE software, turn to KDE\u0026rsquo;s bugzilla. As always, \u0026ldquo;have a lot of fun!\u0026rdquo;\n","date":"February 27, 2016","externalUrl":null,"permalink":"/2016/02/of-gases-qt-and-wayland/","section":"Posts","summary":"Ever since the launch of Argon and Krypton, the openSUSE community KDE team didn’t really stand still: a number of changes (and potentially nice additions) have been brewing this week. This post recapitulates the most important one.\nI’d like the most recent Qt, please # As pre-announced by a G+ post, the openSUSE repositories bringing KDE software directly from KDE git (KDE:Unstable:Frameworks and KDE:Unstable:Applications) have switched their Qt libraries from Qt 5.5 to the recently released Qt 5.6. This move was made possible by the heroic work of Christophe “krop” Giboudeaux, who was able to beat QWebEngine into submission and make it build in the OBS.\n","title":"Of gases, Qt, and Wayland","type":"post"},{"content":"","date":"February 19, 2016","externalUrl":null,"permalink":"/tags/leap/","section":"Tags","summary":"","title":"Leap","type":"tags"},{"content":"","date":"February 19, 2016","externalUrl":null,"permalink":"/tags/live_media/","section":"Tags","summary":"","title":"Live_media","type":"tags"},{"content":"","date":"February 19, 2016","externalUrl":null,"permalink":"/tags/tumbleweed/","section":"Tags","summary":"","title":"Tumbleweed","type":"tags"},{"content":"As KDE software (be it the Frameworks libraries, the Plasma 5 workspace, or the Applications) develops during a normal release cycle, a lot of things happen. New and exciting features emerge, bugs get fixed, and the software becomes better and more useful than it was before. Thanks to code review and continuous integration, the code quality of KDE software has also tremendously improved. Given how things are improving, it is tempting to follow development as it happens. Sounds exciting?\nExcept that there are some roadblocks that can be problematic:\nIf you want to build the full stack from source, there are often many problems if you\u0026rsquo;re not properly prepared; Builds take time (yes, there are tricks to reduce that, but not all people know about them); If things break\u0026hellip; well, you get to keep the pieces. But aside personal enjoyment, KDE would really benefit from more people tracking development. It would mean faster bug reporting, uncovering bugs in setups that the developers don\u0026rsquo;t have, and so on.\nWhat about noble gases? # Recently, an announcement about a gas used in fluorescent lamps generated quite a buzz in the FOSS community. Indeed, such an effort would solve many of the problems highlighted above, because part of the issues would be on the backs of integrators and packagers, which are much better apt for this task.\nBut what, am I telling a story you already know? Not quite.\nA little flashback # For those who don\u0026rsquo;t know, openSUSE has a certain number of additional repositories with KDE software. Some of these, since many years, have been providing the current state of KDE software as in git for those who wanted to experiment. This hasn\u0026rsquo;t been done just for being on the bleeding edge: it\u0026rsquo;s also been used by the openSUSE KDE team itself to identify and fix in advance issues related to packaging, dependencies, and occasionally help testing patches (or submit their own to KDE).\nSo, in a way, there were already means to test KDE software during development. However, there was a major drawback in adoption, which involves the fact that these packages replace the current ones on the system. For technical reasons, it is not possible to do co-installation (for example, in a separate prefix) in a way that is maintainable long term.\nSo, what now? # After hearing about the announcement, we (the openSUSE KDE team) realized that we had already the foundation to provide this software to our users. Of course, if you got too much neon, you\u0026rsquo;d asphyxiate ;), so we had to look at alternative solutions. And the solutions were, like the repositories, already there, provided by openSUSE: the Open Build Service and the KIWI image system which can create images from distribution packages.\nBut wait, there\u0026rsquo;s more (TM)!\nopenSUSE ships two main flavors: the ever-changing (but battle-tested) Tumbleweed, and the rock-solid Leap. So, one user would ever want to experience the latest state of many applications, or just be focused on KDE software while running from a stable base. So, if we could create images using KIWI, why not create two, one for Leap and one for Tumbleweed? And you know what\u0026hellip;\nLo and behold, in particular thanks to the heroic efforts of Raymond Wooninck, we had working images! We also like noble gases, so Argon and Krypton were born!\nThe nitty gritty details # These images work in two ways:\nThey work as live images, meaining you can test the latest KDE software without touching your existing system, and like that, not worry about something that breaks; You can also install them, and have a fully updated Leap or Tumbleweed system with the KDE:Unstable repositories active. Use this if you know what you\u0026rsquo;re doing, and want to test and report issues. Bugs, bugs everywhere! # Chances are that you might run into one or more bugs. This is software from git, and code review/continuous integration can only do so much. What should you do in such a case?\n(NOT recommended) Kick and scream and demand a refund ;) If your bug is in the distribution stack, like drivers or packaging, file a bug on openSUSE\u0026rsquo;s bugzilla with enough details so that it can be looked at; If your bug is instead in KDE software, turn to KDE\u0026rsquo;s bugzilla. And of course, like the openSUSE login text says, \u0026ldquo;have a lot of fun!\u0026rdquo;\n","date":"February 19, 2016","externalUrl":null,"permalink":"/2016/02/where-are-my-noble-gases-i-need-more-noble-gases/","section":"Posts","summary":"As KDE software (be it the Frameworks libraries, the Plasma 5 workspace, or the Applications) develops during a normal release cycle, a lot of things happen. New and exciting features emerge, bugs get fixed, and the software becomes better and more useful than it was before. Thanks to code review and continuous integration, the code quality of KDE software has also tremendously improved. Given how things are improving, it is tempting to follow development as it happens. Sounds exciting?\n","title":"Where are my noble gases? I need MORE noble gases!","type":"post"},{"content":"Recently I\u0026rsquo;ve been setting up LDAP authentication on CentOS servers to give a shared authentication method to all the compute nodes I use for my day job. I use 389-DS as it\u0026rsquo;s in my opinion much better to administer and configure than openLDAP (plus, it has very good documentation). As I have a self built NAS at home (with openSUSE Tumbleweed), I thought it\u0026rsquo;d be nice to use LDAP for all the web applications I run there. This post shows how to set up 389 Directory Server on openSUSE Tumbleweed, including the administration console.\n(Obligatory) disclaimer # While this setup worked for me, there\u0026rsquo;s no guarantee it will work for you. If something breaks, you get to keep all the pieces. With some adjustments (repo names etc) this might also work on openSUSE Leap 42.1, but I haven\u0026rsquo;t tested it. Use these instructions at your own risk.\nPrerequisites # Your machine should have a FQDN, either a proper domain name, or an internal LAN name. It doesn\u0026rsquo;t really matter as long as it\u0026rsquo;s a FQDN.\nSecondly, you need to tune a couple of kernel parameters to ensure that the setup won\u0026rsquo;t scream at you for lack of available resources. In particular, you\u0026rsquo;ll need to raise the ranges of local ports available and the number of maximum file descriptors. You can easily do that by creating a file called /etc/sysctl.d/00-389-ds.confwith the following contents:\n1 2 3 4 # Local ports available net.ipv4.ip_local_port_range = 1024 65000 # Maximum number of file handles fs.file-max = 64000 After adding it, issue sysctl -p as root to apply the changes.\nInstalling 389 Directory Server # Afterwards, we\u0026rsquo;ll need to add the network:ldap OBS project, as in particular the admin bits of 389 aren\u0026rsquo;t yet available in Tumbleweed. Bear in mind that adding third-party repository to a Tumbleweed install is unsupported.\n1 2 3 zypper ar -f obs://network:ldap Network_Ldap # Trust the key when prompted zypper ref The obs:// scheme automatically adds the \u0026ldquo;guessed\u0026rdquo; distribution to your repository (with Leap it might fail though, so beware). Then we install the required packages:\n1 zypper in 389-admin 389-admin-console 389-adminutil 389-console 389-ds 389-ds-console 389-adminutil 389-adminutil-lang Adjusting the configuration to ensure that it works # So far so good. But if you follow the guides now and use setup-ds-admin.pl, you\u0026rsquo;ll get strange errors and the administration server will fail to get configured properly. This is because of a missing dependency on the apache2-worker package and because the configuration for the HTTP service used by 389 Directory Server is not properly adjusted for openSUSE: it references Apache 2 modules that the openSUSE package ships builtin or with different names and thus cannot be loaded.\nFixing the dependency problem is easy:\n1 zypper in apache2-worker Then, we\u0026rsquo;ll tackle the configuration issue. Open (as root) /etc/dirsrv/admin-serv/httpd.conf, locate and comment out (or delete) the following line:\n1 LoadModule unixd_module /usr/lib64/apache2/mod_unixd.so Then change the mod_nss one so that it reads like this:\n1 LoadModule nss_module /usr/lib64/apache2/mod_nss.so Save the file and now you\u0026rsquo;ll be able to run setup-ds-admin.pl without issues. I won\u0026rsquo;t cover the process here, there are plenty of instructions in the 389 DS documentation.\nAfter installation: fixing 389-console # If you want to use 389-console on a 64 bit system with openJDK you\u0026rsquo;ll notice that upon running it\u0026rsquo;ll throw a Java exception saying that some classes (Mozilla NSS Java classes) can\u0026rsquo;t be found. This is because the script looks in the wrong library directory (/usr/lib as opposed to /usr/lib64). Edit /usr/bin/389-console and find:\n1 2 java \\ -cp /usr/lib/java/jss4.jar: # rest of line truncated for readability and change it to:\n1 2 java \\ -cp /usr/lib64/java/jss4.jar: # rest of line truncated for readability Voilà!\n","date":"January 23, 2016","externalUrl":null,"permalink":"/2016/01/howto-configure-389-ds-ldap-server-on-opensuse-tumbleweed/","section":"Posts","summary":"Recently I’ve been setting up LDAP authentication on CentOS servers to give a shared authentication method to all the compute nodes I use for my day job. I use 389-DS as it’s in my opinion much better to administer and configure than openLDAP (plus, it has very good documentation). As I have a self built NAS at home (with openSUSE Tumbleweed), I thought it’d be nice to use LDAP for all the web applications I run there. This post shows how to set up 389 Directory Server on openSUSE Tumbleweed, including the administration console.\n","title":"HOWTO: Configure 389-ds LDAP server on openSUSE Tumbleweed","type":"post"},{"content":"A new version of Danbooru Client is now available!\nWhat is Danbooru Client? # Danbooru Client is an application to access Danbooru-based image boards (Wikipedia definition).\nIt offers a convenient, KF5 and Qt5-based GUI coupled with a QML image view to browse, view, and download images hosted in two of the most famous Danbooru boards (konachan.com and yande.re).\nHighglights of the new version # The image window is shown again with recent Qt and KF5 versions; Remember the last directory saved when saving images; Remove (hopefully) hang when saving images. Coming up next # I\u0026rsquo;ve been told there are issues with HiDPI screens, so I\u0026rsquo;ll try to fix them up next (no guarantees on ETA\u0026hellip; also I don\u0026rsquo;t own any HiDPI screens). Adding support for copying links to images would also be nicec.\nRelease details # Currently, there is only a source tarball. For security, I have signed it with my public GPG key (A29D259B) and I have also provided a SHA-512 hash of the release.\nSource tarball (XZ compressed) GPG signature SHA-512 checksum ","date":"December 8, 2015","externalUrl":null,"permalink":"/2015/12/danbooru-client-0.5.0-released/","section":"Posts","summary":"A new version of Danbooru Client is now available!\nWhat is Danbooru Client? # Danbooru Client is an application to access Danbooru-based image boards (Wikipedia definition).\nIt offers a convenient, KF5 and Qt5-based GUI coupled with a QML image view to browse, view, and download images hosted in two of the most famous Danbooru boards (konachan.com and yande.re).\n","title":"Danbooru Client 0.5.0 released","type":"post"},{"content":"","date":"December 8, 2015","externalUrl":null,"permalink":"/tags/danbooru_client/","section":"Tags","summary":"","title":"Danbooru_client","type":"tags"},{"content":"","date":"October 18, 2015","externalUrl":null,"permalink":"/tags/systemd/","section":"Tags","summary":"","title":"Systemd","type":"tags"},{"content":"Recently I\u0026rsquo;ve been testing out murmur, http://wiki.mumble.info/wiki/Main_Page server component, on my CentOS 7 server. Murmur requires specific ports being open to operate, and when using it I would open them manually, and close them after the session had been completed.\nI found it pretty tedious: I wanted to wrap it into a single call to the service, so I could enable my user (via sudoers) to be able to start and stop the service without worrying about elevating permissions to start and stop the firewall. After reading a bit systemd\u0026rsquo;s documentation I found about ExecStartPre and ExecStopPost that would work perfectly for the job.\nIt was easier said than done, though. That is because I, following the guide on the Mumble wiki, had set up a separate user to run the Murmur service, causing permission errors when adjusting the firewall:\n1 2 firewall-cmd[20897]: Authorization failed. firewall-cmd[20897]: Make sure polkit agent is running or run the application as superuser. I didn\u0026rsquo;t feel comfortable to give this user control the firewall. However, the systemd documentation mentioned a PermissionsStartOnly option for units, which is described as\nTakes a boolean argument. If true, the permission-related execution options, as configured with User= and similar options (see systemd.exec(5) for more information), are only applied to the process started with ExecStart=, and not to the various other ExecStartPre=, ExecStartPost=, ExecReload=, ExecStop=, and ExecStopPost= commands. If false, the setting is applied to all configured commands the same way. Defaults to false.\nExactly what I needed! And thus, I amended the unit file as follows:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [Unit] Description=Mumble Server (Murmur) Requires=network-online.target After=network-online.target mariadb.service time-sync.target [Service] User=murmur Type=forking PIDFile=/run/murmur/murmur.pid PermissionsStartOnly=true ExecStartPre=/usr/bin/firewall-cmd --add-service=murmur ExecStart=/usr/local/murmur/murmur.x86 -ini /etc/murmur.ini ExecStopPost=/usr/bin/firewall-cmd --remove-service=murmur [Install] WantedBy=multi-user.target A systemctl daemon-reload afterwards, I was set! Now the service opens and closes the port when it is started or stopped, respectively.\n","date":"October 18, 2015","externalUrl":null,"permalink":"/2015/10/tip-opening-and-closing-ports-needed-by-a-systemd-service/","section":"Posts","summary":"Recently I’ve been testing out murmur, http://wiki.mumble.info/wiki/Main_Page server component, on my CentOS 7 server. Murmur requires specific ports being open to operate, and when using it I would open them manually, and close them after the session had been completed.\nI found it pretty tedious: I wanted to wrap it into a single call to the service, so I could enable my user (via sudoers) to be able to start and stop the service without worrying about elevating permissions to start and stop the firewall. After reading a bit systemd’s documentation I found about ExecStartPre and ExecStopPost that would work perfectly for the job.\n","title":"Tip: opening and closing ports needed by a systemd service","type":"post"},{"content":"In the past week, the KDE Community Forums administrators had been discussing how to improve the current forum layout. There are a few reasons in favor of a reorganization. First of all, to reflect better what KDE is (a community that produces software). Secondly, to provide a better organinzation for all kinds of people: those that require support, those that offer support, and those who want to contribute. All of this within a (hopefully) logical structure.\nAfter some discussion on the actual layout organization, today I and fellow administrator Hans (with help from other people from the KDE community such as PovAddict and Mamarok) put the plan into action. It went surprisingly quick, so the new layout is already live. There are a few major changes you will notice:\nThe KDE Community section has been revamped, removing some now-outdated sections- There is a new top-level category, Contributions \u0026amp; Development for everything regarding contributions. It gathers new forums for KDE contributors (Contributors\u0026rsquo; Corner) and for people starting development (KDE Frameworks \u0026amp; Development). The old \u0026ldquo;i18n\u0026rdquo; forums were also moved there to be in a more prominent position. Lastly, the VDG, KDE websites, and MIssions forusm were all moved under this umbrella. The KDE Software Forum has been largely untouched, with the exlusion of moving Plasma Mobile forums in a more prominent position. A few old forums, like KOffice\u0026rsquo;s, were archived (see below). Localized Forums were also cleaned up. Links to outdated websites have been removed. A number of forums with no activity since years, or now outdated, were moved away. However, we thought that we\u0026rsquo;d do a disservice by removing information that might still be useful, so we created an Archive section to host all these \u0026ldquo;legacy\u0026rdquo; forums. Like this, there won\u0026rsquo;t be information loss.\nEverything should be in order. If you find something amiss, let us know by posting in the Forum Feedback forum.\n","date":"September 26, 2015","externalUrl":null,"permalink":"/2015/09/the-big-forum-cleaning/","section":"Posts","summary":"In the past week, the KDE Community Forums administrators had been discussing how to improve the current forum layout. There are a few reasons in favor of a reorganization. First of all, to reflect better what KDE is (a community that produces software). Secondly, to provide a better organinzation for all kinds of people: those that require support, those that offer support, and those who want to contribute. All of this within a (hopefully) logical structure.\n","title":"The Big Forum Cleaning","type":"post"},{"content":"Taking advantage of the holidays, I\u0026rsquo;ve managed to land a number of fixes in Danbooru Client, and therefore I think it\u0026rsquo;s time for a new version, 0.4.0!\nWhat is Danbooru Client? # Danbooru Client is an application to access Danbooru-based image boards (Wikipedia definition). It offers a convenient, KF5 and Qt5-based GUI coupled with a QML image view to browse, view, and download images hosted in two of the most famous Danbooru boards (konachan.com and yande.re).\nHighglights of the new version # Show enlarged images when clicking them in the QML view; Show a message if no posts are found when searching; Allow empty searches (searches all posts); Use categorized logging for messages; Allow getting pool pages. Release details # Currently, there is only a source tarball. For security, I have signed it with my public GPG key (A29D259B) and I have also provided a SHA-512 hash of the release.\nSource tarball (XZ compressed) GPG signature SHA-512 checksum ","date":"August 12, 2015","externalUrl":null,"permalink":"/2015/08/danbooru-client-0.4.0/","section":"Posts","summary":"Taking advantage of the holidays, I’ve managed to land a number of fixes in Danbooru Client, and therefore I think it’s time for a new version, 0.4.0!\nWhat is Danbooru Client? # Danbooru Client is an application to access Danbooru-based image boards (Wikipedia definition). It offers a convenient, KF5 and Qt5-based GUI coupled with a QML image view to browse, view, and download images hosted in two of the most famous Danbooru boards (konachan.com and yande.re).\n","title":"Danbooru Client 0.4.0","type":"post"},{"content":"","date":"August 12, 2015","externalUrl":null,"permalink":"/tags/kdedanbooru-client/","section":"Tags","summary":"","title":"KDE,danbooru-Client","type":"tags"},{"content":"","date":"August 12, 2015","externalUrl":null,"permalink":"/categories/kdelinux/","section":"Categories","summary":"","title":"KDE,Linux","type":"categories"},{"content":"KDE has recently released the newest Release Candidate of the Applications 15.08 release. Among the new features and changes of this release, there is a technology preview of the new KF5-based KDE PIM suite (including reworked, faster Akonadi internals), new applications ported to KF5 (the most notable ones being Dolphin and Ark). After some consideration and thinking on how to allow users to test this release without affecting their setups too much, the openSUSE community KDE team is happy to bring this latest RC to openSUSE Tumbleweed and openSUSE 13.21.\nTo install this new release, add the KDE:Applications repository either using YaST or zypper. One special mention is the PIM suite: as upstream KDE labels it as a technology preview, we decided to allow installation only with an explicit choice of the user. To do so, one should install the kmail5 package and the akonadi-server package (other components of the PIM suite are also there, with the 5 suffix): this operation will uninstall the 4.14 packages (but not remove any local data) and install the new version of mail and PIM. To go back, install akonadi-runtime and the respective packages without the 5 suffix (e.g., kmail, korganizer).\nIt is essential for upstream KDE to have proper bug reports, in particular for PIM, so please report any issues you find. If instead you find a bug in the packaging, turn over to openSUSE\u0026rsquo;s Bugzilla.\nNot all packages are available on openSUSE 13.2 due to the version of KF5 and extra-cmake-modules that is shipped there.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"August 8, 2015","externalUrl":null,"permalink":"/2015/08/kde-applications-15.08-rc-for-opensuse/","section":"Posts","summary":"KDE has recently released the newest Release Candidate of the Applications 15.08 release. Among the new features and changes of this release, there is a technology preview of the new KF5-based KDE PIM suite (including reworked, faster Akonadi internals), new applications ported to KF5 (the most notable ones being Dolphin and Ark). After some consideration and thinking on how to allow users to test this release without affecting their setups too much, the openSUSE community KDE team is happy to bring this latest RC to openSUSE Tumbleweed and openSUSE 13.21.\n","title":"KDE Applications 15.08 RC for openSUSE","type":"post"},{"content":"","date":"June 7, 2015","externalUrl":null,"permalink":"/tags/blog/","section":"Tags","summary":"","title":"Blog","type":"tags"},{"content":"","date":"June 7, 2015","externalUrl":null,"permalink":"/tags/gpg/","section":"Tags","summary":"","title":"Gpg","type":"tags"},{"content":"(Inspired by http://viccuad.me/blog/GPG-transition-statement/)\nThis exact same text can be found at this location.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Sun Jun 7 14:12:39 CEST 2015 For a number of reasons, i\u0026#39;ve recently set up a new OpenPGP key, and will be transitioning away from my old one. The old key will continue to be valid for some time, but i prefer all future correspondence to come to the new one. I would also like this new key to be re-integrated into the web of trust. This message is signed by both keys to certify the transition. the old key was: pub rsa4096/6E1A4E79 2009-05-11 Key fingerprint = CBD6 EEE3 7132 027A A237 9659 013F A50B 6E1A 4E79 And the new key is: pub rsa4096/A29D259B 2015-06-05 [expires: 2016-06-04] Key fingerprint = DBC1 07DC 8601 B275 835F 9178 FBE5 5AED A29D 259B To fetch the full key (including a photo uid, which is commonly stripped by public keyservers), you can get it with: wget -q -O- https://www.dennogumi.org/A29D259B.txt | gpg --import - Or, to fetch my new key from a public key server, you can simply do: gpg --keyserver pgp.mit.edu --recv-key A29D259B If you already know my old key, you can now verify that the new key is signed by the old one: gpg --check-sigs A29D259B If you don\u0026#39;t already know my old key, or you just want to be double extra paranoid, you can check the fingerprint against the one above: gpg --fingerprint A29D259B If you are satisfied that you\u0026#39;ve got the right key, and the UIDs match what you expect, I\u0026#39;d appreciate it if you would sign my key: gpg --sign-key A29D259B Lastly, if you could upload these signatures, i would appreciate it. You can either send me an e-mail with the new signatures (if you have a functional MTA on your system): gpg --armor --export A29D259B | mail -s \u0026#39;OpenPGP Signatures\u0026#39; lbeltrame at kde.org Or you can just upload the signatures to a public keyserver directly: gpg --keyserver pgp.mit.edu --send-key A29D259B Please let me know if there is any trouble, and sorry for the inconvenience. Regards, Luca Beltrame -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCgAGBQJVdDmaAAoJEAE/pQtuGk55uKoP/1orTlEgSNC7HCIJECkkBxqR F64VMegugEFIe2nUyTf13wjtMDXluCy6hpY7+3iaOAHfMFBCOlPe0INrUTiuqwir GnP/PQyzXU41yDqd7ytvNKqV8UkkW6NBcL7vCx810zSbnxpSV5L1N8dDy3GG5ZkE iUm5AH+JJHzZGA7Cn90aA5VcemGCTu5buoJTu2rWWU4ahm3WMHnpuUsYP2mCNnU3 EOc94jlayqiLUTsnjTbpiPbJ7mcxBoufhjg1RHI5uK9BU5db8aUI619nGlTdvHHE pZ4rXYWJqAhjeuDPmAk8poIeITi8qdiY5W5UibajhV2OchAuyOBGYv/Cddx36Xnk rUyxlupZsWXriqo79+DgXsVjTgzBjCpkz+QVnBlq3rboXpgpCh6mZWoECGPBj8dN E0uqsO5CmDxwYv1Yv3EpTvn2rf00pKEAUTq6cfEZAZ7ZhZih7XQdB4qlve4GD8M0 42wQUpFiyRiV0WrXEjN/EyrI0CiY9Rt/wNj+JLKC7NhELyC0q4oRzjvYCJdZHMhH ydM8YiyWVOLUX5b3Y5xqlmRwPQydmjrGv2NAI7y4z0k1yc9pn/K4m5z2sxTunmQk jaYxQ5DkQMpoSxaIYxmAYC5vjAa7U5nlg43sfiaQHa2RCUu+THTwFJaBOd0qYR7P I++SIct+OFU9lnwQkjgyiQEcBAEBCgAGBQJVdDmcAAoJEEDIKBSTsBwWBw4H/RBP 40aLWMqRX3imEIg3jCBmtj9fsPn3OM+D8drF1v5vq2cQHGZcwqLnnaxP9KrZA06A 5/o0ofuqY5dg4jukPWjvqx6hsUlUbEpcJVV9eg0XIlmluaUPc6eVopLJOL0bhYi8 2zk4GLZiiGt7asoJ/rjhQg0BR4aajNALw1wF1pk4oQlm68M5PfjDu9voEd6vg6nv tILBnEGzJjgiOnXHzHcld7+MG1Kut9EmFNTNNgDasLw7HenGTHt9G/rJq5mSwPZY 0Btd7yJ/cbBlCmyC3OIViN2bd+gCeF5HYtVNyMomMaM/0yunqi9ioMxWFaGrmY1d JJF3TtQUDXrgOoXUlD0= =4Yho -----END PGP SIGNATURE----- ","date":"June 7, 2015","externalUrl":null,"permalink":"/2015/06/gpg-transition-statement/","section":"Posts","summary":"(Inspired by http://viccuad.me/blog/GPG-transition-statement/)\nThis exact same text can be found at this location.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Sun Jun 7 14:12:39 CEST 2015 For a number of reasons, i've recently set up a new OpenPGP key, and will be transitioning away from my old one. The old key will continue to be valid for some time, but i prefer all future correspondence to come to the new one. I would also like this new key to be re-integrated into the web of trust. This message is signed by both keys to certify the transition. the old key was: pub rsa4096/6E1A4E79 2009-05-11 Key fingerprint = CBD6 EEE3 7132 027A A237 9659 013F A50B 6E1A 4E79 And the new key is: pub rsa4096/A29D259B 2015-06-05 [expires: 2016-06-04] Key fingerprint = DBC1 07DC 8601 B275 835F 9178 FBE5 5AED A29D 259B To fetch the full key (including a photo uid, which is commonly stripped by public keyservers), you can get it with: wget -q -O- https://www.dennogumi.org/A29D259B.txt | gpg --import - Or, to fetch my new key from a public key server, you can simply do: gpg --keyserver pgp.mit.edu --recv-key A29D259B If you already know my old key, you can now verify that the new key is signed by the old one: gpg --check-sigs A29D259B If you don't already know my old key, or you just want to be double extra paranoid, you can check the fingerprint against the one above: gpg --fingerprint A29D259B If you are satisfied that you've got the right key, and the UIDs match what you expect, I'd appreciate it if you would sign my key: gpg --sign-key A29D259B Lastly, if you could upload these signatures, i would appreciate it. You can either send me an e-mail with the new signatures (if you have a functional MTA on your system): gpg --armor --export A29D259B | mail -s 'OpenPGP Signatures' lbeltrame at kde.org Or you can just upload the signatures to a public keyserver directly: gpg --keyserver pgp.mit.edu --send-key A29D259B Please let me know if there is any trouble, and sorry for the inconvenience. Regards, Luca Beltrame -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCgAGBQJVdDmaAAoJEAE/pQtuGk55uKoP/1orTlEgSNC7HCIJECkkBxqR F64VMegugEFIe2nUyTf13wjtMDXluCy6hpY7+3iaOAHfMFBCOlPe0INrUTiuqwir GnP/PQyzXU41yDqd7ytvNKqV8UkkW6NBcL7vCx810zSbnxpSV5L1N8dDy3GG5ZkE iUm5AH+JJHzZGA7Cn90aA5VcemGCTu5buoJTu2rWWU4ahm3WMHnpuUsYP2mCNnU3 EOc94jlayqiLUTsnjTbpiPbJ7mcxBoufhjg1RHI5uK9BU5db8aUI619nGlTdvHHE pZ4rXYWJqAhjeuDPmAk8poIeITi8qdiY5W5UibajhV2OchAuyOBGYv/Cddx36Xnk rUyxlupZsWXriqo79+DgXsVjTgzBjCpkz+QVnBlq3rboXpgpCh6mZWoECGPBj8dN E0uqsO5CmDxwYv1Yv3EpTvn2rf00pKEAUTq6cfEZAZ7ZhZih7XQdB4qlve4GD8M0 42wQUpFiyRiV0WrXEjN/EyrI0CiY9Rt/wNj+JLKC7NhELyC0q4oRzjvYCJdZHMhH ydM8YiyWVOLUX5b3Y5xqlmRwPQydmjrGv2NAI7y4z0k1yc9pn/K4m5z2sxTunmQk jaYxQ5DkQMpoSxaIYxmAYC5vjAa7U5nlg43sfiaQHa2RCUu+THTwFJaBOd0qYR7P I++SIct+OFU9lnwQkjgyiQEcBAEBCgAGBQJVdDmcAAoJEEDIKBSTsBwWBw4H/RBP 40aLWMqRX3imEIg3jCBmtj9fsPn3OM+D8drF1v5vq2cQHGZcwqLnnaxP9KrZA06A 5/o0ofuqY5dg4jukPWjvqx6hsUlUbEpcJVV9eg0XIlmluaUPc6eVopLJOL0bhYi8 2zk4GLZiiGt7asoJ/rjhQg0BR4aajNALw1wF1pk4oQlm68M5PfjDu9voEd6vg6nv tILBnEGzJjgiOnXHzHcld7+MG1Kut9EmFNTNNgDasLw7HenGTHt9G/rJq5mSwPZY 0Btd7yJ/cbBlCmyC3OIViN2bd+gCeF5HYtVNyMomMaM/0yunqi9ioMxWFaGrmY1d JJF3TtQUDXrgOoXUlD0= =4Yho -----END PGP SIGNATURE----- ","title":"GPG transition statement","type":"post"},{"content":"","date":"June 7, 2015","externalUrl":null,"permalink":"/tags/key/","section":"Tags","summary":"","title":"Key","type":"tags"},{"content":"","date":"June 1, 2015","externalUrl":null,"permalink":"/tags/comments/","section":"Tags","summary":"","title":"Comments","type":"tags"},{"content":"","date":"June 1, 2015","externalUrl":null,"permalink":"/tags/isso/","section":"Tags","summary":"","title":"Isso","type":"tags"},{"content":"As I said in my latest post, I wasn\u0026rsquo;t very happy with using Disqus to store my comments, mainly because I do not want my data to be hosted by someone else. Thanks to some commenters, I was made aware of an alternative, called isso.\nAfter reading the online documentation, I decided to set it up with dennogumi.org. It was all a matter of creating a new user called isso, setting a virtualenv to its home dir, and then installing isso itself and uWSGI:\n1 2 virtualenv ./ ./bin/activate And then just start installing:\n1 2 pip install isso pip install uwsgi # for deployment I then set up a system-wide configuration in /etc/isso/ which included the uwsgi configuration and isso\u0026rsquo;s own file. The last bit needed was to create a systemd unit file to run uWSGI properly (as inspired by the uWSGI docs):\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [Unit] Description=uWSGI After=syslog.target [Service] ExecStart=/home/isso/bin/uwsgi --ini /etc/isso/uwsgi.ini Restart=always KillSignal=SIGQUIT Type=notify StandardError=syslog NotifyAccess=all User=isso Group=isso [Install] WantedBy=multi-user.target And here\u0026rsquo;s my uwsgi.ini, for reference:\n1 2 3 4 5 6 7 8 9 10 11 12 [uwsgi] http = :8050 master = true ; set to `nproc` processes = 8 cache2 = name=hash,items=1024,blocksize=32 ; you may change this spooler = /home/isso/spool/ module = isso.run ; uncomment if you use a virtual environment virtualenv = /home/isso/ env = ISSO_SETTINGS=/etc/isso/isso.conf Lastly, I needed to create a new domain for dennogumi.org and set nginx to proxy over to port 8050. Everything else was done as the isso documentation suggested. And that\u0026rsquo;s where you see it now. I have imported the comments from Disqus, so everything should be hopefully in place. Let me know if there are issues.\n","date":"June 1, 2015","externalUrl":null,"permalink":"/2015/06/isso-for-comments/","section":"Posts","summary":"As I said in my latest post, I wasn’t very happy with using Disqus to store my comments, mainly because I do not want my data to be hosted by someone else. Thanks to some commenters, I was made aware of an alternative, called isso.\nAfter reading the online documentation, I decided to set it up with dennogumi.org. It was all a matter of creating a new user called isso, setting a virtualenv to its home dir, and then installing isso itself and uWSGI:\n","title":"Isso for comments","type":"post"},{"content":"","date":"June 1, 2015","externalUrl":null,"permalink":"/tags/jekyll/","section":"Tags","summary":"","title":"Jekyll","type":"tags"},{"content":"Since 26th December 2005, I\u0026rsquo;ve been runnning this blog with Wordpress. At the time there were little alternatives and finally I had got hold of a host (Dreamhost, at the time) that supported PHP and MySQL without being overly restrictive. 10 years later, things have somehow changed.\nThe issue # The main reason lies in how Wordpress has evolved over time: no, I\u0026rsquo;m not speaking about the subjective \u0026ldquo;bloat\u0026rdquo;, but the fact that it\u0026rsquo;s been moving towards a full-blown CMS, which is not what I have in mind to run my blog. Also, performance with many plugins had somehow worsened, in particular when accessing things like the administration interface. Not to mention that plugins itself are still somewhat fragile, and upgrade could still cause harm to your whole site. Lastly, the mere fact that I had to use plugins to lessen the performance impact was off-putting.\nIt wasn\u0026rsquo;t just Wordpress, of course. In the past years I\u0026rsquo;ve found myself unable to write long texts in a browser (and hoping that they won\u0026rsquo;t get lost in case I accidentally close a tab) and also the way I write posts changed. I much prefer a specialized editor (like this one I\u0026rsquo;m using) to compose the posts I write.\nAn alternative is found # So I went and loooked for alternatives around. I\u0026rsquo;ve looked at Ghost, and while it was reasonably appealing, there weren\u0026rsquo;t many themes that wanted this page to be like I wanted to (and I wasn\u0026rsquo;t convinced in handing out money for a premium theme before I was sure it did what I wanted). So I turned to static engines, and for now at least I went for Jekyll, which is what made the page as you see it today.\nThe learning curve wasn\u0026rsquo;t particularly steep, and with the help of some tools I was able to convert all the posts from dnenogumi.org with little effort. I also took the time to update some very outdated sections. What took most of the time in the migration was keeping links \u0026ldquo;WP-compatible\u0026rdquo;, that is preserving the structure of the page (more or less) as it was before to prevent many 404s, in particular for feeds which are aggregated on Planet KDE. With the aid of (many) plugins and a few tweaks to the nginx configuration, I can say that most of the structure should be in place.\nAs for the theme, I went for Feeling Responsive by Phlow, but not verbatim. I had to make changes (in short, a fork) because it was meant originally for portfolios and certain features I needed were not present by design. What I did was to clone the repo and hack in whatever I needed.\nDeployment # I use my own GitLab instance to host the repository (now private, I\u0026rsquo;ll make it public the moment everything is up and running), coupled with micro Flask application that fires off the rebuilding to a script running to my server. I also wrote a couple of programs to make a new posts and commit the data (or to make new drafts).\nAll that glitters is not gold # A bad note is comments: I had to go for Disqus unfortunately, as even when I managed to set up Discourse, the complexity of the platform was overwhelming for me, which required only comments for a blog, and nothing else. That, and the reliance on Docker, which meant another PostgresQL server running (I have already one up which powers my GitLab instance. I\u0026rsquo;m really not happy about it. Should you know a better solution, let me know!\nShould you find issues with the page, also let me know. I\u0026rsquo;ve been testing this for a while but of course I didn\u0026rsquo;t manage to find everything. In particular now the \u0026ldquo;Gallery\u0026rdquo; is gone, and I\u0026rsquo;ll still need to experiment for plugins to auto-create thumbnails and so on.\nCredits # Of course this leverages on work of other people, which I feel they\u0026rsquo;d be credited:\nThe aforementioned Phlow for the theme; Melissa Adkins for her work on banner images and typography. ","date":"May 30, 2015","externalUrl":null,"permalink":"/2015/05/dynamically-static/","section":"Posts","summary":"Since 26th December 2005, I’ve been runnning this blog with Wordpress. At the time there were little alternatives and finally I had got hold of a host (Dreamhost, at the time) that supported PHP and MySQL without being overly restrictive. 10 years later, things have somehow changed.\nThe issue # The main reason lies in how Wordpress has evolved over time: no, I’m not speaking about the subjective “bloat”, but the fact that it’s been moving towards a full-blown CMS, which is not what I have in mind to run my blog. Also, performance with many plugins had somehow worsened, in particular when accessing things like the administration interface. Not to mention that plugins itself are still somewhat fragile, and upgrade could still cause harm to your whole site. Lastly, the mere fact that I had to use plugins to lessen the performance impact was off-putting.\n","title":"Dynamically static","type":"post"},{"content":"","date":"April 6, 2015","externalUrl":null,"permalink":"/tags/packaging/","section":"Tags","summary":"","title":"Packaging","type":"tags"},{"content":"A lot has been happening on the KDE side of openSUSE\u0026hellip; this post summarizes what\u0026rsquo;s been going on so far.\nLive media for Plasma 5 # One of the most-often requested ways to test Plasma 5, given it can\u0026rsquo;t be coinstalled with the 4.x Workspace, is the availability of live images to test either in VM or bare metal without touching existing systems.\nGiven that other distributions started doing so since a while, naturally openSUSE couldn\u0026rsquo;t stay still. ;) Thanks to the efforts of Hrvoje \u0026ldquo;shumski\u0026rdquo; Senjan, we have now live media available for testing out Plasma 5!\nDownload location: the ISO file you\u0026rsquo;re looking for is called openSUSE-Plasma5 (currently x86_64 only) The image is based on the current Tumbleweed and takes the latest code from git. If you test this in a virtual machine, bear in mind that there are some issues with VirtualBox and Plasma 5, and that QtQuick\u0026rsquo;s reliance on openGL can cause problems in general with virtual machines.\nAnd if you find a bug\u0026hellip; if it\u0026rsquo;s in the core distribution, or in the KDE packaging, head over to openSUSE\u0026rsquo;s Bugzilla. If it\u0026rsquo;s instead in the software, the KDE bug tracker is your friend.\nQuestions? Head over to the opensuse-kde ML, or the #opensuse-kde channel on Freenode.\nPlasma 5 as default in openSUSE # You may have read on a recent Softpedia article that Plasma 5 is going to become the default in openSUSE. That\u0026rsquo;s correct (what did you expect, a retraction? ;): I and the others of the team (Raymond and Hrvoje) have been using Plasma 5 for a long time, not only because we like to stay on the bleeding edge ;) but also to see how it would fare for openSUSE. In the mean time, we reported bugs, sometimes fixed them, and occasionally landed one or two features in.\nWith the upcoming Plasma 5.3, we feel that it is of the level of quality expected from the default openSUSE desktop, and therefore we have set up preparations for the switch. As Rome wasn\u0026rsquo;t built in a day, it won\u0026rsquo;t happen straight away ;) but it will involve changes in the repositories and in the packaging, which are summarized below:\nWe will start the migration around the end of April, as long as the basic openQA tests are ready;\nWe will release KDE Applications 15.04 in Tumbleweed at the same time;\nThe KF5 ports of the applications present in KDE Applications 15.04 will obsolete their existing counterparts (hence the KF5 version will replace the 4.x version). The same will happen for the kdebase4-workspace and Workspace 4.x packages;\nAfterwards, the 4.x Workspace will not be supported or maintained for Tumbleweed. Help from the community is welcome in case anyone wants to step up and maintain the packages.\nThe default menu applet will be Kicker (as opposed to Kickoff used in the 4.x tiems;\nThe default theme for Plasma 5 will be Breeze (the upstream default), and we will use the menu structure provided by upstream KDE (as opposed to the custom structure we use today);\nThe repository layout will change. We will have three repositories holding KDE software:\nKDE:Frameworks - the KF5 libraries and Plasma 5; KDE:Applications - KDE Applications releases KDE:Extra - Other KDE/Qt related community packages. For each of these repositories, there will be also an \u0026ldquo;unstable\u0026rdquo; variant, tracking the current git master state.\n(The full IRC log of the last meeting outlines these points in detail)\nThere are still some points open for discussion, in particularly for the update applet: should we keep Apper? Would Muon be a drop-in replacement? Or are we better off without an applet at all?\nOf course, input and help from the community is welcome. Hop on IRC or on the ML (see above for where to look) if you want to help and participate in this large transition.\n","date":"April 6, 2015","externalUrl":null,"permalink":"/2015/04/plasma-5-live-images-for-opensuse-and-on-the-default-opensuse-desktop/","section":"Posts","summary":"A lot has been happening on the KDE side of openSUSE… this post summarizes what’s been going on so far.\nLive media for Plasma 5 # One of the most-often requested ways to test Plasma 5, given it can’t be coinstalled with the 4.x Workspace, is the availability of live images to test either in VM or bare metal without touching existing systems.\n","title":"Plasma 5 live images for openSUSE and on the default openSUSE desktop","type":"post"},{"content":"Following up on yesterday\u0026rsquo;s release, I\u0026rsquo;ve released Danbooru Client 0.3.0.\nThis early new release is mostly due to the fact that the QML view file wasn\u0026rsquo;t installed (sorry!) so part of the UI would not even load (or even crash).\nThat said, I\u0026rsquo;ve managed to get some extra features in:\nFade-in/out animation when posts are being downloaded Support for tagging is back (EXPERIMENTAL): it is optional, and requires KFileMetaData (not yet a framework, but should be distributed with Plasma 5). Release details # Currently, there is only a source tarball. For security, I have signed it with my public GPG key (6E1A4E79) and I have also provided a SHA-512 hash of the release.\nSource tarball (XZ compressed) GPG signature SHA-512 checksum Complete build instructions are in the README.\n","date":"February 23, 2015","externalUrl":null,"permalink":"/2015/02/danbooru-client-0.3.0/","section":"Posts","summary":"Following up on yesterday’s release, I’ve released Danbooru Client 0.3.0.\nThis early new release is mostly due to the fact that the QML view file wasn’t installed (sorry!) so part of the UI would not even load (or even crash).\nThat said, I’ve managed to get some extra features in:\nFade-in/out animation when posts are being downloaded Support for tagging is back (EXPERIMENTAL): it is optional, and requires KFileMetaData (not yet a framework, but should be distributed with Plasma 5). Release details # Currently, there is only a source tarball. For security, I have signed it with my public GPG key (6E1A4E79) and I have also provided a SHA-512 hash of the release.\n","title":"Danbooru Client 0.3.0","type":"post"},{"content":"After my previous post, development went quicker than expected, so I\u0026rsquo;ve actually managed to get a real version out. ;) So without much ado\u0026hellip; here\u0026rsquo;s Danbooru Client 0.2.0!\nThis redesigned C++ version brings a few more features compared to the PyKDE4 version, notably:\nInfinite scrolling (experimental) - Just scroll down to load the next set of posts QML-based thumbnail view Click on the image below to have a demonstration of what\u0026rsquo;s in this release (warning: 2M GIF file): Downloading # Currently, there is only a source tarball. For security, I have signed it with my public GPG key (6E1A4E79) and I have also provided a SHA-512 hash of the release.\nSource tarball (XZ compressed) GPG signature SHA-512 checksum Building and installing # Complete instructions are in the README. You will need KDE Frameworks 5.7 and Qt 5.4.\nKnown issues # The loading animation needs to be made prettier Only the first set of pools are downloaded Double clicking on an image does nothing (what should it do? let me know) No batch downloading (pretty hard to do with QML; I\u0026rsquo;ll try to figure out if it can be done) No tooltips for buttons (an oversight - will be fixed in the next release) Give it a spin, and let me know what you think!\n","date":"February 22, 2015","externalUrl":null,"permalink":"/2015/02/danbooru-client-0.2.0-released/","section":"Posts","summary":"After my previous post, development went quicker than expected, so I’ve actually managed to get a real version out. ;) So without much ado… here’s Danbooru Client 0.2.0!\nThis redesigned C++ version brings a few more features compared to the PyKDE4 version, notably:\nInfinite scrolling (experimental) - Just scroll down to load the next set of posts QML-based thumbnail view Click on the image below to have a demonstration of what’s in this release (warning: 2M GIF file): ","title":"Danbooru Client 0.2.0 released","type":"post"},{"content":"","date":"February 22, 2015","externalUrl":null,"permalink":"/tags/kf5/","section":"Tags","summary":"","title":"KF5","type":"tags"},{"content":"","date":"February 15, 2015","externalUrl":null,"permalink":"/tags/c++/","section":"Tags","summary":"","title":"C++","type":"tags"},{"content":"Some of you may remember a semi-complex application I wrote back in the days, namely Danbooru Client. Written in PyKDE4, it provided a semi-decent interface to Danbooru-style boards. It mostly worked and received little maintenance (also because I didn\u0026rsquo;t have that much time for maintenance).\nIn the mean time, I started learning some C++. No, it\u0026rsquo;s not that I don\u0026rsquo;t like Python (in fact I do, I use it a lot in my day job), but I wanted to gain at least some basic skills to be able to contribute directly to KDE software.\nAnd so a port of Danbooru Client to C++ began. I took the opportunity also to learn some model/view programming (still baffling at times, but I\u0026rsquo;m getting ebtter) and then I even tried to implement a custom thumbnail view for posts (I managed more or less, with a lot of blood and tears).\nThen the KDE Frameworks 5 and Qt 5 arrived on the scene\u0026hellip;\nEnter KDE Frameworks 5 # I thought, \u0026ldquo;why not port it to KF5? It\u0026rsquo;s not like I\u0026rsquo;m making much progress anyway\u0026hellip;\u0026rdquo;. Thanks to Laurent\u0026rsquo;s handy scripts, porting was more or less easy. When it came to look at the thumbnail view, I got goose bumps: I never liked the code that much\u0026hellip;.\nIt was in that occasion that I discovered QML for desktop applications. It has still a lot of limitations compared to QWidgets, but for my purposes it fit the bill pretty much. In about 3 hours\u0026rsquo; worth of work I was able to get a basic thumbnail view working, interfacing with my C++ model.\nFast forward to today. The application has almost reached an alpha state and it more or less works. Without further ado, a screenshot!\nWhat works, and what doesn\u0026rsquo;t? # The basic functionality is there:\nListing, viewing, and saving posts;\nListing and downloading pools;\nTag blacklists;\nPassword saving with KWallet;\nSearching by tags.\nIn addition, Danbooru Client has gained \u0026ldquo;infinite scrolling\u0026rdquo;: no need to open multiple tabs! Scroll to the bottom and it\u0026rsquo;ll load automatically the next batch of posts.\nThere is also stuff that is missing and / or broken:\nBatch downloads (not sure how to manage this one with QML\u0026hellip;)\nTag display (only a matter of time)\nLoading consecutive batches doesn\u0026rsquo;t work if they don\u0026rsquo;t fill up the window\nTagging (I need to see if the Baloo API is suited for this)\nHow do I try this out? # In my opinion it\u0026rsquo;s not even alpha code, but if you insist\u0026hellip;. ;)\nYou will need KDE Frameworks 5.7 minimum (because I needed to get a couple of features in for KDeclarative to make this work) and Qt 5.4(I didn\u0026rsquo;t test with earlier versions) plus the latest Extra-CMake-Modules.\nYou can then clone the code from:\nhttps://git.dennogumi.org/kde/danbooru-client.git\n(sorry, I don\u0026rsquo;t feel comfortable in hosting my code on GitHub - although if you want to mirror it there, feel free)\nAfter cloning, do the CMake dance:\n1 2 3 4 5 6 mkdir build cd build # Replace this with a custom prefix if you don\u0026#39;t want to install system-wided cmake -DCMAKE_INSTALL_PREFIX=$(qtpaths --install-prefix) make make install # as root or through \u0026#34;sudo\u0026#34; For those who want to keep dependencies at minimum, here are the frameworks Danbooru Client depends on:\nKIconThemes\nKCoreAddons\nKGuiAddons\nKTextWidgets\nKXmlGui\nKConfigWidgets\nKIO (I can\u0026rsquo;t live without this!)\nKWallet\nKDeclarative (needed for the QML view)\nKDELibs4Support (I plan to remove this soon)\nI\u0026rsquo;ve found a bug! What do I do? # Nothing. ;) I told you it was pre-alpha code, didn\u0026rsquo;t I? More seriously, it\u0026rsquo;s too early to even report bugs. Check back in a few weeks, and see if it\u0026rsquo;s fixed.\n","date":"February 15, 2015","externalUrl":null,"permalink":"/2015/02/sometimes-they-come-back-danbooru-client-ported-to-kf5-and-c/","section":"Posts","summary":"Some of you may remember a semi-complex application I wrote back in the days, namely Danbooru Client. Written in PyKDE4, it provided a semi-decent interface to Danbooru-style boards. It mostly worked and received little maintenance (also because I didn’t have that much time for maintenance).\nIn the mean time, I started learning some C++. No, it’s not that I don’t like Python (in fact I do, I use it a lot in my day job), but I wanted to gain at least some basic skills to be able to contribute directly to KDE software.\n","title":"Sometimes they come back: Danbooru Client ported to KF5 and C++","type":"post"},{"content":"","date":"January 27, 2015","externalUrl":null,"permalink":"/tags/featured/","section":"Tags","summary":"","title":"Featured","type":"tags"},{"content":"The ever-amazing Plasma team from KDEjust put out a new release of Plasma. I won\u0026rsquo;t spend much describing how big of an improvement it is - the release announcement at KDE has all the details needed to whet your appetite.\nAnd of course, now it\u0026rsquo;s the turn of distributions to get out packages for the users at large.\nThis is also the case for openSUSE. The KDE:Frameworks5 repository hosts the new 5.2 goodness for released distributions (13.1 and 13.2) and Tumbleweed. Packages have also been submitted to Tumbleweed proper (pending legal review, so it will take some time).\nDon\u0026rsquo;t forget the rule of thumb, in case you find problems: bugs in the packages should be directed towards the openSUSE bugzilla, while issues in the actual software should be reported to KDE. You can also discuss your experience on the KDE Community Forums.\n","date":"January 27, 2015","externalUrl":null,"permalink":"/2015/01/plasma-5.2-for-opensuse-you-bet/","section":"Posts","summary":"The ever-amazing Plasma team from KDEjust put out a new release of Plasma. I won’t spend much describing how big of an improvement it is - the release announcement at KDE has all the details needed to whet your appetite.\nAnd of course, now it’s the turn of distributions to get out packages for the users at large.\nThis is also the case for openSUSE. The KDE:Frameworks5 repository hosts the new 5.2 goodness for released distributions (13.1 and 13.2) and Tumbleweed. Packages have also been submitted to Tumbleweed proper (pending legal review, so it will take some time).\n","title":"Plasma 5.2 for openSUSE? You bet!","type":"post"},{"content":"Short version: the KDE PIM in openSUSE Tumbleweed is moving from 4.14.x to the KF5 based version. More details below.\nSome history # As you may know, up to now the default PIM suite for Plasma 5 in openSUSE Tumbleweed was the KDE PIM 4.14, based on kdelibs 4.x. While upstream KDE has offered a KF5-based version since Applications 15.08, it has been originally marked as a technology preview, so we (the openSUSE community KDE team) thought it would be more prudent to stick with the 4.14 version (but offer the KF5 based PIM as an option for the daring).\nFast forward to today: KDE Applications 15.12.1 have been released, and we\u0026rsquo;ve been testing and using the KF5 based PIM suite for all these months with no issues. In addition, PIM developers have been adding interesting new features and impressive speed optimization (see the blog post by PIM developer Dan Vratil), and at the same time dropped support for the the 4.14 PIM suite.\nWhat does it mean for openSUSE? # This means that from the next openSUSE Tumbleweed snapshot, the old PIM 4.14.x packages will be replaced by their KF5 counterparts. Most settings should be migrated automatically, and the mail store is set in a DE-independent location, so you should not lose any data.\nYou have two three options for upgrading. But bear in mind that Akonadi should not be running during the upgrade! To stop Akonadi, close all PIM applications, open a terminal and issue akonadictl stop. Alternatively, open the akonadiconsole program, and select Stop Server from the Server menu. Lastly, you can do the upgrade from a different user account.\nFully automatic # Just start up the new KF5 PIM after the upgrade.\nStart from scratch # Simply recreate all your accounts in the new interface and redownload all your mail. This works best with IMAP (with setups and if you have enough bandwidth.\nUse the PIM settings exporter # You can export all your mail from KMail: under the Tools menu, there is the option Import/Export KMail Data, which you can use to create an archive with all your mails and account configurations. You need to do this before upgrading, then use the same option in KMail after upgrading to the KF5 based version to have all your accounts, calendars and mail set up.\nCaveats # The 4.14.x and KF5 versions of the PIM stack are incompatible with each other. Therefore if you do not fully upgrade the system you will get strange issues. Ensure you update with zypper dup or with the equivalent option in YaST to ensure that all packages will be picked up.\nWhat do we get with the new version? # There were many changes. The most user-visible ones, in my opinion, are:\nMuch faster data exchange between the PIM stack components: this leads to faster startup times and faster email sync Faster display of larger threads: PIM developer Dan Vratil spent quite a bit of work on finding slow code paths and he massively improved thread and email display. Some smaller new features: Gravatar support for email display - disabled by default , for example All the goodes that the KDE Frameworks 5 brought Plus many more that I may have forgot.\nBugs # Bugs? What bugs? Software is perfect! ;)\nJokes aside, if you find a bug in the PIM stack, please report it to the upstream bug tracker. If instead it\u0026rsquo;s a bug in the openSUSE packages (missing dependencies, etc.), report it to openSUSE\u0026rsquo;s Bugzilla\nThanks # Thanks go to the KDE PIM developers for their awesome work despite their small numbers (Laurent Montel and Dan Vratil deserve several beers each ;) and of course to my fellow KDE team members, in particular Raymond \u0026ldquo;tittiatcoke\u0026rdquo; Wooninck for his work in packaging the PIM stack.\n","date":"January 17, 2015","externalUrl":null,"permalink":"/2015/01/kde-pim-changes-in-opensuse-tumbleweed/","section":"Posts","summary":"Short version: the KDE PIM in openSUSE Tumbleweed is moving from 4.14.x to the KF5 based version. More details below.\nSome history # As you may know, up to now the default PIM suite for Plasma 5 in openSUSE Tumbleweed was the KDE PIM 4.14, based on kdelibs 4.x. While upstream KDE has offered a KF5-based version since Applications 15.08, it has been originally marked as a technology preview, so we (the openSUSE community KDE team) thought it would be more prudent to stick with the 4.14 version (but offer the KF5 based PIM as an option for the daring).\n","title":"KDE PIM changes in openSUSE Tumbleweed","type":"post"},{"content":"","date":"January 2, 2015","externalUrl":null,"permalink":"/tags/edgeos/","section":"Tags","summary":"","title":"Edgeos","type":"tags"},{"content":"I\u0026rsquo;ve found myself in a situation where my ISP, notorious for having problems with certain online services (not to mention putting everyone under a permanent NAT) started misbehaving with Sony\u0026rsquo;s Playstation Network: I was getting timeouts of all sorts with no reason (and reading online you see all sorts of attempts from people to work around the issue). When using my phone as hotspot, everything worked, as I went through my mobile operator\u0026rsquo;s network.\nBut of course I couldn\u0026rsquo;t do that, even so because I have a data cap. ;) Therefore, I decided to work around the issue. As I have access to a dedicated server (the one that runs this blog) I thought I could redirect traffic through it via OpenVPN. On the other side (at home) I have a very nice piece of kit, Ubiquiti Networks\u0026rsquo; EdgeRouter Lite, which acts as router for my network.\nThe easy way would be to redirect all traffic through the VPN, but this is not desirable, because in this case it\u0026rsquo;s the EdgeRouter MIPS CPU to do the work, instead of its dedicated Cavium processor. What I could do, instead, was ensure that only the machine accessing the PSN (in my case, a PS4) would get rerouted.\nSetting things up # First of all, I needed an OpenVPN server set up. I won\u0026rsquo;t go through that as there are plenty of guides around the net. I however needed to ensure that IPv4 forwarding was enabled on the server, and ensure that it was set up for forwarding packets around:\n1 2 3 4 5 6 7 8 9 sysctl net.ipv4.ip_forward=1 iptables -A INPUT -i tun0 -j ACCEPT # tun0 is my VPN interface iptables -A OUTPUT -o tun+ -j ACCEPT iptables -A FORWARD -i tun0 -j ACCEPT iptables -A FORWARD -i tun+ -o em1 -m state --state RELATED,ESTABLISHED -j ACCEPT # em1 is my server\u0026#39;s network interface iptables -A FORWARD -i em1 -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT # 192.168.10.0/24 is my home network iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o tun0 -j MASQUERADE Afterwards, I set a static mapping on the DHCP server of the router to ensure that the PS4 would always get the same address.\nI needed to set up two static routes: one for the LAN, which goes through the regular (ISP\u0026rsquo;s) gateway, and one for the PS4, ensuring that the PS4 one gets evaluated first (otherwise it would match the one for the network). It was time to connect to the router and do some configuration, as the Web interface did not expose what was needed.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 configure # normal routing - ISP gateway set protocols static table 1 route 0.0.0.0/0 next-hop 192.168.1.254 # VPN interface set protocols static table 2 route 0.0.0.0/0 next-hop 10.8.1.1 set firewall modify VPN_IP rule 10 description \u0026#34;Host-specific route\u0026#34; set firewall modify VPN_IP rule 10 source address 192.168.10.56 set firewall modify VPN_IP rule 10 modify table 2 # Since our IP is part of the subnet, we put the subnet (default) # specific rule after this one set firewall modify VPN_IP rule 20 description \u0026#34;Rest of network\u0026#34; set firewall modify VPN_IP rule 20 source address 192.168.10.0/24 set firewall modify VPN_IP rule 20 modify table 1 # Apply changes to the internal interface (eth1) set interfaces eth1 firewall in modify VPN_IP commit save Afterwards I logged on the Web interface and turned on the PS4: as expected, everything was going through the VPN. I may need to adjust things for fail-over, so that if the VPN is down, normal routing is done, but for now it should suffice.\nI hope this could be useful for any of you in the same situation (where you need to route a single IP as opposed to a whole network).\nAddendum # I had one other VPN, this solution broke routing from the local network to that VPN (as the 192.168.10.0/24 route would match the default gateway). What I did was to set up an additional route only for the VPN:\n1 2 3 4 5 6 7 8 set protocols static table 3 route 0.0.0.0/0 next-hop 10.8.0.2 set firewall modify VPN_IP rule 15 source address 192.168.10.0/24 set firewall modify VPN_IP rule 15 description \u0026#34;Routing for the additional VPN\u0026#34; set firewall modify VPN_IP rule 15 destination address 10.8.0.0/24 set firewall modify VPN_IP rule 15 modify table 3 commit save Credits # Much of the information has come from Ubiquiti\u0026rsquo;s Wiki entry on Policy-Based Routing.. This post is an expanded version of a thread I posted on Ubiquiti\u0026rsquo;s community forums.\n","date":"January 2, 2015","externalUrl":null,"permalink":"/2015/01/policy-based-routing-for-single-ips-using-edgeos/","section":"Posts","summary":"I’ve found myself in a situation where my ISP, notorious for having problems with certain online services (not to mention putting everyone under a permanent NAT) started misbehaving with Sony’s Playstation Network: I was getting timeouts of all sorts with no reason (and reading online you see all sorts of attempts from people to work around the issue). When using my phone as hotspot, everything worked, as I went through my mobile operator’s network.\n","title":"Policy-based routing for single IPs using EdgeOS","type":"post"},{"content":"","date":"January 2, 2015","externalUrl":null,"permalink":"/tags/routing/","section":"Tags","summary":"","title":"Routing","type":"tags"},{"content":"Following up on KDE\u0026rsquo;s announcement of the latest stable release, we have now packages available for 12.3 and 13.1 (a 13.2 repository will be made available after it is out). You will find them in the KDE:Current repository. Current users of this repository will get the new release automatically once they update.\nWhy you should upgrade? You can take a look at the list of changes to get an idea. These fixes touch many important KDE applications, including KMail, Okular and Dolphin.\nPackages are also on their way to openSUSE Factory.\nAs usual, bugs with the packaging should be reported to openSUSE and upstream bugs should be reported to KDE.\nAlso, if you like what KDE is doing and you feel you can not contribute directly, you may want to support this end of year fundraiser.\n","date":"October 15, 2014","externalUrl":null,"permalink":"/2014/10/kde-applications-and-platform-4.14.2-available-for-opensuse/","section":"Posts","summary":"Following up on KDE’s announcement of the latest stable release, we have now packages available for 12.3 and 13.1 (a 13.2 repository will be made available after it is out). You will find them in the KDE:Current repository. Current users of this repository will get the new release automatically once they update.\nWhy you should upgrade? You can take a look at the list of changes to get an idea. These fixes touch many important KDE applications, including KMail, Okular and Dolphin.\n","title":"KDE Applications and Platform 4.14.2 available for openSUSE","type":"post"},{"content":"Congratulations to KDE (of which I\u0026rsquo;m proud of being a part of) for the newest release of the Plasma workspace! At the same time, the 4.x series has seen a new beta release, and the stable branch got updated, too.\nI\u0026rsquo;m betting a few people will ask \u0026ldquo;Are these available for openSUSE?\u0026rdquo; and of course the answer is yes, thanks to the efforts of the openSUSE community KDE team and the Open Build Service.\nPlasma 5 # Plasma 5 can be installed from two different repositories:\nKDE:Frameworks5, which has the latest (and only one, for now ;) official stable release (you will also need KDE:Qt5 if you use openSUSE 13.1; see instructions at the link);\nKDE:Unstable:Frameworks, which hosts git snapshots.\nAs the latter is under heavy development, it is not recommended unless you truly know what you are doing.\nAlso, packages are mutually exclusive with the 4.x workspace. Installing Plasma 5 will uninstall the 4.x workspace. To revert, simply reinstall the 4.x workspace packages (kdebase4-session should suffice).\nDon\u0026rsquo;t forget, if you use Plasma 5 packages, to report bugs in the software to KDE directly (or you can use the official discussion forum) and packaging ones to Novell\u0026rsquo;s Bugzilla.\n4.14 betas # You will find the newest beta from the 4.x series in the KDE:Distro:Factory repository. Building for openSUSE 13.1 (along with Factory) has been enabled in order to get widespread testing.\nAs this is a beta, although very stable, do not use it on production systems unless you know what you are doing. The same recommendations as Plasma 5 apply for reporting bugs.\nYou can also join the discussion on the KDE Community Forum\u0026rsquo;s beta releases area.\nLatest 4.13 release # KDE:Current hosts the latest release (4.13.3) from the stable 4.13 branch. If you have the repository enabled you will automatically get it once you update packages.\nGo ahead and enjoy the latest and greatest from KDE!\n","date":"July 16, 2014","externalUrl":null,"permalink":"/2014/07/latest-4.13-newest-4.14-beta-and-plasma-5-in-opensuse/","section":"Posts","summary":"Congratulations to KDE (of which I’m proud of being a part of) for the newest release of the Plasma workspace! At the same time, the 4.x series has seen a new beta release, and the stable branch got updated, too.\nI’m betting a few people will ask “Are these available for openSUSE?” and of course the answer is yes, thanks to the efforts of the openSUSE community KDE team and the Open Build Service.\n","title":"Latest 4.13, newest 4.14 beta and Plasma 5 in openSUSE","type":"post"},{"content":"","date":"July 16, 2014","externalUrl":null,"permalink":"/tags/plasmabykde/","section":"Tags","summary":"","title":"PlasmaByKDE","type":"tags"},{"content":"Since a couple of weeks the packages offered by openSUSE in the KDE:Unstable:Frameworks repository have undergone a series of changes. In particular, the packages now install to /usr. For the libraries (KDE Frameworks 5) this will mean a transparent change for the userbase as they are expected to be co-installable, but the workspace components (Plasma 5) will confict with the existing Plasma 4.11.x installation.\nWhat does this mean in practice? If you want to use Plasma 5 you will not be able to use a 4.11.x Plasma Workspace. The move was made to ease maintenance and packaging, as it meant dropping a number of hacks, and also to make KF5 + Plasma 5 packages suitable for inclusion in openSUSE Factory. At the same time, the 4.11.x workspace packages were adjusted to reduce the number of components conflicting, so that applications depending on workspace libs (such as KDevelop) would remain on the system also with P5 installed.\nWe\u0026rsquo;ve also said this many times but it\u0026rsquo;s worth repeating: Plasma 5 will not be the default in openSUSE 13.2; the stable, LTS release 4.11.x will (as a note: 4.11.x because the workspace did not increase its version number since becoming LTS, while the Development Platform and the Applications are at 4.13 at the moment).\nThat said, if you are feeling brave, feel free to try out Plasma 5\u0026hellip; and don\u0026rsquo;t forget to report bugs!\nP.S.: Most thanks go to Hrvoje \u0026ldquo;shumski\u0026rdquo; Senjan, who did most (if not all) of the packaging work.\nP.P.S.: If you like what KDE is doing, please consider supporting the Randa Meetings 2014.\n","date":"June 28, 2014","externalUrl":null,"permalink":"/2014/06/changes-in-kde-frameworks-5-and-plasma-5-packaging-in-opensuse/","section":"Posts","summary":"Since a couple of weeks the packages offered by openSUSE in the KDE:Unstable:Frameworks repository have undergone a series of changes. In particular, the packages now install to /usr. For the libraries (KDE Frameworks 5) this will mean a transparent change for the userbase as they are expected to be co-installable, but the workspace components (Plasma 5) will confict with the existing Plasma 4.11.x installation.\nWhat does this mean in practice? If you want to use Plasma 5 you will not be able to use a 4.11.x Plasma Workspace. The move was made to ease maintenance and packaging, as it meant dropping a number of hacks, and also to make KF5 + Plasma 5 packages suitable for inclusion in openSUSE Factory. At the same time, the 4.11.x workspace packages were adjusted to reduce the number of components conflicting, so that applications depending on workspace libs (such as KDevelop) would remain on the system also with P5 installed.\n","title":"Changes in KDE Frameworks 5 and Plasma 5 packaging in openSUSE","type":"post"},{"content":"","date":"June 28, 2014","externalUrl":null,"permalink":"/tags/plasma5/","section":"Tags","summary":"","title":"Plasma5","type":"tags"},{"content":"","date":"May 25, 2014","externalUrl":null,"permalink":"/tags/hardware/","section":"Tags","summary":"","title":"Hardware","type":"tags"},{"content":"","date":"May 25, 2014","externalUrl":null,"permalink":"/tags/laptop/","section":"Tags","summary":"","title":"Laptop","type":"tags"},{"content":"Recently I was looking for a laptop: the previous one I had (an Asus EeePC 900) was almost dead (the fan broke, and the idea of dismantling everything to get to it wasn\u0026rsquo;t appealing).\nWhen looking around, I had the following requirements:\nIt needed to run on Linux well. No exceptions.\n_Portable: _ at home and at my workplace I have rather powerful machines, so a desktop replacement was not needed.\nA decent amount of performance, so that when I was on the road, I could do some development\n64 bit processor: mainly a pet peeve, so I could run openSUSE Factory and the latest KDE master\nVGA output port: as part of my teaching duties I need to connect to VGA projectors in the university classrooms.\nResonably long battery life.\nI had been looking since last year, and to be honest, I was initially interested in the so-called Ultrabooks, but the price (€1000 upwards) and some limitations (non-replaceable battery, WTF?) made me reconsider.\nIn August 2013 I had the pleasure of trying out a ThinkPad X220. Light, portable, decently powered and with an excellent keyboard. The problem is that, aside being out of production, it had a cost of € 1500 or more. It was then it I recalled that the market for used / refurbished ThinkPads is going strong..\nFast forward to two weeks ago, and I found an offer on eBay that hit the right price: it wasn\u0026rsquo;t the lowest, but it was in the EU, and even if US based sellers had lower prices I had no intention of selling my organs to pay import duties.\nEverything went out smoothly and I got the unit in about 5 days.\nTo be fair, the condition I got it was quite nice, with only very minor scratches around (after all, it was used). The specs:\ni5 2540M processor (SandyBridge) 4G RAM 320G disk Intel HD3000 graphics As you can see, this model lacks some of the fancier extras, such as the fingerprint reader. It also misses Bluetooth, but my plan is to buy a daughterboard online and install it myself.\nAs soon as I got it, I wiped the Win7 install (no need for it there) and proceeded with the openSUSE install. I went straight for Factory, adding KDE:Unstable:SC and KDE:Unstable:Extra for the latest and greatest software from KDE. Everything was rather painless.\nAfter install, I spend the following day tweaking the setup to obtain the best power saving: I installed DKMS, followed by acpi-call and tpacpi-bat to regulate battery thresholds.\nMore fiddling with DKMS was needed to get tp_smapi and a patched hdaps module to install, so that the kernel could see the laptop\u0026rsquo;s accelerometers to activate the HD shock protection in case (enabled through the hdapsd daemon). Lastly, tlp was installed and configured to provide additional power saving options.\nOn the KDE side, I configured Plasma with two activities, one for leisure and personal development, and the other for work-work activity.\nThe net result? I\u0026rsquo;m very satisfied with it. Light, portable, durable and with pretty good battery life (I went past 4h and it had still 10-14% in). This will certainly won\u0026rsquo;t make me miss my 900, which was my travel companion for years.\n","date":"May 25, 2014","externalUrl":null,"permalink":"/2014/05/new-acquisition-thinkpad-x220/","section":"Posts","summary":"Recently I was looking for a laptop: the previous one I had (an Asus EeePC 900) was almost dead (the fan broke, and the idea of dismantling everything to get to it wasn’t appealing).\nWhen looking around, I had the following requirements:\nIt needed to run on Linux well. No exceptions.\n_Portable: _ at home and at my workplace I have rather powerful machines, so a desktop replacement was not needed.\n","title":"New acquisition: ThinkPad X220","type":"post"},{"content":"","date":"April 26, 2014","externalUrl":null,"permalink":"/tags/nginx/","section":"Tags","summary":"","title":"Nginx","type":"tags"},{"content":"This was inspired by this forum thread on the Piwigo forums. Set up rewrite rules in nginx where \u0026ldquo;piwigo\u0026rdquo; is the path the gallery lies in:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 location @rewrite { rewrite ^/piwigo/picture((/|$).*)$ /piwigo/picture.php$1 last; rewrite ^/piwigo/index((/|$).*)$ /piwigo/index.php$1 last; # The following is needed for batch operations which use i.php rewrite ^/piwigo/i((/|$).*)$ /piwigo/i.php$1 last; } location /piwigo { index index.php; try_files $uri $uri/ @rewrite; } location ~ ^(?\u0026lt;script_name\u0026gt;.+?\\.php)(?\u0026lt;path_info\u0026gt;/.*)?$ { try_files $script_name = 404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_param PATH_INFO $path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } Lastly, add the relevant information to the Piwigo configuration (LocalFiles editor):\n1 2 $conf[\u0026#39;php_extension_in_urls\u0026#39;] = false; $conf[\u0026#39;question_mark_in_urls\u0026#39;] = false; ","date":"April 26, 2014","externalUrl":null,"permalink":"/2014/04/notes-to-self-nginx-piwigo-rewrite-rules/","section":"Posts","summary":"This was inspired by this forum thread on the Piwigo forums. Set up rewrite rules in nginx where “piwigo” is the path the gallery lies in:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 location @rewrite { rewrite ^/piwigo/picture((/|$).*)$ /piwigo/picture.php$1 last; rewrite ^/piwigo/index((/|$).*)$ /piwigo/index.php$1 last; # The following is needed for batch operations which use i.php rewrite ^/piwigo/i((/|$).*)$ /piwigo/i.php$1 last; } location /piwigo { index index.php; try_files $uri $uri/ @rewrite; } location ~ ^(?\u003cscript_name\u003e.+?\\.php)(?\u003cpath_info\u003e/.*)?$ { try_files $script_name = 404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_param PATH_INFO $path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } Lastly, add the relevant information to the Piwigo configuration (LocalFiles editor):\n","title":"Notes to self: nginx Piwigo rewrite rules","type":"post"},{"content":"","date":"April 26, 2014","externalUrl":null,"permalink":"/tags/piwigo/","section":"Tags","summary":"","title":"Piwigo","type":"tags"},{"content":"","date":"April 26, 2014","externalUrl":null,"permalink":"/tags/rewrite/","section":"Tags","summary":"","title":"Rewrite","type":"tags"},{"content":"","date":"April 25, 2014","externalUrl":null,"permalink":"/tags/kwallet/","section":"Tags","summary":"","title":"Kwallet","type":"tags"},{"content":"","date":"April 25, 2014","externalUrl":null,"permalink":"/tags/pam/","section":"Tags","summary":"","title":"PAM","type":"tags"},{"content":"Requests to unlock KWallet automatically on login (assuming the wallet password and user password are the same), like gnome-keyring can do, have been going on for years: in fact, bug reports requesting this feature are quite old. Recently, thanks to the efforts of Alex Fiestas, a PAM module, which interfaces KWallet to the system authentication methods, has been developed. In parallel, the necessary glue code has been also added to the various parts of the KDE workspace so that it could make use of it.\nWhile the module itself has not been released yet officially, it\u0026rsquo;s been used already by some distributions (Kubuntu). However documentation is lacking, so it could be hard to set it up for anyone else. This post provides some indications on how to set KWallet up with PAM.\nBefore we begin, a disclaimer: ** as we\u0026rsquo;re deailng with pre-release software, do everything at your own risk! Errors with PAM can lock you out of your system!**\nAlso, ther\u0026rsquo;s no guarantee that these instructions, although they worked for me, will work for you. YMMV.\nPrerequisites # **EDIT: You will need a more recent startkde script than the one shipped in Workspace 4.11.8: ask your distro for a back-port of the latest commits to it (last 3 since 4.11.8). ** Thanks to Rex Dieter (Fedora) for letting me know.\nYou need to have libgcrypt and its development headers installed, and at least version 1.5.0 (earlier versions won\u0026rsquo;t work), along with the PAM development headers. Before beginning, change your wallet password to be the same as your login password (you chose a strong password, didn\u0026rsquo;t you ;).\nEDIT: You wll need also socat, because it\u0026rsquo;s used to inject the right environment when the KDE workspace session is starting.\nBuilding pam-kwallet # Clone the git repository holding pam-kwallet (NOTE for posterity: the URL may change in the future once the code moves properly inside KDE\u0026rsquo;s official modules):\n1 git clone git://anongit.kde.org/scratch/afiestas/pam-kwallet.git Then compile:\n1 2 3 mkdir build; cd build cmake -DCMAKE_INSTALL_PREFIX=$(kde4-config --prefix) ../ make You may have to add -DLIB_SUFFIX=64 if you are using a 64 bit system or the library may get installed in the wrong path.\nInstall either as root or using sudo:\n1 make install Hooking pam-kwallet to PAM # Once this is done, we need to hook pam-kwallet to PAM proper. These instructions have been made with inspiration from the Arch Linux Wiki entry on GNOME keyring and should be your reference in case of issues.\nWe\u0026rsquo;ll have to tell PAM that it can use our freshly built module as an authentication mechanism. We will be doing so by editing specific files under /etc/pam.d. All operations should be done as root or using sudo.\nFirst, we edit /etc/pam.d/login (added lines are with). This is how it looks in my system (note: depending on your distro, it may and will look different)\n1 2 3 4 5 6 7 8 9 10 11 #%PAM-1.0 auth requisite pam_nologin.so auth [user_unknown=ignore success=ok ignore=ignore auth_err=die default=bad] pam_securetty.so auth include common-auth account include common-account password include common-password session required pam_loginuid.so session include common-session #session optional pam_lastlog.so nowtmp showfailed session optional pam_mail.so standard -session optional pam_kwallet.so auto_start #### Add this line Then we change /etc/pam.d/passwd. Notice that there is a caveat described below:\n1 2 3 4 5 6 #%PAM-1.0 auth include common-auth -auth optional pam_kwallet.so ### add this line account include common-account password include common-password session include common-session It is essential now that you notice whether you are using a default .kde for your KDE applications settings, or another name (for example .kde4 in openSUSE). If it is different from .kde, you must add an option which tells the PAM module where it is (it only involves modifications in /etc/pam.d/passwd):\n1 -auth optional pam_kwallet.so kdehome=.kde4 # for .kde4 Alternative setup # While the setup above should work, it may not. In this case, you will need to edit the PAM files used by your display manager. In the case of KDM, they may be _/etc/pam.d/kdm _or /etc/pam.d/xdm. For LightDM, you should edit both /etc/pam.d/lightdm and /etc/pam.d/lightdm-greeter.\nEither case, put both the auth and the session line in the files, as such (example from my setup)\n1 2 3 4 5 6 7 8 9 #%PAM-1.0 # LightDM PAM configuration used only for the greeter session auth required pam_permit.so -auth optional pam_kwallet.so kdehome=.kde4 ### added account required pam_permit.so password include common-password session required pam_loginuid.so session include common-session -session optional pam_kwallet.so auto_start ### added Wrapping it up # After these changes, log out and back in. If everything is correct, you will not see password requests from KWallet, but you will see your wallet properly unlocked!\nAnd if it doesn\u0026rsquo;t work? # I warned you. ;) More seriously, look in the authentication logs for clues to see whether there were PAM errors. My suggestion would be to wait for distros to figure this out, or hope that a real PAM expert steps in, as debugging is very difficult (at least for me) at such a low level.\nEDIT: As pointed out by Rex Dieter (Fedora), putting a - in front of your PAM entries will make PAM ignore them if unavailable, reducing the amount of logging sent to your syslog.\n","date":"April 25, 2014","externalUrl":null,"permalink":"/2014/04/unlocking-kwallet-with-pam/","section":"Posts","summary":"Requests to unlock KWallet automatically on login (assuming the wallet password and user password are the same), like gnome-keyring can do, have been going on for years: in fact, bug reports requesting this feature are quite old. Recently, thanks to the efforts of Alex Fiestas, a PAM module, which interfaces KWallet to the system authentication methods, has been developed. In parallel, the necessary glue code has been also added to the various parts of the KDE workspace so that it could make use of it.\n","title":"Unlocking KWallet with PAM","type":"post"},{"content":"This is a guest post by Raymond \u0026ldquo;tittiatcoke\u0026rdquo; Wooninck, with contributions from myself and Hrvoje \u0026ldquo;shumski\u0026rdquo; Senjan\nIn the next hours the KDE:Current repository will publish the latest release from KDE (4.13). As that this release comes with a big change (the new semantic search), we would like some simple steps in order to perform the right upgrade.\nBefore the upgrade # In order to migrate data automatically from the Nepomuk store to the new format, you will need Nepomuk up and running, and just for the time needed for the migration. Ensure that Nepomuk is running before the update (in System Settings \u0026gt; Desktop Search). This is only necessary in case Nepomuk is in use on the system.\nThe upgrade itself # If you are already using KDE:Current then the upgrade should be a simple zypper up or upgrade packages through YaST Software Management.\nIf you are not yet using KDE:Current, then please follow the instructions on the wiki on how to add the necessary repositories. After adding them, a zypper dup is required to ensure that all the KDE packages are coming from KDE:Current.\nPlease do not remove nepomuk, as that otherwise the migration to baloo will fail. Also after the upgrade please make sure that the baloo-file package is installed (it is required for indexing). After this check, log off and back on. The Nepomuk migrator will then run and move all the data that can be migrated to the new system. It will also turn off Nepomuk at the end of the migration.\nAt this moment it would be safe to remove the nepomuk related packages like nepomuk-core, libnepomukwidgets, soprano*, strigi, virtuoso and shared-desktop-ontologies. There are only a few packages left that are stillrequiring the Nepomuk framework (like bangarang, kweshtunotes, etc).\nUsing the new search system # Unlike the \u0026lsquo;include folders to be indexed\u0026rsquo; used with Nepomuk, the new search backend prefers to index everything and exclude unwanted folders explicitly. With the standard setup, all files and directories below the home-directory will be indexed. All other filesystems are indicated as omitted.\nThis can be changed by deleting the respective entries in System Settings. To turn indexing off completely, add your home directory to the excluded folder list (bear in mind that this will prevent search from working). To remove the components completely, remove the baloo-file package. The package baloo-pim (only present when kdepim is installed) can be removed if no search capabilities are required for KMail.\nAside from Dolphin, the only search UI available is the package called milou. Milou can be placed in the panel for easy access and its usage is quite simple. The search term is indicated and search results are shown for files, emails, and so on. You can pick which categories to use in the settings. At the moment you should not put Milou in the system tray, because it will cause Plasma to crash at login.\nTags in the files are now stored using extended attributes (xattrs) instead that in the database.\nKnown issues # The initial indexing can be heavy on I/O especially if there are large text files: either wait till the indexing is complete (this step is done only once), or exclude the folder containing such files.\nSome data will be lost during the migration: in particular, emails will have to be re-indexed, and file\u0026lt;-\u0026gt;activity associations, if used, will not be preserved.\nReporting problems # As usual, use Novell\u0026rsquo;s Bugzilla if you find issues pertaining to the specific packaging used in openSUSE: otherwise, report bugs directly to KDE.\n","date":"April 24, 2014","externalUrl":null,"permalink":"/2014/04/kdecurrent-and-4.13-packages-for-opensuse/","section":"Posts","summary":"This is a guest post by Raymond “tittiatcoke” Wooninck, with contributions from myself and Hrvoje “shumski” Senjan\nIn the next hours the KDE:Current repository will publish the latest release from KDE (4.13). As that this release comes with a big change (the new semantic search), we would like some simple steps in order to perform the right upgrade.\nBefore the upgrade # In order to migrate data automatically from the Nepomuk store to the new format, you will need Nepomuk up and running, and just for the time needed for the migration. Ensure that Nepomuk is running before the update (in System Settings \u003e Desktop Search). This is only necessary in case Nepomuk is in use on the system.\n","title":"KDE:Current and 4.13 packages for openSUSE","type":"post"},{"content":"It is not news that openSUSE, through to the effort of the openSUSE community KDE team, offers several third-party repositories for those who want the latest software from KDE. Since a while, stable releases were offered in the KDE:Release:4x repositories, created with every major release of KDE software. These were meant to offer the latest and greatest to the users without having them to track KDE:Distro:Factory, which is instead used to track packaging for the next openSUSE release and is more in a state of flux.\nThen there are repositories which offer additional applications outside the main openSUSE KDE desktop packages, KDE:Extra (for stable releases) and KDE:Unstable:Extra (for development snapshots). In this case, they complement the already existing KDE repositories.\nGiven the rapid pace of development from KDE, which switched to 4 month based releases, this setup has shown some limits: the KDE:Extra and KDE:Unstable:Extra repositories would need to be built against each of the KDE:Release:4x ones, draining a lot of the build power available to the Open Build Service, and also maintenance was problematic, due to the number of repositories involved and the limited manpower at disposal of the openSUSE community KDE team.\nThis is why we\u0026rsquo;re announcing a change today: effective with the 4.12.4 release from KDE, the KDE:Release:4x repositories will be retired, replaced by a single resource which tracks the latest stable release from KDE, KDE:Current. This approach will greatly reduce the number of repositories to track and ease maintenance a great deal. KDE:Extra and KDE:Unstable:Extra will also be adjusted to offer KDE:Latest as build targets (and removing KR4x as well), with the net effect of saving a lot of OBS build power.\nOf course, KDE:Current will include 4.13 packages once the official release is out.\nTherefore, if you are a user of KDE:Release:4x, be aware that from tomorrow (at the same time as the 4.12.4 release)the repository will _cease to exist _and you should move to KDE:Current.\nFor questions and suggestions, feel free to drop by the #opensuse-kde channel on Freenode, or use the openSUSE KDE mailing list.\nThis post was brought to you by the bright (?) minds of the openSUSE community KDE team, with particular thanks to Raymond \u0026ldquo;tittiatcoke\u0026rdquo; Wooninck, who did most of the work\nP.S.: No, this is not an April Fools\u0026rsquo; joke. ;)\n","date":"March 31, 2014","externalUrl":null,"permalink":"/2014/03/being-current/","section":"Posts","summary":"It is not news that openSUSE, through to the effort of the openSUSE community KDE team, offers several third-party repositories for those who want the latest software from KDE. Since a while, stable releases were offered in the KDE:Release:4x repositories, created with every major release of KDE software. These were meant to offer the latest and greatest to the users without having them to track KDE:Distro:Factory, which is instead used to track packaging for the next openSUSE release and is more in a state of flux.\n","title":"Being Current","type":"post"},{"content":"","date":"March 31, 2014","externalUrl":null,"permalink":"/tags/packages/","section":"Tags","summary":"","title":"Packages","type":"tags"},{"content":"","date":"March 31, 2014","externalUrl":null,"permalink":"/tags/releases/","section":"Tags","summary":"","title":"Releases","type":"tags"},{"content":"Yesterday KDE released their first beta of the upcoming 4.13 version of Workspaces, Applications and Development platform. As usual with the major releases from KDE, it\u0026rsquo;s packed with a lot of \u0026ldquo;good stuff\u0026rdquo;. Giving a list of all the improvements is daunting, however there are some key points that stand out:\nSearching: KDE\u0026rsquo;s next generation semantic search is a prominent feature of this release. It\u0026rsquo;s several orders of magnitude faster, much leaner on memory and generally is a great improvement from the previous situation (this writer has been testing it for the past months and he\u0026rsquo;s absolutely delighted about it).\nPIM: Aside with tight integration with the new search feature, KMail gained a new quick filter bar and search, many fixes in IMAP support (also thanks to the recent PIM sprint) and a brand new sieve editor.\nOkular has a lot of new features (tabs, media handling and a magnifier)\nA lot more ;)\nGiven all of this, could the openSUSE KDE team stay still? Of course not! Packages are available in the KDE:Distro:Factory repository (for openSUSE 13.1 and openSUSE Factory) as there are lot of changes and need more testing. The final release will be provided also in the KDE:Relase413 repository (which will be created then).\nSome notes on the search changes: you will need to migrate existing data from Nepomuk (should you want to: it\u0026rsquo;s optional). You can do that by running \u0026ldquo;nepomukbaloomigrator\u0026rdquo; when Nepomuk is running: it will automatically migrate your data and switch off the old system (virtuoso-t included). Also bear in mind that since the old Nepomuk support is considered \u0026ldquo;legacy\u0026rdquo; (but still provided), the programs that have not yet been ported to the new architecture have their Nepomuk integration disabled. One significant regression is file-activity linking, which will not work.\nAs usual, this is an unstable release and it is only meant for testing. Don\u0026rsquo;t use this in production environments! If you encounter a bug, if it is packaging related use Novell\u0026rsquo;s Bugzilla, otherwise head to bugs.kde.org. Also, before reporting anything, please check out the Beta section of the KDE Community Forums first.\nThat\u0026rsquo;s all, enjoy this new release!\n","date":"March 7, 2014","externalUrl":null,"permalink":"/2014/03/4.13-beta-1-workspaces-platform-and-applications-for-opensuse-start-the-testing-engines/","section":"Posts","summary":"Yesterday KDE released their first beta of the upcoming 4.13 version of Workspaces, Applications and Development platform. As usual with the major releases from KDE, it’s packed with a lot of “good stuff”. Giving a list of all the improvements is daunting, however there are some key points that stand out:\nSearching: KDE’s next generation semantic search is a prominent feature of this release. It’s several orders of magnitude faster, much leaner on memory and generally is a great improvement from the previous situation (this writer has been testing it for the past months and he’s absolutely delighted about it).\n","title":"4.13 Beta 1 Workspaces, Platform and Applications for openSUSE: start the testing engines!","type":"post"},{"content":"","date":"March 7, 2014","externalUrl":null,"permalink":"/tags/beta/","section":"Tags","summary":"","title":"Beta","type":"tags"},{"content":"Among the different widgets I use on my desktop, there is a small one which tells me my current public IP address. The reason I\u0026rsquo;m having it is due to the fact that my own ISP uses a NAT for almost all its customers (don\u0026rsquo;t ask - long story) and so I need to keep tabs on my current IP, because it may have been blacklisted, and so on.\nUp to now I was using this plasmoid written in Python, but the code had several issues and used its own way of getting the public IP. However, I knew Plasma has already a way to give you your IP, that is the _geolocation _DataEngine. I thought of adjusting the current widget to use this engine, but then I thought \u0026ldquo;What if I make one in QML?\u0026rdquo;.\nIt turned out to be a rather easy task, which I accomplished in less than one hour, by reading up some documentation, examples and of course pestering people on IRC. ;)\nAll I needed to have the IP ready was\n1 2 3 4 5 6 7 8 9 10 11 PlasmaCore.DataSource { id: dataSource dataEngine: \u0026#34;geolocation\u0026#34; connectedSources: [\u0026#39;location\u0026#39;] interval: 500 onNewData: { if (sourceName == \u0026#39;location\u0026#39;) { ipAddr.text = data.ip } } where ipAddr was a Text element.\nAnd that\u0026rsquo;s how is the final result (mimicking the other widget I took it from):\nThere are still a number of issues, for example getting the right size when started, and ensuring it\u0026rsquo;s not resized to a too little size. But I was surprised that it was so easy.\nInterested parties can grab it by cloning and installing:\n1 2 git clone https://git.dennogumi.org/kde/ip-address-viewer plasmapkg -i ip-address-viewer/ Suggestions on code quality are welcome.\n","date":"January 4, 2014","externalUrl":null,"permalink":"/2014/01/an-expedition-in-the-qml-realm/","section":"Posts","summary":"Among the different widgets I use on my desktop, there is a small one which tells me my current public IP address. The reason I’m having it is due to the fact that my own ISP uses a NAT for almost all its customers (don’t ask - long story) and so I need to keep tabs on my current IP, because it may have been blacklisted, and so on.\nUp to now I was using this plasmoid written in Python, but the code had several issues and used its own way of getting the public IP. However, I knew Plasma has already a way to give you your IP, that is the _geolocation _DataEngine. I thought of adjusting the current widget to use this engine, but then I thought “What if I make one in QML?”.\n","title":"An expedition in the QML realm","type":"post"},{"content":"","date":"January 4, 2014","externalUrl":null,"permalink":"/tags/plasma/","section":"Tags","summary":"","title":"Plasma","type":"tags"},{"content":"","date":"January 4, 2014","externalUrl":null,"permalink":"/tags/qml/","section":"Tags","summary":"","title":"QML","type":"tags"},{"content":"And so, finally openSUSE 13.1 is out of the door (I couldn\u0026rsquo;t celebrate like I wanted, as I\u0026rsquo;ve been very busy). This release has lots of improvements, and of course, the latest stable software from KDE. It is time (perhaps?) to look back and see what the team has done during this development cycle.\nWith regards to the KDE software packaging, the past 8 months have seen quite an increase in the involvement of poeple from the community. Aside the \u0026ldquo;usual suspects\u0026rdquo; like Raymond \u0026ldquo;tittiatcoke\u0026rdquo; Wooninck and Hrvoje \u0026ldquo;shumski\u0026rdquo; Senjan, we\u0026rsquo;ve seen offers from help from the Cloverleaf community (now folded into openSUSE) and in general an increase of non-SUSE contributions. Relationship with upstream has also improved, as a number of changes present in the packages were submitted directly to KDE (which is always a good thing).\nThere were also some much-needed organizational changes in projects, to keep things manageable. And thanks to the effort of shumski, openSUSE offers, like other distributions, regularly updated KF5 packages to help with development and testing. Aside for the very-bleeding-edge-it-will-kill-you software, the team eats a lot of its own dogfood, testing things as much as possible (and suffering from fallouts, sometimes ;) before pushing them to stable packages.\nThe goals for the future? Make the KLyDE splitting, originally devised and implemented by Will Stephenson of KDE and SUSE fame, a reality for the next version of openSUSE (13.2): there are quite a number of months ahead so it\u0026rsquo;s the perfect time for changing things and testing. Aside splitting, we\u0026rsquo;ll be watching closely the KF5 work, so that once releasable versions come out (in about a year) we\u0026rsquo;ll be ready to offer them in the distribution (as an option over the stable 4.x series, of course).\nIt may not seem like a large list, but it is a lot of work. ;) So if you feel like helping, don\u0026rsquo;t be shy and drop us a note either on IRC (#opensuse-kde) or on the opensuse-kde maling list.\n","date":"November 25, 2013","externalUrl":null,"permalink":"/2013/11/8-months-with-kde-and-opensuse-looking-back-after-the-13.1-release/","section":"Posts","summary":"And so, finally openSUSE 13.1 is out of the door (I couldn’t celebrate like I wanted, as I’ve been very busy). This release has lots of improvements, and of course, the latest stable software from KDE. It is time (perhaps?) to look back and see what the team has done during this development cycle.\nWith regards to the KDE software packaging, the past 8 months have seen quite an increase in the involvement of poeple from the community. Aside the “usual suspects” like Raymond “tittiatcoke” Wooninck and Hrvoje “shumski” Senjan, we’ve seen offers from help from the Cloverleaf community (now folded into openSUSE) and in general an increase of non-SUSE contributions. Relationship with upstream has also improved, as a number of changes present in the packages were submitted directly to KDE (which is always a good thing).\n","title":"8 months with KDE and openSUSE - looking back after the 13.1 release","type":"post"},{"content":"As you may know, there is an ongoing effort to rearrange and adjust the openSUSE KDE repositories. In line with the previously announced deletions, and more recent adjustments, a number of changes went into the organization and layout of the KDE repositories:\nKDE:Distro:Factory and KDE:Release:4xy will now hold the \u0026ldquo;core\u0026rdquo; KDE packages: this means the base Development Platform, Workspaces and Applications, and additional applications for a basic desktop experience. Other, non-core packages have been moved to KDE:Extra\n\u0026ldquo;Extra\u0026rdquo; packages that qualify as non-core are now in the KDE:Extra repository. If you are a previous user of KRxy or KDF, you might want to add the relevant Extra repository\nKDE:Unstable:Playground is no more, replaced by KDE:Unstable:Extra\nIn addition, the repository page on the openSUSE wiki has been updated to reflect these changes. If in doubt, take a look there.\nShould you have any additional questions, feel free to hop on #opensuse-kde on Freenode, or use the opensuse-kde mailing list.\n","date":"November 2, 2013","externalUrl":null,"permalink":"/2013/11/kdeunstableplayground-is-no-more-or-adjustments-in-kde-repositories/","section":"Posts","summary":"As you may know, there is an ongoing effort to rearrange and adjust the openSUSE KDE repositories. In line with the previously announced deletions, and more recent adjustments, a number of changes went into the organization and layout of the KDE repositories:\nKDE:Distro:Factory and KDE:Release:4xy will now hold the “core” KDE packages: this means the base Development Platform, Workspaces and Applications, and additional applications for a basic desktop experience. Other, non-core packages have been moved to KDE:Extra\n","title":"KDE:Unstable:Playground is no more (or: adjustments in KDE repositories)","type":"post"},{"content":"","date":"November 2, 2013","externalUrl":null,"permalink":"/tags/repository/","section":"Tags","summary":"","title":"Repository","type":"tags"},{"content":"Summer is ending soon (at least for those living in the northern hemisphere) and while usually cleaning is done during spring, the KDE team decided to do what I\u0026rsquo;d call\u0026hellip; autumn cleaning of repositories.\nYou may know that the KDE presence in openSUSE, aside being the default desktop, is quite a long one. In the past years different repositories were created by the members of the openSUSE KDE team (at the time mostly made up by KDE people hired by Novell) in order to review and test packages, like newer Qt versions, KDE software, and so on. Fast forward to the present: nowadays the members of the KDE team are almost completely from the openSUSE community, and quite a number of changes went by the repositories as well. For example, newer releases of KDE software are submitted as maintenance updates for the latest available version of the distribution, and there are the KDE:Release:xy repositories for those who want the latest and greatest KDE software.\nThat also meant that a lot of repositories were unused, and were left bitrotting (and consuming the OBS\u0026rsquo;s precious build power). But no more! Recently, thanks to the input from Raymond (tittiatcoke on IRC), a rather large cleaning of repositories is taking place.\nThe following repositories are going to be deleted:\nKDE:Qt45\nKDE:Qt46\nKDE:Qt47\nKDE:Qt:Stable\nKDE:Netbook\nKDE:Qt50\nIn the (unlikely) case you are using them, you should remove them ASAP.\nThis repository instead will be **moved **(thanks kdepepo for reminding me):\nKDE:Frameworks → KDE:Unstable:Frameworks As with repository cleaning, there was also a reorganization of the maintainership, because a number of former maintainers had moved on. In practice this will mean that notifications and reports will get to the right people instead of just clogging the mailboxes of unrelated people. ;) Of course, the present KDE team stands on the shoulders of giants, and is extremely thankful for the work done by those people in the past.\nThat\u0026rsquo;s all, now we\u0026rsquo;re back to our regularly scheduled programs.\n","date":"September 13, 2013","externalUrl":null,"permalink":"/2013/09/kde-in-opensuse-repository-and-maintainership-changes/","section":"Posts","summary":"Summer is ending soon (at least for those living in the northern hemisphere) and while usually cleaning is done during spring, the KDE team decided to do what I’d call… autumn cleaning of repositories.\nYou may know that the KDE presence in openSUSE, aside being the default desktop, is quite a long one. In the past years different repositories were created by the members of the openSUSE KDE team (at the time mostly made up by KDE people hired by Novell) in order to review and test packages, like newer Qt versions, KDE software, and so on. Fast forward to the present: nowadays the members of the KDE team are almost completely from the openSUSE community, and quite a number of changes went by the repositories as well. For example, newer releases of KDE software are submitted as maintenance updates for the latest available version of the distribution, and there are the KDE:Release:xy repositories for those who want the latest and greatest KDE software.\n","title":"KDE in openSUSE: repository and maintainership changes!","type":"post"},{"content":"","date":"September 13, 2013","externalUrl":null,"permalink":"/tags/repositories/","section":"Tags","summary":"","title":"Repositories","type":"tags"},{"content":"In the past few days, the openSUSE KDE team has been working hard, following the footsteps of the nice work done by the Kubuntu and Arch Linux communities, to provide Qt5 packages for the distribution. In fact, work was already done in the past, but the packages were not coinstallable with the existing Qt4 installation.\nThanks to a renewed effort, the OBS holds now Qt5 packages that won\u0026rsquo;t overwrite the existing Qt4 install: they currently live in the KDE:Qt51 repository (Factory and openSUSE 12.3) and they have been submitted to Factory itself, with the plan of having a full set of Qt5 packages for the next version of the distribution. PyQt5 was also packaged, for those who are interested in using Python with Qt.\nThese packages are deemed as stable and usable without issues (although, not being part of the distribution, not supported): if you spot a problem in packaging, file a bug to Novell\u0026rsquo;s Bugzilla.\nUp to this point we have talked about stable releases. But as KF5 depends on the yet-unreleased Qt 5.2, new repositories were created:\nKDE:Qt5, which hosts snapshots off the current Qt tree (5.2);\nKDE:Frameworks, which contains snapshots of the current state of KF5.\nIn particular KF5 is installed to /opt/kf5, ensuring that it won\u0026rsquo;t overwrite your current install. Bear in mind that these packages are absolutely not meant for end users (we\u0026rsquo;re talking pre-alpha here!), but only for people who want to help developing KF5. For those daring enough, there is even a kf5-session package to start a whole KF5 + frameworks workspace session.\nCredit where it\u0026rsquo;s due: the packaging work is mostly the effort of Hrvoje \u0026ldquo;shumski\u0026rdquo; Senjan and Raymond \u0026ldquo;tittiatcoke\u0026rdquo; Wooninck, the two major KDE packaging powerhouses in the team. ;)\nHappy hacking!\n","date":"August 6, 2013","externalUrl":null,"permalink":"/2013/08/qt5-on-opensuse-including-experimental-kf5-packages/","section":"Posts","summary":"In the past few days, the openSUSE KDE team has been working hard, following the footsteps of the nice work done by the Kubuntu and Arch Linux communities, to provide Qt5 packages for the distribution. In fact, work was already done in the past, but the packages were not coinstallable with the existing Qt4 installation.\nThanks to a renewed effort, the OBS holds now Qt5 packages that won’t overwrite the existing Qt4 install: they currently live in the KDE:Qt51 repository (Factory and openSUSE 12.3) and they have been submitted to Factory itself, with the plan of having a full set of Qt5 packages for the next version of the distribution. PyQt5 was also packaged, for those who are interested in using Python with Qt.\n","title":"Qt5 on openSUSE (including experimental KF5 packages)","type":"post"},{"content":"The latest release of the KDE Platform, Workspaces, and Applications (4.11) is around the corner: in fact, the last RC was recently made available. We\u0026rsquo;re almost there, but it doesn\u0026rsquo;t mean that testing and reporting should stop: on the contrary, it is needed even more to ensure that no bad bugs crawl up in the final release.\nAs part of this effort, openSUSE packages for RC2 have been released through the OBS, and are available in the KDE:Distro:Factory repository. Like always, please report upstream bugs to KDE directly, and use Novell\u0026rsquo;s Bugzilla for packaging or openSUSE specific issues.\nWhile 4.11 will be part of openSUSE 13.1, users of older versions will be able to install packages through the KDE:Release:411 repository which will be created after the official release. And now, back to testing!\n","date":"July 30, 2013","externalUrl":null,"permalink":"/2013/07/last-round-of-testing-4.11-rc2-packages-for-opensuse/","section":"Posts","summary":"The latest release of the KDE Platform, Workspaces, and Applications (4.11) is around the corner: in fact, the last RC was recently made available. We’re almost there, but it doesn’t mean that testing and reporting should stop: on the contrary, it is needed even more to ensure that no bad bugs crawl up in the final release.\nAs part of this effort, openSUSE packages for RC2 have been released through the OBS, and are available in the KDE:Distro:Factory repository. Like always, please report upstream bugs to KDE directly, and use Novell’s Bugzilla for packaging or openSUSE specific issues.\n","title":"Last round of testing: 4.11 RC2 packages for openSUSE","type":"post"},{"content":"","date":"July 30, 2013","externalUrl":null,"permalink":"/tags/release/","section":"Tags","summary":"","title":"Release","type":"tags"},{"content":"The latest release from KDE moved from beta to RC stage, thus finding and reporting bugs is more important that ever. At the same time, the distribution packaging teams are also working in polishing their packages.\nAs far as openSUSE is concerned (not dissing other distros, just mentioning the one I\u0026rsquo;m involved in ;), you can kill two birds with one stone by installing the packages provided in the KDE:Distro:Factory repository. There are two kinds of issuses you need to report:\nIssues in the software (bugs, crashes, unexpected behaviors, regressions\u0026hellip;): KDE would like very much your feedback, so please submit detailed bug reports to bugs.kde.org; Issues in the packaging (conflicts, missing files, improper installation\u0026hellip;): in this case you may want to notify the openSUSE KDE team by filing a ticket to Novell\u0026rsquo;s Bugzilla. You can also discuss about the upcoming release on the KDE Community Forums.\nAs this is not yet a stable release, this usually goes without saying, but I\u0026rsquo;m repeating it anyway: do not use these packages in production systems, install them only if you want to help testing. For everyone else, it\u0026rsquo;s much better to wait for the official release, which will also be part of the upcoming openSUSE 13.1.\nThat\u0026rsquo;s all. So, what are you waiting for? Let\u0026rsquo;s get testing done!\n","date":"July 16, 2013","externalUrl":null,"permalink":"/2013/07/kde-releases-4.11-rc1-and-opensuse-packages-follow/","section":"Posts","summary":"The latest release from KDE moved from beta to RC stage, thus finding and reporting bugs is more important that ever. At the same time, the distribution packaging teams are also working in polishing their packages.\nAs far as openSUSE is concerned (not dissing other distros, just mentioning the one I’m involved in ;), you can kill two birds with one stone by installing the packages provided in the KDE:Distro:Factory repository. There are two kinds of issuses you need to report:\n","title":"KDE releases 4.11 RC1, and openSUSE packages follow!","type":"post"},{"content":"KDE released the second beta of the KDE Platform, Workspaces and Applications 4.11, and after the necessary time for the OBS to build packages from the released tarballs, packages are available for openSUSE 12.3 and openSUSE Factory. Like the previous beta, they are available through the KDE:Distro:Factory repository. 4.11.x is is targeted for inclusion in the upcoming openSUSE 13.1.\nSo far 4.11 has been pretty stable for me, but you should never forget these packages are for testing and bug reporting purposes: don\u0026rsquo;t use them on production systems. In case you find a bug:\nif it is a _packaging bug, _report it to Novell\u0026rsquo;s bugzilla; if it is a bug in the software, report it directly upstream to KDE. Don\u0026rsquo;t forget there is a specific area on the KDE forums to discuss this beta release. With that said, let\u0026rsquo;s find and kill these bugs out there, to make 4.11 rock!\n","date":"July 1, 2013","externalUrl":null,"permalink":"/2013/07/4.11-beta-2-opensuse-packages-available/","section":"Posts","summary":"KDE released the second beta of the KDE Platform, Workspaces and Applications 4.11, and after the necessary time for the OBS to build packages from the released tarballs, packages are available for openSUSE 12.3 and openSUSE Factory. Like the previous beta, they are available through the KDE:Distro:Factory repository. 4.11.x is is targeted for inclusion in the upcoming openSUSE 13.1.\nSo far 4.11 has been pretty stable for me, but you should never forget these packages are for testing and bug reporting purposes: don’t use them on production systems. In case you find a bug:\n","title":"4.11 beta 2 openSUSE packages available","type":"post"},{"content":"As a consequence of the recent changes in the repositories, the openSUSE KDE team is happy to announce the availability of packages containing the first beta of the KDE Platform, Workspaces and Applications 4.11.\nPackages are available in the KDE:Distro:Factory repository. As it is beta software, it may have not-yet-discovered bugs, and its use is recommended only if you are willing to test packaging (reporting bugs to Novell\u0026rsquo;s bugzilla) or the software (reporting bugs directly to KDE). For specific queries on the 4.11 beta not related to specific openSUSE packaging, use the KDE Community Forums 4.11 Beta/RC area.\nHave a good test!\n","date":"June 17, 2013","externalUrl":null,"permalink":"/2013/06/4.11-beta-1-packages-available-for-opensuse-12.3/","section":"Posts","summary":"As a consequence of the recent changes in the repositories, the openSUSE KDE team is happy to announce the availability of packages containing the first beta of the KDE Platform, Workspaces and Applications 4.11.\nPackages are available in the KDE:Distro:Factory repository. As it is beta software, it may have not-yet-discovered bugs, and its use is recommended only if you are willing to test packaging (reporting bugs to Novell’s bugzilla) or the software (reporting bugs directly to KDE). For specific queries on the 4.11 beta not related to specific openSUSE packaging, use the KDE Community Forums 4.11 Beta/RC area.\n","title":"4.11 beta 1 packages available for openSUSE 12.3","type":"post"},{"content":"Since KDE has released the first beta of Platform, Workspaces, and Applications 4.11, there will be some changes in the packages offered in the openSUSE repositories.\nIn short:\nKDE:Distro:Factory will now start tracking 4.11 betas and RCs: packages are being worked on. Use this version to test packages and to report bugs upstream. KDE:Release:410 has been decoupled from KDE:Distro:Factory. If you were using 4.10 packages from KDF, you\u0026rsquo;re highly encouraged to move to this repository. KDE:Unstable:SC will keep on carrying snapshots from KDE git repositories. If you test the 4.11 packages, report bugs in the packaging (or openSUSE-specific functionality) to Novell\u0026rsquo;s bugzilla, and bugs in the software to bugs.kde.org. Also, please use the dedicated area on the KDE Community Forums to discuss issues.\nLet the testing commence!\n","date":"June 14, 2013","externalUrl":null,"permalink":"/2013/06/upcoming-changes-to-opensuse-kde-repositories/","section":"Posts","summary":"Since KDE has released the first beta of Platform, Workspaces, and Applications 4.11, there will be some changes in the packages offered in the openSUSE repositories.\nIn short:\nKDE:Distro:Factory will now start tracking 4.11 betas and RCs: packages are being worked on. Use this version to test packages and to report bugs upstream. KDE:Release:410 has been decoupled from KDE:Distro:Factory. If you were using 4.10 packages from KDF, you’re highly encouraged to move to this repository. KDE:Unstable:SC will keep on carrying snapshots from KDE git repositories. If you test the 4.11 packages, report bugs in the packaging (or openSUSE-specific functionality) to Novell’s bugzilla, and bugs in the software to bugs.kde.org. Also, please use the dedicated area on the KDE Community Forums to discuss issues.\n","title":"Upcoming changes to openSUSE KDE repositories","type":"post"},{"content":"These posts kind of sound like a broken record, right? ;) Anyway, since KDE has released new versions of Platform, Workspaces and Applications as part of the stable release cycle, thanks to the OBS we have packages available for openSUSE 12.2 and 12.3. The 4.10.4 update will also be released as an official update for 12.3 in due time.\nWhere you can get the packages? Two places, as usual:\nKDE:Distro:Factory in case you are interested in contributing to packaging for the next openSUSE release; KDE:Release:410 (openSUSE 12.3 or openSUSE 12.2) in case you just want to upgrade to the latest and greatest version What to look forward to in this release? More than 50 bugs being fixed, including:\nCSS compliance fixes in KHTML Bug fixes in Gwenview (display after image rotation, duplicate entries in recent folders) Assorted fixes in KMail: polishing of external editor support, CalDAV fixes, UI adjustments\u0026hellip; For more you can always turn to the [full list of fixed bugs](https://bugs.kde.org/buglist.cgi?query_format=advanced\u0026bug_status=RESOLVED\u0026bug_status=VERIFIED\u0026bug_status=CLOSED\u0026bugidtype=include\u0026chfieldfrom=2013-01-01\u0026chfieldto=Now\u0026chfield=cf_versionfixedin\u0026chfieldvalue=4.10.4\u0026order=Bug Number\u0026amp;list_id=675254).\nAs with any good broken record, some more repetition: report bugs in packaging to Novell\u0026rsquo;s Bugzilla, and bugs in the software directly to KDE.\nHave fun with 4.10.4!\n","date":"June 6, 2013","externalUrl":null,"permalink":"/2013/06/kde-platform-workspace-and-applications-4.10.4-for-opensuse/","section":"Posts","summary":"These posts kind of sound like a broken record, right? ;) Anyway, since KDE has released new versions of Platform, Workspaces and Applications as part of the stable release cycle, thanks to the OBS we have packages available for openSUSE 12.2 and 12.3. The 4.10.4 update will also be released as an official update for 12.3 in due time.\nWhere you can get the packages? Two places, as usual:\nKDE:Distro:Factory in case you are interested in contributing to packaging for the next openSUSE release; KDE:Release:410 (openSUSE 12.3 or openSUSE 12.2) in case you just want to upgrade to the latest and greatest version What to look forward to in this release? More than 50 bugs being fixed, including:\n","title":"KDE Platform Workspace, and Applications 4.10.4 for openSUSE","type":"post"},{"content":"KDE released 4.10.3 versions of the Platform, Workspaces and Applications yesterday, with more than 70 bugs being fixed. Notably:\nSeveral fixes in handling encrypted mails in KMail Fixes for KDEPIM syncing and ownCloud A number of improvements in Dolphin, including crash fixes Optimizations in the Plasma Workspaces [The full list](https://bugs.kde.org/buglist.cgi?query_format=advanced\u0026bug_status=RESOLVED\u0026bug_status=VERIFIED\u0026bug_status=CLOSED\u0026bugidtype=include\u0026chfieldfrom=2013-01-01\u0026chfieldto=Now\u0026chfield=cf_versionfixedin\u0026chfieldvalue=4.10.3\u0026order=Bug Number\u0026amp;list_id=638034) has other important changes.\nAs usual, there are two different repositories from which you can get them:\nKDE:Distro:Factory in case you are interested in contributing to packaging for the next openSUSE release; KDE:Release:410 (openSUSE 12.3 or openSUSE 12.2) in case you just want to upgrade to the latest and greatest version In case you upgrade now, you should be aware of an issue with KDM that makes it not start: thankfully there\u0026rsquo;s a workaround available, and updated packages are already being built by the OBS, so it will be solved soon.\nReport bugs in packaging to Novell\u0026rsquo;s Bugzilla, and bugs in the software directly to KDE.\nHave fun with 4.10.3!\n","date":"May 7, 2013","externalUrl":null,"permalink":"/2013/05/kde-platform-workspaces-and-applications-4.10.3-for-opensuse/","section":"Posts","summary":"KDE released 4.10.3 versions of the Platform, Workspaces and Applications yesterday, with more than 70 bugs being fixed. Notably:\nSeveral fixes in handling encrypted mails in KMail Fixes for KDEPIM syncing and ownCloud A number of improvements in Dolphin, including crash fixes Optimizations in the Plasma Workspaces [The full list](https://bugs.kde.org/buglist.cgi?query_format=advanced\u0026bug_status=RESOLVED\u0026bug_status=VERIFIED\u0026bug_status=CLOSED\u0026bugidtype=include\u0026chfieldfrom=2013-01-01\u0026chfieldto=Now\u0026chfield=cf_versionfixedin\u0026chfieldvalue=4.10.3\u0026order=Bug Number\u0026list_id=638034) has other important changes.\nAs usual, there are two different repositories from which you can get them:\nKDE:Distro:Factory in case you are interested in contributing to packaging for the next openSUSE release; KDE:Release:410 (openSUSE 12.3 or openSUSE 12.2) in case you just want to upgrade to the latest and greatest version In case you upgrade now, you should be aware of an issue with KDM that makes it not start: thankfully there’s a workaround available, and updated packages are already being built by the OBS, so it will be solved soon.\n","title":"KDE Platform, Workspaces and Applications 4.10.3 for openSUSE","type":"post"},{"content":"I\u0026rsquo;m a (happy!) owner of a Casio EX-WORD Dataplus 5 XD-A4700, a Japanese electronic dictionary. Recently I looked into updating the Japanese-English dictionary (currently the Shogakukan PROGRESSIVE dictionary) installed, because it\u0026rsquo;s not good enough: too often when looking up odd sentences (like the ones in Fate/Extra CCC) I do not find any matches.\nEDICT is adequate, and while I can use it on my phone and tablet, I like the fact that the EX-WORD has a physical keyboard along with the stylus, and a very nice kanji handwriting recognition. After a bit of looking, I found the 5th Edition of the New Kenkyusha dictionary, offered as microSD card, to be what I needed (but a bit pricey, 10,500 yen on Amazon, and that\u0026rsquo;s heavily discounted!).\nThere\u0026rsquo;s of course one little problem. Although these products have accompanying software, it is in Windows format only.And I\u0026rsquo;m using Linux. Of course I could just plug in the microSD, but what if I wanted to to move the dictionaries to the main internal memory? What to do? Although there\u0026rsquo;s an USB port, the EX-WORD does not operate like a USB mass storage device: communicaation is done through OBEX and specific commands to load, view and install dictionaries (along with listing, download and upload files to the SD card and the internal memory).\nLooking through the Internet led me to the libexword project, a library which provides a way to access these electronic dictionaries and a command-line application, and this post deals on how I made it work for me (but notice, it may not work for you).\nFirst of all we needed a checkout of the sources:\n1 git clone https://github.com/brijohn/libexword.git Then we need to switch branches, because most of the ongoing work is not in the master branch, but instead in the 2.0-dev branch.\n1 2 cd libexword git checkout -b 2.0-dev origin/2.0-dev To this point onwards you\u0026rsquo;ll need autotools (autoconf, automake) and the libusb development headers installed, along with Python and SWIG (a bindings generator). Run then\n1 2 ./autogen.sh ./configure --prefix=\u0026lt;prefix\u0026gt; # I used /usr for system wide install If you don\u0026rsquo;t specify a prefix, the library and the application will be installed to /usr/local. autogen.sh may complain about a missing AM_PROG_AR (it did on my openSUSE system), so edit configure.ac and add AM_PROG_AR around line 15, then rerun autogen.sh.\nAfter this, issue\n1 2 make sudo make install Or become root and issue make install (assuming you\u0026rsquo;re installing to a system prefix).\nNext, you need to get your 電子辞書 and connect it via USB. The kernel will not seem to find it, but it\u0026rsquo;s normal. Hit the お気に入り/ライブラリー key twice on the dictionary, then move with the arrows until you highlight 通信 (aka \u0026ldquo;transmission\u0026rdquo;). After that, push the translate button (訳) and you\u0026rsquo;ll see the Linux kernel identifying our dictionary (strings may change depending on the model):\n1 2 3 4 5 6 usb 2-1.6.1: USB disconnect, device number 8 usb 2-1.6.1: new high-speed USB device number 9 using ehci-pci usb 2-1.6.1: New USB device found, idVendor=07cf, idProduct=6101 usb 2-1.6.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb 2-1.6.1: Product: CESG502 usb 2-1.6.1: Manufacturer: CESG502 Now we need to access the dictionary. However, unless you set up specific rules in udev, only root will be able to access the device. You can create a file in /etc/udev/rules.d called 99-exword.rules with the following:\n1 SUBSYSTEM==\u0026#34;usb\u0026#34;, ATTR{idVendor}==\u0026#34;07cf\u0026#34;,ATTR{idProduct}==\u0026#34;6101\u0026#34;, MODE=\u0026#34;0666\u0026#34; and then refresh the rules with\n1 udevadm control --reload-rules After all of this is done, run exword and connect to the device:\n1 2 3 4 5 6 $ exword Exword dictionary tool. Type \u0026#39;help\u0026#39; for a list of commands. \u0026gt;\u0026gt; connect connecting to device...done \\_INTERNAL_00\\ \u0026gt;\u0026gt; \u0026ldquo;connect\u0026rdquo; takes different options: check with \u0026ldquo;help connect\u0026rdquo; for what you need specifically.\nWe can change between paths using the setpath command:\n1 2 3 setpath drv0:/// # Root of internal memory setpath crd0:/// # Root of SD setpath drv0:///CASIOTXT # Move to the CASIOTXT directory in the internal memory Notice however that some directories can\u0026rsquo;t be accessed.\nYou can list files with the list command (a truncated output shown below):\n1 2 3 4 5 6 7 8 9 10 11 \\_INTERNAL_00\\ \u0026gt;\u0026gt; list \u0026lt;sys_bak\u0026gt; maintch.wrk fav.inf line3.inf linecd.inf \u0026lt;SOUND\u0026gt; \u0026lt;CASIOTXT\u0026gt; drvvewer.inf lngfile.inf \u0026lt;data\u0026gt; There are also other commands: use \u0026ldquo;help\u0026rdquo; to see them all. Issue \u0026ldquo;disconnect\u0026rdquo; when you are done, and \u0026ldquo;exit\u0026rdquo; to exit the program.\nThere\u0026rsquo;s also a Python binding made using SWIG: I\u0026rsquo;ve yet to play with it.\nThe libexword developer has also created some GUI tools to mimic the Windows EX-WORD tools (which, it must be noted, work only with the Japanese dictionaries). You can get them at the exword-tools git repo. The procedure for installing them is the same as above (including the modification to configure.ac). You\u0026rsquo;ll need the development headers of wxWidgets, however, as this is a GUI application.\nAfter installing, you can launch ExwordLibrary, ExwordTextLoader and ExwordLibraryInstaller. The latter is required to install new dictionaries, and unfortunately involves getting a Windows executable and placing it under PREFIX/share/exword, where PREFIX is the path you gave to the libexword configure script. This also means you need wine to run it. Once that is done, you can use the library application:\nor the installer to install dictionaries:\nAnd that\u0026rsquo;s all. I hope this has been useful for using your electronic dictionary with Linux!\n","date":"May 1, 2013","externalUrl":null,"permalink":"/2013/05/accessing-casio-ex-word-%E9%9B%BB%E5%AD%90%E8%BE%9E%E6%9B%B8-from-linux/","section":"Posts","summary":"I’m a (happy!) owner of a Casio EX-WORD Dataplus 5 XD-A4700, a Japanese electronic dictionary. Recently I looked into updating the Japanese-English dictionary (currently the Shogakukan PROGRESSIVE dictionary) installed, because it’s not good enough: too often when looking up odd sentences (like the ones in Fate/Extra CCC) I do not find any matches.\nEDICT is adequate, and while I can use it on my phone and tablet, I like the fact that the EX-WORD has a physical keyboard along with the stylus, and a very nice kanji handwriting recognition. After a bit of looking, I found the 5th Edition of the New Kenkyusha dictionary, offered as microSD card, to be what I needed (but a bit pricey, 10,500 yen on Amazon, and that’s heavily discounted!).\n","title":"Accessing Casio EX-WORD 電子辞書 from Linux","type":"post"},{"content":"","date":"May 1, 2013","externalUrl":null,"permalink":"/tags/exword/","section":"Tags","summary":"","title":"Exword","type":"tags"},{"content":"","date":"May 1, 2013","externalUrl":null,"permalink":"/tags/japanese/","section":"Tags","summary":"","title":"Japanese","type":"tags"},{"content":"KDE has released its monthly update for the 4.10 release, and after a brief wait while the Open Build Service worked over the released tarballs, the openSUSE KDE team is pleased to announce the availability of the 4.10.2 release packages for openSUSE 12.2 and 12.3.\nDespite being a minor release, more than 100 bugs were fixed, in particular there were many KDEPIM fixes touching both the low level stack and KMail/KAddressbook/Kontact. Some highlights on the fixed issues:\nIssues creating IMAP folders with KDEPIM (KDE bugs 291143, 292418, 305987)\nIssues with encrypted mails in KDEPIM (KDE bugs 301088, 313478)\nKMail not creating required folders at startup (KDE bug 303117)\nCrashes when using the semantic desktop framework (KDE bug 313478)\nImprovements to CalDAV support in KDEPIM\nAnd this is just a small part of the complete list.\nAs usual, packages live in the KDE:Release:410 (openSUSE 12.3, openSUSE 12.2) repository. You can add the repositories through zypper or YaST.\nThe KDE:Distro:Factory repository has also been updated. If you want to contribute and help KDE packaging in openSUSE, use the KDE:Distro:Factory version, otherwise stick to the KDE:Release:410.\nThe package manager may complain about needing a downgrade of the branding packages: it is harmless, as some packages were splitted and as such they report a lower version number. Just accept the downgrade in the branding packages and all will be well.\nReport bugs in packaging to Novell\u0026rsquo;s Bugzilla, and bugs in the software directly to KDE.\nHave fun with 4.10.2!\n","date":"April 6, 2013","externalUrl":null,"permalink":"/2013/04/kde-platform-workspaces-and-applications-4.10.2-packages-available-for-opensuse/","section":"Posts","summary":"KDE has released its monthly update for the 4.10 release, and after a brief wait while the Open Build Service worked over the released tarballs, the openSUSE KDE team is pleased to announce the availability of the 4.10.2 release packages for openSUSE 12.2 and 12.3.\nDespite being a minor release, more than 100 bugs were fixed, in particular there were many KDEPIM fixes touching both the low level stack and KMail/KAddressbook/Kontact. Some highlights on the fixed issues:\n","title":"KDE Platform, Workspaces and Applications 4.10.2 packages available for openSUSE","type":"post"},{"content":"Hot on the heels of the announcement from KDE, the openSUSE KDE team is happy to announce the availability of packages for the latest stable release of the KDE Platform, Workspaces, and Applications.\nPackages are available in the KDE:Distro:Factory repository (which is where the packages to land in 12.3 are tested) for openSUSE Factory (soon to be 12.3) and openSUSE 12.2 and soon (when the Open Build Systen finishes rebuilding a number of packages) in the KDE:Release:410 repository for openSUSE 12.2 users.\nIf you want to contribute and help KDE packaging in openSUSE, use the KDE:Distro:Factory version, otherwise stick to the KDE:Release:410 repository.\nEnjoy!\n","date":"February 6, 2013","externalUrl":null,"permalink":"/2013/02/kde-platform-workspaces-and-applications-4.10-available-for-opensuse/","section":"Posts","summary":"Hot on the heels of the announcement from KDE, the openSUSE KDE team is happy to announce the availability of packages for the latest stable release of the KDE Platform, Workspaces, and Applications.\nPackages are available in the KDE:Distro:Factory repository (which is where the packages to land in 12.3 are tested) for openSUSE Factory (soon to be 12.3) and openSUSE 12.2 and soon (when the Open Build Systen finishes rebuilding a number of packages) in the KDE:Release:410 repository for openSUSE 12.2 users.\n","title":"KDE Platform, Workspaces and Applications 4.10 available for openSUSE","type":"post"},{"content":"","date":"February 2, 2013","externalUrl":null,"permalink":"/tags/apper/","section":"Tags","summary":"","title":"Apper","type":"tags"},{"content":"During the discussions for the release of openSUSE 12.3, the topic of update notifications and applets was brought up again. Originally openSUSE shipped with a custom update applet, but since it was basically unmaintained, the decision was made to switch to Apper for openSUSE 12.2\nThe original Apper used in that version had a number of issues, which the upstream developer (Daniel Nicoletti) fixed in a newer version, which also had a lot of other improvments. However we originally couldn\u0026rsquo;t switch because it depended on a newer, API-incompatible version of PackageKit, meaning that the PK bindings for libzypp (the heart of openSUSE\u0026rsquo;s package management) needed to be adjusted and ported.\nSo, for a while it was not clear on how to proceed, until at the recent hackathon, Stephan \u0026ldquo;coolo\u0026rdquo; Kulow ported the PK zypp backend to the newer PackageKit version. Once that issue was solved, the KDE team was able to update Apper to the latest version (0.8) and push it to the distribution. So openSUSE 12.3 (KDE) will make use of Apper as main method of notification for updates.\nI would like to stress that Apper is not meant as a full blown replacement of YaST or zypper, but mainly as a way to handle distro and maintenance updates, integrated with the KDE Workspaces.\nThe Apper program is actually divided into two pieces: the main application itself and a plasmoid. We\u0026rsquo;ve been testing the plasmoid the past weeks and consensus is that it\u0026rsquo;s not yet ready to be pushed to users, so only the main application will get installed by default. When you have new updates, an icon will pop in the system tray informing you:\nClicking on it will bring up the main interface, where you can review and select the updates:\nAfterwards, the update process will start.\nOf course, such an addition means that more testing is required, to ensure that outstanding bugs get fixed before the openSUSE 12.3 release. Therefore, if you are willing to test - jump aboard!\n","date":"February 2, 2013","externalUrl":null,"permalink":"/2013/02/package-updates-in-opensuse-12.3-kde/","section":"Posts","summary":"During the discussions for the release of openSUSE 12.3, the topic of update notifications and applets was brought up again. Originally openSUSE shipped with a custom update applet, but since it was basically unmaintained, the decision was made to switch to Apper for openSUSE 12.2\nThe original Apper used in that version had a number of issues, which the upstream developer (Daniel Nicoletti) fixed in a newer version, which also had a lot of other improvments. However we originally couldn’t switch because it depended on a newer, API-incompatible version of PackageKit, meaning that the PK bindings for libzypp (the heart of openSUSE’s package management) needed to be adjusted and ported.\n","title":"Package updates in openSUSE 12.3 KDE","type":"post"},{"content":"","date":"February 2, 2013","externalUrl":null,"permalink":"/tags/testing/","section":"Tags","summary":"","title":"Testing","type":"tags"},{"content":"Following up on the announcement from KDE, the openSUSE KDE team is happy to announce the availability of 4.10 RC3 packages. Remember that they are packages meant for testing and reporting bugs, so that the next release will be as polished as possible.\nYou will find the packages in the KDE:Distro:Factory repository. An updated live media based on the upcoming openSUSE 12.3 (see previous post) is also available (files named KDE4-4.10.RC3) . The openSUSE 12.2 based version is also available (files named KDE Reloaded) at the same address.\nEnjoy!\n","date":"January 19, 2013","externalUrl":null,"permalink":"/2013/01/kde-platform-workspaces-applications-4.10-rc3-opensuse-packages-available/","section":"Posts","summary":"Following up on the announcement from KDE, the openSUSE KDE team is happy to announce the availability of 4.10 RC3 packages. Remember that they are packages meant for testing and reporting bugs, so that the next release will be as polished as possible.\nYou will find the packages in the KDE:Distro:Factory repository. An updated live media based on the upcoming openSUSE 12.3 (see previous post) is also available (files named KDE4-4.10.RC3) . The openSUSE 12.2 based version is also available (files named KDE Reloaded) at the same address.\n","title":"KDE Platform, Workspaces, Applications 4.10 RC3: openSUSE packages available","type":"post"},{"content":"","date":"January 19, 2013","externalUrl":null,"permalink":"/tags/live-media/","section":"Tags","summary":"","title":"Live Media","type":"tags"},{"content":"","date":"January 19, 2013","externalUrl":null,"permalink":"/tags/release-candidate/","section":"Tags","summary":"","title":"Release Candidate","type":"tags"},{"content":"","date":"January 13, 2013","externalUrl":null,"permalink":"/tags/factory/","section":"Tags","summary":"","title":"Factory","type":"tags"},{"content":"Following up on my previous post, a different type of image has been made by the openSUSE KDE community members. In particular, alin has created images sporting the same software from KDE (4.10 RC2) but using the upcoming openSUSE 12.3 as base.\nDownload links:\n32 bit version 64 bit version Release directory (in case the above links go 404; the files are named KDE4-.4.10.RC2-Live) These images are provided not only to test 4.10 in openSUSE, but also to test part of the distribution itself, without touching existing systems. Should you encounter a bug, please report it as follows:\nBugs in KDE software will need to be reported to bugs.kde.org Bugs in openSUSE will need to be reported to bugzilla.novell.com Don\u0026rsquo;t forget that those images are not persistent, i.e. the settings will not be saved between sessions.\nWith that said, let the testing commence (or continue)!\n","date":"January 13, 2013","externalUrl":null,"permalink":"/2013/01/test-the-upcoming-opensuse-12.3-and-kde-workspace-applications-and-platform-4.10-rc2/","section":"Posts","summary":"Following up on my previous post, a different type of image has been made by the openSUSE KDE community members. In particular, alin has created images sporting the same software from KDE (4.10 RC2) but using the upcoming openSUSE 12.3 as base.\nDownload links:\n32 bit version 64 bit version Release directory (in case the above links go 404; the files are named KDE4-.4.10.RC2-Live) These images are provided not only to test 4.10 in openSUSE, but also to test part of the distribution itself, without touching existing systems. Should you encounter a bug, please report it as follows:\n","title":"Test the upcoming openSUSE 12.3 and KDE Workspace, Applications and Platform 4.10 RC2","type":"post"},{"content":"","date":"January 10, 2013","externalUrl":null,"permalink":"/tags/4.10/","section":"Tags","summary":"","title":"4.10","type":"tags"},{"content":"The 4.10 release for the KDE Development Platform, Workspaces and Applications is drawing nigh\u0026hellip; as you may have read, there is now an additional release candidate in order to test some last-minute changes.\nOf course, the KDE developers can only do so much: it\u0026rsquo;s impossible to test all possible combinations. That is, unless the community at large helps by finding and reporting issues the developers can fix. But doing so requires a 4.10 install. You can of course use packages from distributions, but you may not feel comfortable installing a prerelease on your system (and no one would blame you for that). Of course, if you had something to test without touching your own system\u0026hellip;\nAnd that\u0026rsquo;s exactly what you can do now. Alin and shumski from the openSUSE KDE team have generated live images (based on openSUSE 12.2) for USB and DVD offering a standard 4.10 install, which should provide enough to try the new release and be able to report bugs to the developers.\nSome screenshots for the impatient:\nAnd of course, the download links (EDIT: now fixed for good!):\nx86 (32bit) image\nx86_64 (64 bit) image\nIt\u0026rsquo;s more than 650 Mb, so it won\u0026rsquo;t fit on a CD, but it will on an USB stick. Follow these instructions to install them to USB media. You can also burn these images to DVD.\nIf you decide to use it, don\u0026rsquo;t forget to test (see here what\u0026rsquo;s needed) and submit detailed bug reports to the developers.\nLet\u0026rsquo;s make 4.10 rock solid!\n","date":"January 10, 2013","externalUrl":null,"permalink":"/2013/01/kde-workspaces-and-applications-4.10-on-live-images-courtesy-of-opensuse/","section":"Posts","summary":"The 4.10 release for the KDE Development Platform, Workspaces and Applications is drawing nigh… as you may have read, there is now an additional release candidate in order to test some last-minute changes.\nOf course, the KDE developers can only do so much: it’s impossible to test all possible combinations. That is, unless the community at large helps by finding and reporting issues the developers can fix. But doing so requires a 4.10 install. You can of course use packages from distributions, but you may not feel comfortable installing a prerelease on your system (and no one would blame you for that). Of course, if you had something to test without touching your own system…\n","title":"KDE Workspaces and Applications 4.10 on live images courtesy of openSUSE","type":"post"},{"content":"","date":"January 6, 2013","externalUrl":null,"permalink":"/tags/game/","section":"Tags","summary":"","title":"Game","type":"tags"},{"content":"","date":"January 6, 2013","externalUrl":null,"permalink":"/tags/jrpg/","section":"Tags","summary":"","title":"Jrpg","type":"tags"},{"content":" A few days ago I finally completed (after about 3 months) 神次元ゲームネプテューヌV, or \u0026ldquo;Kami Jigen Game Neptune V\u0026rdquo;, the latest instalment from Compile Heart in the Neptune franchise of PS3 games. It took quite a while (approximately 3 months), and I think it\u0026rsquo;s about time to wrap things up.\nBefore we begin # A few may ask about what exactly is this game about: to be rather brief (feel free to consult other sources for more information), it all started as a rather niche title by Compile Heart, a subsidiary of the Japanese game maker Idea Factory. The idea was to parody the \u0026ldquo;console wars\u0026rdquo; that happen between fans of specific gaming systems. The idea chosen by CH was to represent consoles as goddesses (守護女神 or \u0026ldquo;goddess of protection\u0026rdquo;, but read -at least in the first game - as ハード, i.e. \u0026ldquo;hardware\u0026rdquo;). Each of the goddesses ruled a country (hinting quite openly at the system they represent) and even had a church (協会 in Japanese) complete with followers. The goddesses starring in the games were in fact all tied to more or less real projects:\n**Neptune (ruling Planetune), **the main character, is linked to the SEGA Neptune\nNoire (commanding Lastation) is linked to the PS3;\nVert (handling Leanbox) the Xbox360\nBlanc (in care of Lowee) the Wii\nIn addition to these, there are Makers, characters that represent game companies (all Japanese). Everything is set in a fictional world that represents the gaming industry (ゲームギョウ界, Gamegyokai）.\nThe original game (超次元ゲームネプテューヌ, aka \u0026ldquo;Hyper Dimension Game Neptune\u0026rdquo;) was a rather niche title, as I said. Mainly a dungeoun crawler, it had a lot of shortcomings, saved only in part by absurd dialogues and parodies. Despite its evident flaws, its good points were enough to strike the fanbase, and it sold very nicely for Compile Heart (notice, we\u0026rsquo;re not talking about AAA titles sales here, but about tens of thousands). This prompted the development of a sequel, 超次元ゲームネプテューヌｍｋ２, which was, in both graphics and game mechanic, a radical improvement over its predecessor. In addition, mk2 had a huge cast of Makers and introduced the goddess candidates (女神候補生), characters representing portable consoles. In fact, the main character was no longer Neptune, but her sister Nepgear (representing the SEGA Game Gear). Game system wise, it played like a traditional jRPG this time, and the story was a little more serious, although with many comical moments. It wasn\u0026rsquo;t flawless, but a definite improvement over the original. Also an important difference was that unlike the predecessor, character portraits were drawn using 3D rather than 2D.\nEarly last year, Compile Heart announced a new title in the franchise, that is the Neptune V we\u0026rsquo;re talking about in this post, where the \u0026ldquo;dimension\u0026rdquo; in the title shifted from \u0026ldquo;hyper dimension\u0026rdquo; to \u0026ldquo;divine dimension\u0026rdquo; (神次元). CH promised changes to address criticisms moved to the original, including the return of 2D portraits (AAS, or Active Animation System) and adjustments to the game mechanics. Last but not least, Neptune was to be the main character again.\nAnd it\u0026rsquo;s about this game we\u0026rsquo;ll talk about. As I\u0026rsquo;m mostly writing a run-down of the game, more details like the story, the characters, the game system and what else are to be found in this post. And with that settled, let\u0026rsquo;s get over with the review.\nA brief recap of the main story # A few years after Mk2\u0026rsquo;s story. The goddesses are enjoying a totally peaceful life. But one day, due to a certain event, Neptune ends up thrown in another dimension. She has landed in the Gamegyokai of G.C (Gamegyokai history) 1989. The world is somehow different from the G.C. 2012 one. Also, the mysterious organization \u0026ldquo;The Seven Sages\u0026rdquo; shows itself. A crisis of this new world in front of Neptune? Will be she able to return to her own era safely?\nStory # Neptune V has been marked as return to the roots of the original, but I wouldn\u0026rsquo;t go and say something like this. The original was very disjointed, events weren\u0026rsquo;t in order most of the time and the flow of the game suffered as a result. Mk2 had a more tight storytelling and a coherent plot. People didn\u0026rsquo;t like it that much, but I personally feel that while not absurd as the original, it was definitely a step up. So, how does V\u0026rsquo;s plot fit in these two extremes?\nThe main story is full of wacky moments, wall breaking events and so on. However the story has a definite direction and almost never loses it during the course of the game. The true end route (out of 3 available) manages to pick up all the questions in the story and answers them in a decent fashion. I was kind of worried a couple of events I witnessed would have not been referenced again, but they actually did.\nThere isn\u0026rsquo;t a single theme in the story. In Mk2\u0026rsquo;s piracy was the strong underlying message, but here there\u0026rsquo;s nothing similar in Neptune V. Console war gets mentioned but just as verbal infighting between characters. Basically V is its own thing.\nAs for the ending itself, It brings closure to the whole story, but may feel anticlimatic after what has happened before. However I believe it\u0026rsquo;s intentional (Neptune later laments that even being the main character in the end she didn\u0026rsquo;t manage to much - and that remark springs another wacky conversation). While objectively can be considered a good ending, from a purely personal point of view I prefer Mk2\u0026rsquo;s True Ending. As a minor complaints, a couple developments in the story feel forced, like a plot device. The characters, despite being archetypes, have sufficient depth. Most conversations are hilarious, especially when Noire\u0026rsquo;s around (and Asami Imai does a wonderful job - but more on the voice actors later).\nSame with the Seven Sages, they\u0026rsquo;re sufficiently present to appear as something more than cardboard boxes. However the game at a certain point mismanages the behavior of some them, and there are a couple of puzzling developments that are in contrast with what happened in the game up to that point (mostly deal with Anonedeath and Akudaijn). Nothing really big, but it rubbed me the wrong way.\nRei doesn\u0026rsquo;t take the center stage till the later chapters, but once she appears more she\u0026rsquo;s surely interesting, especially after certain events and the optional events required for the True End.\nThe candidates are present but just in the beginning, in a couple side events (and Nepstation ones) and in the true end path. While not exactly a big presence, they feel inside a story more than needless addition. The lack of maker characters in the story may be a disappointment, but it\u0026rsquo;s clear the story wasn\u0026rsquo;t built around them - you don\u0026rsquo;t feel their presence missing. Personally I was displeased by the lack of the popes save Histoire, but it\u0026rsquo;s a minor complaint.\nOverall, the story is good, is fun and lasts more than enough. Can\u0026rsquo;t really complain.\nCharacters # Much discussion went around how different the goddesses from GC 1989 are from GC 2012. Well, in the end the goddesses of GC 1989 are different from the GC 2012 counterparts, from subtle differences to drastic changes in behavior. They\u0026rsquo;re generally likable, though I assume some of the fans of particular characters may be disappointed. Let\u0026rsquo;s have a rundown:\nNeptune - Well, not much to say about her. Wacky, mad, \u0026ldquo;The main character\u0026rdquo; (主人公) as she keeps reminding the audience, a source of trouble;\nPururut - The first new addition to the cast, I believe this will polarize the audience, especially with her Iris Heart persona. I think she\u0026rsquo;s funny, and the recurring gags with Iris Heart really work, in my opinion. She also has a couple surprising good moments, that people wouldn\u0026rsquo;t expect out of her;\nNoire - Less Tsundere and more Tsukkomi. GC1989 Noire can be summed up like this. She\u0026rsquo;s really fun to watch her desperate attempts to keep the situation under control or fighting to have Pururut\u0026rsquo;s attention as a friend with other characters. Her most memorable quotes come from exchanges with Neptune and Pururut;\nBlanc - Her behavior has a lot of differences from her 2012 counterpart. Gone is her interest in books, and she\u0026rsquo;s definitely a less of a shut-in. She still has a short temper and in goddess talk she really trash talks as usual. She likes to pick on Noire and other characters when she notices the flaws in their reasoning; Vert - She probably the one that is most similar to the original Gamegyokai counterpart. The differences are present but are more subtle.\nHistoire - She has a different purpose for exsisting than the pope of Planetune (play the game and find out why). Her usual \u0026ldquo;three\u0026hellip;\u0026rdquo; gag is used only once or twice, as it\u0026rsquo;s replaced with other recurring gags. Compared to the original Isun, she lacks a bit the will to make the lazy goddesses that inhabit the church (aka Neptune and Pururut) work;\nPish - The other new character. She provides mostly comedic relief and she\u0026rsquo;s more present from the Good and True End routes. She\u0026rsquo;s fun to watch, but someone may find her way of acting annoying. She obviously represents the PC Engine, no matter what other people say;\nNepgear - The description on the character page on the official site about her being demoted and treated badly by almost everyone has generated a lot of misunderstandings. In the end, it\u0026rsquo;s not as bad as it seems. There are a few recurring gags about her, but she\u0026rsquo;s no different from the other characters in the end. Even her supposed lack of self-confidence is nowhere to be seen (maybe in one case), and in several scenes she shows the same determination she gained in Mk2;\nIF \u0026amp; Compa - As I previously mentioned, Compa stays pretty much the same, but IF\u0026rsquo;s been really downgraded: instead of the volitive, often sarcastic person from the original and mk2, her personality is kind of weak-willed, something I really disliked. They\u0026rsquo;re just side characters, so their impact is limited, though; Uni - I mention the candidates because they\u0026rsquo;re still present, despite their limited \u0026ldquo;screentime\u0026rdquo;. Uni retains her extreme tsundere tendencies, as usual aimed at Nepgear. There are a couple amusing moments with her and Noire in the True End, but I won\u0026rsquo;t spoil them. What\u0026rsquo;s interesting to note is that Eri Kitamura almost radically changed Black Sister\u0026rsquo;s way of speech compared to Mk2. I think the change was for the better, too bad she doesn\u0026rsquo;t appear that often;\nRom - She\u0026rsquo;s the usual introvert self, though the development that occurred at the end of Mk2 remains. She tends to have more fun with Ram than usual (and later with other characters);\nRam - Compared to Mk2 she tends to play more pranks but she\u0026rsquo;s still very protective of Rom. there are a couple scenes with them that make little sense, but they\u0026rsquo;re too short to have any meaningful impact.\nGameplay # The system is a modified version of the Mk2\u0026rsquo;s battle system. AP are gone, SP are treated like MP, and so on. It works for the average player, and that\u0026rsquo;s what is most important, but it should be noted it\u0026rsquo;s easily exploitable for the more experienced players. The Combo system works decently, without offering too many options like in the original game.\nThe change of the goddess transformation (eating a chunk of your SP and lasting for the whole battle or until you explicitly cancel it) is a good balance between the original and Mk2, and the fact that in most battles the party starts already in goddess form is a welcome addition.\nThe Kenbusha/Observer/Scout system is somewhat promising but still needs a bit more refining: the only way to make time pass is to enter and exit dungeon, an unnecessary hurdle. Also the results are somewhat too random, especially when the player is aiming for a precise objective. The Flag system is underutilized, since its most prominent feature is to change the strong monsters that roam the dungeons, and it\u0026rsquo;s probably the way it\u0026rsquo;ll be used by the majority of the players.\nThe Jump feature\u0026hellip;is pretty much useless. Save a couple times, it has no uses save for the character challenges.\nAnother underutilized feature is the Disc Make System. It\u0026rsquo;s optional, and may completely missed unless gaining at least a rank in the Guild. It\u0026rsquo;s a pity, as the system offers another layer of customization of the characters, and that proves extremely useful later in the game.\nThe Processor Parts continue to show the problem that was present since the beginning of the game: it\u0026rsquo;s impossible to compare the entire set statistics with another set, unless someone writes them down. That limits a lot their usefulness, so they\u0026rsquo;ll probably get ignored again.\nItem synthesis plays a much bigger role than in Mk2. Most of the items are available only as blueprints (either bought, obtained via bosses/events or dungeons) and aren\u0026rsquo;t available in shops until they\u0026rsquo;ve been created at least once. Therefore it\u0026rsquo;s essential to scout for the items needed, especially since most monsters in the game inflict some kind of status ailments or status down. Save for the most rare stuff, it\u0026rsquo;s not really a chore. The game is definitely more challenging than Mk2, but I wouldn\u0026rsquo;t say it\u0026rsquo;s extremely hard, if you know what you\u0026rsquo;re doing. Sometimes a little grinding is required, but nothing big.\nThe EXE DRIVE system works and in general the removal of AP translates in a bigger use of skills than before. There are useful and not-so-useful ones, but it\u0026rsquo;s another choice in the hands of the players, so I think the overall result is positive. The Lily Rank and share systems are completely optional now, though using them to get bigger advantages in battle is always welcome. Shares tends to shuffle a lot of story reasons, so it\u0026rsquo;s important to keep them in check.\nMost of the flaws in the gameplay are nothing to scream about, but the lack of more save points inside the story sequences is one. Given their length (some can be over 40 minutes long!) it would have been a better idea to add mid-save prompts. The overall judgement on the gameplay is that even with some flaws, it\u0026rsquo;s generally enjoyable. Certain parts needed more polish for sure, but in general it\u0026rsquo;s encouraging to see how much Compile Heart is progressing, despite V not being as a big leap as Mk2 was.\nGraphics, Music, Voice Acting # Compile Heart boasted about the character graphics being closer to Tsunako\u0026rsquo;s (the original character designer) artwork, and that\u0026rsquo;s true, to an exent. They\u0026rsquo;re better animated and definitely more detailed than before. The frame rate though is still somewhat incosistent, and sometimes it\u0026rsquo;ll appear as the characters skip a few frames of animation. The EXE DRIVE and more powerful skill animations are instead well done and don\u0026rsquo;t suffer the problems of the normal battle/dungeon exploring.\nThe dungeons are definitely bigger than Mk2, which is certainly a relief, and they\u0026rsquo;re even more varied than the endless tunnels of the original. There are a little more variations on the themes, but the main issue for dungeons is that basic map of each time gets reused a bit too much with minimal variation, to the point most of the dungeons look a little too similar to each other. What\u0026rsquo;s worse, a couple themes are almost completely optional and may not even seen by the player unless they\u0026rsquo;re discovered via Kenbusha.\nEnemy recycling (which is in generally common to most JRPGs) occurs as well, clearly a cost-cutting measure, especially against strongest enemies (you can spot Warechuu, Trick, and Judge from mk2, among others). It\u0026rsquo;s somewhat annoying but there\u0026rsquo;s little that can be done, considering how tight Compile Heart\u0026rsquo;s budget is (and also they\u0026rsquo;re no Gust regarding engine manipulation).\nThe AAS system returns due to popular demand. The portraits are bigger, better animated but the transitions between them are still jarring due to lack of \u0026ldquo;inbetween\u0026rdquo; animation. More puzzling is the lack of certain AAS portraits, later addressed in DLC-only events. Still, I think they could have done better than this.\nMusic wise we have a lot of contributors and the overall result is better than expected. Most of the tunes are catchy and/or fit the situation well. The boss music are good as well. There\u0026rsquo;s still a few recycling here and there, but in general there\u0026rsquo;s nothing to complain about the music. It may not be Falcom Sound Team JDK quality, but it\u0026rsquo;s still good.\nThe voice acting is one of the strongest point of the franchise and it shows. The overall performance is pretty much excellent, in particular I point out Asami Imai\u0026rsquo;s performance as Noire and Rie Tanaka as Neptune. Other notable mentions are of course Yui Horie (Nepgear), Eri Kitamura (Uni), Kana Ueda (IF) and all the other voice actresses.\nAoi \u0026ldquo;Madoka Kaname\u0026rdquo; Yuuki joins the franchise as Pish, and she offers a good performance overall, though her Yellow Heart performance reminded me quite a bit of Senki Zessho Symphogear\u0026rsquo;s Hibiki Tachibana.\nKana Hanazawa feels natural as the sleepyhead, plushses-lover Purut and the her completely different counterpart Iris Heart.\nThe male cast (mostly Akudaijin and Anonedeath) perform admirably as well.\nDLC # The DLC for Neptune V has generated quite a bit of controversy: the currently released characters are just 3, IF and Compa as kids, and 初代コンパ　(aka \u0026ldquo;First generation Compa\u0026rdquo;, a Maker representing the original Compile company). Their presence even caused inconsistencies with the story (IF and Compa) and originally all three were not affected by the level caps upgrade offered by CH (they were locked at level 99 maximum). This has been later rectified by a free update, so I think the problem is solved. There are also a number of available events and items: the general quality goes from the useful, to the amusing, to the absolutely useless. As usual, I recommend people to read descriptions, check around for impressions and think well before purchasing something they may regret.\nThe extra events and dungeons are unvoiced, which is a shame. Remains to be seen what will happen with the new maker characters, scheduled to be released mid-January.\nIn general DLC for V has been hit or miss, we\u0026rsquo;ll see what happens with the Makers.\nClosing comments # Neptune V, while not being as \u0026ldquo;revolutionary\u0026rdquo; as Mk2, manages to improve the formula without being stale. The story is funny, the characters are likeable, and the gameplay is sufficiently good to provide an enjoyable experience. Therefore, I say it\u0026rsquo;s a recommended choice for the fan of the franchise.\nAs a mark my review is 8 out of 10. Highly recommended.\n","date":"January 6, 2013","externalUrl":null,"permalink":"/2013/01/just-finished-kami-jigen-game-neptune-v/","section":"Posts","summary":" A few days ago I finally completed (after about 3 months) 神次元ゲームネプテューヌV, or “Kami Jigen Game Neptune V”, the latest instalment from Compile Heart in the Neptune franchise of PS3 games. It took quite a while (approximately 3 months), and I think it’s about time to wrap things up.\n","title":"Just finished - Kami Jigen Game Neptune V","type":"post"},{"content":"","date":"January 6, 2013","externalUrl":null,"permalink":"/tags/neptune/","section":"Tags","summary":"","title":"Neptune","type":"tags"},{"content":"","date":"December 27, 2012","externalUrl":null,"permalink":"/tags/kscreen/","section":"Tags","summary":"","title":"Kscreen","type":"tags"},{"content":"","date":"December 27, 2012","externalUrl":null,"permalink":"/tags/monitors/","section":"Tags","summary":"","title":"Monitors","type":"tags"},{"content":"Yesterday Alex Fiestas showed on his blog a video of a recent development version of the KScreen library, created to handle easily multiple monitor setups in KDE, almost in an \u0026ldquo;automagic\u0026rdquo; way. As this is a project where configurations and setups are highly heterogeneous, a lot of testing is required to ensure things work reliably.\nOf course, you cannot ask a developer to have all sorts of screen combinations, but remember one of the strengths of FOSS: \u0026ldquo;many eyes make bugs shallow\u0026rdquo;. And that\u0026rsquo;s why the KDE team prepared testing packages for KScreen for openSUSE users.\nBefore you jump to the repository, bear in mind that these packages are for testing and bug reporting purposes. They can potentially cause unwanted effects, connect your displays to some random alien homeland, make your house blow up, and so on.\nIf you are still daring, you can find them in the KDE:Unstable:Playground repository. Install both the libkscreen and kscreen packages, and you\u0026rsquo;ll see a new entry in System Settings when you go to the monitor configuration control panel.\nMake sure you report all bugs (along with detailed information on monitor setups etc) to bugs.kde.org.\nLet the testing commence!\n","date":"December 27, 2012","externalUrl":null,"permalink":"/2012/12/testing-kscreen-packages-available-for-opensuse/","section":"Posts","summary":"Yesterday Alex Fiestas showed on his blog a video of a recent development version of the KScreen library, created to handle easily multiple monitor setups in KDE, almost in an “automagic” way. As this is a project where configurations and setups are highly heterogeneous, a lot of testing is required to ensure things work reliably.\nOf course, you cannot ask a developer to have all sorts of screen combinations, but remember one of the strengths of FOSS: “many eyes make bugs shallow”. And that’s why the KDE team prepared testing packages for KScreen for openSUSE users.\n","title":"Testing KScreen packages available for openSUSE","type":"post"},{"content":"openSUSE is migrating to the use of systemd for the upcoming 12.3 version, given the difficulties that emerged in trying to co-maintain two different init systems (SysV + systemd). While I am not going into the details of this choice (I leave this to more informed people), this has some consequences for software higher in the stack.\nAs ConsoleKit is deprecated, systemd offers its own daemon to keep track of sessions and assigned seats in a system. However, the KDE Workspaces rely on ConsoleKit to handle user switching, reboot, shutdown and a lot of ther things. Removing ConsoleKit would mean that users would suffer feature loss. On the other hand, with something that\u0026rsquo;s been deprecated and no longer actively worked on, you have issues with maintenance.\nThe solution the openSUSE KDE team took was to introduce support for systemd in the KDE Workspaces (this was mainly done by Raymond \u0026ldquo;tittiatcoke\u0026rdquo; Wooninck). The task was much easier than it seemed at first, because Red Hat people have already made patches to support systemd in Fedora. The part from the KDE team was to take these patches, test them for a few months (I\u0026rsquo;ve been running them smoothly for quite a while, along with others in the group), then apply them to the packages for the next version of the distribution. We\u0026rsquo;re currently testing a patch from Fedora that allows either ConsoleKit or systemd support runtime, without needing a compile-time dependency. Once sufficient data are available, it will be pushed to the distro packages.\nOther patches were directly pushed upstream by Red Hat engineers, and include a better interaction between the workspaces\u0026rsquo; power management infrastructure and systemd itself.\nIn short, the next version of openSUSE (12.3) should be fully capable of handling systemd. Of course, to ensure it\u0026rsquo;s as bug free as possible it requires testing, so why don\u0026rsquo;t you jump into the fray and share your experience with us?\n","date":"December 15, 2012","externalUrl":null,"permalink":"/2012/12/systemd-and-kde-workspaces-in-opensuse-12.3/","section":"Posts","summary":"openSUSE is migrating to the use of systemd for the upcoming 12.3 version, given the difficulties that emerged in trying to co-maintain two different init systems (SysV + systemd). While I am not going into the details of this choice (I leave this to more informed people), this has some consequences for software higher in the stack.\nAs ConsoleKit is deprecated, systemd offers its own daemon to keep track of sessions and assigned seats in a system. However, the KDE Workspaces rely on ConsoleKit to handle user switching, reboot, shutdown and a lot of ther things. Removing ConsoleKit would mean that users would suffer feature loss. On the other hand, with something that’s been deprecated and no longer actively worked on, you have issues with maintenance.\n","title":"Systemd and KDE Workspaces in openSUSE 12.3","type":"post"},{"content":"The KDE community has just released Beta 2 of the upcoming 4.10 release of the Development Platform, Workspaces, and Applications. Of course, distributions are providing binary packages for the adventurous\u0026hellip; and how could the green distro be left out?\nIn fact, it is not. Beta 2 packages were uploaded and built in the KDE:Distro:Factory repository. Updated packages have also been submitted to the development version of openSUSE (Factory) as the ultimate goal is having 4.10 in openSUSE 12.3.\nBefore attempting to install them, be aware that:\nThis release is mostly aimed at contributors and testers to ensure that the final version is as polished as possible\nYou should expect bugs of all forms and kinds\nIt is not officially supported by openSUSE\nIf you understand all of the above, add KDE:Distro:Factory from YaST or zypper (see the link above; in case of zypper, use zypper ar -f \u0026lt;linktorepo\u0026gt; \u0026lt;reponame\u0026gt;), then trigger an upgrade using your method of choice (in the case of zypper, zypper dup --from \u0026lt;reponame\u0026gt;; don\u0026rsquo;t forget the --from!).\nIn case you find something that is not working and you are not sure, try posting your impressions in this special area at the KDE Community Forums, and afterwards file a bug on bugs.kde.org (as detailed as possible). Feel free to report packaging errors (not bugs in the software) on the opensuse-kde mailing list or on IRC (#opensuse-kde on Freenode).\nHappy testing!\n","date":"December 4, 2012","externalUrl":null,"permalink":"/2012/12/4.10-beta-2-packages-available-for-opensuse/","section":"Posts","summary":"The KDE community has just released Beta 2 of the upcoming 4.10 release of the Development Platform, Workspaces, and Applications. Of course, distributions are providing binary packages for the adventurous… and how could the green distro be left out?\nIn fact, it is not. Beta 2 packages were uploaded and built in the KDE:Distro:Factory repository. Updated packages have also been submitted to the development version of openSUSE (Factory) as the ultimate goal is having 4.10 in openSUSE 12.3.\n","title":"4.10 Beta 2 packages available for openSUSE","type":"post"},{"content":"When I\u0026rsquo;m not on forum duty or handling openSUSE-related contributions, I try to improve my code contributions to KDE, even though I\u0026rsquo;m by no means an experienced programmer (I program all day long in Python, but I\u0026rsquo;m still a biologist after all). For the upcoming 4.10 release I\u0026rsquo;ve been polishing up Python 3 support.\nAs you may know, Python 3 isn\u0026rsquo;t the standard in many distributions (Arch Linux excluded), but despite the slow start, it is slowly gaining steam. PyKDE4 was built keeping in mind Python 3 support, so theoretically we supported it right from the start.\nWhen I wanted to package PyKDE4 for Python 3 in openSUSE, I stumbled upon some quirks: the CMake build system was not finding Python 3 properly. After some investigation, I noticed that the Python macros responsible for finding the Python library had some assumptions that worked fine for Python 2, but not for Python 3 (a lot of distributions name libypthon3 with a suffix, like mu). Since 4.10 was bumping the minimum required CMake version to 2.8.8, I moved in and rewrote the macros making use of the new functionality offered by upstream CMake (with a big help from Rolf Eike Beer).\nAs I worked more on PyKDE4, I hit a second snag: i18n() calls were chocking on Unicode. As QString is Unicode-aware, that was really difficult to debug. The root cause was actually a SNAFU of my own caused by swapping lines, and will be fixed in 4.9.4 and 4.10.\nLastly, I got word that Kate\u0026rsquo;s Pate was not building on Python 3. This caused a huge back and forth of mails and IRC conversations between me and Pate\u0026rsquo;s developer, Shaheed Haque. I initially fixed building with a very crude patch, which Shaheed improved afterwards. Then the product built under Python 3.3, but kept on crashing. After some debugging, two different issues were found (module not found when imported, and string conversions). With those fixed, Pate would load in Kate but crash when any plugin documentation was loaded. A few more rounds of discussion and commits, and I\u0026rsquo;m happy to report that everything works as intended!\nIn short, 4.10 should be a good release for Python 3 users. I have some ideas for 4.11 as well: time will tell if I get around to doing them.\n","date":"December 2, 2012","externalUrl":null,"permalink":"/2012/12/making-kde-applications-python-3-friendly/","section":"Posts","summary":"When I’m not on forum duty or handling openSUSE-related contributions, I try to improve my code contributions to KDE, even though I’m by no means an experienced programmer (I program all day long in Python, but I’m still a biologist after all). For the upcoming 4.10 release I’ve been polishing up Python 3 support.\nAs you may know, Python 3 isn’t the standard in many distributions (Arch Linux excluded), but despite the slow start, it is slowly gaining steam. PyKDE4 was built keeping in mind Python 3 support, so theoretically we supported it right from the start.\n","title":"Making KDE applications Python 3 friendly","type":"post"},{"content":"","date":"December 2, 2012","externalUrl":null,"permalink":"/tags/pykde/","section":"Tags","summary":"","title":"Pykde","type":"tags"},{"content":"","date":"December 2, 2012","externalUrl":null,"permalink":"/tags/python/","section":"Tags","summary":"","title":"Python","type":"tags"},{"content":"Following up my earlier post, the new openSUSE 12.3 theme has finally landed into the official openSUSE repositories and will be part of the upcoming 12.3. A lot of work has gone into the new theme since I last posted about it, so this post will show how things look at the moment.\nA few caveats:\nThe theme targets the 4.10 release of the KDE Workspaces, so it may be not be perfect under 4.9;\nThe default wallpaper has not been chosen yet.\nWithout further ado, let\u0026rsquo;s get down to seeing what\u0026rsquo;s improved.\n[caption id=\u0026ldquo;attachment_1030\u0026rdquo; align=\u0026ldquo;aligncenter\u0026rdquo; width=\u0026ldquo;584\u0026rdquo;] Desktop view[/caption]\n[caption id=\u0026ldquo;attachment_1032\u0026rdquo; align=\u0026ldquo;aligncenter\u0026rdquo; width=\u0026ldquo;584\u0026rdquo;] Desktop with System Settings and Dolphin[/caption]\n[caption id=\u0026ldquo;attachment_1026\u0026rdquo; align=\u0026ldquo;aligncenter\u0026rdquo; width=\u0026ldquo;584\u0026rdquo;] Notifications and system tray[/caption]\n[caption id=\u0026ldquo;attachment_1031\u0026rdquo; align=\u0026ldquo;aligncenter\u0026rdquo; width=\u0026ldquo;300\u0026rdquo;] Dolphin with the new theme[/caption]\n[caption id=\u0026ldquo;attachment_1027\u0026rdquo; align=\u0026ldquo;aligncenter\u0026rdquo; width=\u0026ldquo;584\u0026rdquo;] Add widgets controller[/caption]\nOf course feedback is always appreciated: there\u0026rsquo;s still time until openSUSE 12.3 ships, so be sure to let us know what can be changed so we can make this a truly awesome visual experience for openSUSE KDE users.\n","date":"November 25, 2012","externalUrl":null,"permalink":"/2012/11/new-theme-for-kde-opensuse-12.3-is-now-in/","section":"Posts","summary":"Following up my earlier post, the new openSUSE 12.3 theme has finally landed into the official openSUSE repositories and will be part of the upcoming 12.3. A lot of work has gone into the new theme since I last posted about it, so this post will show how things look at the moment.\nA few caveats:\nThe theme targets the 4.10 release of the KDE Workspaces, so it may be not be perfect under 4.9;\nThe default wallpaper has not been chosen yet.\nWithout further ado, let’s get down to seeing what’s improved.\n","title":"New theme for KDE openSUSE 12.3 is now in!","type":"post"},{"content":"","date":"November 25, 2012","externalUrl":null,"permalink":"/tags/theme/","section":"Tags","summary":"","title":"Theme","type":"tags"},{"content":"","date":"November 12, 2012","externalUrl":null,"permalink":"/tags/bugs/","section":"Tags","summary":"","title":"Bugs","type":"tags"},{"content":"Like everything, openSUSE is not perfect. Bugs crop here and there, or there is missing / quirky functionality that users may run into. Being a distribution of heterogeneous software, this means that bugs fall into these categories:\nUpstream bugs in the software shipped by openSUSE\nBugs in the packaging\nBugs in distribution-specific setups or that derive from interactions with these setups (e.g. kernel, low level software stack, etc.)\nTo improve the distribution and to act like good FOSS citizens, distribution bugs need to be divided from upstream bugs: the former need to be properly fixed by openSUSE, the latter need to be communicated upstream so that everyone would benefit when they are fixed, including our favorite green distro.\nAlso, when dealing with bugs, one also runs into bugs that are invalid (local errors, for example), duplicated reports, or already fixed in newer versions.\nSo, how do we start improving openSUSE, and in particular the KDE part of openSUSE (since that\u0026rsquo;s what we\u0026rsquo;re talking about), from the current situation? An effective method is to triage open bug reports, verifying if they can be reproduced, reporting upstream bugs in the appropriate place, and closing off duplicate reports.\nAnd to this aim, we will have a bug squashing session on 15th and 16th November, where you can help with reducing the number of KDE bugreports reported for openSUSE (and we for sure have more than enough of those). If you would like to help KDE in openSUSE, feel free to join.\nThere are no special technical knowledge requirements except for basics like being able to use the Bugzilla interface at http://bugzilla.novell.com. Having a recent KDE version installed is recommended (use either KDE:Release:49, KDE:Distro:Factory or KDE:Unstable:SC).\nOn the wiki page at http://en.opensuse.org/openSUSE:Bug_Squashing_KDE we tried to sum up everything relevant (comment and corrections welcome). Please make sure you read the bug screening guidelines at http://en.opensuse.org/openSUSE:Bug_Screening_KDE too.\nIf you want to help, hop during those days on the #opensuse-kde IRC channel on the Freenode network.\nHappy bug hunting!\n","date":"November 12, 2012","externalUrl":null,"permalink":"/2012/11/opensuse-kde-bug-squashing-days/","section":"Posts","summary":"Like everything, openSUSE is not perfect. Bugs crop here and there, or there is missing / quirky functionality that users may run into. Being a distribution of heterogeneous software, this means that bugs fall into these categories:\nUpstream bugs in the software shipped by openSUSE\nBugs in the packaging\nBugs in distribution-specific setups or that derive from interactions with these setups (e.g. kernel, low level software stack, etc.)\nTo improve the distribution and to act like good FOSS citizens, distribution bugs need to be divided from upstream bugs: the former need to be properly fixed by openSUSE, the latter need to be communicated upstream so that everyone would benefit when they are fixed, including our favorite green distro.\n","title":"openSUSE KDE Bug Squashing Days","type":"post"},{"content":"Although the release of openSUSE 12.3 is yet to come, the people of the openSUSE community contributing to KDE are already at work to bring the best possible KDE experience for the new release.\nOne of the changes that started off already is the development of a new Plasma theme and color scheme. Based on the original Produkt theme, it has been adapted to be better integrated with openSUSE\u0026rsquo;s customary green:\n[caption id=\u0026ldquo;attachment_1003\u0026rdquo; align=\u0026ldquo;aligncenter\u0026rdquo; width=\u0026ldquo;300\u0026rdquo;] Widget view[/caption]\nAside from general changes, theming has also been extended to the new logout dialog from the next release of the KDE Workspace (4.10) which will be in openSUSE, and to the logout screen:\n[caption id=\u0026ldquo;attachment_1002\u0026rdquo; align=\u0026ldquo;aligncenter\u0026rdquo; width=\u0026ldquo;200\u0026rdquo;] Lock dialog[/caption]\n[caption id=\u0026ldquo;attachment_1001\u0026rdquo; align=\u0026ldquo;aligncenter\u0026rdquo; width=\u0026ldquo;200\u0026rdquo;] Logout dialog[/caption]\nLast but not least, the theme extends to the alt-F2 launcher (KRunner) and to the system tray (shown is the new QML system tray from Plasma Workspace 4.10):\n[caption id=\u0026ldquo;attachment_1006\u0026rdquo; align=\u0026ldquo;aligncenter\u0026rdquo; width=\u0026ldquo;175\u0026rdquo;] System tray[/caption]\n[caption id=\u0026ldquo;attachment_1005\u0026rdquo; align=\u0026ldquo;aligncenter\u0026rdquo; width=\u0026ldquo;253\u0026rdquo;] KRunner view[/caption]\nDon\u0026rsquo;t forget that everything is a work in progress.\nThis theme is the result of the hard work of the following people:\nshumski\nRaymond \u0026ldquo;tittiatcoke\u0026rdquo; Wooninck\nAlin M Elena\nThanks also go to Melissa Adkins for reviewing the theme from a graphics design point of view.\n","date":"October 28, 2012","externalUrl":null,"permalink":"/2012/10/whats-cooking-for-kde-in-opensuse-12.3-theming/","section":"Posts","summary":"Although the release of openSUSE 12.3 is yet to come, the people of the openSUSE community contributing to KDE are already at work to bring the best possible KDE experience for the new release.\n","title":"What's cooking for KDE in openSUSE 12.3 - theming","type":"post"},{"content":"","date":"September 29, 2012","externalUrl":null,"permalink":"/tags/activities/","section":"Tags","summary":"","title":"Activities","type":"tags"},{"content":"As others, bigger members in the KDE community say, \u0026ldquo;nobody will do it for you, and therefore they will\u0026rdquo;. The patch from the title comes from such a story.\nLet\u0026rsquo;s give some background first: I\u0026rsquo;m really a heavy activity user, especially when working. My home PC has about five activities, my work one 3, and I managed to compartimentalize the various \u0026ldquo;topics\u0026rdquo; that each activity does pretty well.\nAfter an update a couple of weeks ago from the latest code from KDE git, I started noticing weird behavior. Activities would not start when stopped, and there was no way of getting an application on a single activity. As I had set up KWin rules, that made things even worse.\nLike many KDE users before me, I found myself in front of a bug.\nWe got a problem\u0026hellip; what to do? # What to do, indeed? First of all, I opened a bug report. There\u0026rsquo;s no way a KDE developer can find a bug if it occurs only to me if I don\u0026rsquo;t tell him/her. And since emails and IRC communication tend to get lost, it\u0026rsquo;s always better to use the bug tracker. However, my initial report was very sloppy, as I didn\u0026rsquo;t know what was the cause. There was no way it could be useful for Ivan (the kactivities library\u0026rsquo;s developer).\nHunting the beast # So first, I tried to investigate more about the conditions of the bug. What would trigger it? Why sometimes it seemed not to appear? I tracked it down to KWin\u0026rsquo;s handling of activities: setting up fresh activities meant that they worked, but only if it was restarted. I thought about pinging Martin, KWin\u0026rsquo;s maintainer, but I was not sure it was the right cause. As the bug made my activity usage worthless, I had two options: put up with it, or do some of the dirty work myself.\nI chose the latter.\nI have been learning C++, and while I\u0026rsquo;m not even close to being able to do something in Qt/KDE, it was enough for me to plant some debug information in KWin and in kactivitymanagerd, the activity manager daemon. After about two hours of tests and recompiles (remember, I\u0026rsquo;m quite inexperienced!) I found that KWin was not getting the lists of activities correctly from kactivitymanagerd.\nBut it was working before, wasn\u0026rsquo;t it? Exactly when, though? In that moment, I remembered that git offered a tool that would help me: git bisect. About thirty minutes later I found the commit causing the regression I was seeing. I then added all the information to the bug report. Not content, I also asked a few other people to reproduce it.\nThe solution # One of these was Aaron himself, who confirmed the issue and then brought it up to Ivan\u0026rsquo;s attention. With the information he had, he was able to find the cause and commit a possible fix to KDE\u0026rsquo;s git repository.\nSo what\u0026rsquo;s the conclusion of this? I doubt this would have happened without actually doing some of the dirty work myself. This does not mean you really need to go to these lengths when doing a bug report, but when you encounter one, try to give as much as information as possible: as you could see, my initial hypothesis of KWin being the culprit was not correct. If you file detailed bug reports, not only the developers will be able to fix the bugs faster, but it will also make their lives considerably better.\nFOSS is all about collaboration and sharing: sharing my time to investigate an issue and helping the developer fix it made the software better for those that will use it tomorrow, or in the next version. And this is also possible thanks to the strength of the KDE community.\n","date":"September 29, 2012","externalUrl":null,"permalink":"/2012/09/another-story-of-a-patch-or-of-bugs-investigation-and-fixing/","section":"Posts","summary":"As others, bigger members in the KDE community say, “nobody will do it for you, and therefore they will”. The patch from the title comes from such a story.\nLet’s give some background first: I’m really a heavy activity user, especially when working. My home PC has about five activities, my work one 3, and I managed to compartimentalize the various “topics” that each activity does pretty well.\nAfter an update a couple of weeks ago from the latest code from KDE git, I started noticing weird behavior. Activities would not start when stopped, and there was no way of getting an application on a single activity. As I had set up KWin rules, that made things even worse.\n","title":"Another story of a patch, or of bugs, investigation, and fixing","type":"post"},{"content":"","date":"September 22, 2012","externalUrl":null,"permalink":"/tags/fedora/","section":"Tags","summary":"","title":"Fedora","type":"tags"},{"content":"","date":"September 22, 2012","externalUrl":null,"permalink":"/tags/foss/","section":"Tags","summary":"","title":"Foss","type":"tags"},{"content":"Recently Fedora\u0026rsquo;s Lukas Tinkl pushed to kdelibs (for the 4.10 release) a patch that enabled Solid to talk to udisks2, which is a replacement for udisks. Fedora already moved to udisks2 (and killed HAL) and future GNOME releases will only use udisks2, so the need for a working backend was a necessity, and at the same time they acted like good open source citizens, and pushed the code both to 4.10 and the KDE Frameworks branch of kdelibs.\nUnfortunately, there was a snag: the code was there, but not getting compiled. But no one noticed, as Fedora was patching the CMakeLists.txt during their build process (it wasn\u0026rsquo;t a mistake: they were removing things they didn\u0026rsquo;t need from upstream KDE, such as Solid\u0026rsquo;s HAL backend). At the same time, Alin on the openSUSE Factory mailing list noticed that with udisks2 he didn\u0026rsquo;t get devices offered by the Device Notifier widget.\nSo that\u0026rsquo;s where myself and Raymond, an openSUSE member and contributor, went to investigate the issue. Indeed, there wasn\u0026rsquo;t any reference to the UDisks2 backend in the build system for Solid. That\u0026rsquo;s where Raymond took off, and started to adapt it. At some point, we were stuck, so I pinged the helpful Rex Dieter from Fedora and he directed me and Raymond to #fedora-kde. There a quick discussion with Lukas Tinkl himself and Kevin Kofler helped ironing the final thigns out. In the end, Raymond produced and pushed to KDE\u0026rsquo;s repository a patch to enable the building of the backend.\nWhat\u0026rsquo;s the lesson learned from this? That despite distro wars, differences, and even heated debates, collaboration is still a key aspect of FOSS. And in the end the talks between upstream (myself, although I\u0026rsquo;m not a professional coder by any means), openSUSE (Alin, Raymond) and Fedora (Lukas, Rex, and Kevin) ended up with an improvement that benefited KDE and by association everyone using it.\nIn short: FOSS rocks also for this.\n_Note for Planet openSUSE readers: _This is my first post for planet openSUSE, so hello to everyone. Perhaps a proper introduction will come later\u0026hellip;\n","date":"September 22, 2012","externalUrl":null,"permalink":"/2012/09/story-of-a-patch-or-united-we-stand/","section":"Posts","summary":"Recently Fedora’s Lukas Tinkl pushed to kdelibs (for the 4.10 release) a patch that enabled Solid to talk to udisks2, which is a replacement for udisks. Fedora already moved to udisks2 (and killed HAL) and future GNOME releases will only use udisks2, so the need for a working backend was a necessity, and at the same time they acted like good open source citizens, and pushed the code both to 4.10 and the KDE Frameworks branch of kdelibs.\n","title":"Story of a patch, or: united we stand","type":"post"},{"content":"","date":"May 27, 2012","externalUrl":null,"permalink":"/tags/brainstorm/","section":"Tags","summary":"","title":"Brainstorm","type":"tags"},{"content":"","date":"May 27, 2012","externalUrl":null,"permalink":"/tags/help/","section":"Tags","summary":"","title":"Help","type":"tags"},{"content":"Many of you know that KDE Brainstorm ideas aren\u0026rsquo;t posted straight away: they are always pre-screened to avoid repetitions, features that cannot be implemented technically, violations of the Code of Conduct, and so on. This is possible thanks to the work of the Idea Moderators, that patrol Brainstorm and evaluate the new ideas being posted.\nRecently, a few of them got too busy and thus we\u0026rsquo;re experiencing a backlog of ideas staying in the Vault (the staging area for evaluation) for longer times than usual. The existing staff is already quite busy, so despite the efforts some deficencies still remain.\nOf course, there is a solution: **more **Idea Moderators. And that\u0026rsquo;s where you can step in. It\u0026rsquo;s not a particularly difficult task, you have to read the new ideas being posted and see if they comply with the requirements and the Brainstorm rules, and flag them appropriately (approved, won\u0026rsquo;t fix, duplicate\u0026hellip;). It\u0026rsquo;s kind of a triager\u0026rsquo;s job, only with wishlists. Knowledge of what\u0026rsquo;s going on in the KDE community (e.g., reading the Planet) helps, but it\u0026rsquo;s not required.\nIt\u0026rsquo;s a task that doesn\u0026rsquo;t require any kind of coding and not a lot of time, just dedication. If you are interested, leave a PM on the forum to the administrators (me, neverendingo, bcooksley and Hans) or ask on IRC (#kde-www).\nSpeaking of Brainstorm, I and Hans have decided to categorize the current ideas, to see which ones are most sought. Counting votes and what not has issues due to size bias, so in the end we settled for reddit\u0026rsquo;s algorithm. Ben Cooksley was kind enough to point me to the queries I needed to run on the database to grab the information. Without much ado, here\u0026rsquo;s the top ten list (after weeding out invalid, duplicates, etc.):\nPlasmoid Calendar: Calendar events view and edit Improve consistency in System Settings KDE Theme Editor KMail notification popup should be more informational Improve KDE Help Center Jabber video support External subtitles support in KMPlayer or Dragon Player File Emblems Synchronizations of settings between two KDE4 installation Save/Restore desktop settings ","date":"May 27, 2012","externalUrl":null,"permalink":"/2012/05/of-brainstorm-ideas-and-seeking-help/","section":"Posts","summary":"Many of you know that KDE Brainstorm ideas aren’t posted straight away: they are always pre-screened to avoid repetitions, features that cannot be implemented technically, violations of the Code of Conduct, and so on. This is possible thanks to the work of the Idea Moderators, that patrol Brainstorm and evaluate the new ideas being posted.\nRecently, a few of them got too busy and thus we’re experiencing a backlog of ideas staying in the Vault (the staging area for evaluation) for longer times than usual. The existing staff is already quite busy, so despite the efforts some deficencies still remain.\n","title":"Of Brainstorm, ideas and seeking help","type":"post"},{"content":"The recent post by Dario on the KDE Workspace Vision raised some concerns on why Brainstorm was not used. One commenter even said _Right now it feels like “Throw an idea over a wall for no-one but end users to discuss until it bitrot’s”. _\n_\n_\nThe Brainstorm section is indeed in need of help. To make it more useful, a couple of things are needed:\nStatistics to evaluate which ideas are best representative: it can\u0026rsquo;t be just the number of votes per se as there are things like confirmation bias or controversies that may inflate the numbers Integration with Bugzilla: a way to automatically (using XML-RPC) send the ideas flagged as representative to a bug report filed under \u0026ldquo;wishlist\u0026rdquo;. As it stands, the current forum team has not the time to carry out these tasks. But perhaps someone from the community can. If you thought you could not contribute because KDE was all about C++ and not about web languages, this is your chance to contribute: if you have PHP /HTML/web knowledge and want to help, hop on the #kde-www IRC channel and we\u0026rsquo;ll be happy to help you. ","date":"March 31, 2012","externalUrl":null,"permalink":"/2012/03/want-to-make-kde-brainstorm-more-useful/","section":"Posts","summary":"The recent post by Dario on the KDE Workspace Vision raised some concerns on why Brainstorm was not used. One commenter even said _Right now it feels like “Throw an idea over a wall for no-one but end users to discuss until it bitrot’s”. _\n_\n_\nThe Brainstorm section is indeed in need of help. To make it more useful, a couple of things are needed:\nStatistics to evaluate which ideas are best representative: it can’t be just the number of votes per se as there are things like confirmation bias or controversies that may inflate the numbers Integration with Bugzilla: a way to automatically (using XML-RPC) send the ideas flagged as representative to a bug report filed under “wishlist”. As it stands, the current forum team has not the time to carry out these tasks. But perhaps someone from the community can. If you thought you could not contribute because KDE was all about C++ and not about web languages, this is your chance to contribute: if you have PHP /HTML/web knowledge and want to help, hop on the #kde-www IRC channel and we’ll be happy to help you. ","title":"Want to make KDE Brainstorm more useful?","type":"post"},{"content":"","date":"February 12, 2012","externalUrl":null,"permalink":"/tags/danbooru/","section":"Tags","summary":"","title":"Danbooru","type":"tags"},{"content":"Recently we\u0026rsquo;ve seen several blog posts on Planet KDE related to Nepomuk. Reading those I thought that I could add some (little) semantic features to Danbooru Client.\nDanbooru Client already makes use of Nepomuk: if enabled, tags extracted from Danbooru items are added as Nepomuk tags. But since at least some Danbooru boards are specialized in certain types of images (e.g., wallpapers only, for examples) I found it would be nice to have Nepomuk show me only the images that come from a specific Danbooru board.\nAfter a quick talk on IRC, the task proved to be easier than expected. What I did was to create a new Nepomuk.Resource using the image board URL. Then I set it type as NFO::Website and added it as a related property to the resource pointing to the file. In code, this translates to (excerpt from the main file):\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 resource = Nepomuk.File(KUrl(absolute_path)) for tag in tags: if blacklist is not None and tag in blacklist: continue nepomuk_tag = Nepomuk.Tag(tag) nepomuk_tag.setLabel(tag) resource.addTag(nepomuk_tag) if board_url is not None: website_resource = Nepomuk.Resource(board_url) website_resource.addType(Nepomuk.Vocabulary.NFO.Website()) website_resource.setLabel(board_url.prettyUrl()) resource.setDescription( i18n(\u0026#34;Retrieved from %1\u0026#34;).arg(board_url.prettyUrl())) resource.addIsRelated(website_resource) Lo and behold, this is what happens after downloading one such image from Danbooru Client, in Dolphin (notice the \u0026ldquo;is related to\u0026rdquo;):\nClicking on the link will open in Dolphin all items related to the board in question. Neat, isn\u0026rsquo;t it? Of course, I\u0026rsquo;m very willing to add other features like that if there\u0026rsquo;s interest. Also, critiques on the approach are most welcome!\n","date":"February 12, 2012","externalUrl":null,"permalink":"/2012/02/some-more-nepomuk-please/","section":"Posts","summary":"Recently we’ve seen several blog posts on Planet KDE related to Nepomuk. Reading those I thought that I could add some (little) semantic features to Danbooru Client.\nDanbooru Client already makes use of Nepomuk: if enabled, tags extracted from Danbooru items are added as Nepomuk tags. But since at least some Danbooru boards are specialized in certain types of images (e.g., wallpapers only, for examples) I found it would be nice to have Nepomuk show me only the images that come from a specific Danbooru board.\n","title":"Some more Nepomuk, please","type":"post"},{"content":"","date":"December 25, 2011","externalUrl":null,"permalink":"/tags/idolm@aster/","section":"Tags","summary":"","title":"Idolm@aster","type":"tags"},{"content":"","date":"December 25, 2011","externalUrl":null,"permalink":"/tags/ps3/","section":"Tags","summary":"","title":"Ps3","type":"tags"},{"content":"Sometimes Christmas presents are really unexpected, and today I found out I was given one such gift: the limited edition of _THE IDOLM@STER 2, _PS3 version. It was quite a bulky box, showing all the main characters from the game (and from the recently-ended anime) (click to enlarge):\nOf course, having such a box means that there\u0026rsquo;s a lot of stuff inside. In fact, once opened, there are two game BDs (one being the actual game, the second being the first volume of Gravure for you! starring Haruka), a soundtrack (no songs, though), a booklet, a number of postcards (mine were showing Iori\u0026rsquo;s ending from episode 2 of the TV series), a booklet and also the first BD of the anime version:\nIt turns out the BD is also one of the limited editions, with a nice cover and more goodies, including a small booklet and a CD with the songs heard in the episodes:\nAnd here are the postcards:\nWhat about the game itself? Well, I have played it only briefly so far: I know it will be a bit painful to translate since the text is timed (having it stop, like in Neptume mk.2 is quite handy if you don\u0026rsquo;t catch something at first) and well, kind of different than the games I played so far. Still, in my opinion the various characters make it a worthwhile challenge.\n","date":"December 25, 2011","externalUrl":null,"permalink":"/2011/12/unexpected-christmas-gifts-the-idolm@aster/","section":"Posts","summary":"Sometimes Christmas presents are really unexpected, and today I found out I was given one such gift: the limited edition of _THE IDOLM@STER 2, _PS3 version. It was quite a bulky box, showing all the main characters from the game (and from the recently-ended anime) (click to enlarge):\nOf course, having such a box means that there’s a lot of stuff inside. In fact, once opened, there are two game BDs (one being the actual game, the second being the first volume of Gravure for you! starring Haruka), a soundtrack (no songs, though), a booklet, a number of postcards (mine were showing Iori’s ending from episode 2 of the TV series), a booklet and also the first BD of the anime version:\n","title":"Unexpected Christmas gifts: THE IDOLM@ASTER","type":"post"},{"content":"","date":"December 7, 2011","externalUrl":null,"permalink":"/tags/akihabara-denno-gumi/","section":"Tags","summary":"","title":"Akihabara Denno Gumi","type":"tags"},{"content":"By browsing through sites, I noticed that the Spanish site Akihabara Denno Gumi Universe has posted a translation of an interview the webmaster had with me through email.\nHere it is (Spanish language). It feels nice to recall some memories of the past once in a while, especially since I couldn\u0026rsquo;t still believe that dennogumi.org had been such a resource back in the days\u0026hellip;\n","date":"December 7, 2011","externalUrl":null,"permalink":"/2011/12/im-honestly-surprised.../","section":"Posts","summary":"By browsing through sites, I noticed that the Spanish site Akihabara Denno Gumi Universe has posted a translation of an interview the webmaster had with me through email.\nHere it is (Spanish language). It feels nice to recall some memories of the past once in a while, especially since I couldn’t still believe that dennogumi.org had been such a resource back in the days…\n","title":"I'm honestly surprised...","type":"post"},{"content":"","date":"October 2, 2011","externalUrl":null,"permalink":"/tags/screensaver/","section":"Tags","summary":"","title":"Screensaver","type":"tags"},{"content":"Recently in the Plasma mailing list, KDE developers have discussed a new screen-locking implementation that could be added to the upcoming 4.8 release of the KDE Workspaces. The first reason to do so was to solve some security constraints of the existing implementation. As an added bonus, screen locking should be also more aestetically pleasing.\nThere is however a trade-off: such implementation would mean that screensavers that rely on X (also called X screensavers) would not be compatible. The current plan is to have a fallback mechanism if a user has a screen saver configured, and remove the support for X scrensavers entirely by 4.9. It is the intention of the developers to ultimately provide a way to make screensavers with QtQuick (QML) and in a way that they could be shared via GHNS (e.g., places like kde-look.org).\nThat said, this looks like a large change because existing functionality will change or be removed. Hence, to quote KWin maintainer\u0026rsquo;s Martin Graesslin,\n_We are not sure how our users would react if we remove the X screen savers and replace them by a new solution. We would like you to contribute and share your opinion. Tell us why you need screen savers and how you would think about if the currently used screen saver could no longer be used._ And how to gather your opinion? Through a poll. A poll has been opened in the KDE Community Forums by Martin himself to gather opinions on this upcoming change. Please jump in and let the developers know what you think!\n","date":"October 2, 2011","externalUrl":null,"permalink":"/2011/10/screensavers-and-the-kde-workspaces-your-opinion-is-needed/","section":"Posts","summary":"Recently in the Plasma mailing list, KDE developers have discussed a new screen-locking implementation that could be added to the upcoming 4.8 release of the KDE Workspaces. The first reason to do so was to solve some security constraints of the existing implementation. As an added bonus, screen locking should be also more aestetically pleasing.\nThere is however a trade-off: such implementation would mean that screensavers that rely on X (also called X screensavers) would not be compatible. The current plan is to have a fallback mechanism if a user has a screen saver configured, and remove the support for X scrensavers entirely by 4.9. It is the intention of the developers to ultimately provide a way to make screensavers with QtQuick (QML) and in a way that they could be shared via GHNS (e.g., places like kde-look.org).\n","title":"Screensavers and the KDE Workspaces - your opinion is needed","type":"post"},{"content":"In one of my previous blog posts I dealt with tagging files and resources with Nepomuk. But Nepomuk is not only about storing metadata, it is also about retrieving and _interrogating _data. Normally, this would mean querying the metadata database directly, using queries written in SPARQL. But this is not intuitive, can be inefficient (if you do things the wrong way) and error prone (oops, I messed up a parameter!).\nFortunately, the Nepomuk developers have come up with a high level API to query already stored metadata, and today\u0026rsquo;s post will deal with querying tags in Nepomuk. As per the past tutorials, the full source code is available in the kdeexamples module.\nLet\u0026rsquo;s start off with the basic imports:\n1 2 3 4 5 6 7 8 9 import sys import PyQt4.QtCore as QtCore import PyKDE4.kdecore as kdecore import PyKDE4.kdeui as kdeui from PyKDE4.kio import KIO from PyKDE4.nepomuk import Nepomuk from PyKDE4.soprano import Soprano Then let\u0026rsquo;s create a simple class that wil be used for the rest of this exercise:\n1 2 3 4 5 class NepomukTagQueryExample(QtCore.QObject): def __init__(self, parent=None): super(NepomukTagQueryExample, self).__init__(parent) init is just used to construct the instance, nothing more. The bulk of the work is in the query_tag() function, which we\u0026rsquo;ll take a look at in parts.\n1 2 3 4 5 def query_tag(self, tag): \u0026#34;\u0026#34;\u0026#34;Query for a specific tag.\u0026#34;\u0026#34;\u0026#34; tag = Nepomuk.Tag(tag) First of all we convert the tag we want to query into a proper Nepomuk.Tag() instance. Of course we should use an already existing tag: even if Nepomuk.Tag() automatically creates new tags, it makes little sense to query for a newly created tag, doesn\u0026rsquo;t it?\nFor our job, we need to use properties which define the terms of our query. As we\u0026rsquo;re looking for tags, we\u0026rsquo;ll use Soprano.Vocabulary.NAO.hasTag():\n1 2 soprano_term_uri = Soprano.Vocabulary.NAO.hasTag() nepomuk_property = Nepomuk.Types.Property(soprano_term_uri) The first call generates an URI pointing to a specific RDF resource for this specific term, which is then wrapped as a Nepomuk.Types.Property in the second call. While the C++ API docs don\u0026rsquo;t show this, I found it to be necessary, or the Python interpreter would raise a TypeError. Notice that this is not the only term we can use: aside for tags, there are a lot of other URIs we can use for querying, listed in the Soprano API docs.\nOnce we have our property set up, it\u0026rsquo;s time to define which kind of query we\u0026rsquo;re going to use. In this case, since we want to check for the presence of tags, we use a Nepomuk.Query.ComparisonTerm, which is a query term used to match values of specific properties (in our case, tags):\n1 2 comparison_term = Nepomuk.Query.ComparisonTerm(nepomuk_property, Nepomuk.Query.ResourceTerm(tag)) Our tag is wrapped in a ResourceTerm, which is used exactly for the purpose. Now we make the proper query: in this specific case, we want to look up _files _tagged, so we use a FileQuery. We could also get other items, such as mails (in Akonadi): in that case we could use a a Nepomuk.Query.Query():\n1 query = Nepomuk.Query.FileQuery(comparison_term) Lastly, we want to get some results out of this query. There are different methods, but for this tutorial we\u0026rsquo;ll use the tried-and-tested KIO technology:\n1 2 3 4 search_url = query.toSearchUrl() search_job = KIO.listDir(kdecore.KUrl(search_url)) search_job.entries.connect(self.search_slot) search_job.result.connect(search_job.entries.disconnect) First we convert the query to a nepomuksearch:// url, which then we pass to KIO.listDir, to list the entries. Unlike my previous post on KIO, this job emits entries() every time one is found, so we connect the signal to our search_slot method. We also connect the job\u0026rsquo;s result() signal in a way that it will disconnect the job once it\u0026rsquo;s over.\nFinally, let\u0026rsquo;s take a look at the search_slot function:\n1 2 3 4 5 6 7 8 def search_slot(self, job, data): # We may get invalid entries, so skip those if not data: return for item in data: print item.stringValue(KIO.UDSEntry.UDS_DISPLAY_NAME) Entries are emitted as UDSEntries: to get something at least understandable, we turn them into the file name, which is obtained by the stringValue() call using KIO.UDSEntry.UDS_DISPLAY_NAME.\nThat\u0026rsquo;s it. As you can see, it was pretty easy. Of course there\u0026rsquo;s more than that. For further reading, take a look at Nepomuk\u0026rsquo;s Query API docs, and Query Examples. Bear in mind however that to the best of my knowledge, the \u0026ldquo;fancy operators\u0026rdquo; mentioned there will not work with Python.\nHappy Nepomuk querying!\n","date":"June 29, 2011","externalUrl":null,"permalink":"/2011/06/pykde4-queries-with-nepomuk/","section":"Posts","summary":"In one of my previous blog posts I dealt with tagging files and resources with Nepomuk. But Nepomuk is not only about storing metadata, it is also about retrieving and _interrogating _data. Normally, this would mean querying the metadata database directly, using queries written in SPARQL. But this is not intuitive, can be inefficient (if you do things the wrong way) and error prone (oops, I messed up a parameter!).\n","title":"PyKDE4: Queries with Nepomuk","type":"post"},{"content":"Recently, a question came up on the KDE Community Forums regarding the use of multiple Google Calendars with KOrganizer. The preferred access up to now has been with googledata Akonadi resource, however that doesn\u0026rsquo;t support more than one calendar, and (at least from my unscientific observation) seems to be rather unmaintained these days.\nLuckily, not all\u0026rsquo;s lost. Akonadi recently gained the opportunity of accessing CalDAV resources, and Google Calendar also offers a CalDAV interface, hence this is possible.\nThis post will briefly describe how (thanks go to PIMster krop, which casually mentioned the possibility on IRC and prompted me to investigate).\nNotice: I am running trunk (4.7) so I have no idea if the steps posted below are possible in 4.6. Also, this worked for me with my particular setup. YMMV.\nFirst of all, you need to obtain the calendar IDs you want to use. This is done in the web version of Google Organizer, in the settings page of your specific calendar, near the private links: it\u0026rsquo;s a string of alphanumeric characters followed by @gmail.com. Copy it in full (even the address part) as you will need it later, and do it for every calendar you want to use.\nNext, open KOrganizer, locate the list of the calendars, right click on an emtpy spot and select Add Calendar:\n_\n_\n_\n_\nIn the next screen, select \u0026ldquo;DAV Groupware resource\u0026rdquo;, then a wizard will come up. Fill in username and password (apologies for the language! I haven\u0026rsquo;t found a quick way to switch these dialogs to English) and click on Next:\n_\n_\nIn the following screen, choose Configure the resource manually:\n_\n_\n_\n_\nClick on Finish, but you\u0026rsquo;re not finished yet. In fact, we will have to add more stuff here. In the new window, select the display name (here shown as Nome visualizzato) of the calendar, then click on Add (which is translated as Aggiungi in this screen):\nIn the next screen we\u0026rsquo;ll have to add what\u0026rsquo;s needed for our calendar to work. In Remote URL put https://www.google.com/calendar/dav/YOURCALENDARID/events (https,** not** http) then put (again) your Google account credentials in the relevant places. Then click on \u0026ldquo;Download\u0026rdquo; (Scarica here) and you will see (after a while) your Calendar being loaded in the \u0026ldquo;Found collections\u0026rdquo; pane, with the name you set in Google Calendar. Click OK to save the configuration.\nThis will bring you back to the previous window. For more calendars, repeat the steps (click on Add, insert URL, Download, OK) for all the calendars you have to display.\nThat\u0026rsquo;s it. If you encounter trouble, have a look at ~/.xsession-errors to see whether Akonadi managed to connect and download your existing items correctly. And don\u0026rsquo;t forget to file bugs!\n_\n_\n_\n_\n","date":"June 11, 2011","externalUrl":null,"permalink":"/2011/06/access-multiple-google-calendars-from-korganizer/","section":"Posts","summary":"Recently, a question came up on the KDE Community Forums regarding the use of multiple Google Calendars with KOrganizer. The preferred access up to now has been with googledata Akonadi resource, however that doesn’t support more than one calendar, and (at least from my unscientific observation) seems to be rather unmaintained these days.\nLuckily, not all’s lost. Akonadi recently gained the opportunity of accessing CalDAV resources, and Google Calendar also offers a CalDAV interface, hence this is possible.\nThis post will briefly describe how (thanks go to PIMster krop, which casually mentioned the possibility on IRC and prompted me to investigate).\n","title":"Access multiple Google Calendars from KOrganizer","type":"post"},{"content":"","date":"June 11, 2011","externalUrl":null,"permalink":"/tags/akonadi/","section":"Tags","summary":"","title":"Akonadi","type":"tags"},{"content":"","date":"June 11, 2011","externalUrl":null,"permalink":"/tags/korganizer/","section":"Tags","summary":"","title":"Korganizer","type":"tags"},{"content":"","date":"May 29, 2011","externalUrl":null,"permalink":"/tags/clustering/","section":"Tags","summary":"","title":"Clustering","type":"tags"},{"content":"While reading the statistics for my blog, I noticed that a number of searches looked for hierarchical clustering with Python, which I covered quite a while ago. Today I\u0026rsquo;d like to present an updated version which uses more robust techniques.\nDefining the problem # Since Eisen\u0026rsquo;s original paper on clustering, this form of analysis has been widely used by a lot of researchers. However, as it is known, such systems may be susceptible to an ordering bias: in other words, the order of the samples and/or genes might influence the final result. That\u0026rsquo;s why popular software such as TMeV offers alternative approaches, based on bootstrapping.\nIn this specific form of bootstrapping, the samples and/or genes are randomly shuffled a number of times (1000 or more iterations are a good starting point) and the resulting dendrograms checked for consistency and robustness of partitioning. In other words, a p-value is calculated, our null hypothesis being that the arrangement of samples/genes is merely due by chance. Depending on the software, this value might be expressed either in form of p-value or percentage (TMeV calls it support).\nIn the past years, I found an interesting method developed by Hidetoshi Shimodaira: the technique, called multiscale bootstrap resampling, aims at determining more accurate p-values out of the bootstrapping. Shimodaira calls the resulting p-value an AU value, where AU stands for \u0026ldquo;approximately unbiased\u0026rdquo;, a more precise p-value than the one obtained through bootstrapping alone.\nIn addition to this nice algorithm, a R package was also provided, named _pvclust _(it\u0026rsquo;s available on your favorite CRAN mirror). And that\u0026rsquo;s exactly what we\u0026rsquo;ll use for this exercise.\nPrerequisites # Some of the readers of this blog might remember my disdain of R: while I need to use it for Bioconductor, I\u0026rsquo;m often annoyed by its weird syntax, and difficult to understand error messages. Luckily, thanks to the hard work of Laurent Gautier and contributors, there\u0026rsquo;s rpy2, a nice R-to-Python bridge. All the examples here require this package, version 2.1 or newer (I\u0026rsquo;d recommend the release candidate of 2.2, it\u0026rsquo;s really nice). Unfortunately, this means that Windows users are out of luck as there\u0026rsquo;s no version of rpy2 2.1 or 2.2 available for that platform..\nAlso, don\u0026rsquo;t forget to have the pvclust package installed in R.\nLoading and preparing the data # Let\u0026rsquo;s start first by importing the necessary bits:\n1 2 import rpy2.robjects as robjects from rpy2.robjects.packages import importr The second line is important, because it\u0026rsquo;ll let us play with R libraries as they were packages. Case in point, we\u0026rsquo;ll get the \u0026ldquo;base\u0026rdquo; and \u0026ldquo;pvclust\u0026rdquo; libraries loaded:\n1 2 base = importr(\u0026#34;base\u0026#34;) pvclust = importr(\u0026#34;pvclust\u0026#34;) Now we can manipulate them as if they were modules, and (most) of R\u0026rsquo;s dotted functions have been converted to underscores, as the dot is the namespace operator in Python. Example: as.data.frame becomes as_data_frame.\nNext, we\u0026rsquo;ll load the data in a data.frame. rpy2 conveniently gives us the _DataFrame _class, which is a no-nonsense wrapper to R\u0026rsquo;s data.frames. For this exercise, we\u0026rsquo;ll load a set of normalized data from GSE4984, a microarray experiment with dendritic cells expoosed to different stimuli. It\u0026rsquo;s just a matter of downloading the data from Array Express (if you ask why from AE and not GEO: the latter doesn\u0026rsquo;t have a clearly-identified link for normalized data) and then loading it in a data.frame as:\n1 dataframe = robjects.DataFrame.from_csvfile(\u0026#34;GSE4984.txt\u0026#34;, sep=\u0026#34;\\t \u0026#34;, row_names=1) The resulting Python object has all the attributes of a R data.frame but with added Python goodness. We can use the colnames and rownames attributes to access the row names (if set) and column names of the object, and likewise we can use nrow and ncol to quickly glance at the rows/columns.\nSince a full array has a lot of genes, we\u0026rsquo;re going to choose only the first 500 genes:\n1 2 rows = robjects.IntVector(range(1,501)) subset = dataframe.rx(rows, True) An IntVector is a rpy2 object which replicates R\u0026rsquo;s vectors of integers: there are variants for strings, floats, integers, lists (R lists, not the Python type) and factors. rx is an accessor that mimicks R\u0026rsquo;s item access: in short, it\u0026rsquo;s equivalent to\n1 subset \u0026lt;- dataframe[rows, ] rpy2 has another accessor, rx2, which mimicks the [[ ]] access in data.frames.\nClustering # Once we have the data, it\u0026rsquo;s time to do some serious clustering on it:\n1 result = pvclust.pvclust(subset, nboot=100, method_dist=\u0026#34;correlation\u0026#34;, method_hclust=\u0026#34;average\u0026#34;) We\u0026rsquo;re using a small number of permutations (100) because the computation times are long. You can change the distance metric and the linkage types using method_dist and method_hclust. Internally the data.frame is converted to a matrix, so ensure you have valid data (i.e. numeric) prior to proceeding.\nNotice that this will just cluster the columns by default. If we want to cluster genes, we have to transpose the data.frame. In this case we have to first convert it to a matrix, then transpose it:\n1 2 3 matrix = base.as_matrix(subset) subset_transposed = matrix.transpose() result_rows = pvclust(subset_tranposed, nboot=100, method_dist=\u0026#34;correlation\u0026#34;, method_hclust=\u0026#34;average\u0026#34;) Once the computation is done, we have a pvclust object which holds information on the results. What we\u0026rsquo;re most interested in is the hclust attribute, as it holds a dendrogram object we can use for plotting (either standalone or via a heat map). We can also manipulate the object with the pvpick function, for example to color the trees of the dendrogam basing on their AU values.\nTo get a fast representation, we can just dump the object as it is to a dendrogram which will show AU and BP values for each element of the cluster:\n1 2 graphics = importr(\u0026#34;graphics\u0026#34;) graphics.plot(result) Or we can do the same, but to a PDF:\n1 2 3 4 5 graphics = importr(\u0026#34;graphics\u0026#34;) grdevices = importr(\u0026#34;grDevices\u0026#34;) grdevices.pdf(\u0026#34;myresult.pdf\u0026#34;, paper=\u0026#34;a4\u0026#34;) graphics.plot(result) grdevices.dev_off() Of course, we might want a heat map (everyone wants pretty heat maps, right?). In that case we extract both dendrograms and use something like gplots\u0026rsquo; _heatmap.2 _ function to represent it (you will need the gplots package installed in order for the following to work):\n1 2 3 4 gplots = importr(\u0026#34;gplots\u0026#34;) row_dendrogram = result_rows.rx2(\u0026#34;hclust\u0026#34;) column_dendrogram = result.rx2(\u0026#34;hclust\u0026#34;) gplots.heatmap_2(subset, Rowv=row_dendrogram, Colv=column_dendrogram, col=gplots.greenred(255), density_info=\u0026#34;none\u0026#34;) You can add the grdevices lines like above to make a PDF of the plot. If you notice we have used the rx2 accessors here, just as I wrote above, to access the hclust attribute of the pvclust object.\nMoving further # pvclust as-is it\u0026rsquo;s quite slow. There\u0026rsquo;s however a parallelized version, called parPvclust, which uses snow to parallelize the clustering, either through multiple machines or using multiple cores. Setting snow properly up is beyond the scope of this tutorial, but it may be worth investing if you cluster a lot of data.\n","date":"May 29, 2011","externalUrl":null,"permalink":"/2011/05/multiscale-bootstrap-clustering-with-python-and-r/","section":"Posts","summary":"While reading the statistics for my blog, I noticed that a number of searches looked for hierarchical clustering with Python, which I covered quite a while ago. Today I’d like to present an updated version which uses more robust techniques.\n","title":"Multiscale bootstrap clustering with Python and R","type":"post"},{"content":" Recently I had the opportunity of viewing a DVD that I had bought in 2006 but never had the chance of seeing: it was the third season of Galaxy Angel, of which I had already viewed the first two years before. After viewing it, I realized I could have viewed it sooner, as I liked it quite a bit. Not only that, but I brought myself up to speed by getting what was left in the series, that is the second half of the third season (marketed by Bandai Visual as Galaxy Angel AA) and the fourth and final season (known in the English speaking market as Galaxy Angel X).\nWell, I found the whole franchise quite good: and after having explored also other bits of it, including the manga and the games related to it, I thought it\u0026rsquo;d be nice to have a retrospective with my own views. Which is the point of this post.\nGalaxy Angel? What was it about? # I was initially aware of the whole matter when Project G.A. was announced by BROCCOLI (for those who don\u0026rsquo;t know, it is, or at least used to be, a large merchandising company which also owned the GAMERS anime chain until very recently) at the Tokyo Game Show in 2000.\nAt the time the designs were very preliminary and they showed mostly about the game (more on that later) than on the TV series that was going to be made by Madhouse. As you may already know, BROCCOLI thought of this whole matter as a rather spread initiative, encompassing different medias: games, a TV series (13 episodes in total) a manga (made by the Kanan, the same person who did the original designs) plus a lot of merchandise and associated bits.\nBut back then, it was all yet to come. I admit I didn\u0026rsquo;t pay attention much to the announcement and moved on.\nIt was only years later that I bought the animated series, in 2004, that is when BROCCOLI USA opened and a partnership with Bandai Visual was formed to bring the anime and the manga to the English-speaking market.\nThe animated series # Season 1 - Galaxy Angel # That\u0026rsquo;s where it all begins (TM), in all senses, because the animated series was the first to come out after the announcement. I wonder if people watching it thought that BROCCOLI had been trolling them, since it was completely different than the promo. Difference that\u0026rsquo;s seen already by the opening song, ギャラクシーBang! Bang! (Galaxy Bang! Bang!), markedly nonsensical. The episode titles reinforce the impression, as they\u0026rsquo;re almost about food and have a somewhat loose connection to the actual content.\nEven though it was just 24 15 minute episodes, I already appreciated the highly non-sensical humor that permeated the series. The first series sets the basis for all the characters (from the second one top rightwards, Milfeulle Sakuraba, Ranpha Franboise, Volcott O. Huey, Mint Blancmanche and Vanilla H - pronounced ash) and to introduce their\u0026hellip; peculiarities.\nAlready, unlike the games (see below) there\u0026rsquo;s a lot of nonsense and parody humor that will become even more important in the later seasons. At this point the characters aren\u0026rsquo;t that developed but I found most episodes to be enjoyable. Already hilarious is the presence of Nomad (rightmost on the second row) that is just a target for some serious nonsense violence.\nCompared to what we\u0026rsquo;ll see in later sesons, the interactions among the cast are a bit stiff: understandable since nothing else had been done (the game would come out later).\nSometimes the fact that the episodes end without a real conclusion can be surprising (as well as finding that in the following episodes the characters are still there!) but one gets used to it pretty quickly. The series \u0026ldquo;ends\u0026rdquo; with a non-ending like the rest of the episodes (introducing counterparts that will never be seen after that episode), but at the time I knew already that there was a sequel.\nSeason 2 - Galaxy Angel Z # The second season (known as Galaxy Angel Z outside Japan) introduces a format that will become common: assemble two episodes (which are half as long as a common anime episode) separated by the eye-catch. In this case we\u0026rsquo;re looking at 18 episodes, or rather 9 in total. Compared to its predecessor, elements of parody and marked non-sense begin appearing, which make the show even more enjoyable. Also the cast has better interactions than in the first series, leading to truly hilarious moments.\nOne episode in my opinion stands out, because much more of this type will be featured in later series, is the second, ウェディングケーキ合体スペシャル (Wedding Cake Gattai Special, aka Wedding Cake combined Special). In this specific episode, we see the Angels having to pilot a robot which is basically a reference to a number of 1970s and early 1980s mecha shows, in particular _Combattler V _ and Voltes V. I would rather say rather try to pilot, as the thing explodes every time combination is attempted\u0026hellip; But this is not the only element of parody there: a scene where Milfeulle rides a scooter to reach her vehicle is a mock of Daisuke Umon / Duke Fleed\u0026rsquo;s rocket \u0026ldquo;motorbike\u0026rdquo; in the launch sequence of Grendizer. The final icing on the cake is the song played in the background, たたかえ！ぼくらのX X X (_Fight! Our X X X), _sung by a real singer of mecha shows and tokusatsu sentai. The X X X in there because the mecha blows up exactly when the song would say its supposed name.\nLike the original Galaxy Angel this series ends with a non-ending, showing something great about to happen \u0026ldquo;but now it\u0026rsquo;s the last episode\u0026rdquo; and thus ending in an anti-climactic way. Still, the game was about to come out and a third series was in the works.\nSeason 3 - Galaxy Angel A \u0026amp; Galaxy Angel AA # This section is the longest when dealing to the anime, because it is the longest of the four, featuring 52 half-length episodes, and a few specials on the way. This is in my opinion the best of the bunch, where the mixture of the interactions among the cast and decidedly weird plots form a very nice mixture.\nI mentioned the plots. Well, starting from this series the parody / non-sensical element is much more noticeable, and often every episode would lose every bit of sanity within seconds. The situations where the Angels fall in also are even stranger than in the previous series (although they magically get fixed in time for the next episode).\nRegarding parody this series stars a number of successful experiments. In primis, one episode, サインはブイヨン (Sign wa Bouillon), which is a complete parody of famous sports anime like Attacker no. 1 (the song sung in the end, あたしたちがNo.1, or We are no.1, is a direct reference), featuring improbable and out-of-the-line volleyball techniques, but also references to Ultraman and Cyborg 009 (such as Forte\u0026rsquo;s acceleration, complete with spark on the teeth). In the end there\u0026rsquo;s even a \u0026ldquo;next episode\u0026rdquo; that puts together all the possible cliches.\nHowever if I were to pick, parody-wise, two episodes from this series, I\u0026rsquo;d definitely choose ピュルリクマジカルステーキ (Pyururiku Magical Steak) and 新鮮 鯛づくし (Shinsen Taizukushi) because they bring that element to a new level.\nThe first of the two is an all out reference to the \u0026ldquo;magical girl\u0026rdquo; series, where the Angels (and Volcott, too!) try to use a magic stick that would grant a wish to a truly believer in magic. This somehow ends up in a sort of clip where lots of historical shows are referenced, as shown in the images below.\nThe series reference relatively recent productions such as Doremi, but also real antiquities (for the Japanese, at least) such as Megu-chan (the Italian readers of this blog may know it as Bia e la sfida della magia), touching also video games. How many references did you find in the image shown above? This video shows all of them. As you can see are quite a lot. The song is also performed by a veteran of such series.\nThe second parody episode I mentioned instead is a reference to super sentai series, where the Angels have to fight as a group known as the \u0026ldquo;Angel Five\u0026rdquo;. Also this episode compresses a full-length sentai 52 episode series in little less than fifteen minutes.\nAlmost all the cliches are touched, including also a reference to the first Kamen Raider series and the always present narrator that tells how things go on. Oh, and I should not forget about the obligatory mecha scenes (with the combination of the girls\u0026rsquo; 紋章機 - _monshoki _or rather emblem frames - referencing the usual lack of budgets of these series). Just like the previous episode, there\u0026rsquo;s even a specific song for the various scenes.\nThe last mention for this series is the last episode, final dish REBECCA, which is actually full-length. In contrast with most of the series, there\u0026rsquo;s not a single trace of humor. It\u0026rsquo;s like one of the few serious episodes scattered through the series but in a more coherent and longer form.\nDespite the difference, the essential psychology of the characters is not changed at all (in fact some bits reminded me of the game) and the whole story fits perfectly as ending of the series (open ended, also with Masami Okui and JAM Project\u0026rsquo;s In the Chaos as ending song). If Galaxy Angel had to end there, final dish REBECCA would have been ideal. By the way it was done, I also feel that this season was to be the last one, but the decision changed only later on.\nSeason 4 - Galaxy Angel X # The last of the seasons is also the one of the most absurd, because the parody and nonsense elements increase dramatically. Usually it\u0026rsquo;s impossible to predict where an episode would end up to being, because aside the initial settings they almost go completely random (but they\u0026rsquo;re rather funny). The craziness affects even episode titles, which become tongue-twisters that also play on assonance: an example 非凡平凡チョコボンボン (_Hibon Heibon Choko bonbon, _translatable as Extraordinary, ordinary chocolate bonbon).\nOn the parody side, an episode like 哀しみ憎しみ凍み豆腐 (_Kanashimi nikushimi shimi tofu, _or Sadness and Hatred Tofu in the English translation) replicates (very faithfully, I might add) the aura of Japanese dramas, complete with rather improbable plot twists and character relations (who is the daughter of _who?). _Another episode, ラブ米, feels like a session of Tokimeki Memorial, with the Angels infiltrated in a school-like environment (complete with stereotypes) and with an insert song performed by a singer that actually did some of the game\u0026rsquo;s songs.\nAlong with the already present characters, this season also includes Chitose Karasuma, but she\u0026rsquo;s completely different than the game counterpart, with a personality bordering on psychopathic. She doesn\u0026rsquo;t appear very often in the season as well, but she leaves her mark, definitely.\nThe last episode (オールオッケーロケ弁当, All OK bento) is somehow meta as due to plot reasons it almost feels that the main voice actors are speaking about their characters, in a way. However, near the end the nonsense returns, showing a \u0026ldquo;battlefront\u0026rdquo; against aliens that is more reminiscent of the tennis anime エースをねらえ！(_Ace o nerae! _or Aim for the Ace!) as the \u0026ldquo;battle\u0026rdquo; is played at table tennis. Other notable mentions which also include the appearance of a character from the 1970s Great Mazinger series, namely 闇黒大将軍 (Ankoku Daishogun, or Great Dark General). but with the face of Di Gi Charat\u0026rsquo;s Digiko\u0026hellip;\nUnfortunately the last episode is a bit of a let down because it\u0026rsquo;s half-length, unlike _final dish REBECCA, _ and thus the final part is a bit rushed. It\u0026rsquo;s not a bad ending per se, anyway, and doesn\u0026rsquo;t affect the overall quality of the series. Series which despite its length never really bored me and provided many hours of enjoyment. Especially the latter seasons show a great coordination among the cast that increases the comical effect.\nTo be very brief, watching this series, even now taht many years ahave passed, is definitely recommended.\nThe video games # It is somewhat less known that Galaxy Angel had also a series (three) of game counterparts, in fact part of the all round strategy devised by BROCCOLI. Unlike the animated series, however, none of these have been translated to English (actually, such a translation was planned, but hastily canned when BROCCOLI USA closed up shop).\nThe scenario of the game is much closer to what BROCCOLI had announced at first. Gone are some of the anime characters (the ones devised by Madhouse themselves, such as Nomad and Volcott) and others come in, most notably the commander Takuto Meyers, the character whose actions are controlled by the player.\nSo, how are the games? From a purely technical standpoint, they\u0026rsquo;re a mixture of 恋愛 (Ren\u0026rsquo;ai, literally love but used in the terms of dating sims) and strategy-based battles, a formula that was employed succesfully by the Sakura Taisen franchise in the past. Basically, a good part of the game involves talking and interacting with the Angels, building up relationships (and eventually love with one of the heroines), while the other part involves controlling the Angels\u0026rsquo; monshoki and fighting various enemies, trying to achieve specific victory conditions. The latter is basically a 3D strategy game, where orders are issued and then executed, while the first involves reading the main story dialogue and occasionally making choices (unlike _Sakura Taisen, _those aren\u0026rsquo;t timed). Poor choices, however, will inevitably affect the Angels\u0026rsquo; morale and hence the battle performance, so the girls must be treated well.\nAs you can see from the images, Kanan did all the job (like in the manga, which covers the same story as the games). The result is unpredictable: at times it\u0026rsquo;s quite nice, at others it\u0026rsquo;s rather poor. Nevertheless, it is good enough.\nWhile the story has a more serious tone, it has also many comical moments that remind of the series (although they don\u0026rsquo;t reach such levels of absurdity). However, in my opinion there is a huge letdown when you are forced to choose your Angel: the characters aren\u0026rsquo;t \u0026ldquo;strong\u0026rdquo; enough, from a personality standpoint, to stand up alone, as their strength lies exactly in the mutual interactions. Therefore, when focus is given to a single member of the group, the results are often poor, and even \u0026ldquo;out-of-characters\u0026rdquo; scenes occur. The problem, which affects the first game (Galaxy Angel) only partially, is even more evident in the second instalment of the series (Galaxy Angel - Moonlit Lovers) where for basically half of the play time there isn\u0026rsquo;t even the full squad available. On the plus side, every scenario for each group member is often very different.\nSpeaking of characters, Chitose appears in Moonlit Lovers, and as I wrote before she has a completely different personality, the one of an elite soldier but so fresh that\u0026rsquo;s not capable of adapting (let alone in a carefree unit such as the Angel Tai). She still has a good deal of humorous scenes, though: her interplay with Milfeulle or with Forte in their respective scenarios is quite funny.\nLet\u0026rsquo;s go over the battle part a bit. In these sections, the player is thrown in a 3D battlefield, having to control the Angels, the command ship (the Elsior) and optionally other friendly units (this only from Moonlit Lovers onwards). Units can be selected and orders given (in this case, the visual switches to a zoomable 2D map). Each unit has a series of gauges that indicate their status: the Hull gauge indicates how badly the unit in question is damaged, the Energy how much energy it has (the Angels\u0026rsquo; monshoki can be resupplied by coming within reach ot the command ship) and for the Angels only, the Spirit gauge. The last one fills when damage is dealt or received, and once full can be use to unleash a powerful special attack which varies depending on the pilot (or in the case of Vanilla, to repair all units). Although the monshoki are rather powerful, some careful planning is due, especially in Moonlit Lovers, where the enemies are in much larger numbers. Aside that, there isn\u0026rsquo;t much else to control. The camera can be switched to the various units (useful if you want to check their performance or watch the specials).\nTo show you how the game plays in these sections, here is a video.\nI haven\u0026rsquo;t played the third instalment of the trilogy (Eternal Lovers) yet, but I can say so far that the games are good enough when all the characters are involved and terrible when they focus only on one heroine (and Moonlit Lovers is painfully short, with a rushed ending). Not too bad, but not too excellent either.\nConcluding remarks # Whew! This was one long blog post. I took almost one month to finish it (including viewing the last two seasons and reviewing the game). I can say that Galaxy Angel (but not its mediocre sequel) is definitely a series that will stay in my list of favorites for a long time, especially due to the way the cast interacts, both in the games and in the anime. A shame that we won\u0026rsquo;t see any more operations of this kind, due to the way the TV slots have become so far (very tight and packed).\n","date":"May 11, 2011","externalUrl":null,"permalink":"/2011/05/a-retrospective-view-galaxy-angel/","section":"Posts","summary":" Recently I had the opportunity of viewing a DVD that I had bought in 2006 but never had the chance of seeing: it was the third season of Galaxy Angel, of which I had already viewed the first two years before. After viewing it, I realized I could have viewed it sooner, as I liked it quite a bit. Not only that, but I brought myself up to speed by getting what was left in the series, that is the second half of the third season (marketed by Bandai Visual as Galaxy Angel AA) and the fourth and final season (known in the English speaking market as Galaxy Angel X).\nWell, I found the whole franchise quite good: and after having explored also other bits of it, including the manga and the games related to it, I thought it’d be nice to have a retrospective with my own views. Which is the point of this post.\n","title":"A retrospective view: Galaxy Angel","type":"post"},{"content":"","date":"May 11, 2011","externalUrl":null,"permalink":"/tags/galaxy-angel/","section":"Tags","summary":"","title":"Galaxy Angel","type":"tags"},{"content":"","date":"May 3, 2011","externalUrl":null,"permalink":"/tags/hosting/","section":"Tags","summary":"","title":"Hosting","type":"tags"},{"content":"After many years of (good) service, I\u0026rsquo;m in the process of moving from Dreamhost web hosting to a Virtual Private Server (VPS) service hosted by the folks at Linode. It\u0026rsquo;s definitely more pricey but I like the control and freedom that I have at my disposal. Thanks to a number of guides and some help, I was able to set up lighttpd and php-fpm to serve web pages, and Postfix+dovecot+amavisd-new for email.\nI haven\u0026rsquo;t moved off a few services yet (including my primary mail), but I\u0026rsquo;m rather satisfied at the moment.\nLet me know if you encounter any issues with this blog, although it should have moved painlessly (hopefully!).\n","date":"May 3, 2011","externalUrl":null,"permalink":"/2011/05/moving-hosts/","section":"Posts","summary":"After many years of (good) service, I’m in the process of moving from Dreamhost web hosting to a Virtual Private Server (VPS) service hosted by the folks at Linode. It’s definitely more pricey but I like the control and freedom that I have at my disposal. Thanks to a number of guides and some help, I was able to set up lighttpd and php-fpm to serve web pages, and Postfix+dovecot+amavisd-new for email.\nI haven’t moved off a few services yet (including my primary mail), but I’m rather satisfied at the moment.\n","title":"Moving hosts!","type":"post"},{"content":"Some of the oldest readers of this blog are well aware of a certain hobby of mine. Over the years I\u0026rsquo;ve always wanted to write more about that, including the stuff I\u0026rsquo;m viewing nowadays, but I found a hassle to collect snapshots from videos / DVDs, selecting them, and so on.\nRecently I learnt that VLC has some rather complete Python bindings, and I thought, why not make the process automated? Yesterday I had some free time on my hands and a quick session of hacking brought some results already.\nAs the stuff is somewhat past prototypal stage, I thought I would push somewhere for others to use. Lo and behold, here I present you KDE VLC Snapper.\nAs you can see, it\u0026rsquo;s a minimal dialog: just select your source video file (any file supported by VLC will do), the number of screencaps, the destination directory, and the program will do the rest. Currently it works somewhat OK (see caveats below) and is good enough for my use cases.\nHow do I get it? # Just clone this repository: 1 git clone http://git.gitorious.org/kde-vlc-snapper/kde-vlc-snapper.git followed by 1 sudo python setup.py install You can then invoke the program with 1 kdevlcsnapper Requirements include PyKDE4 (tested on KDE Dev Platform 4.6), numpy (just for its \u0026ldquo;linspace\u0026rdquo; function, alternatives are welcome) and VLC installed (you don\u0026rsquo;t need the bindings, however: I provide a local copy).\nWhat about bugs? Well, currently there are two issues that I\u0026rsquo;m unsure on how to fix: the first is a crash on exit, the second is that certain media files make VLC crash in the background when called from the bindings.\nIn any case, if you try it out, let me know what you think in the comments!\n","date":"April 10, 2011","externalUrl":null,"permalink":"/2011/04/taking-video-snapshots-quickly-kde-vlc-snapper/","section":"Posts","summary":"Some of the oldest readers of this blog are well aware of a certain hobby of mine. Over the years I’ve always wanted to write more about that, including the stuff I’m viewing nowadays, but I found a hassle to collect snapshots from videos / DVDs, selecting them, and so on.\nRecently I learnt that VLC has some rather complete Python bindings, and I thought, why not make the process automated? Yesterday I had some free time on my hands and a quick session of hacking brought some results already.\n","title":"Taking video snapshots quickly: KDE VLC Snapper","type":"post"},{"content":"","date":"April 10, 2011","externalUrl":null,"permalink":"/tags/vlc/","section":"Tags","summary":"","title":"Vlc","type":"tags"},{"content":"","date":"January 26, 2011","externalUrl":null,"permalink":"/tags/git/","section":"Tags","summary":"","title":"Git","type":"tags"},{"content":"As you may already know, recently the KDE sysadmins completely overhauled the commit hooks used with the Git infrastructure. Written in Python, they have already brought significant improvements to the current workflows. These hooks include keywords that when specified trigger particular actions: the most used are to CC specific email addresses (CCMAIL), to CC bug reports (CCBUG) or to close bug reports (BUG).\nWith the adoption of Review Board to facilitate code reviews, there were also requests for a REVIEW keyword that could close the review requests without asking the submitters to do so manually (which is slow and not always effective). Since the hooks for Git were written in Python, I thought I could give a hand there.\nI looked into the Review Board API, which is a simple REST API: tasks are performed with HTTP GET, POST, or PUT. As I didn\u0026rsquo;t want to dive too much into the technicalities, I decided to use a wrapper that would make things easier: python-rest-client. Once that was in place, it was just a matter of adding some sugar to handle replies, errors and logging. All in 78 lines of code.\nNow that the \u0026ldquo;field tests\u0026rdquo; passed with flying colors, I\u0026rsquo;m happy to announce that such a hook exists and is operational for KDE\u0026rsquo;s Git infrastructure. By using the REVIEW keyword at the start of a line, followed by a number, the hook will notify the Review Board instance and close the request. It will also publish a comment stating the commit\u0026rsquo;s SHA1 and the person who did it.\nYou can take a look at the finished results in this review request.\nCredits for this also go to Ben \u0026ldquo;bcooksley\u0026rdquo; Cooksley for helping with testing and fixes, and Eike \u0026ldquo;Sho\u0026rdquo; Hein for helpful suggestions.\n","date":"January 26, 2011","externalUrl":null,"permalink":"/2011/01/improvements-to-the-git-hooks/","section":"Posts","summary":"As you may already know, recently the KDE sysadmins completely overhauled the commit hooks used with the Git infrastructure. Written in Python, they have already brought significant improvements to the current workflows. These hooks include keywords that when specified trigger particular actions: the most used are to CC specific email addresses (CCMAIL), to CC bug reports (CCBUG) or to close bug reports (BUG).\nWith the adoption of Review Board to facilitate code reviews, there were also requests for a REVIEW keyword that could close the review requests without asking the submitters to do so manually (which is slow and not always effective). Since the hooks for Git were written in Python, I thought I could give a hand there.\n","title":"Improvements to the Git hooks","type":"post"},{"content":"","date":"January 26, 2011","externalUrl":null,"permalink":"/tags/review-board/","section":"Tags","summary":"","title":"Review Board","type":"tags"},{"content":"One of the greatest strengths of KDE is undoubtedly the asynchronous and network-transparent I/O access, employed by the so-called \u0026ldquo;I/O\u0026rdquo; slaves, part of the KIO class. If you are developing an application that requires file or network access, those classes make things incredibly simple to do, and they don\u0026rsquo;t freeze your GUI when you are in the middle of a process.\nIn this post I\u0026rsquo;ll show how to use KIO to retrieve files from network resources using PyKDE4. The whole example is also available in the kdeexamples module.\nOur first step is to create a simple UI to show how KIO works. It will be a text edit along with two buttons to retrieve and clear items. Here\u0026rsquo;s how it looks in Designer (the ui file and its compiled Python version are available at the above link):\nOnce this is done, we turn our attention to code. We start customary imports:\n1 2 3 4 5 6 7 #!/usr/bin/env python import sys import PyQt4.QtCore as QtCore import PyQt4.QtGui as QtGui import PyKDE4.kdecore as kdecore import PyKDE4.kdeui as kdeui from PyKDE4.kio import KIO These will provide for everything we need. Then we set up our widget: 1 2 3 4 5 6 7 8 9 10 11 12 13 from ui_textbrowser import Ui_Form class TextArea(QtGui.QWidget, Ui_Form): \u0026#34;\u0026#34;\u0026#34;Example class used to show how KIO works.\u0026#34;\u0026#34;\u0026#34; def __init__(self, parent=None): super(TextArea, self).__init__(parent) self.setupUi(self) self.downloadButton.clicked.connect(self.start_download) self.clearButton.clicked.connect(self.textWidget.clear) Nothing strange in the initializer here. We simply make two connections, one to the clear() slot of the clear button, and the other to start the KIO process, that is the retrieval of the index from www.kde.org. Let\u0026rsquo;s take a look at the start_download slot: 1 2 3 4 5 6 7 8 9 def start_download(self): kdeui.KMessageBox.information(self.parent(), \u0026#34;Now data will be retrieved from \u0026#34; \u0026#34;www.kde.org using KIO\u0026#34;) # KIO wants KUrls data_url = kdecore.KUrl(\u0026#34;http://www.kde.org\u0026#34;) retrieve_job = KIO.storedGet(data_url, KIO.NoReload, KIO.HideProgressInfo) retrieve_job.result.connect(self.handle_download) What do we do here? We show a KMessageBox, just for informational purposes. Once this is done, we prepare the actual KIO job. KIO wants KUrls so we first of all wrap the URL we want to download from in that. Then we create the actual job: in this case it\u0026rsquo;s KIO.storedGet, that is we retrieve the data in full from our URL and store it in a QByteArray. This is a common use case, but you have to keep in mind that for large files this may be impractical. In such a case, we would be better off using KIO.get followed by a connection to the \u0026ldquo;data\u0026rdquo; signal, to get the data in chunks.\nA KIO job can have many flags: here we set to remove the progress information, so that you won\u0026rsquo;t get a notification in the Plasma notifier. For small operations, this should be always present. For longer downloads, it\u0026rsquo;s likely not a good idea. More information are available in the KIO namespace page (C++ version).\nAs a last step, we connect the result signal (emitted when the job is complete) to a slot to handle the download. This is what makes KIO useful, because it\u0026rsquo;s asynchronous, so you can perform long downloads without blocking the user interface of your program\nLastly, we see the \u0026ldquo;handle_download\u0026rdquo; slot: 1 2 3 4 5 6 7 8 9 10 11 def handle_download(self, job): # Bail out in case of errors if job.error(): return print \u0026#34;This slot has been called. The job has finished its operation.\u0026#34; data = job.data() self.textWidget.setPlainText(QtCore.QString(data)) This slot\u0026rsquo;s signature include a KJob instance, that is what we\u0026rsquo;ll use to get the data. In fact, using the data() function we can obtain the QByteArray containing what we have retrieved. Then, in this case we simply use setPlainText to put the downloaded data into the text edit.\nWhat if something goes wrong? We can check for errors if job.error() returns True: in that case we can perform recovery, or simply tell our user that something went wrong. Especially with networked resources, this should always be present in your code.\nSo that\u0026rsquo;s all for now. As you can see, it was pretty simple, and also very effective.\n","date":"January 1, 2011","externalUrl":null,"permalink":"/2011/01/pykde4-retrieve-data-using-kio/","section":"Posts","summary":"One of the greatest strengths of KDE is undoubtedly the asynchronous and network-transparent I/O access, employed by the so-called “I/O” slaves, part of the KIO class. If you are developing an application that requires file or network access, those classes make things incredibly simple to do, and they don’t freeze your GUI when you are in the middle of a process.\nIn this post I’ll show how to use KIO to retrieve files from network resources using PyKDE4. The whole example is also available in the kdeexamples module.\n","title":"PyKDE4: Retrieve data using KIO","type":"post"},{"content":"Some time has passed since I last blogged\u0026hellip; this was not only due to lack of time but also due to motivation (writing long texts can be discouraging at times). In any case, I\u0026rsquo;d like to rectify for that. In this post, I\u0026rsquo;ll talk about Nepomuk, and in particular how to use it to tag and annotate arbitrary files using its API in PyKDE4.\nBefore starting, let me say that creating this tutorial was only possible thanks to the help of Sebastian Trueg, who helped me by pointing out some mistakes I was doing.\nThe example here is not showing the extra methods to set up a KApplication, etc.: the full code for this tutorial is available in the kdeexamples module.\nLet\u0026rsquo;s start with the basics.\n1 2 3 4 5 import sys from PyQt4 import QtCore from PyKDE4 import kdecore from PyKDE4 import kdeui from PyKDE4.nepomuk import Nepomuk This will import all the bits needed to test our experiment. As a second step, we\u0026rsquo;ll create a dummy empty file.\n1 2 3 dummy_file = open(\u0026#34;dummy.txt\u0026#34;, \u0026#34;w\u0026#34;) dummy_file.write(\u0026#34;Some text\\n\u0026#34;) dummy_file.close() Or, if we have Python 2.6+ (as pointed out in the comments):\n1 2 with open(\u0026#34;dummy.txt\u0026#34;, \u0026#34;w\u0026#34;) as handle: handle.write(\u0026#34;Some text\\n\u0026#34;) Now that we have our file, it\u0026rsquo;s time to do something productive with it. But first and foremost, we have to ensure that Nepomuk is running. To do so, we make a simple check (EDIT: fixed the syntax):\n1 2 3 result = Nepomuk.ResourceManager.instance().init() if result != 0: return Neomuk.instance().init() must return 0 if Nepomuk is properly set up. Once this is taken care of, we can manipulate the semantic information of our file. Thus, Nepomuk needs to be made aware of it: this is done by creating a resource that points to the actual file:\n1 2 3 file_info = QtCore.QFileInfo(\u0026#34;dummy.txt\u0026#34;) absolute_path = file_info.absoluteFilePath() resource = Nepomuk.Resource(kdecore.KUrl(absolute_path) Notice that we must use an absolute file path, or the resource will be not created properly and although no errors will happen when tagging, changes will not be made. Let\u0026rsquo;s now create a tag, which is done by simply constructing a Nepomuk.Tag instance:\n1 2 tag = Nepomuk.Tag(\u0026#34;test_example\u0026#34;) tag.setLabel(\u0026#34;test_example\u0026#34;) In the first line we create the tag, then we associate it with a label, so that it will be displayed in applications such as Dolphin. The nice thing is that if the Tag already exists, it will be recycled: no duplicates will occur. A simple call to addTag to the resource we created earlier will now tag it:\n1 resource.addTag(tag) We can also add comments that can show up in Dolphin as well by using the setDescription method:\n1 resource.setDescription(\u0026#34;This is an example comment.\u0026#34;) What if we want to remove tags and descriptions? To wipe them all, we can use the remove() method of the Resource, otherwise we can strip elements by using removeProperty along with the tagUri() or descriptionUri() methods of the resource:\n1 2 3 resource.remove() # strip everything resource.removeProperty(resource.descriptionUri()) # remove comment resource.removeProperty(resource.tagUri()) # remove tags That\u0026rsquo;s it. As you can see, adding semantic information from PyKDE4 isn\u0026rsquo;t that hard. Sooner or later I\u0026rsquo;ll try my hand at queries and report back my findings.\n","date":"October 26, 2010","externalUrl":null,"permalink":"/2010/10/pykde4-tag-and-annotate-files-using-nepomuk/","section":"Posts","summary":"Some time has passed since I last blogged… this was not only due to lack of time but also due to motivation (writing long texts can be discouraging at times). In any case, I’d like to rectify for that. In this post, I’ll talk about Nepomuk, and in particular how to use it to tag and annotate arbitrary files using its API in PyKDE4.\nBefore starting, let me say that creating this tutorial was only possible thanks to the help of Sebastian Trueg, who helped me by pointing out some mistakes I was doing.\n","title":"PyKDE4: Tag and annotate files using Nepomuk","type":"post"},{"content":"","date":"October 26, 2010","externalUrl":null,"permalink":"/tags/semantic-desktop/","section":"Tags","summary":"","title":"Semantic Desktop","type":"tags"},{"content":" On Septemer 1st the open beta of Square Enix\u0026rsquo;s new MMORPG, FINAL FANTASY XIV Online was launched. I\u0026rsquo;ve been playing its predecessor since December 2003, although nowadays my presence is limited to doing the \u0026ldquo;missions\u0026rdquo; (quests that advance the main storyline). Of course I was interested in the \u0026ldquo;new MMO\u0026rdquo; in the works at Square since it was mentioned in 2006. When the official release was announced, I preordered the so-called Limited Collector\u0026rsquo;s Edition (it comes with nice items inside, along with an in-game item). I also hoped to get accepted for the closed alpha and beta test phases.\nUnfortunately that did not happen, but I managed to get into the so-called \u0026ldquo;open beta\u0026rdquo; (quotes are there because you are required to register and obtain a code from Square Enix). I took the opportunity to install the client and start playing. Notice: I won\u0026rsquo;t say \u0026ldquo;it rocks\u0026rdquo; or \u0026ldquo;it sucks\u0026rdquo;, because given the secretive nature of Square Enix on even the most insignificant details, the open beta clearly misses something that will be present at retail, so making judgments (at least on content) is pretty much useless.\nI wanted to create a character that resembled most the current one I\u0026rsquo;m using in FFXI, and this is what I came up with:\n[simage=6,512,n,center]\nThe results are pretty close, however I didn\u0026rsquo;t pick the town I wanted to (Ul\u0026rsquo;dah) nor I chose the right name (kept under wraps): those will have to wait till retail. I can\u0026rsquo;t say too much about the game itself yet, as I\u0026rsquo;ve been playing little, but I noticed that part of the lag is being experienced is likely client side issues (because on another, less powerful machine I tested it on I saw that the slowness was so great that stuff like party invites were not being received).\n[simage=2,512,n,center]\nIn any case, I\u0026rsquo;m having fun, especially in party. Although the most complaint is \u0026ldquo;there isn\u0026rsquo;t anything to do\u0026rdquo;, with my relaxed schedule there\u0026rsquo;s plenty to do, including questing, crafting, and guildleves.\nAs I\u0026rsquo;m getting this game at launch, I created this new category in the blog to tell about my (future) tales.\n","date":"September 4, 2010","externalUrl":null,"permalink":"/2010/09/and-so-it-begins-again.../","section":"Posts","summary":" On Septemer 1st the open beta of Square Enix’s new MMORPG, FINAL FANTASY XIV Online was launched. I’ve been playing its predecessor since December 2003, although nowadays my presence is limited to doing the “missions” (quests that advance the main storyline). Of course I was interested in the “new MMO” in the works at Square since it was mentioned in 2006. When the official release was announced, I preordered the so-called Limited Collector’s Edition (it comes with nice items inside, along with an in-game item). I also hoped to get accepted for the closed alpha and beta test phases.\n","title":"And so, it begins again...","type":"post"},{"content":"","date":"September 4, 2010","externalUrl":null,"permalink":"/tags/final-fantasy-siv/","section":"Tags","summary":"","title":"Final Fantasy Siv","type":"tags"},{"content":"","date":"September 4, 2010","externalUrl":null,"permalink":"/categories/final-fantasy-xiv/","section":"Categories","summary":"","title":"Final Fantasy XIV","type":"categories"},{"content":"","date":"September 4, 2010","externalUrl":null,"permalink":"/tags/open-beta/","section":"Tags","summary":"","title":"Open Beta","type":"tags"},{"content":" The rest is up to you to figure out.\n","date":"July 27, 2010","externalUrl":null,"permalink":"/2010/07/what-this-might-ever-be/","section":"Posts","summary":" The rest is up to you to figure out.\n","title":"What this might ever be?","type":"post"},{"content":"","date":"July 25, 2010","externalUrl":null,"permalink":"/tags/ocs/","section":"Tags","summary":"","title":"OCS","type":"tags"},{"content":"With my last entry, I announced the start of the work for an OCS library for the KDE Community Forums. Today I\u0026rsquo;d like to blog again about the recent developments.\nFirst of all, now there isn\u0026rsquo;t one, but two Python modules:\n_ocslib, _ a pure Python module that can be used to interface with OCS-based forum systems; ocslibkde, a PyKDE4 based module that can be used to interface with OCS-based forum system in KDE applications. Currently ocslib supports reading and posting, while ocslibkde only reading (as of now). Both can be retrieved from the kde-forum-mods repository under the ocs-client subdirectory. The Python lib needs unit-testing, then I\u0026rsquo;ll be able to push a tarball soon for people to test (but you can always check out the Git repository). With regards to the PyKDE4 library, I plan on making a proof-of-concept plasmoid soon that shows how to use the API.\nSpeaking of API, here are some examples using ocslib:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 \u0026gt;\u0026gt;\u0026gt; from ocslib import service# Connect to OCS \u0026gt;\u0026gt;\u0026gt; ocs_service = ocslib.service.OCService(\u0026#34;http://www.example.com\u0026#34;) #Retrieve all forums \u0026gt;\u0026gt;\u0026gt; forums = ocs_service.list_forums() # Elements have attributes for name, posts, etc. \u0026gt;\u0026gt;\u0026gt; print forums[0].name \u0026#34;Test forum\u0026#34; #Retrieve threads for forum 15 \u0026gt;\u0026gt;\u0026gt; threads = ocs_service.list_forum_threads(forum_id=15) # Retrieve thread 8945 from forum 15 \u0026gt;\u0026gt;\u0026gt; messages = ocs_service.show_thread(forum_id=15, topic_id=8945) \u0026gt;\u0026gt;\u0026gt; print messages[0].text \u0026#34;Hello world! #Post to a forum - requires authentication \u0026gt;\u0026gt;\u0026gt; ocs_service = service.OCService(\u0026#34;http://www.example.com\u0026#34;, username=\u0026#34;foo\u0026#34;, password=\u0026#34;bar\u0026#34;) \u0026gt;\u0026gt;\u0026gt; message = \u0026#34;Hello, KDE people!\u0026#34; \u0026gt;\u0026gt;\u0026gt; subject = \u0026#34;Test message\u0026#34; \u0026gt;\u0026gt;\u0026gt; ocs_service.post(forum_id=15, subject=subject, message=message) True # Return code of operation Feedback (especially on the API) welcome!\n","date":"July 25, 2010","externalUrl":null,"permalink":"/2010/07/ocs-and-kde-forums-work-continues/","section":"Posts","summary":"With my last entry, I announced the start of the work for an OCS library for the KDE Community Forums. Today I’d like to blog again about the recent developments.\nFirst of all, now there isn’t one, but two Python modules:\n_ocslib, _ a pure Python module that can be used to interface with OCS-based forum systems; ocslibkde, a PyKDE4 based module that can be used to interface with OCS-based forum system in KDE applications. Currently ocslib supports reading and posting, while ocslibkde only reading (as of now). Both can be retrieved from the kde-forum-mods repository under the ocs-client subdirectory. The Python lib needs unit-testing, then I’ll be able to push a tarball soon for people to test (but you can always check out the Git repository). With regards to the PyKDE4 library, I plan on making a proof-of-concept plasmoid soon that shows how to use the API.\n","title":"OCS and KDE Forums - work continues","type":"post"},{"content":"For KDE developers, web-based forums are often uncommon workflows. Indeed, for communication among developers mailing lists are much better tools, especially since you can handle everything inside a client (most of the time), compared to forums where you have to use a web browser. The ways of reading, replying and interacting with posters are dramatically different. And that is why some developers find themselves uncomfortable with the KDE Community Forums.\nA dedicated application would be usually much better than a browser, because you can work around the intrinsic limitations of the browser itself. The problem is that you can\u0026rsquo;t really access a forum with anything else than a browser. That is, it used to be like this, but now things are changing.\nIn the past months fellow administrator bcooksley has been working quite hard implementing the Open Collaboration Services (OCS) specification in the KDE Community Forums. For the uninformed, it\u0026rsquo;s the same API that powers OpenDesktop.org and related web pages. This means that you could access the forum contents programmatically using a REST API and parsing the XML that is returned by the service.\nUnfortunately, bcooksley had no time to implement a client that would make use of this newly-made service.\nThat\u0026rsquo;s where I stepped in. This morning I committed in the kde-forum-mods repository the first implementation of a backend to access the forums\u0026rsquo; OCS service. Currently it\u0026rsquo;s extremely basic - just a few classes to wrap the XML responses into decent data representation, and a basic class to perform reading requests: that means that technically it is possible to request forum listings, thread listing, and posts. I\u0026rsquo;m still working on the ability of replying and posting messages.\nBeing a Pythonista, the backend is written entirely in Python: currently it uses the standard library plus dateutil and lxml to do its bidding, but the next steps would be to turn it into a PyKDE4 library to access all the KDE related goodness (hello, KIO!). Bear in mind that currently there is no application using this: I merely completed (part of) the backend.\nIf you\u0026rsquo;re interested, the code can be found on gitorious.org, in the ocs-client directory, branch experimental, inside the kde-forum-mods repository.\n","date":"July 18, 2010","externalUrl":null,"permalink":"/2010/07/open-collaboration-services-and-kde-forums/","section":"Posts","summary":"For KDE developers, web-based forums are often uncommon workflows. Indeed, for communication among developers mailing lists are much better tools, especially since you can handle everything inside a client (most of the time), compared to forums where you have to use a web browser. The ways of reading, replying and interacting with posters are dramatically different. And that is why some developers find themselves uncomfortable with the KDE Community Forums.\nA dedicated application would be usually much better than a browser, because you can work around the intrinsic limitations of the browser itself. The problem is that you can’t really access a forum with anything else than a browser. That is, it used to be like this, but now things are changing.\n","title":"Open Collaboration Services and KDE Forums","type":"post"},{"content":"In the past weeks and days, the KDE Community Forums staff has been working to bring new features to improve even more the user experience. A few months ago, the staff was discussing the idea of finding a way to guide users to the most appropriate forum to post their questions or discussions. Now, thanks also to the return in service of one of our admins (welcome back, sayakb!) the feature is now being implemented, as the screenshots below will show.\nBear in mind that everything for now is running on a testing server, to make sure it doesn\u0026rsquo;t break anything. Once the tests and the implementation are complete, we\u0026rsquo;ll integrate the feature in the forums. How soon we are not sure, but it won\u0026rsquo;t be too long.\n\u0026ldquo;Help me post a topic\u0026rdquo; # Upon logging in, you will be greeted by a new \u0026ldquo;New Post\u0026rdquo; button:\nYou can either click on the arrow to quickly post an idea for Brainstorm, a new discussion, access the \u0026ldquo;getting started\u0026rdquo; forum or contact the staff:\nOr if you just click on the button itself, you access the guided post section:\nThe \u0026ldquo;Share an idea\u0026rdquo; and \u0026ldquo;Chat and discuss\u0026rdquo; buttosn will bring you to the relevant forums (Brainstorm and Discussions and Opinions), while \u0026ldquo;Ask a question\u0026rdquo; will bring about an additional screen:\nYou\u0026rsquo;ll be able to select your favorite application and you\u0026rsquo;ll be able to post directly in the relevant forum.\nOpen Collaboration Services # But that\u0026rsquo;s not all. Thanks to the hard work of Ben Cooksley (fellow admin and System Settings maintainer) there is also an implementation of the Open Collaboration Services (OCS), the same system that powers the well-known Get Hot New Stuff connected to OpenDesktop.org. This will mean, in principle, that you could access forum posts and discussions in a programmatic way, using a REST API. This opens up possibilities like Brainstorm plasmoids, other means to access the forum (like an Akonadi resource - there\u0026rsquo;s some ongoing work in KDE SVN). If you\u0026rsquo;re interested in testing the OCS for the forum (or if you want to develop some kind of application that ties to the forums themselves), let us know on IRC (#kde-forum on freenode).\n","date":"June 5, 2010","externalUrl":null,"permalink":"/2010/06/whats-cooking-at-the-kde-community-forums/","section":"Posts","summary":"In the past weeks and days, the KDE Community Forums staff has been working to bring new features to improve even more the user experience. A few months ago, the staff was discussing the idea of finding a way to guide users to the most appropriate forum to post their questions or discussions. Now, thanks also to the return in service of one of our admins (welcome back, sayakb!) the feature is now being implemented, as the screenshots below will show.\n","title":"What's cooking at the KDE Community Forums?","type":"post"},{"content":" My Akademy talk proposal was not accepted, but the organizers were kind enough to offer me the chance to hold a BoF on the same subject. Now I bet you wonder on what I\u0026rsquo;m going to discuss, and I think the title already gives you an idea:\nKDE and bioinformatics: the missing link\nAlthough in the KDE community we have our fair share of scientists (hey there, Stuart!), my BoF will focus on the adoption of KDE in the field of bioinformatics (my day job, not-so-by-chance) on the \u0026ldquo;outsiders\u0026rdquo; front and how to improve the current situation. To elaborate further, bioinformatics is a rather broad field where biological data are treated with computational methods. The oldest and most famous branch of bioinformatics is sequence analysis and related field, where sequences of DNA are analyzed, for example, to find common ancestors among several species, or to reconstruct the genetic code of an organism by comparing it to a related species. Another recent example is related to high-throughput technologies, technologies which produce huge amounts of data from a very small number of experiments (\u0026quot;ultramassive sequencing\u0026quot; and DNA microarrays are examples of such a technology).\nEither way, bioinformaticians have to deal with large amounts of data all the time, and usually there\u0026rsquo;s no \u0026ldquo;shrink-wrap\u0026rdquo; solution to the problems they have to face, software-wise. That\u0026rsquo;s because we do research, so we need to find something new. So the solution is often to write algorithms, or re-implement existing ones in a form that is suited for the tasks at hand. So, bioinformaticians also write software, although they\u0026rsquo;re by no means (usually) professional coders: some have a mathematical or statistical background, others (like me) come from an experience at the lab bench. What kind of programs bioinformaticians write? Normally scripts and small stuff, but in certain cases even full blown-algorithms and applications. Some become so famous that are even trend-setters.\nWhich brings us to the heart of the matter: how does KDE stand in all of this? Sadly, not too well. I\u0026rsquo;ve done some research in the published literature, but there\u0026rsquo;s just one hit returned that\u0026rsquo;s proper: a KDE application for neuroscience (based on the 3.5.x Development Platform) published in 2008. I know that big research places like CERN use KDE, but to my knowledge smaller realities such as research group code in the majority of the cases for Windows or for web-based solutions. Given that at least a signficant portion of bioinformaticians uses UNIX-like operating systems, the question we need to answer is: why?\nThe first and foremost problem is related to market share. Research groups don\u0026rsquo;t even know that KDE exists, so it\u0026rsquo;s unlikely they develop something using the Development Platform (even now that\u0026rsquo;s becoming more cross-platform). This is where some promo efforts could help. Secondly, the problem lies in the \u0026ldquo;difficulty\u0026rdquo; (notice the quotes!) of developing using the KDE Development platform: most bioinformaticians, as I wrote, are not professional coders, and few of them know C++. The most used languages in bioinformatics are Perl and Java (with some Python and Ruby thrown into the mix). Thus, the need for proper bindings. The bindings are there, thanks to the excellent work of the kde-bindings team, but documentation is still lacking (namely in the examples department, but also in tutorials and getting started guides that aren\u0026rsquo;t aimed at C++). Some documentation is auto-generated, and while the KDE API docs are usually not too hard to read, they can still scare off newcomers. Of course this is not the fault of the kde-bindings team: namely, more help is needed.\nPromo efforts and better bindings are the keys to spread KDE more in the field of the bioinformatics. This is what my BoF is about, plus an informal discussion on the use of FOSS in academia and related matters.\nInterested? If you are, you can come to the BoF which will be on Tuesday, 6th July at 15.00 in the Area 2 of the main room at Demola.\nI\u0026rsquo;ll also be around later till the following morning (sadly, two days is the best I can do to attend) in case you\u0026rsquo;re interested for a chat.\n","date":"May 29, 2010","externalUrl":null,"permalink":"/2010/05/akademy-my-own-bof/","section":"Posts","summary":" My Akademy talk proposal was not accepted, but the organizers were kind enough to offer me the chance to hold a BoF on the same subject. Now I bet you wonder on what I’m going to discuss, and I think the title already gives you an idea:\nKDE and bioinformatics: the missing link\nAlthough in the KDE community we have our fair share of scientists (hey there, Stuart!), my BoF will focus on the adoption of KDE in the field of bioinformatics (my day job, not-so-by-chance) on the “outsiders” front and how to improve the current situation. To elaborate further, bioinformatics is a rather broad field where biological data are treated with computational methods. The oldest and most famous branch of bioinformatics is sequence analysis and related field, where sequences of DNA are analyzed, for example, to find common ancestors among several species, or to reconstruct the genetic code of an organism by comparing it to a related species. Another recent example is related to high-throughput technologies, technologies which produce huge amounts of data from a very small number of experiments (\"ultramassive sequencing\" and DNA microarrays are examples of such a technology).\n","title":"Akademy: my own BoF","type":"post"},{"content":"","date":"May 29, 2010","externalUrl":null,"permalink":"/tags/akademy2010/","section":"Tags","summary":"","title":"Akademy2010","type":"tags"},{"content":"","date":"March 6, 2010","externalUrl":null,"permalink":"/tags/programming/","section":"Tags","summary":"","title":"Programming","type":"tags"},{"content":"Those who use PyQt and PyKDE4 are certainly familiar with the syntax used to connect signals and slots:\n[python] from PyQt4 import QtCore from PyQt4 import QtGui from PyKDE4 import kdeui\nclass MyGUI(QtGui.QWidget):\ndef __init__(self, parent=None): super(MyGUI, self).__init__(parent) self.pushbutton = kdeui.KPushButton() self.pushbutton.setText(\u0026quot;Push me!\u0026quot;) QObject.connect(self.pushbutton, QtCore.SIGNAL(\u0026quot;clicked()\u0026quot;), self.button_pushed) def button_pushed(self): print \u0026quot;Button clicked\u0026quot; [/python]\nThe main advantage of this syntax is that it\u0026rsquo;s very close to the C++ equivalent, and so you can translate easily from C++ to Python. Unfortunately the advantages of this syntax end here. The disadvantages, at least from a Python coding perspective, outweigh the advantages:\nIt\u0026rsquo;s extremely error-prone: make a typo, and not only your signal won\u0026rsquo;t be connected, but you won\u0026rsquo;t even get a warning, your program will simply do nothing; In case you have overloaded signals, you have to type the exact signature, going back to the first problem; It\u0026rsquo;s not Pythonic at all. So, in recent PyQt versions (and thus also in PyKDE4) a new style approach was introduced (although the old style is always present should it be the need to). Using the new style, the signals become a property of the object that emits them. and then you use the connect function of that property. Here\u0026rsquo;s the example using the new style-signals:\n[python] from PyQt4 import QtCore from PyQt4 import QtGui from PyKDE4 import kdeui\nclass MyGUI(QtGui.QWidget):\ndef __init__(self, parent=None): super(MyGUI, self).__init__(parent) self.pushbutton = kdeui.KPushButton() self.pushbutton.setText(\u0026quot;Push me!\u0026quot;) # New style self.pushbutton.clicked.connect(self.button_pushed) def button_pushed(self): print \u0026quot;Button clicked\u0026quot; [/python]\nAs you can see it\u0026rsquo;s much clearer, and much more Pythonic. Also, typos will trigger an AttributeError, which means you\u0026rsquo;ll be able to track where the problem is.\nWhat about overloaded signals? Normally the first defined is the default, but you can use a dictionary-like syntax to access other overloads (signal names are completely made up here):\n[python]\nOne signal is without arguments, the other has a bool # Signal without arguments # self.my_widget.connected.connect(self.handle_errors)\nSignal with a book # self.my_widget.connected[bool].connect(self.handle_errors) [/python]\nSignals are emitted with the emit() function and disconnected with the disconnect() function:\n[python]\nEmit a signal # self.pushbutton.clicked.emit()\nEmit a signal with a value (an int) # self.my_widget.valueChanged.emit(int)\nDisconnect another # self.my_tabwidget.currentIndexChanged.disconnect() [/python]\nTo define new signals, you can use the pyqtSignal function, specifying which values will the signal take (if any): just define that as a class constant (like in the example) and then you can access them like the wrapped ones:\n[python]\nclass MyWidget(QWidget):\n# Signal with no arguments operationPerformed = QtCore.pyqtSignal() # Signal that takes arguments valueChanged = QtCore.pyqtSignal(int) [/python]\nI merely scratched the surface with this. For more information, check out PyQt\u0026rsquo;s reference manual, which also covers other cases.\n","date":"March 6, 2010","externalUrl":null,"permalink":"/2010/03/pykde4-new-style-signals-and-slots/","section":"Posts","summary":"Those who use PyQt and PyKDE4 are certainly familiar with the syntax used to connect signals and slots:\n[python] from PyQt4 import QtCore from PyQt4 import QtGui from PyKDE4 import kdeui\nclass MyGUI(QtGui.QWidget):\ndef __init__(self, parent=None): super(MyGUI, self).__init__(parent) self.pushbutton = kdeui.KPushButton() self.pushbutton.setText(\"Push me!\") QObject.connect(self.pushbutton, QtCore.SIGNAL(\"clicked()\"), self.button_pushed) def button_pushed(self): print \"Button clicked\" [/python]\nThe main advantage of this syntax is that it’s very close to the C++ equivalent, and so you can translate easily from C++ to Python. Unfortunately the advantages of this syntax end here. The disadvantages, at least from a Python coding perspective, outweigh the advantages:\n","title":"PyKDE4: new style signals and slots","type":"post"},{"content":"Recently, I investigated how to perform some checks on web addresses using KIO for Danbooru Client. My old code was synchronous, so it blocked the application while checking, thus causing all sort of troubles (UI freezing, etc.). Therefore, making the switch to KIO was the best solution. However, I had one problem: how could I check the HTTP response?\nI knew already that the various ioslaves can store metadata, consisting of key-value pairs which are specific on the slave used. Normally you can get the whole map by accessing the metaData function of the job you have used, in the slot connected from the result signal. For some reason, however, in PyKDE4 calling metaData() triggers an assert in SIP, which ends in a crash (at least in my application; I stil need to debug further). KIO jobs have also the queryMetaData function, which returns the value of the key you have queried. Unfortunately, there was no way I could find the name.\nThus began my search for the right key. Googling didn\u0026rsquo;t help, and on IRC I got the first answers I needed but not enough to reach the goal. Until I saw a commit by David Faure in trunk/kdelibs/kio/ which touched a file called DESIGN.metadata (link is for the branch version). After checking with webSVN, that was exactly the thing I was looking for! It lists all the keys for the metadata, indicating also to which ioslave they begin. After that, the solution was easy.\nOf course I\u0026rsquo;m not leaving you hanging there and now I\u0026rsquo;ll show you how, in PyKDE4, you can quickly check for the server response:\n[python] from PyKDE4.kio import KIO from PyQt4.QtCore import SIGNAL [\u0026hellip;]\nclass my_widget(QWidget): [\u0026hellip;]\ndef check_address(self, url): # You can add optional flags such as KIO.HideProgressInfo job = KIO.get(KUrl(url)) self.connect(job, SIGNAL(\u0026quot;result (KJob *)\u0026quot;), self.slot_result) def slot_result(self, job): if job.error(): # Bail out if there's an error return # Get the HTTP response through queryMetaData http_response = job.queryMetaData(\u0026quot;responsecode\u0026quot;) print \u0026quot;Got response: %s\u0026quot; % unicode(http_response) [/python]\nThis snippet does a few things. Firstly, it gets the specified URL, using KIO.get (KIO.stat doesn\u0026rsquo;t set the required metadata). Notice that the call is not wrapped in the new-style PyQt API because result (KJob *) isn\u0026rsquo;t wrapped like that (there\u0026rsquo;s a bug open for that). In any case, the signal passes to the connecting slot (slot_result) where we first check if there\u0026rsquo;s an error (perhaps the address didn\u0026rsquo;t exist?) and then we use queryMetaData(\u0026ldquo;responsecode\u0026rdquo;) to get the actual response code.\nIf you want to do error checking basing on the result, bear in mind that KIO operates asynchronously, so you should use a signal to tell your application that the result is what it expected or not.\nI wonder if this should be documented in Techbase\u0026hellip;\n","date":"February 18, 2010","externalUrl":null,"permalink":"/2010/02/the-world-of-kio-metadata-checking-the-http-response-from-a-server/","section":"Posts","summary":"Recently, I investigated how to perform some checks on web addresses using KIO for Danbooru Client. My old code was synchronous, so it blocked the application while checking, thus causing all sort of troubles (UI freezing, etc.). Therefore, making the switch to KIO was the best solution. However, I had one problem: how could I check the HTTP response?\nI knew already that the various ioslaves can store metadata, consisting of key-value pairs which are specific on the slave used. Normally you can get the whole map by accessing the metaData function of the job you have used, in the slot connected from the result signal. For some reason, however, in PyKDE4 calling metaData() triggers an assert in SIP, which ends in a crash (at least in my application; I stil need to debug further). KIO jobs have also the queryMetaData function, which returns the value of the key you have queried. Unfortunately, there was no way I could find the name.\n","title":"The world of KIO metadata - checking the HTTP response from a server","type":"post"},{"content":"","date":"February 6, 2010","externalUrl":null,"permalink":"/tags/ar-tonelico-3/","section":"Tags","summary":"","title":"Ar Tonelico 3","type":"tags"},{"content":" It\u0026rsquo;s been a while since I blogged about anything non-FOSS. This time I\u0026rsquo;ll be sharing some impressions on one of the games I\u0026rsquo;m playing at the moment, that is,** Ar Tonelico III** (which arrived at my doorstep two days ago). I admit I haven\u0026rsquo;t been a fan of Gust games (aside from Ar Tonelico, they\u0026rsquo;re known mostly for the Atelier series), mostly because technically wise they didn\u0026rsquo;t really perform that well. While I understood they\u0026rsquo;re a small company, sometimes it was a little too much.\nI bought this one because from the movies and information disseminated throughout the net it looked like it was better, so I started reading information, which in turn prompted the buy: it\u0026rsquo;s also a good way to keep my Japanese in order, as I need to keep up with the language if I want to understand things.\nRight now I\u0026rsquo;ve just played a couple of hours, and it looks decent, although with some technical issues (the characters glide over the terrain, rather than walk). I\u0026rsquo;ve also seen the infamous Purge System in action (look it up online), which made quite a number of fan sneer for a various number of reasons. As of the story, I can\u0026rsquo;t say anything at the moment: I\u0026rsquo;ve just started. At least it is moderately fun.\nHere\u0026rsquo;s a hands-on (Italian) which covers more details. I\u0026rsquo;ll try to post a few updates in the future (if I don\u0026rsquo;t forget\u0026hellip;.)\nAnd here\u0026rsquo;s a quick video I made with my camera:\n[flv]http://www.heavensinferno.net/downloads/tonelico3_conv.flv[/flv]\n","date":"February 6, 2010","externalUrl":null,"permalink":"/2010/02/ar-tonelico-iii/","section":"Posts","summary":" It’s been a while since I blogged about anything non-FOSS. This time I’ll be sharing some impressions on one of the games I’m playing at the moment, that is,** Ar Tonelico III** (which arrived at my doorstep two days ago). I admit I haven’t been a fan of Gust games (aside from Ar Tonelico, they’re known mostly for the Atelier series), mostly because technically wise they didn’t really perform that well. While I understood they’re a small company, sometimes it was a little too much.\n","title":"Ar Tonelico III","type":"post"},{"content":"","date":"February 6, 2010","externalUrl":null,"permalink":"/tags/games/","section":"Tags","summary":"","title":"Games","type":"tags"},{"content":"With my brand-new SVN account, I just committed some code to kdeexamples, KDE\u0026rsquo;s example code module. In particular, I committed a simple example which shows how to use KConfigXT via PyKDE4, a simplified version of what I wrote about here.\nAs most of KDE is C++, and the Python API docs are translated directly from the C++ API docs, it is essential to have good examples to help newcomers learn faster. There are some PyKDE4 examples in the kdebindings module already, but I put mine in kdeexamples for a number of reasons:\nClear purpose: kdeexamples is meant exactly for this - example code; Visibility: A central place to find KDE examples even for bindings is optimal, makes easier to find what one is looking for. Visibility is also important as currently the examples are rather buried inside kdebindings, and as far as I know they aren\u0026rsquo;t included in the packages of some distributions (at least not openSUSE; YMMV).\nI decided to take this route because PyKDE4 is basically the job of one person (Simon Edwards): he does already a great job, but the work is too much for a single person to handle. And due to shortage of human resources, PyKDE4 lacks examples and documentation, and thus it\u0026rsquo;s not always easy to understand how to use the C++ API in Python. Writing snippets of working code, with extensive comments, is a step in the good direction. And also an opportunity to contribute back to KDE after all these years!\nFor now there\u0026rsquo;s just KConfigXT, but I plan on tackling KIO next, as soon as I have time. Of course, help is welcome!\n","date":"January 13, 2010","externalUrl":null,"permalink":"/2010/01/learning-by-example/","section":"Posts","summary":"With my brand-new SVN account, I just committed some code to kdeexamples, KDE’s example code module. In particular, I committed a simple example which shows how to use KConfigXT via PyKDE4, a simplified version of what I wrote about here.\nAs most of KDE is C++, and the Python API docs are translated directly from the C++ API docs, it is essential to have good examples to help newcomers learn faster. There are some PyKDE4 examples in the kdebindings module already, but I put mine in kdeexamples for a number of reasons:\n","title":"Learning by example","type":"post"},{"content":"Sometimes answering apparently harmless questions on instant messaging can have unexpected results. In particular, I was telling about Danbooru Client to someone and a question popped up \u0026ldquo;Why don\u0026rsquo;t you support pages?\u0026rdquo;. It seemed a nice idea, so I branched off the code (yay for git!) and started working on it.\nWell, it took me more than a month to get this thing done\u0026hellip; I didn\u0026rsquo;t spend every day coding, but it was a challenge. Glad it\u0026rsquo;s over now, which means that Danbooru Client 0.5 is finally available. Grab it at the usual place on kde-apps.org.\nChanges in this version:\nMassive code refactoring and documentation Support for multiple pages: the same query can be repeated multiple pages (shown in a tabbed interface), kind of like browsing the actual Danbooru board; Rating information added to the API; Support for translations (thanks to Pino \u0026ldquo;pinotree\u0026rdquo; Toscano for the help): the tarball now contains a .pot file which can be used for translating Danbooru Client. If you make a translation, send the .po file my way and I\u0026rsquo;ll include it in the next version. Improvements that I have in the queue:\nSuppport for pools (every board out there changes the API, so it will require some work); Support for storing password/username using KWallet (through python-keyring, so it works even without KWallet installed); Review usability of the dialogs (I have a separate branch for that); Improve the image download dialog. On recent KDE SC versions (4.4 beta 2 and onwards) there are some painting issues with regards to the thumbnails, but I\u0026rsquo;m not sure if the fault is in PyKDE4 or in the underlying libraries. Nothing too bad, luckily: hovering the thumbnails or giving focus to the thumbnail view should be what\u0026rsquo;s needed.\nHere\u0026rsquo;s a screenshot of the new interface (click to enlarge):\nComments and suggestions are always welcome, so don\u0026rsquo;t hesitate to drop me a line.\nAs a final word, some thoughts on the work required to get this out of the door. My largest issues are related to garbage collection: Python\u0026rsquo;s reference counting based GC got a lot in the way, at least because of how the underlying C++ structures work. I had to work a bit to keep references to objects around so I wouldn\u0026rsquo;t get crashes (accessing an already deleted object). All is well now, and I think my Python/PyQt/PyKDE4 knowledge gained from it. I keep telling myself that I should be writing some tutorials one day\u0026hellip;\n","date":"December 27, 2009","externalUrl":null,"permalink":"/2009/12/danbooru-client-0.5-is-out/","section":"Posts","summary":"Sometimes answering apparently harmless questions on instant messaging can have unexpected results. In particular, I was telling about Danbooru Client to someone and a question popped up “Why don’t you support pages?”. It seemed a nice idea, so I branched off the code (yay for git!) and started working on it.\nWell, it took me more than a month to get this thing done… I didn’t spend every day coding, but it was a challenge. Glad it’s over now, which means that Danbooru Client 0.5 is finally available. Grab it at the usual place on kde-apps.org.\n","title":"Danbooru Client 0.5 is out","type":"post"},{"content":"KDE SC 4.4 Beta 1 has been released, and of course I couldn\u0026rsquo;t stay still. Thanks to the friendly openSUSE Build Service, there were packages available, so I just pointed my zypper sources to KDE:KDE4:UNSTABLE:Desktop repository, adjusted a few other things (mainly other third-party repositories) and updated.\nIt was a mostly painless process, mostly because I was too fast, and the mirrors hadn\u0026rsquo;t synced yet, so I ended up with 4.3.77 packages instead of 4.3.80 (Beta 1). I just avoided to log into X and waited till the right packages were available, then I updated again. I updated system-wide (yes, I can be that crazy) and I started using the beta (and its subsequent snapshots) full time. In part it\u0026rsquo;s because I\u0026rsquo;m a feature addict, in part because I wanted to write some promo material (I\u0026rsquo;m really sorry Jos, I didn\u0026rsquo;t find the time to do it yet!) to make things easier prior to release.\nSo, how\u0026rsquo;s the SC faring, so far? Pretty nice, overall. There are of course quirks (for example KWin not responding to global shortcuts unless it\u0026rsquo;s restarted), but generally the experience has been quite positive. The user-facing components, such as KWin and Plasma, have improved quite a bit (new effects, the new widget explorer, new applets\u0026hellip;.), but also less visible parts such as Nepomuk (with the Virtuoso backend it works OK, although for some reason I can\u0026rsquo;t access the metadata panel in Dolphin or use the search, also in Dolphin). I also took the time to explore other applications, for example Cantor, as I\u0026rsquo;m a (reluctant) user of the R programming language. The version built by openSUSE doesn\u0026rsquo;t ship with an R backend, so I had to compile it on my own. It is more minimalistic than, say, rkward, but I can foresse already some uses for it (especially running already-made scripts).\nI also tried out the netbook shell on my Eee. Again, it\u0026rsquo;s pretty nice, although sometimes the performance is still lacking (but my Eee uses an i915 chipset, so it\u0026rsquo;s really the end-of-line and may have played a role in this.\nOverall I\u0026rsquo;m very impressed, so congratulations to everyone who\u0026rsquo;s making this possible!\nLastly, following up what Stuart and others did, here are two screenshots of two of my (many) activities (click for full picture):\n","date":"December 7, 2009","externalUrl":null,"permalink":"/2009/12/living-on-the-edge/","section":"Posts","summary":"KDE SC 4.4 Beta 1 has been released, and of course I couldn’t stay still. Thanks to the friendly openSUSE Build Service, there were packages available, so I just pointed my zypper sources to KDE:KDE4:UNSTABLE:Desktop repository, adjusted a few other things (mainly other third-party repositories) and updated.\n","title":"Living on the edge","type":"post"},{"content":"Do you like KDE? Did you ever find yourself in a position of wanting to help, but you didn\u0026rsquo;t know what to do, or who to talk to? Do you feel you could use help to get started?\nToday, the KDE Community Forums would like to provide the opportunity to answer those questions by annoucing the continuation of the tutorial courses known as Klassrooms.\nWhat are Klassrooms? # Klassrooms are tutorial \u0026ldquo;lessons\u0026rdquo; held in a specific area of the forum. Held by one or more \u0026ldquo;mentors\u0026rdquo;, they are focused in guiding people through helping KDE by tackling a particular problem. Examples of such problems include:\nFixing simple bugs in an application Taking junior jobs in a specific project Helping with documentation Promotion work (for example, screencasts) Helping with translations As you can see, Klassrooms are not limited to coding at all.\nUsually the sessions last from one to two weeks, with a maximum of 5 \u0026ldquo;students\u0026rdquo; participating. The work is coordinated in a specific area of the forum.\nPublic call for mentors # The key to hold Klassrooms is having mentors. Their role is to present the problem and guide students through the course. Compared to a live session, using the forum requires less time, and both the students and the mentor can set their most convenient schedule.\nThat is why _we need you! _You don\u0026rsquo;t need to be a developer: non-coding courses are as welcome as coding ones. How do you become a mentor? These guidelines explain everything that is needed to apply.\nIf you feel like helping, this is the perfect opportunity. Let us know!\n","date":"November 29, 2009","externalUrl":null,"permalink":"/2009/11/after-a-hiatus-klassrooms-continue/","section":"Posts","summary":"Do you like KDE? Did you ever find yourself in a position of wanting to help, but you didn’t know what to do, or who to talk to? Do you feel you could use help to get started?\nToday, the KDE Community Forums would like to provide the opportunity to answer those questions by annoucing the continuation of the tutorial courses known as Klassrooms.\nWhat are Klassrooms? # Klassrooms are tutorial “lessons” held in a specific area of the forum. Held by one or more “mentors”, they are focused in guiding people through helping KDE by tackling a particular problem. Examples of such problems include:\n","title":"After a hiatus, Klassrooms continue!","type":"post"},{"content":"","date":"November 29, 2009","externalUrl":null,"permalink":"/tags/kdeforum/","section":"Tags","summary":"","title":"Kdeforum","type":"tags"},{"content":"","date":"November 29, 2009","externalUrl":null,"permalink":"/tags/klassroom/","section":"Tags","summary":"","title":"Klassroom","type":"tags"},{"content":"Well, there wasn\u0026rsquo;t a Day 1 for me (I got to the hotel too late to follow the first day of the meeting), so that is why I\u0026rsquo;m starting on day 2. To start, I need to say that I had never been to a sprint before: I am already accustomed to meeting for real someone from online, but for all the attendants, they had been just names or nicks on IRC. That means I was a bit nervous.\nThe first encounter worked out pretty well, actually. I went with the others to have a dinner out, and I got to talk to \u0026ldquo;famous\u0026rdquo; KDE people such as Troy, Lydia, or Jos. I also had the nice opportunity to meet up with my fellow forum administrator neverendingo, and we discussed a bit on how to improve the forums. In short, the evening was really nice. I even got to see a N900! I thought I\u0026rsquo;d never see that. A very nice piece of hardware, I\u0026rsquo;d say.\nThe following morning, aside a little incident (the other people forgot about me!) I walked up to KONSEC where the meeting was held. While Cornelius led the discussion (the Dot will have more details in due time), I worked on helping out with a promo booklet the team is making. I\u0026rsquo;m used to writing, but writing in an appealing way to a less specialized audience is much harder. Thanks go to Jos who got me on the right track.\nThen part of the people moved to another room to discuss about getting new contributors to KDE while I stayed with Jos and Stuart to work on other material. It was a little draining, but very productive overall. I am actually happy to be part of this, for a change, rather than passively reading about it on the web. It\u0026rsquo;s nice to give something back to your favorite project, as little as may be.\nLastly, we went out for a dinner in an Indian restaurant (nice food, not too much though), and we went back (with Eckhart showing us innovative ways to get back by changing multiple subway trains). And here I am, writing a small report of this day.\nIt\u0026rsquo;s been a very positive experience so far. I finally saw more people who use KDE, and they\u0026rsquo;re also both fun and nice. Now it\u0026rsquo;s time for bed, I still have a good half of a day for work before I get back.\n","date":"November 14, 2009","externalUrl":null,"permalink":"/2009/11/kde-marketing-sprint-day-2/","section":"Posts","summary":"Well, there wasn’t a Day 1 for me (I got to the hotel too late to follow the first day of the meeting), so that is why I’m starting on day 2. To start, I need to say that I had never been to a sprint before: I am already accustomed to meeting for real someone from online, but for all the attendants, they had been just names or nicks on IRC. That means I was a bit nervous.\n","title":"KDE Marketing Sprint - Day 2(?)","type":"post"},{"content":"A while ago I presented \u0026ldquo;danbooru2nepomuk\u0026rdquo;, a small program to tag images coming from Danbooru-based image boards. Today I want to present the evolution of that program, that is a PyKDE4 client for those boards.\nDanbooru? Is it something you eat? # Well, aside from the Wikipedia link above, I think a small introduction is in order, at least for the readers coming from PlanetKDE. Danbooru is a kind of image board which structures its data semantically, by having tags attached to images (along with other things, such as favorites, rating, etc.). It can be browsed normally (newest posts, etc.) or by using tags and other properties. Some boards are quite popular in the anime-viewing community. The neat thing about Danbooru (which is by itself a Ruby on Rails application) is the fact that it can provide a REST and POST API to access data. So. it\u0026rsquo;s technically possible to access such boards programmatically: the API permits not only retrieving posts, but also upload, tag, and perform other operations.\nThe API could be technically used also for client applications, in order to free the user from using a browser. That is what Danbooru Client is aiming to do.\nIntroducing Danbooru Client # Danbooru Client fits exactly these needs by providing a GUI to (part of) the Danbooru API.\nFeatures:\nConnect to any Danbooru board (three predefined) Download up to 100 images with selectable tags; Download or view images with the KDE preferred image viewer; Tag semantically the images using Nepomuk. Requirements:\nPyQt (at least version 4.5) PyKDE4 (tested with PyKDE 4.3 only) (optional) Nepomuk Python (at least version 2.5) Screenshots\n(click to enlarge)\nDownload \u0026amp; Installation # You can obtain Danbooru Client from kde-apps.org. For the bleeding edge people (but are there such users for such an application?) there is a git repository set up at Gitorious. Once downloaded, you need to use CMake to install the files. Unfortunately due to the way CMake is set up, you\u0026rsquo;ll need the KDE development headers and a working C++ compiler, even though you won\u0026rsquo;t need them for the installation.\nThe installation process is very straightforward:\n[bash]cd /path/to/source mkdir build; cd build cmake -DCMAKE_INSTALL_PREFIX=kde4-config --prefix ../ make # This just byte-compiles Python files sudo make install[/bash]\nThen, just launch \u0026ldquo;danbooru_client\u0026rdquo;.\nKnown limitations # There are plenty for now, it\u0026rsquo;s just version 0.1:\nZero documentation (although it\u0026rsquo;s kind of straightforward to use) Empty cells are created when a row is not filled with images No support for multi-download Untested login/password access The interface may be horrid Danbooru does not support rating filtering via API, so it\u0026rsquo;s not currently possible to do so The client is licensed under the GPL v2 or later. The artwork for the splash screen is also under the GPL and was made by Melissa Adkins.\n","date":"October 25, 2009","externalUrl":null,"permalink":"/2009/10/danbooru-client-a-client-for-danbooru-based-sites/","section":"Posts","summary":"A while ago I presented “danbooru2nepomuk”, a small program to tag images coming from Danbooru-based image boards. Today I want to present the evolution of that program, that is a PyKDE4 client for those boards.\n","title":"Danbooru Client - a client for Danbooru based sites","type":"post"},{"content":"If you read around the KDE Techbase, or if you develop KDE applications, you may have heard about KDE\u0026rsquo;s KConfigXT. This is an extension of KDE\u0026rsquo;s KConfig, and can be used to generate nice configure dialogs with multiple pages with minimal effort, also taking care of saving and applying settings. In short, something really neat! But there are problems when using it with interpreted language bindings (such as PyKDE, which is the one I use):\nKConfigXT requires an XML file and an INI-like file to be compiled by kconfig_compiler in order to produce C++ files There is no such a tool (at least to my knowledge) that does the same job for bindings So what to do? Either give up on the niceness of KConfigXT, or work around the issue. I chose the latter.\nBypassing the kconfig_compiler limitation # What kconfig_compiler does is basically generate the KConfigSkeleton sublcass needed for KConfigXT. So, we can create our own subclass by hand: a little more work is involved but nothing too hard. The following snippets, taken from a GPL application I\u0026rsquo;m working on, will demonstrate how to do it.\n[python] from PyQt4.QtCore import * from PyQt4.QtGui import * from PyKDE4.kdeui import *\n#UI stuff - see later from ui_generalpage import Ui_GeneralPage\nclass Preferences(KConfigSkeleton):\n\u0026quot;\u0026quot;\u0026quot;Class to handle preferences.\u0026quot;\u0026quot;\u0026quot; def __init__(self, *args): super(Preferences, self).__init__(self, *args) self.setCurrentGroup(\u0026quot;General\u0026quot;) self._danbooru_boards_list = QStringList() self._danbooru_boards = self.addItemStringList(\u0026quot;danbooruUrls\u0026quot;, self._danbooru_boards_list, QStringList()) [/python]\nHere we set up a KConfigSKeleton subclass. The first thing we set up after that is the config group we want to use: we can have several, for example \u0026ldquo;General\u0026rdquo;, \u0026ldquo;Services\u0026rdquo;, and so on. Of course an empty group makes nothing, so we populate it, in this case with a QStringList configuration item (see the API docs (KCoreConfigSkeleton, but KConfigSkeleton is a subclass of that) for more types you can use). You\u0026rsquo;ll notice that we assign an empty QStringList to a variable, which is then used in the addItemStringList call later. That\u0026rsquo;s because KConfigSkeleton (in C++) wants a pointer to the type of content, and since in Python we don\u0026rsquo;t have pointers, we pass a reference (and by binding it to our class instance, we make sure it won\u0026rsquo;t be garbage-collected).\nThe addItemStringList (and other addItem*) methods use three parameters: a string with the name of the option (remember this!), the reference to the item, and a default value (in this case an empty QStringList).. Once we\u0026rsquo;ve set the options, we call readConfig() in the initializer to make sure the values are read from the config (or default values created).\nI set all the attributes as \u0026ldquo;hidden\u0026rdquo; to prevent direct manipulation. To access them, I set up properties (following the example of minirok, another PyKDE4 application).\n[python] @property def boards_list(self): return self._danbooru_boards.value() [/python]\nAs you can see, the value of the configuration items is accessed via the value() function. Once tihs is done, we\u0026rsquo;re done with regards to the KConfigSkeleton part.\nKConfigDialog # Of course now we want to create the config dialog. We do so by subclassing KConfigDialog. First, though, we must create the page contents. We do so in Qt Designer. We first create a widget, and then we place our configuration widgets on it. It is essential that the widget that will store our configuration details have the name kcfg_CONFIGOPTION, where CONFIGOPTION is the name you specified as a string in the KConfigSkeleton initializer. Once done, we save the ui file, compile with pykdeuic4, we set it in the imports of our preferences file and we\u0026rsquo;re good to go.\nThe following is an example of a general configuration page widget (the UI_* is the pykdeuic4 generated file):\n[python] class GeneralPage(QWidget, Ui_GeneralPage):\ndef __init__(self, parent=None, preferences=None): super(GeneralPage, self).__init__(parent) self.setupUi(self) self.kcfg_danbooruUrls.insertStringList(preferences.boards_list) [/python]\nAs you can see, we pass the preferences instance in the initializer, so we can populate the widgets (which are indeed named kcfg_danbooruUrls, just like the config option I set earlier) . Of course you can connect signals and whatnot to slots in case you want to do something with your widgets. I didn\u0026rsquo;t have the need, so no need to.\nAnd once we have this set up, we can finally create the KConfigDialog!\n[python] class PreferencesDialog(KConfigDialog):\ndef __init__(self, parent=None, name=None, preferences=None): super(PreferencesDialog, self).__init__(parent, name, preferences) self.setButtons(KDialog.ButtonCode(KDialog.Ok |KDialog.Apply | KDialog.Cancel)) self.general_page = GeneralPage(self, preferences) self.general_page_item = self.addPage(self.general_page, 'General') [/python]\nIn the initializer, we pass the preferences instance, the name (used later to determine if a page is already open, since KConfigDialog is non-modal), and of course, the parent widget. We then set the buttons (using bitwise ORs) we want to show. Finally, we instantiate our page widget and add it to the dialog, specifying a name that will appear on the side. Using the setIcon method you can also set an icon for your page. In case you want to perform checks and other things, reimplement slotButtonClicked in your subclass with (self, button) as parameters. But dont\u0026rsquo; forget to call the original KConfigDialog.slotButtonClicked(button) in that case.\nWrapping it up: calling KConfigDialog # Finally, how to call your dialog? First of all, you need to instantiate your preferences object, for example in your main window application code:\n[python]self.preferences=preferences.Preferences()[/python]\nThen, in your code, you do something like this:\n[python] if KConfigDialog.showDialog(\u0026ldquo;Preferences dialog\u0026rdquo;): return else: dialog = preferences.PreferencesDialog(self, \u0026ldquo;Preferences dialog\u0026rdquo;, self.preferences) dialog.show() [/python]\nThe first if ensures that if there is already one dialog open, it won\u0026rsquo;t open another. If that\u0026rsquo;s not the case, we instantiate the dialog, passing it the name (which must be the same as the if above), the parent, and the preferences instance.\nVoila\u0026rsquo;. In the end, you\u0026rsquo;ll get something like this (slightly different):\nI know my own UI sucks here, but it\u0026rsquo;s something I\u0026rsquo;m still experimenting\u0026hellip;\nFor this tutorial, thanks go to Pino \u0026ldquo;pinotree\u0026rdquo; Toscano, who pointed me to the \u0026ldquo;minirok\u0026rdquo; project, which makes use of KConfigXT, and Adeodato Simò, the author of minirok.\n","date":"October 19, 2009","externalUrl":null,"permalink":"/2009/10/howto-kconfigxt-with-pykde4/","section":"Posts","summary":"If you read around the KDE Techbase, or if you develop KDE applications, you may have heard about KDE’s KConfigXT. This is an extension of KDE’s KConfig, and can be used to generate nice configure dialogs with multiple pages with minimal effort, also taking care of saving and applying settings. In short, something really neat! But there are problems when using it with interpreted language bindings (such as PyKDE, which is the one I use):\nKConfigXT requires an XML file and an INI-like file to be compiled by kconfig_compiler in order to produce C++ files There is no such a tool (at least to my knowledge) that does the same job for bindings So what to do? Either give up on the niceness of KConfigXT, or work around the issue. I chose the latter.\n","title":"HOWTO: KConfigXT with PyKDE4","type":"post"},{"content":"If you dabble with anime and related things like I do, you may have heard about imageboards. A known variant, which powers sites such as moe.imouto (some links may be NSFW) or Konachan, is Danbooru, a Ruby on Rails application. One of the characteristics of this software is that images stored there can be tagged to be identified as precisely as possible: common tags are for example the magazine where the image was taken from, the characters depicted, and so on.\nOnce you save the file, however, all the tags are just present in your file name, and nowhere else. LIke that, they\u0026rsquo;re not that informative. That\u0026rsquo;s where danbooru2nepomuk comes into play. danbooru2nepomuk is a small Python program that can turn the tags present into the filenames into real semantic tags.\nRequirements # As of this post, danbooru2nepomuk works only on Linux, so if you are a Windows user, you\u0026rsquo;re out of luck. Also, it requires a KDE (tested with version 4.3.1).\ndanbooru2nepomuk is a Python program, so it requires first of all the Python interpreter, version 2.5 or later. It has been developed to use the Nepomuk semantic desktop framework present in KDE, so you\u0026rsquo;ll also need PyQt4 and PyKDE4, along with a working Nepomuk installation. Most distributions use the broken Soprano redland backend, which will not work, so I suggest you to switch to the sesame2 backend, which (although dependent on Java) works reasonably well.\nDownload and installation # Simply get danbooru2nepomuk.zip, rename it to .py from .zip, save it in your PATH, and make it executable. Nothing more than that.\nUsage # danbooru2nepomuk is a command line appplication. Its syntax is simple:\n1 danbooru2nepomuk.py [-r] \u0026lt;file or directory\u0026gt; If you specify a file, it will be tagged directly; if you specify a directory, it will be scanned for files, and those in turn will be tagged. If you add the -r switch to a directory, it will be scanned recursively, while it will be simply ignored if you use it with a file.\nConfiguration # You can specify a tag blacklist for tags in the filename that you don\u0026rsquo;t want to get in. To do so, edit the TAGS_BLACKLIST variable on line 41, and add more tags you don\u0026rsquo;t want Nepomuk to pick up.\nKnown issues # None that I know of, at least! If you find any, let me know.\ndanbooru2nepomuk is licensed under the GNU General Public License, version 2.\n","date":"October 2, 2009","externalUrl":null,"permalink":"/2009/10/danbooru2nepomuk-a-nepomuk-tagger-for-danbooru-images/","section":"Posts","summary":"If you dabble with anime and related things like I do, you may have heard about imageboards. A known variant, which powers sites such as moe.imouto (some links may be NSFW) or Konachan, is Danbooru, a Ruby on Rails application. One of the characteristics of this software is that images stored there can be tagged to be identified as precisely as possible: common tags are for example the magazine where the image was taken from, the characters depicted, and so on.\n","title":"danbooru2Nepomuk - a Nepomuk tagger for Danbooru images","type":"post"},{"content":"","date":"September 20, 2009","externalUrl":null,"permalink":"/tags/community/","section":"Tags","summary":"","title":"Community","type":"tags"},{"content":"In line with the project\u0026rsquo;s committment to openness, the KDE developers and contributors are not a secretive bunch. In fact, the \u0026ldquo;People Behind KDE\u0026rdquo; initiative has provided the community with interviews of quite a number of the developers. And by reading those interviews, haven\u0026rsquo;t you ever felt the need of asking a specific question, outside from those prepared by the interviewer? For example, more details about what the specific developer is doing, or what his/her plans are for the next version of KDE.\nSo far, all that was just a passing thought in someone\u0026rsquo;s mind. Not anymore\u0026hellip; because today I\u0026rsquo;d like to introduce the newest initiative by the KDE Community Forums, in cooperation with other members of the KDE community: KDialogue!\n(image courtesy of forum staff member Hans)\nHow does it work?\nAt fixed intervals, a KDE contributor will be asked to participate in a dialogue. The community will be able to propose questions in a special forum set up at the KDE Community Forums, and people can vote on questions they would like to see answered (in a similar vein, although simplified, to the KDE Brainstorm). It means that you, the community members, choose the questions. The voting will stay opened into seven days before the dialogue, and at that point that the top-voted questions will be emailed to the contributor. The answers will be then published on the behindkde.org web page.\nThe first KDialogue will be announced soon. Take the chance to be part of the community!\n","date":"September 20, 2009","externalUrl":null,"permalink":"/2009/09/introducing-kdialogue/","section":"Posts","summary":"In line with the project’s committment to openness, the KDE developers and contributors are not a secretive bunch. In fact, the “People Behind KDE” initiative has provided the community with interviews of quite a number of the developers. And by reading those interviews, haven’t you ever felt the need of asking a specific question, outside from those prepared by the interviewer? For example, more details about what the specific developer is doing, or what his/her plans are for the next version of KDE.\n","title":"Introducing KDialogue","type":"post"},{"content":"","date":"September 20, 2009","externalUrl":null,"permalink":"/tags/kdialogue/","section":"Tags","summary":"","title":"KDialogue","type":"tags"},{"content":"While browsing around kde-look.org, I\u0026rsquo;ve stumbled upon a nice little Plasma scripted widget, and I\u0026rsquo;m publishing this to have it get more exposure.\nA good part of the KDE community knows at least little about Nepomuk, and its ability to attach semantic tags to your files - basically words that describe the file, be it an image, a text document, or anything you\u0026rsquo;d like. For example, you could tag all the photos from your vacation with the name of the place you\u0026rsquo;ve been. After that, you can recall tagged files by accessing the nepomuksearch://hasTag:TAG_NAME url in Dolphin or Konqueror (there are more advanced uses, but I won\u0026rsquo;t cover them here), where TAG_NAME is your tag.\nUp to now, the usual way to tag files was to either select them in batch and add a tag, or do them individually, then click \u0026ldquo;Add tag\u0026rdquo;, then select the tag or create a new one. It was kind of laborious, although not too complicated. And that\u0026rsquo;s where Drop2Tag comes in.\nDrop2Tag stays in your desktop, configured for one of your Nepomuk tags. Then, you just need to drag files to it to have them automatically tagged. Also, clicking on the big Nepomuk icon will open your file manager with the nepomuksearch://hasTag URL with the selected tag. Neat.\nThe plasmoid is written in Python (I\u0026rsquo;ve taken a look at its source) and despite being very early in development, it already does the job very nicely - I have put one on my \u0026ldquo;Graphics manipulation\u0026rdquo; desktop activity to tag photos and images. A nice addition would be to select the tag from the plasmoid itself, rather than using the configuration option - it would make things much more flexible. Perhaps a Plasma.ComboBox would do the job here.\nIn any case, I\u0026rsquo;d like to congratulate its author (nik3nt3) for a job well done.\n","date":"September 15, 2009","externalUrl":null,"permalink":"/2009/09/interesting-plasmoid-drop2tag/","section":"Posts","summary":"While browsing around kde-look.org, I’ve stumbled upon a nice little Plasma scripted widget, and I’m publishing this to have it get more exposure.\nA good part of the KDE community knows at least little about Nepomuk, and its ability to attach semantic tags to your files - basically words that describe the file, be it an image, a text document, or anything you’d like. For example, you could tag all the photos from your vacation with the name of the place you’ve been. After that, you can recall tagged files by accessing the nepomuksearch://hasTag:TAG_NAME url in Dolphin or Konqueror (there are more advanced uses, but I won’t cover them here), where TAG_NAME is your tag.\n","title":"Interesting plasmoid: Drop2Tag","type":"post"},{"content":"","date":"September 15, 2009","externalUrl":null,"permalink":"/tags/plasmoid/","section":"Tags","summary":"","title":"Plasmoid","type":"tags"},{"content":"Hello people! Yes, it\u0026rsquo;s been a while but I haven\u0026rsquo;t forgotten about it\u0026hellip; with the Brainstorm\u0026rsquo;s new look and most technical issues resolved, I\u0026rsquo;m able to make Brainstorm Digests more often (hopefully!)\nIssue 3 - Special summary issue # Since we have skipped a few months, what I\u0026rsquo;d like to present today (aside the usual data about the past month), is a general overview of the state of Brainstorm since the start of the initiative a while ago. Now we finally have data to draw some conclusions. But I\u0026rsquo;ll get to that at the end of the digest.\nStatistics # As of the past month, 96 valid ideas have been posted, on an average of 3.2 ideas per day. Not a lot, but we need to consider that at least in Europe August is generally a period where people go on holiday. Two ideas have been forwarded to bugs.kde.org, and two have been marked as implemented. 10 ideas were already existing in KDE, while the duplicate and invalid ideas posted this month were both 7. Last but not least, two ideas were rejected.\nEarning recognition # This month\u0026rsquo;s top voted idea is \u0026ldquo;[Plasma][KWin]Applications minimize to plasmoids\u0026rdquo; by forum user dflemstr. The idea proposes to have plasmoids associated to a specific application, that could be shown in the application\u0026rsquo;s tooltip when in the taskbar. Also, by dragging the item from the taskbar to the desktop, the application\u0026rsquo;s associated plasmoid will be shown. dlfemstr provided a mockup to illustrate his idea:\n.\nIs it too hard to implement? Is it useful? The community clearly showed interest, but let\u0026rsquo;s wait for the response of the Plasma team (after they\u0026rsquo;ve recovered from Tokamak 3).\nFor the most discussed idea of this month, we have drIDK\u0026rsquo;s \u0026ldquo;a simple way to install .bin and .run file!\u0026rdquo;., which is also this month\u0026rsquo;s most controversial idea. drIDK proposes to have .bin files for installers (like Google Earth) be opened in a terminal and have their executable bit set automatically. He suggests the use of a \u0026ldquo;runner\u0026rdquo; of some sort, and provides a mockup:\nThere have been a lot of posts to this idea, many raising concerns about the security and thinking about how this approach could be improved. There is no clear idea yet.\nWhat about this month\u0026rsquo;s top poster? You may not believe it, but it\u0026rsquo;s not TheBlackCat (who is on holiday at the moment)! Instead, the top poster award goes to Madman, who is being very active in the various discussions. Congratulations, and keep being productive.\nStatus of the project # No monthly stats this time. Instead, I\u0026rsquo;ll show you the progress of the ideas since the start of the project and until today:\nThis was calculated with a sliding window average of 4 days. The dotted line indicates the median number of ideas submitted per day. As you can see, the number is around 5 ideas per day, save the first big burst. I think it\u0026rsquo;s OK for now, because the number of ideas posted does not tell anything about the discussion going on in the already submitted ones, nor if ideas have been implemented, and so on.\nSpeaking of ideas, our physicist-to-be on the team, Hans, has plotted a distribution of the frequency of the number of ideas per day:\nThat\u0026rsquo;s all for now - I hope to be more regular in the future, now that we have a reliable stats. By the way, if KDE users (but developers too!) want more statistics, let us know!\nWords from the team # The forum team would like to remind everyone that the old way to tag ideas in Brainstorm (by adding keywords within brackets [ ]) is now obsolete. Brainstorm now uses the same tag system as the rest of the forums, and all members can easily tag ideas with the new tag editor. See this announcement for more information.\nCredits # sayakb - Data gathering and infrastructure Hans (Mogger) - Stats and graphs Feedback # Did you like this digest? You didn\u0026rsquo;t? Let us know so we can improve it!\n","date":"September 6, 2009","externalUrl":null,"permalink":"/2009/09/kde-brainstorm-monthly-digest-issue-3/","section":"Posts","summary":"Hello people! Yes, it’s been a while but I haven’t forgotten about it… with the Brainstorm’s new look and most technical issues resolved, I’m able to make Brainstorm Digests more often (hopefully!)\nIssue 3 - Special summary issue # Since we have skipped a few months, what I’d like to present today (aside the usual data about the past month), is a general overview of the state of Brainstorm since the start of the initiative a while ago. Now we finally have data to draw some conclusions. But I’ll get to that at the end of the digest.\n","title":"KDE Brainstorm Monthly (?)  Digest - issue 3","type":"post"},{"content":"Like every year, it\u0026rsquo;s finally time for me to go away and enjoy some hard-earned holidays. I\u0026rsquo;ll be spending next week traveling around France, then going to the sea. As such, my online presence will be reduced to the minimum: reports from the trip and some photos when I\u0026rsquo;m in France.\nSee you on August 30th!\n","date":"August 7, 2009","externalUrl":null,"permalink":"/2009/08/holidays/","section":"Posts","summary":"Like every year, it’s finally time for me to go away and enjoy some hard-earned holidays. I’ll be spending next week traveling around France, then going to the sea. As such, my online presence will be reduced to the minimum: reports from the trip and some photos when I’m in France.\nSee you on August 30th!\n","title":"Holidays","type":"post"},{"content":"","date":"August 7, 2009","externalUrl":null,"permalink":"/tags/holidays/","section":"Tags","summary":"","title":"Holidays","type":"tags"},{"content":"","date":"August 4, 2009","externalUrl":null,"permalink":"/tags/4.3/","section":"Tags","summary":"","title":"4.3","type":"tags"},{"content":"As you all know, KDE 4.3.0 has been releeased today! Now it\u0026rsquo;s the time to tell the developers \u0026ldquo;thanks\u0026rdquo; for their hard work. Join us in the KDE Community Forums and spread the word!\n","date":"August 4, 2009","externalUrl":null,"permalink":"/2009/08/kde-4.3-released-thanks-to-all-developers/","section":"Posts","summary":"As you all know, KDE 4.3.0 has been releeased today! Now it’s the time to tell the developers “thanks” for their hard work. Join us in the KDE Community Forums and spread the word!\n","title":"KDE 4.3 released - thanks to all developers!","type":"post"},{"content":"","date":"August 3, 2009","externalUrl":null,"permalink":"/tags/scripting/","section":"Tags","summary":"","title":"Scripting","type":"tags"},{"content":"Up to now, the main language in which KDE applications are developed is C++. This is a perfectly valid choice: however, at least for users that don\u0026rsquo;t have a computing background (I include myself in the list: I do science) C++ can be a rather steep requirement (although Hans, fellow staff member at the KDE Community forums, is doing a nice job in explaining his learning experience).\nScripted language bindings (that have a lower barrier of entry) for KDE exist: on top of my memory I can list Python, Ruby, and C# (and I\u0026rsquo;ve probably missed a few). Despite that, the only official non-C++ programs that are in KDE\u0026rsquo;s SVN currently, including only what\u0026rsquo;s in the official modules, are system-config-printer-kde and printer-applet, which are written in PyKDE. This is quite striking to me, because the language bindings allow full access to the API in kdelibs, and thus allow the creation of applications with (theoretically) less effort on part of the writer. Yet, such applications, despite the bindings being rather mature, are lacking.\nWhy is so? By applying Occam\u0026rsquo;s razor, Ithink that this is because most of the current KDE contributors are C++ coders. I seem to recall, though, a debate when system-config-printer-kde and printer-applet were introduced, where discussion arose between \u0026ldquo;pro-scripting\u0026rdquo; people and \u0026ldquo;anti-scripting\u0026rdquo; people. The major complaint is of course performance, as scripting languages are rarely at the level of C++. Still, I think that a more diverse language ecosystem would benefit KDE by making possible the arrival of new contributors that are not necessarily well-versed into C++. In some cases, such as Plasma, having programs directly written in scripting languages is a guarantee of less crashes dn more security. In the end, KDE would really benefit from it.\nBefore someone flames, let me state that I\u0026rsquo;m not advocating a reduction of C++ based programs in KDE. Just more choice. FOSS is all about it, right?\nEDIT: After reading Richard Moore\u0026rsquo;s comment I thought I\u0026rsquo;d clarify my point. It is true that core modules need to stay C++ only to avoid more dependencies in the chain, but at the same time I feel that KDE does not stress enough that you can write applications (that can live well outside the core, for example in extragear) in languages that are not C++. This can be a limit for contributions from people that \u0026ldquo;do not speak\u0026rdquo; C++.\n","date":"August 3, 2009","externalUrl":null,"permalink":"/2009/08/scripting-languages-and-kde/","section":"Posts","summary":"Up to now, the main language in which KDE applications are developed is C++. This is a perfectly valid choice: however, at least for users that don’t have a computing background (I include myself in the list: I do science) C++ can be a rather steep requirement (although Hans, fellow staff member at the KDE Community forums, is doing a nice job in explaining his learning experience).\nScripted language bindings (that have a lower barrier of entry) for KDE exist: on top of my memory I can list Python, Ruby, and C# (and I’ve probably missed a few). Despite that, the only official non-C++ programs that are in KDE’s SVN currently, including only what’s in the official modules, are system-config-printer-kde and printer-applet, which are written in PyKDE. This is quite striking to me, because the language bindings allow full access to the API in kdelibs, and thus allow the creation of applications with (theoretically) less effort on part of the writer. Yet, such applications, despite the bindings being rather mature, are lacking.\n","title":"Scripting languages and KDE","type":"post"},{"content":"The KDE Brainstorm, where users can post and vote for feature requests for KDE, is the most visited area of the KDE Community Forums. In an effort to improve the experience of both users and developers, the KDE Community Forums staff is proud to present a brand new version of the KDE Brainstorm.\nThe new interface resembles the IdeaTorrent sites, but it is still powered by the forum software (phpBB), a clear example of the flexibility of the platform. Posting new ideas, voting, commenting and filtering the lists is now extremely easy and requires just a few mouse clicks.\nFor those who have Javascript-enabled browsers, the KDE Brainstorm sports a complete AJAX interface. In case Javascript is not available, the interface gracefully degrades to a non-AJAX version, making it useful even for people who do not want to run Javascript in their browsers.\nAside from the new looks, the KDE Brainstorm keeps its strong foundations: the Idea Moderators, whose hard work is essential to pre-screen and approve the ideas, the KDE Community Forums staff to keep the system up and runing, and of course the KDE community.\nCheck out the new Brainstorm, and let us know what you think!\n","date":"August 2, 2009","externalUrl":null,"permalink":"/2009/08/kde-community-forums-present-the-new-kde-brainstorm/","section":"Posts","summary":"The KDE Brainstorm, where users can post and vote for feature requests for KDE, is the most visited area of the KDE Community Forums. In an effort to improve the experience of both users and developers, the KDE Community Forums staff is proud to present a brand new version of the KDE Brainstorm.\nThe new interface resembles the IdeaTorrent sites, but it is still powered by the forum software (phpBB), a clear example of the flexibility of the platform. Posting new ideas, voting, commenting and filtering the lists is now extremely easy and requires just a few mouse clicks.\n","title":"KDE Community Forums present the new KDE Brainstorm","type":"post"},{"content":"Yesterday I\u0026rsquo;ve been in Camogli and Portofino, two small towns in the eastern part of Liguria. The weather was nice and warm, and I took the opportunity of taking a few photos:\n[singlepic id=328 w=320 h=240 float=]\n[singlepic id=331 w=320 h=240 float=]\nThose are samples, the rest are available in the gallery.\n","date":"July 19, 2009","externalUrl":null,"permalink":"/2009/07/camogli-and-portofino/","section":"Posts","summary":"Yesterday I’ve been in Camogli and Portofino, two small towns in the eastern part of Liguria. The weather was nice and warm, and I took the opportunity of taking a few photos:\n[singlepic id=328 w=320 h=240 float=]\n[singlepic id=331 w=320 h=240 float=]\nThose are samples, the rest are available in the gallery.\n","title":"Camogli and Portofino","type":"post"},{"content":"","date":"July 19, 2009","externalUrl":null,"permalink":"/tags/holiday/","section":"Tags","summary":"","title":"Holiday","type":"tags"},{"content":"","date":"July 19, 2009","externalUrl":null,"permalink":"/tags/photo/","section":"Tags","summary":"","title":"Photo","type":"tags"},{"content":"","date":"July 19, 2009","externalUrl":null,"permalink":"/tags/sea/","section":"Tags","summary":"","title":"Sea","type":"tags"},{"content":"A few may know that I more or less maintain the Plasma FAQ page on KDE\u0026rsquo;s UserBase. Given the rapid advance of Plasma between KDE versions, each time a new version is out a new FAQ needs to be made, as the content rapidly becomes obsolete. For 4.3, unfortunately, I\u0026rsquo;m not sure I\u0026rsquo;ll be able to put a new version up in time for the 4.3 release.\nThe reason is mostly practical: it takes a bit of work to collect and add information, and currently my free time is limited due to a rather heavy workload and some other commitments. As UserBase is a wiki, I thought I could ask the KDE community at large if I could get some help in having a new version ready before release.\nThe big advantage is that you don\u0026rsquo;t need any special coding skills, just a knowledge of Plasma and being able to run 4.3 (RC2 at this stage). I have already made a skeleton page: people can edit bits of information, removing outdated items and adding new ones. Also, Aaron\u0026rsquo;s excellent screencast can be used to see which new features are in Plasma.\nIf you have wondered how to help KDE without being able to code, this is a good opportunity to do so!\n","date":"July 11, 2009","externalUrl":null,"permalink":"/2009/07/the-next-iteration-of-the-plasma-faq-call-for-help/","section":"Posts","summary":"A few may know that I more or less maintain the Plasma FAQ page on KDE’s UserBase. Given the rapid advance of Plasma between KDE versions, each time a new version is out a new FAQ needs to be made, as the content rapidly becomes obsolete. For 4.3, unfortunately, I’m not sure I’ll be able to put a new version up in time for the 4.3 release.\nThe reason is mostly practical: it takes a bit of work to collect and add information, and currently my free time is limited due to a rather heavy workload and some other commitments. As UserBase is a wiki, I thought I could ask the KDE community at large if I could get some help in having a new version ready before release.\n","title":"The next iteration of the Plasma FAQ - call for help","type":"post"},{"content":"Today, a major upgrade of the KDE Community Forums took place. The change brings quite a number of changes to the forums themselves, and it\u0026rsquo;s a further step towards providing a better experience for KDE users (and developers too!).\nThe new forums, powered by phpBB, have a whole new theme, heavily inspired by KDE 4.3\u0026rsquo;s \u0026ldquo;Air\u0026rdquo; Plasma theme:\nNot only the looks have improved, however. A number of features have been added:\nThe ability of tagging a specific thread; A new, improved reputation system; A friends connection system where you can mark other users as friends and interact more easily with them; The popular section \u0026ldquo;KDE Brainstorm\u0026rdquo; has also received improvements, such as the ability of having a neutral vote, an improved voting pad, and a brand new look to match the one of the forums.\nAs a final note, we would like to thank phpBB developers cs278, naderman and NeoThermic for their kind assistance and great support during the migration process. Thanks a lot!\nTake a tour around the new KDE Community Forums, and let us know what you think!\n","date":"June 27, 2009","externalUrl":null,"permalink":"/2009/06/a-brand-new-look-for-kde-community-forums/","section":"Posts","summary":"Today, a major upgrade of the KDE Community Forums took place. The change brings quite a number of changes to the forums themselves, and it’s a further step towards providing a better experience for KDE users (and developers too!).\n","title":"A brand new look for KDE Community forums","type":"post"},{"content":"","date":"June 19, 2009","externalUrl":null,"permalink":"/tags/tears-to-tiara/","section":"Tags","summary":"","title":"Tears to Tiara","type":"tags"},{"content":"Today, after some customs delay and courier problems, I finally received the first volume of Tears to Tiara. Having got a PS3, I chose the Blu-Ray version (priced 8,192 yen, quite steep if you hear me): as I preordered it soon enough, I got the first presse edition, which, according to CDJapan, was comprised of a \u0026ldquo;deluxe outer case\u0026rdquo;, a \u0026ldquo;stick poster\u0026rdquo; and a booklet, in addition to the Blu-ray itself.\nThis is how it looked after unpacking:\n[singlepic id=275 w=320 h=240 float=]\nThe \u0026ldquo;deluxe outer case\u0026rdquo; is in fact a cardboard case which is quite large. Perhaps too large for its contents when we look inside:\n[singlepic id=276 w=320 h=240 float=]\nAs you can see, we have here a rather thin artbook, the famous \u0026ldquo;stick poster\u0026rdquo;, and the BD itself. The rest of the box is filled by cardboard to keep things in place. Not the best deal for 8000+ yen, indeed.\nThe artbook contains interviews with the staff, details about the places, and information on the characters. Here is an example (badly taken photo) showing a part of Arawn\u0026rsquo;s profile:\n[singlepic id=277 w=320 h=240 float=]\nThe \u0026ldquo;stick poster\u0026rdquo; is quite long once unfolded, and is an illustration of Morgan and Octavia, done by the series\u0026rsquo; character designed, but colored in a way that reminds more of the game:\n[singlepic id=278 w=320 h=240 float=]\nAnd now to the BD itself. Video is encoded at 1080p (quite nice!) but the audio is classical stereo without any bells and whistles. I wonder what the buyers of the non-first press version get, because inside there is absoultely nothing save a promotional sheet and the disc. Once loaded on my first-generation PS3, the disc played normally, and indeed at 1080p. It\u0026rsquo;s quite nice to view the opening in HD format.\nThe menus inside are terrible. They only offer chapter selection, a \u0026ldquo;play all\u0026rdquo; feature and an \u0026ldquo;information\u0026rdquo; link which plays some commercial of related Aquaplus anime adaptations, namely To Heart 2 (the upcoming OAVs) and Utawarerumono (again OAVs that should be out very soon). Sadly, this is on par with the rest of the offerings from other Japanese companies (and most Western anime publishers, too): the disc is simply a container, and nothing else is offered. I could understand if the price was lower, but at 8000 yen and more it\u0026rsquo;s simply unacceptable.\nWhat about the content? Weil, I like it of course. The anime is very faithful (save some minor changes in recent episodes) to the game and thus I\u0026rsquo;m enjoying it qute a bit. I haven\u0026rsquo;t watched the episodes closely yet, but I doubt there will be any \u0026ldquo;redone\u0026rdquo; parts in this volume (I was hoping for specials a la Utawarerumono, but oh well\u0026hellip;). Hopefully I\u0026rsquo;lll be able to write a little more (time permitting) once I finish watching it.\n","date":"June 19, 2009","externalUrl":null,"permalink":"/2009/06/tears-to-tiara-blu-ray-volume-1/","section":"Posts","summary":"Today, after some customs delay and courier problems, I finally received the first volume of Tears to Tiara. Having got a PS3, I chose the Blu-Ray version (priced 8,192 yen, quite steep if you hear me): as I preordered it soon enough, I got the first presse edition, which, according to CDJapan, was comprised of a “deluxe outer case”, a “stick poster” and a booklet, in addition to the Blu-ray itself.\n","title":"Tears to Tiara - Blu-Ray volume 1","type":"post"},{"content":"","date":"June 13, 2009","externalUrl":null,"permalink":"/tags/datamatrix/","section":"Tags","summary":"","title":"Datamatrix","type":"tags"},{"content":"At last, after months of inactivity, I pushed out a new release of DataMatrix. Although the version bump is small (0.8) there are a lot of changes since last releases. The most notable include:\nAbility to apply functions to elements of the matrix Ability to filter rows by column contents Ability to transpose rows with columns An option to load text files produced by R (which are, by design, broken) Removed the getter for columns, using dictionary-like syntax directly A lot of bug fixes The download links on the project page have been updated, along with the documentation. Also, there is another change, because from now on the official Git repository is hosted on gitorious.org, and no longer on github, because gitorious (the software) is also free, while github.com\u0026rsquo;s is not. It\u0026rsquo;s mainly a philosophical issue (the same that prompted me to switch from twitter to identi.ca).\nAlso, from today DataMatrix is also officially hosted on the Python Package Index (with the name \u0026ldquo;datamatrix\u0026rdquo;), meaning that you can use easy_install to quickly install it.\nIf you use this module, let me know what you think (including bugs, if you find them).\n","date":"June 13, 2009","externalUrl":null,"permalink":"/2009/06/datamatrix-0.8-is-finally-out/","section":"Posts","summary":"At last, after months of inactivity, I pushed out a new release of DataMatrix. Although the version bump is small (0.8) there are a lot of changes since last releases. The most notable include:\nAbility to apply functions to elements of the matrix Ability to filter rows by column contents Ability to transpose rows with columns An option to load text files produced by R (which are, by design, broken) Removed the getter for columns, using dictionary-like syntax directly A lot of bug fixes The download links on the project page have been updated, along with the documentation. Also, there is another change, because from now on the official Git repository is hosted on gitorious.org, and no longer on github, because gitorious (the software) is also free, while github.com’s is not. It’s mainly a philosophical issue (the same that prompted me to switch from twitter to identi.ca).\n","title":"DataMatrix 0.8 is finally out","type":"post"},{"content":"","date":"May 30, 2009","externalUrl":null,"permalink":"/tags/brainstorm-digest/","section":"Tags","summary":"","title":"Brainstorm Digest","type":"tags"},{"content":"Hello, and welcome to the second issue of the KDE Brainstorm Digest! This issue comes in slightly late, due to some real time commitments, but I couldn\u0026rsquo;t leave you without it, could I?\nIssue 2 - April 26th - May 29th, 2009 # Statistics # Currently, 181 valid ideas have been submitted in this period, with an average of 6 ideas per day. Adding up to that, we have just 3 invalid ideas and 8 non-idea posts. This means that our user base is quickly getting used to the Brainstorm workflow. Eight proposed ideas were already implemented, and 7 new ideas were submitted to the developers for consideration. One idea was rejected.\nThis month we don\u0026rsquo;t see many ideas implemented: in fact, we have no ideas that have been marked as \u0026ldquo;Done\u0026rdquo;. This is not because the developers aren\u0026rsquo;t willing to listen, but because KDE 4.3 Beta 1 was released, and that means that KDE is now on feature freeze. Developers are now focusing on fixing bugs, rather than adding features, so it is very likely that ideas will be screened more regularly around the release of KDE 4.3 RC 1, that is when SVN trunk will be \u0026ldquo;unfrozen\u0026rdquo; and feature commits will be allowed again.\nEarning recognition # This month\u0026rsquo;s top voted idea (not counting negative votes) is \u0026ldquo;Make videodvd support like audiocd\u0026rdquo;, with a net result of 25 votes. In this idea, Brainstorm regular poster (and now Brainstorm Moderator!) TheBlackCat proposes the creation of a KIO slave for DVDs, like audiocd:/. Like this, a user could technically rip DVDs by drag and dropping from the DVD to any other location (kind of like what audiocd:/ does). There haven\u0026rsquo;t been many replies, but the reaction has been overwhelming positive. Personally, there is the issue regarding DMCA-like laws and CSS, but it could be a nice feature to have.\nThe most discussed idea for this month was \u0026ldquo;Let\u0026rsquo;s use Gtk2 theme in KDE (Additional Option)\u0026rdquo;. In this post, Mazur proposes, in order to make GTK+ 2 applications look better in KDE, to have an option in System Settings to load and use the installed GTK+ 2 themes. This has sparked a lengthy discussion (23 replies) and also caused qute an intense debate, up to the point of earning also the title of most controversial idea for this month. So far, the proposal stays at -4 votes, but, as KDE Developer Ivan noticed, it may also be due to the wording of the forum thread.\nThe idea with most votes (including negative ones) is \u0026ldquo;[Dolphin] Preload an instance after KDE startup\u0026rdquo;. Forum user joethefox suggests a feature like Konqueror\u0026rsquo;s preloading option (in KDE since the later 3.x releases), but applied to Dolphin instead, in order to minimize startup times. Most comments have been positive, and currently, negative votes are much less than positive votes. The idea\u0026rsquo;s overall score is of 24 votes.\nThis month\u0026rsquo;s top idea poster is still TheBlackCat, who again posted an incredible number of proposals (even well detailed). Will he keep his role as the idea champion? We\u0026rsquo;ll find out next month!\nStatus of the project # It\u0026rsquo;s been two months since the KDE Brainstorm has launched. How it is going now? This month we have not one, but two graphs to describe the posting of ideas in relation to time.\nThis is, as usual, the plot of the ideas posted per day. As you can see, the number change rather drastically, and the median (a little better than the mean in such irregular data) is around 7 ideas/day. With respect to the past month, the number of ideas posted per day are less, but again, we have to consider the launch of the project, which undoubtedly skewed the results, due to the large input of ideas in the first days.\nStill, it\u0026rsquo;s not like we can gather meaningful insights from a plot like this. So, thanks to the aid of fellow forum staff Hans (Mogger on IRC), we have the second graph for this Digest:\nThis is a sliding average calculated with a window of 3 days. As you can see, we can gather better information from there. Save two periods of the month (the two negative peaks in the plot) most of the ideas were close to the mean number of votes (the dashed line is the mean of the average number of votes). Although less than the last month, we can say that the project is alive and kicking. Again, the feature freeze in KDE may also explain the decrease in the number of posted ideas: we\u0026rsquo;ll see with next month\u0026rsquo;s trends.\nCredits\nsayakb - Data gathering and infrastructure Mogger - Sliding average calculation Feedback\nDid you like this digest? You didn\u0026rsquo;t? Let us know so we can improve it!\n","date":"May 30, 2009","externalUrl":null,"permalink":"/2009/05/kde-brainstorm-monthly-digest-issue-2/","section":"Posts","summary":"Hello, and welcome to the second issue of the KDE Brainstorm Digest! This issue comes in slightly late, due to some real time commitments, but I couldn’t leave you without it, could I?\n","title":"KDE Brainstorm Monthly Digest - issue 2","type":"post"},{"content":"A rather big change has gone into KDE\u0026rsquo;s SVN recently: Ben Cooksley (bcooksley) and Mathias Soeken (msoeken) have committed a complete rework of System Settings.\nCompared to the previous implementation, System Settings now has two operational modes, one being the current icon-based view since KDE 4 (and also seen in Kubuntu prior to KDE 4), and a second view, named \u0026ldquo;Classic\u0026rdquo;, which reimplements the old KControl look and feel. The latter change is probably very welcome to anyone who found System Settings less useful than the old KControl. The current view used can be changed in the configuration options. In addition, upon hovering an icon or module that show if there are any sub-modules associated.\nScreenshots are better than words so here goes (click for larger pictures):\nWhat\u0026rsquo;s more is that by searching you get a nice \u0026ldquo;highlighted effect\u0026rdquo; to indicate the match (clearly visible in this icon view screenshot):\nLastly, the about screen:\nThe best about this new System Settings implementation is that it was born **thanks to the KDE Community Forums. **A thread posted on January 29th about a KControl port was what started the collaboration between bcooksley (one of the forum admins) and msoeken (Kourse mentor on the forums). And that is the - remarkable - result: input from the community that was converted into actual code which ended up in KDE\u0026rsquo;s SVN. The two worlds are closer now.\n","date":"May 1, 2009","externalUrl":null,"permalink":"/2009/05/new-refactored-system-settings/","section":"Posts","summary":"A rather big change has gone into KDE’s SVN recently: Ben Cooksley (bcooksley) and Mathias Soeken (msoeken) have committed a complete rework of System Settings.\nCompared to the previous implementation, System Settings now has two operational modes, one being the current icon-based view since KDE 4 (and also seen in Kubuntu prior to KDE 4), and a second view, named “Classic”, which reimplements the old KControl look and feel. The latter change is probably very welcome to anyone who found System Settings less useful than the old KControl. The current view used can be changed in the configuration options. In addition, upon hovering an icon or module that show if there are any sub-modules associated.\n","title":"New, refactored System Settings","type":"post"},{"content":"","date":"May 1, 2009","externalUrl":null,"permalink":"/tags/system-settings/","section":"Tags","summary":"","title":"System Settings","type":"tags"},{"content":"","date":"April 28, 2009","externalUrl":null,"permalink":"/tags/amarok/","section":"Tags","summary":"","title":"Amarok","type":"tags"},{"content":"Currently, the openSUSE Build Service contains Amarok 2.1 beta packages only for the KDE:KDE4:UNSTABLE repository (i.e. current trunk, soon-to-be 4.3). However, a quick search identified a repository that contains a RPM of current 2.0.90 compiled for the KDE:KDE4:Factory Desktop (which will change to 4.3 with Beta 1) and another one for the KDE:42 repository. So you can add them using YaST or zypper and download the relevant package. I had to force a repository using zypper, otherwise zypper would complain and try to install amarok 1.4 from Packman\u0026hellip;\n_Disclaimer: _I\u0026rsquo;m **not **affiliated in any way to openSUSE, nor did I make these packages. Use them at your own risk. Also if you find bugs, report them on bugs.kde.org so that the developers can fix them.\n","date":"April 28, 2009","externalUrl":null,"permalink":"/2009/04/amarok-2.1-beta-in-opensuse/","section":"Posts","summary":"Currently, the openSUSE Build Service contains Amarok 2.1 beta packages only for the KDE:KDE4:UNSTABLE repository (i.e. current trunk, soon-to-be 4.3). However, a quick search identified a repository that contains a RPM of current 2.0.90 compiled for the KDE:KDE4:Factory Desktop (which will change to 4.3 with Beta 1) and another one for the KDE:42 repository. So you can add them using YaST or zypper and download the relevant package. I had to force a repository using zypper, otherwise zypper would complain and try to install amarok 1.4 from Packman…\n","title":"Amarok 2.1 beta in openSUSE","type":"post"},{"content":"","date":"April 25, 2009","externalUrl":null,"permalink":"/tags/digest/","section":"Tags","summary":"","title":"Digest","type":"tags"},{"content":"Hello, and welcome to the first \u0026ldquo;issue\u0026rdquo; of the KDE Brainstorm monthly digest.\nFirst of all, a few words of introduction. There are quite a number of ideas being posted on the KDE Brainstorm, and it would be nice to know how the initiative is faring, and important highlights, like what ideas are more popular, which are more controversial, etc. That is why the idea of a monthly digest was born (in a similar fashion as the fabolous Commit Digest). Our idea is to publish these digests monthly, providing the community (and perhaps even developers) with useful information about the state of the initiative.\nIssue 1 - March 23th - April 25th, 2009 # Statistics # Let\u0026rsquo;s start by taking a look at the initiative as a whole. 323 valid ideas have been submitted in the last month, an average of 10.77 ideas per day. Quite a nice result, overall, especially knowing that non-valid ideas have been rather low, on that regard. Specifically, the staff has reported 15 invalid ideas, 28 duplicate ideas, 33 which were actually already implemented, 3 that were not ideas (more like bugs), and two rejected ideas.\nOf course, posting ideas is just the first step. The second is, basing on their vote count, to submit them to the developers. 22 of them have already been submitted, and we are awaiting feedback and comments. Three ideas have been already implemented. Specifically, the developers addressed the following ideas:\nPer-mimetype thumbnails in Dolphin Movable tabs in Dolphin like in Konqueror Extract menu in Ark when using drag and drop In particular, the last one was the first Brainstorm idea to be implemented by a KDE developer. Many thanks to Harald Hvaal for this!\nGetting noticed # This month, the top voted idea was Easy, Beautiful Progress Notification in the Task Bar (by forum user Kubuntiac), an idea to bring Plasma progress notifications in the task bar, complete with a couple of mockups which make the text very clear. Kubuntiac stresses that it would not replace the current system tray based one, but instead to have an extra indicator. The reception of the user community has been quite positive, as this idea has 62 votes at the time of writing. Coincidentally, this idea is also the most discussed one of the month (25 replies).\nThe community is heterogeneous, and some ideas are bound to be controversial. This month, the top controversial idea is Payment/donation to get bugs fixed (by forum user alberto.rossini) which although showing only 0 votes at the moment (result of opposing votes), has sparked quite a discussion about the impact (or lack thereof) of monetary donations to get bugs fixed for KDE. The community is clearly divided on this topic and the opinions are varied.\nSpeaking of getting noticed, forum user TheBlackCat is our idea submitter champion for this month. When Brainstorm was created, TheBlackCat ported over many ideas discussed earlier in the Discussion forum, and also proposed quite a number of ideas on diverse fields (mostly Dolphin related).\nStatus of the project # How is the Brainstorm faring this month? Has the initial enthusiasm faded out? The simplest way to look at it is by viewing the number of votes over the days, as shown by the followng graph:\nThis is a time series of number of ideas for each day of the month. As we can see, the data is a little \u0026ldquo;noisy\u0026rdquo;, because the number of ideas posted have been fluctuating depending on the user submissions. The dashed line is the median of the votes in the considered period. We can see one big drop at the start, which was in my opinion \u0026ldquo;expected\u0026rdquo; when the novelty effect wore out. With ups and downs, however, the stream of new ideas has been more or less constant. If you would like additional statistics, feel free to suggest them in the comments.\nCredits # Credit were it\u0026rsquo;s due, of course. The following people have contributed a lot to make this possible:\nsayakb - Data gathering and various bits of PHP magic Mogger - Development of the controversial idea score Feedback # Did you like this digest? You didn\u0026rsquo;t? Let us know so we can improve it!\n","date":"April 25, 2009","externalUrl":null,"permalink":"/2009/04/kde-brainstorm-monthly-digest-issue-1/","section":"Posts","summary":"Hello, and welcome to the first “issue” of the KDE Brainstorm monthly digest.\nFirst of all, a few words of introduction. There are quite a number of ideas being posted on the KDE Brainstorm, and it would be nice to know how the initiative is faring, and important highlights, like what ideas are more popular, which are more controversial, etc. That is why the idea of a monthly digest was born (in a similar fashion as the fabolous Commit Digest). Our idea is to publish these digests monthly, providing the community (and perhaps even developers) with useful information about the state of the initiative.\n","title":"KDE Brainstorm Monthly Digest - issue 1 ","type":"post"},{"content":"Via Harald Hvaal\u0026rsquo;s blog I learnt that the first non-forum suggestion has been implemented! I think this shows without doubt that initiatives like the KDE Brainstorm are undoubtedly useful to the community at large, both users and developers. Keep on rocking!\n","date":"April 4, 2009","externalUrl":null,"permalink":"/2009/04/first-kde-brainstorm-idea-implemented/","section":"Posts","summary":"Via Harald Hvaal’s blog I learnt that the first non-forum suggestion has been implemented! I think this shows without doubt that initiatives like the KDE Brainstorm are undoubtedly useful to the community at large, both users and developers. Keep on rocking!\n","title":"First KDE Brainstorm idea implemented!","type":"post"},{"content":"","date":"March 31, 2009","externalUrl":null,"permalink":"/tags/bioinformatics/","section":"Tags","summary":"","title":"Bioinformatics","type":"tags"},{"content":"In the past months I\u0026rsquo;ve always wanted to write a small Plasma applet to aid me in some boring tasks as a bioinformatician. One example (for the non-scientific crowd out there) is when I find a specific gene out of my analysis work which I want to take a look at. I am often lazy, so instead of firing up the browser to look at the online resources, I wanted to write something which could access said resources programmatically.\nI found a way thanks to the Biopython project, which offers a Python module to access the resources of the National Center for Biotechnology Information (NCBI) by providing an interface to their EUtils. Since the back-end was already taken care of, almost, at least, I sought to write a small Plasma applet. Which is what I\u0026rsquo;m presenting today. It\u0026rsquo;s written in Python, and uses the Python ScriptEngine to work. Currently, it searches the \u0026ldquo;Gene\u0026rdquo; database at NCBI by inputting the \u0026ldquo;Entrez Gene IDs\u0026rdquo;, that are numerical IDs that uniquely identify a gene record, and returns name, official symbol, organism, and a description if it\u0026rsquo;s present. It does not support anything else (see below).\nThe code lives in a git repository at github. **WARNING: **The code may be a complete mess (I\u0026rsquo;m not too well versed in GUI stuff, I mostly do text file manipulation) If you are so daring, you can obtain and install it in a very simple manner:\n[bash]git clone git://github.com/cswegger/plasma-genesearch.git cd plasma-genesearch zip -r ../plasma-genesearch.plasmoid * plasmapkg -i ../plasma-genesearch.plasmoid[/bash]\nAfter that you will see an \u0026ldquo;Entrez Gene Searcher\u0026rdquo; in your add applets dialog. Once added, it\u0026rsquo;ll look like this:\nPretty horrible, isn\u0026rsquo;t it? Well, once you get past that, you can input an ID (only IDs will work for now) in the text field (which doesn\u0026rsquo;t clear the text: see further on) and push \u0026ldquo;Go!\u0026rdquo;. The following is an example with ID 10000, which corresponds to the human gene AKT3:\n\u0026ldquo;Search again\u0026rdquo; will bring you back to the search form.\nNow, what has this to do with Planet KDE? Well, I\u0026rsquo;m asking for some code review from the community, if it\u0026rsquo;s possible, and suggestions to improve the horrid default look. I am especially interested in layouting, since I did not quite understand how it works, I mean, it should not work and it does\u0026hellip;.\nOther things that need to be improved are:\nThe Plasma.TextEdit is not cleared upon clicking. Is there a signal I can catch for that, so I can connect it to clear()? Proper searching. Bio.Entrez already does this: what I need is a way to display the records properly. A way to link the names to URLs, and have them open in Konqueror. That should be it. I hope to work on it some more next weekend\u0026hellip;.\n","date":"March 31, 2009","externalUrl":null,"permalink":"/2009/03/gene-search-applet-suggestions-and-code-review-needed/","section":"Posts","summary":"In the past months I’ve always wanted to write a small Plasma applet to aid me in some boring tasks as a bioinformatician. One example (for the non-scientific crowd out there) is when I find a specific gene out of my analysis work which I want to take a look at. I am often lazy, so instead of firing up the browser to look at the online resources, I wanted to write something which could access said resources programmatically.\n","title":"Gene search applet: suggestions and code review needed","type":"post"},{"content":"Now that the KDE Brainstorm has been launched, it\u0026rsquo;s time to take a look at the results so far. Currently, the forum hosts 160 threads, approximately one for each idea, and 441 posts. Not bad for the first two days of operation. At the same time, the staff has been working hard to make sure only appropriate ideas (not bug reports, not duplicates\u0026hellip;) are on the forum. People have also begun voting, although slowly: it\u0026rsquo;s understandable, given the fact that there are so many threads in so little time.\nThere are still some issues here and there. We understand that right now you\u0026rsquo;re forced to take a look at each thread to see the votes, but our plugin guru sayakb is currently working into that: hopefully you\u0026rsquo;ll see votes next to threads very soon! Remember, your input is also important to improve Brainstorm, so make sure you let us know if you find a bug or have any request.\nI\u0026rsquo;m satisfied, so far. It clearly shows that there was a need to request features (also shown by Aaron\u0026rsquo;s post on openFATE a while ago) without clogging up Bugzilla. In a while, we\u0026rsquo;ll make sure that the most voted features will get forwarded to the relevant developers. As I said on the Dot story, I\u0026rsquo;m hoping this can bring users and developers more close together, and build a better community.\nLast but not least, thanks go to KDE itself for being awesome, to OhReally, bcooksley and neverendingo for administering the forum, to sayakb for design and plugin magic, tkoski for moderation and more PHP, to msoeken and the rest of the mentor group. It\u0026rsquo;s always a pleasure to work with you guys!\n","date":"March 22, 2009","externalUrl":null,"permalink":"/2009/03/kde-brainstorm-after-the-launch/","section":"Posts","summary":"Now that the KDE Brainstorm has been launched, it’s time to take a look at the results so far. Currently, the forum hosts 160 threads, approximately one for each idea, and 441 posts. Not bad for the first two days of operation. At the same time, the staff has been working hard to make sure only appropriate ideas (not bug reports, not duplicates…) are on the forum. People have also begun voting, although slowly: it’s understandable, given the fact that there are so many threads in so little time.\n","title":"KDE Brainstorm: after the launch","type":"post"},{"content":"It\u0026rsquo;s finally there: KDE Brainstorm has been launched today! Like this, it will be possible to propose features and have them voted by the community, and then submit the most voted requests to the developers. Every feature request is screened prior to posting, so duplicates, spam and flames are unlikely to occur. There is no guarantee that the voted upon features will be implemented, but as opposed to individual postings, this approach reduces the noise a lot, and allows a better communication between the \u0026ldquo;two worlds\u0026rdquo; (users and developers).\nGot a creative idea? Hop over to the forums and tell the world about it!\n","date":"March 20, 2009","externalUrl":null,"permalink":"/2009/03/kde-brainstorm-is-live/","section":"Posts","summary":"It’s finally there: KDE Brainstorm has been launched today! Like this, it will be possible to propose features and have them voted by the community, and then submit the most voted requests to the developers. Every feature request is screened prior to posting, so duplicates, spam and flames are unlikely to occur. There is no guarantee that the voted upon features will be implemented, but as opposed to individual postings, this approach reduces the noise a lot, and allows a better communication between the “two worlds” (users and developers).\n","title":"KDE Brainstorm is live!","type":"post"},{"content":"No, it\u0026rsquo;s not_ _a teen-like \u0026ldquo;I hate my life, I\u0026rsquo;m going to die tomorrow\u0026rdquo; post. I\u0026rsquo;m actually referring to the comments of a person nicknamed \u0026ldquo;I Love\u0026rdquo; that are popping up in almost all blogs that are linked to PlanetKDE which deal with Plasma or KDE4 adoption. The name \u0026ldquo;I Love\u0026rdquo; contrasts with an attitude that is unconstructive and rather trollish. This wouldn\u0026rsquo;t be such a big problem, if not for the fact that posts from said individual have had a rather negative effect: for example Aaron was forced to turn comment moderation on on his blog, Jos\u0026rsquo; entry on the new Plasma in the upcoming KDE 4.3 was the theatre of a flame-fest in the comments, and now I\u0026rsquo;ve seen poisonous comments also on Nookie\u0026rsquo;s and Socceroos\u0026rsquo; blogs.\nClearly this person hasn\u0026rsquo;t read the KDE Code of Conduct\u0026hellip; and I bet he/she\u0026rsquo;s not very interested in that, either. I would recommend blog authors and commenters to just \u0026ldquo;let slide\u0026rdquo; what this person say, and go on with the discussion, since it\u0026rsquo;s too much of a hassle (for very little gain) to act pre-emptively.\nTo I Love: try to express your opinion in a form that is compatible with civil discussion, instead of going on a rampage. That is, assuming that you _are _actually interested in a civil discussion\u0026hellip;\n","date":"March 18, 2009","externalUrl":null,"permalink":"/2009/03/i-love-poison/","section":"Posts","summary":"No, it’s not_ _a teen-like “I hate my life, I’m going to die tomorrow” post. I’m actually referring to the comments of a person nicknamed “I Love” that are popping up in almost all blogs that are linked to PlanetKDE which deal with Plasma or KDE4 adoption. The name “I Love” contrasts with an attitude that is unconstructive and rather trollish. This wouldn’t be such a big problem, if not for the fact that posts from said individual have had a rather negative effect: for example Aaron was forced to turn comment moderation on on his blog, Jos’ entry on the new Plasma in the upcoming KDE 4.3 was the theatre of a flame-fest in the comments, and now I’ve seen poisonous comments also on Nookie’s and Socceroos’ blogs.\n","title":"I love poison","type":"post"},{"content":"","date":"March 18, 2009","externalUrl":null,"permalink":"/tags/troll/","section":"Tags","summary":"","title":"Troll","type":"tags"},{"content":" So I\u0026rsquo;ve heard that _Tears to Tiara _is coming in animated form. Being in the middle of playing its PS3 incarnation, Tears to Tiara - Kaikan no Daichi, I decided to take a look at some images that have been recently published on news.dengeki.com. It was already known that the anime would be an adaptation of the PS3 game, which is a good thing (I didn\u0026rsquo;t like the original character design). Animation is done by _Oriental Light and _Magic (OLM), and the same staff who adapted another Aquaplus game, Utawarerumono (or should I say Underwater Ray Romano ? snicker).\nAs the first image suggests, the character designs follow the PS3 game, although with some exhibit evident differences from the game (and honestly, I liked the game\u0026rsquo;s designs more). For example, Arthur looks like this in the two versions:\nAlthough I dare say that it\u0026rsquo;s Gaius that changed the most: from a battle veteran (and a general), we get someone like this:\nHardly a look for a general\u0026hellip;\nAs for the rest, though, according to what is shown in the Dengeki preview of the first three episodes, the team has tried to be rather faithful to the story, up to almost replicating the same shots, as shown here:\nQuite similar indeed. Knowing the team, I fully expect a faithful \u0026ldquo;conversion\u0026rdquo; nevertheless, although I hope they don\u0026rsquo;t turn Arthur into the Oboro of Utawarerumono (mostly used for comic relief).\n_Tears to Tiara _starts on April 5th. I\u0026rsquo;ll be sure to take a look.\n","date":"March 17, 2009","externalUrl":null,"permalink":"/2009/03/tears-to-tiara-in-animation-faithful/","section":"Posts","summary":" So I’ve heard that _Tears to Tiara _is coming in animated form. Being in the middle of playing its PS3 incarnation, Tears to Tiara - Kaikan no Daichi, I decided to take a look at some images that have been recently published on news.dengeki.com. It was already known that the anime would be an adaptation of the PS3 game, which is a good thing (I didn’t like the original character design). Animation is done by _Oriental Light and _Magic (OLM), and the same staff who adapted another Aquaplus game, Utawarerumono (or should I say Underwater Ray Romano ? snicker).\n","title":"Tears to Tiara in animation - faithful?","type":"post"},{"content":"Mtux, of choqok fame, along with another person, has written Bilbo Blogger, a blogging utility for Blogger or any blog that supports Blogger1.0, MetaWeblog, and MovableType APIs (EDIT: also GData). It is based on the KDE4 libraries and it includes a WYSIWYG editor, an HTML editor, and a Post Preview function that can even fetch your blog\u0026rsquo;s CSS to render the entry and see how it looks.\nIt\u0026rsquo;s not released yet, but for the daring, you can actually try and compile it. You need to check out and install the blogging library (BlboKBlog) first:\n1 2 3 4 5 git clone git://gitorious.org/bilbokblog/mainline.git bilbokblog cd bilbokblog mkdir build; cd build cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ../ make followed by make install as root or using sudo.\nThen, you need to check out the actual application:\n1 2 3 4 5 git clone git://gitorious.org/bilbo/mainline.git bilbo cd bilbo mkdir build; cd build cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ../ make Again, a make install will do the trick.\nAfter that, you can start the application and create a new blog (see the screenshot section on Bilbo\u0026rsquo;s web page), and the program will try to figure out what is needed automatically. Neat. After that, you can just start writing entries.\nThere are still rough edges, but I\u0026rsquo;m actually quite happy because I dislike blogging with a browser, especially since Konqueror is always a second-class citizen when it comes to Wordpress support, and I don\u0026rsquo;t want to use Firefox. As a matter of fact, this entry was written using Bilbo. So, hats off to the two developers!\n","date":"March 17, 2009","externalUrl":null,"permalink":"/2009/03/bilbo-blogger/","section":"Posts","summary":"Mtux, of choqok fame, along with another person, has written Bilbo Blogger, a blogging utility for Blogger or any blog that supports Blogger1.0, MetaWeblog, and MovableType APIs (EDIT: also GData). It is based on the KDE4 libraries and it includes a WYSIWYG editor, an HTML editor, and a Post Preview function that can even fetch your blog’s CSS to render the entry and see how it looks.\nIt’s not released yet, but for the daring, you can actually try and compile it. You need to check out and install the blogging library (BlboKBlog) first:\n","title":"Bilbo Blogger","type":"post"},{"content":"","date":"March 17, 2009","externalUrl":null,"permalink":"/tags/blogging/","section":"Tags","summary":"","title":"Blogging","type":"tags"},{"content":"Some say that all good things must come to an end. I\u0026rsquo;m not entirely sure that this is a universal truth, but I can say that at some point in life there are decisions that need to be taken.\nIn this case I made my own: today was the last day in Dr.Cristina Battaglia\u0026rsquo;s laboratory, a place where I spent my three-year Ph.D. course and one year as a post-doc research fellow.\nThose four years were not bad at all. They were interesting, and provided a good learning experience. I think I owe quite a bit to that place, especially because I was able to learn and improve my skills alongside the analysis and research work. So my thanks go to my former supervisor (Dr.Cristina Battaglia) and all my colleagues. It\u0026rsquo;s been a fun ride.\n","date":"February 27, 2009","externalUrl":null,"permalink":"/2009/02/moving-on/","section":"Posts","summary":"Some say that all good things must come to an end. I’m not entirely sure that this is a universal truth, but I can say that at some point in life there are decisions that need to be taken.\nIn this case I made my own: today was the last day in Dr.Cristina Battaglia’s laboratory, a place where I spent my three-year Ph.D. course and one year as a post-doc research fellow.\n","title":"Moving on","type":"post"},{"content":"","date":"February 22, 2009","externalUrl":null,"permalink":"/tags/latex/","section":"Tags","summary":"","title":"Latex","type":"tags"},{"content":"During the course of my research work, I may obtain results that are worthy of publication in scientific journals. Since my master\u0026rsquo;s thesis I\u0026rsquo;ve been using LaTeX as my writing platform, mainly because I can concentrate on content rather than presentation (I find it useful also for writing non-scientific stuff as well). Also, I can handle bibliography (essential for a scientific publication) very well without using expensive proprietary applications (such as Endnote).\nIn my early days I used kLyX first, then LyX, but I found the platform to be too limited for my tastes, and also LaTeX errors were difficult to diagnose. I needed a proper editor, and that\u0026rsquo;s when I heard of kile, a KDE front-end for LaTeX. Kile is currently at version 2.0.2 and is a KDE 3 application. However, in KDE SVN work is ongoing to produce a KDE4 version (2.1) and that\u0026rsquo;s what I\u0026rsquo;ll look at in this entry.\nObtaining kile 2.1\nFirst and foremost, a disclaimer. kile 2.1 has not been released yet in any form, and so should be considered unstable and crash-prone. That said, it runs more or less well on my platform.\nThe first thing to do is to grab the sources from SVN:\nsvn checkout svn://anonsvn.kde.org/home/kde/trunk/extragear/office/kile\nThat will put kile\u0026rsquo;s sources in a directory called \u0026ldquo;kile\u0026rdquo;. The next step is to compile it (as usual, you need KDE4 development packages/files installed):\ncd kile mkdir build; cd build cmake -DCMAKE_INSTALL_PREFIX=kde4-config \u0026ndash;prefix ../ make\nFollowed by the usual make install as root or using sudo.\nkile 2.1 at a glance\nThis is how kile looks when loaded on my system:\n(For the inquisitive people, it\u0026rsquo;s not a scientific work, rather a sci-fi like book I\u0026rsquo;m writing).\nKile uses the katepart for editing, so that means all the goodies that come with Kate can be used, including the recently-added vim input mode. Aside from editing and LaTeX syntax highlighting, kile offers a configurable LaTeX command completion, like this screenshot shows:\nFrom the toolbars and the menus you can insert almost every LaTeX command known to mankind. For the people less apt with LaTeX, kile offers a series of wizards in order to make the creation of figures, tables and even complete documents. The one I\u0026rsquo;m showing here is the Quick Start wizard, which enables you to select document classes, add packages, and add information like author and date. As I was saying earlier, kile 2.1 is still a work in progress, and that explains why the dialog is still a little unrefined.\nLike with its KDE3 counterpart, kile offers the possibility of using \u0026ldquo;projects\u0026rdquo;, which means you can collect LaTeX documents, bib files, and so on, and associate them together. You can also set a master document, so that even if you are editing other files (included in the master document), when you build your LaTeX file the compilation runs on the master document. Even in this case, a wizard helps in creating a project and the master document.\nLastly, kile has a plethora of other options, including customizing what you can use to build LaTeX files and view them (DVI, PS, PDF\u0026hellip;), as shown in this screenshot.\nConclusions\nI have merely scratched the surface of this application, which is extremely powerful and can help anyone with their LaTeX needs. While the many options may be confusing, I think that this application is already geared towards a technically-inclined userbase and so it doesn\u0026rsquo;t matter much. kile 2.1 is still unstable but extremely promising, and I\u0026rsquo;m looking forward to its release.\n","date":"February 22, 2009","externalUrl":null,"permalink":"/2009/02/science-and-kde-kile/","section":"Posts","summary":"During the course of my research work, I may obtain results that are worthy of publication in scientific journals. Since my master’s thesis I’ve been using LaTeX as my writing platform, mainly because I can concentrate on content rather than presentation (I find it useful also for writing non-scientific stuff as well). Also, I can handle bibliography (essential for a scientific publication) very well without using expensive proprietary applications (such as Endnote).\nIn my early days I used kLyX first, then LyX, but I found the platform to be too limited for my tastes, and also LaTeX errors were difficult to diagnose. I needed a proper editor, and that’s when I heard of kile, a KDE front-end for LaTeX. Kile is currently at version 2.0.2 and is a KDE 3 application. However, in KDE SVN work is ongoing to produce a KDE4 version (2.1) and that’s what I’ll look at in this entry.\n","title":"Science and KDE: kile","type":"post"},{"content":"","date":"February 7, 2009","externalUrl":null,"permalink":"/tags/r/","section":"Tags","summary":"","title":"R","type":"tags"},{"content":"","date":"February 7, 2009","externalUrl":null,"permalink":"/tags/rkward/","section":"Tags","summary":"","title":"Rkward","type":"tags"},{"content":"I try to use FOSS extensively for my scientific work. In fact, when possible, I use only FOSS tools. Among these there is the R programming language. It\u0026rsquo;s a Free implementation of the S-plus language, and it\u0026rsquo;s mainly aimed at statistics and mathematics. As the people who read my scientific posts know, I don\u0026rsquo;t like R much. But sometimes it\u0026rsquo;s the only alternative.\nWell, what does R have to do with KDE? With this post I\u0026rsquo;d like to start a series (hopefully) of articles that deals with KDE programs used for scientific purposes. In this particular entry, I\u0026rsquo;ll focus on rkward, a GUI front-end for R.\nIntroduction\nAlthough R is a programming language, it\u0026rsquo;s mainly used in an interactive session, started from the terminal. The standard installation can be improved by the use of add-on packages, libraries in R-speak, which can be installed from the Internet (Comprehensive R Archive Network or CRAN) or from local files. One of the most famous third party repositories is the Bioconductor project, which hosts a lot of packages used by life scientists who do bioinformatics.\nThe Windows version of R has a GUI (Rgui) which provides extra functionality, such as package management and loading, and other goodies. Although there were plan for a GTK+ frontend for Linux, the project is (as far as I know) stuck in a limbo.\nThat\u0026rsquo;s where rkward comes to the rescue. It\u0026rsquo;s a GUI front-end for R for KDE4, which aims to provide a graphical shell for many R commands and environments (and especially the publication-quality plotting figures).\nGetting rkward\nrkward is available from Sourceforge.net. Unfortunately, if you use a recent (\u0026gt;=2.8) version of R it won\u0026rsquo;t compile, due to the changes in R itself. For that, you need to directly download the sources off SVN with a command like this\n1 svn co https://rkward.svn.sourceforge.net/viewvc/rkward/trunk/rkward/ Either way, the sources are compiled the usual, way, that is\n1 2 3 4 cd rkward-xxx # Your rkward source dir mkdir build; cd build cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ../ make Followed by make install as root or using sudo, depending on your distribution.\nrkward at a glance\n[singlepic id=263 w=320 h=240 float=center]\nThis is how rkward looks when loading it up (yes, it\u0026rsquo;s in Italian because that is my own locale). You have the R console (which I brought up) and then an output window which is used to display results. There is also another tab called \u0026ldquo;mio.dataset\u0026rdquo; (my.dataset) which keeps data, in a spreadsheet-like form. This is useful when you want to create your own datasets from scratch, or if you want to inspect one you have loaded.\nSo how do you start coding? You can create a new script using the \u0026ldquo;Script File\u0026rdquo; button. Like that, you can input R commands and then execute them all at once, or the current line. If you prefer interactive work, you can use the R command line (shown in the screenshot).\n[singlepic id=264 w=320 h=240 float=center]\nYou can also use rkward to import data: R provides a series of functions (like read.table) to load data sets (usually comma- or tab-delimited text files). rkward provides a complete GUI to those functions, which is shown in the screenshot above. Notice that for working, it requires PHP (the line command version).\n[singlepic id=266 w=320 h=240 float=center]\nOk, we have data loaded. Now we may want to do some operations: rkward provides front-ends to many of R\u0026rsquo;s statistical functions. In the screenshot, we can see the GUI for a two-variable t-test. Notice how it shows also the code, so the most experienced R people can view exactly what it does.\nLike with statistics, R has powerful support for graphics, and even in this case rkward offers some frontends, for example histograms, boxplots, and scatter plots. You can also plot all kinds of distributions.\n[singlepic id=265 w=320 h=240 float=center]\nLastly, rkward can manage your R packages (R package management is akin to one of a Linux distribution), and als your package sources. You can install or upgrade packages, and select where they\u0026rsquo;ll get installed to.\nConclusions\nrkward is a nice frontend for the R programming language, which adds a GUI with the power of KDE to R. Unfortunately the program is still somewhat unstable (also shown by a warning when you run it) and its main developer has currently very little time to work on it. In case you may want to help, you can hop to the rkward-devel mailing list.\n","date":"February 7, 2009","externalUrl":null,"permalink":"/2009/02/science-and-kde-rkward/","section":"Posts","summary":"I try to use FOSS extensively for my scientific work. In fact, when possible, I use only FOSS tools. Among these there is the R programming language. It’s a Free implementation of the S-plus language, and it’s mainly aimed at statistics and mathematics. As the people who read my scientific posts know, I don’t like R much. But sometimes it’s the only alternative.\nWell, what does R have to do with KDE? With this post I’d like to start a series (hopefully) of articles that deals with KDE programs used for scientific purposes. In this particular entry, I’ll focus on rkward, a GUI front-end for R.\n","title":"Science and KDE: rkward ","type":"post"},{"content":"I have been thinking of doing another Kourse at the KDE Forums, similar to the one that has produced three nice screencasts.\nMy idea would be to show very brief and focused screencasts, a sort of \u0026ldquo;how do I\u0026hellip;\u0026rdquo;. I have a few ideas, but I\u0026rsquo;d like to ask the KDE community at large. I\u0026rsquo;m mostly interested in showing single features (short videos), preferably of the \u0026ldquo;eye-opener\u0026rdquo; kind.\nIf you have any suggestions, leave a comment.\n","date":"January 31, 2009","externalUrl":null,"permalink":"/2009/01/fishing-for-ideas/","section":"Posts","summary":"I have been thinking of doing another Kourse at the KDE Forums, similar to the one that has produced three nice screencasts.\nMy idea would be to show very brief and focused screencasts, a sort of “how do I…”. I have a few ideas, but I’d like to ask the KDE community at large. I’m mostly interested in showing single features (short videos), preferably of the “eye-opener” kind.\nIf you have any suggestions, leave a comment.\n","title":"Fishing for ideas","type":"post"},{"content":"","date":"January 31, 2009","externalUrl":null,"permalink":"/tags/kde42/","section":"Tags","summary":"","title":"Kde42","type":"tags"},{"content":" Yes, I know I\u0026rsquo;m a bit late to the party (unfortunately today was one of the busiest days ever where I work), but I thought I\u0026rsquo;d join the other members of the KDE community, because KDE 4.2 has been released today.\nTake a look at the visual guide, or see if your distribution has already packages for you. For your enquiries, the KDE Forums are at your disposal.\n","date":"January 27, 2009","externalUrl":null,"permalink":"/2009/01/the-answer/","section":"Posts","summary":" Yes, I know I’m a bit late to the party (unfortunately today was one of the busiest days ever where I work), but I thought I’d join the other members of the KDE community, because KDE 4.2 has been released today.\nTake a look at the visual guide, or see if your distribution has already packages for you. For your enquiries, the KDE Forums are at your disposal.\n","title":"\"The Answer\"","type":"post"},{"content":"If everything has gone correctly, my blog should be on PlanetKDE now. That means it\u0026rsquo;s time for an introduction for those readers. My name is Luca Beltrame, I\u0026rsquo;m a biotechnologist doing bioinformatics in the life sciences areas, and I\u0026rsquo;m a Free Software user/enthusiast since many years.\nI\u0026rsquo;ve been using KDE since 1.0 or so (if memory serves me well), but only recently, with the 4.x line of development, I\u0026rsquo;ve been trying to actually contribute a bit back to the project. Since I\u0026rsquo;m just a Python learner at the moment (I use Python a lot where I work, but it\u0026rsquo;s just text manipulation), I thought there were other areas I could contribute to. Currently, I maintain the Plasma FAQ, and I\u0026rsquo;ve been working together with Simon Edwards for some Python Plasma tutorials.\nIn more recent times, I entered the KDE Forums staff as a mentor (and all-around writer) and helped students with the second Kourse of the forum, namely Plasma screencasts. In the past I have done a few Plasma screencasts myself in the past.\nThat\u0026rsquo;s all for now. I\u0026rsquo;ll try to blog mostly on KDE Forum related matters, with \u0026ldquo;opinion\u0026rdquo; pieces every now and then.\n","date":"January 25, 2009","externalUrl":null,"permalink":"/2009/01/hello-planet-kde/","section":"Posts","summary":"If everything has gone correctly, my blog should be on PlanetKDE now. That means it’s time for an introduction for those readers. My name is Luca Beltrame, I’m a biotechnologist doing bioinformatics in the life sciences areas, and I’m a Free Software user/enthusiast since many years.\nI’ve been using KDE since 1.0 or so (if memory serves me well), but only recently, with the 4.x line of development, I’ve been trying to actually contribute a bit back to the project. Since I’m just a Python learner at the moment (I use Python a lot where I work, but it’s just text manipulation), I thought there were other areas I could contribute to. Currently, I maintain the Plasma FAQ, and I’ve been working together with Simon Edwards for some Python Plasma tutorials.\n","title":"Hello Planet KDE","type":"post"},{"content":"I just finished writing a new Python tutorial on KDE\u0026rsquo;s Techbase. This one deals with writing DataEngines in Python (a complement to Simon Edwards\u0026rsquo;s own Using DataEngines).\nLet me know what you think. As it\u0026rsquo;s a wiki, comments and suggestions are welcome.\n","date":"January 24, 2009","externalUrl":null,"permalink":"/2009/01/new-plasma-with-python-tutorials/","section":"Posts","summary":"I just finished writing a new Python tutorial on KDE’s Techbase. This one deals with writing DataEngines in Python (a complement to Simon Edwards’s own Using DataEngines).\nLet me know what you think. As it’s a wiki, comments and suggestions are welcome.\n","title":"New Plasma with Python tutorials","type":"post"},{"content":"As Simon Edwards already noted, thanks to me and him (mostly him, I have to say) starting to work on Plasma tutorials at the same time, now KDE\u0026rsquo;s Techbase has a nice set of Python Plasma tutorials. They cover creation of applets and connection to DataEngines (see the Plasma page on Techbase for more information). I plan on starting a tutorial on writing Plasma DataEngines on Thursday, if time permits.\nFor anyone wanting to try these out: you need KDE 4.2 (currently RC 1), PyKDE4 and kdebase compiled with Python support (not the case of openSUSE at the moment).\n","date":"January 20, 2009","externalUrl":null,"permalink":"/2009/01/python-plasma-tutorials-on-kde-techbase/","section":"Posts","summary":"As Simon Edwards already noted, thanks to me and him (mostly him, I have to say) starting to work on Plasma tutorials at the same time, now KDE’s Techbase has a nice set of Python Plasma tutorials. They cover creation of applets and connection to DataEngines (see the Plasma page on Techbase for more information). I plan on starting a tutorial on writing Plasma DataEngines on Thursday, if time permits.\nFor anyone wanting to try these out: you need KDE 4.2 (currently RC 1), PyKDE4 and kdebase compiled with Python support (not the case of openSUSE at the moment).\n","title":"Python Plasma tutorials on KDE Techbase","type":"post"},{"content":"","date":"January 11, 2009","externalUrl":null,"permalink":"/tags/kurokami/","section":"Tags","summary":"","title":"Kurokami","type":"tags"},{"content":" New season, new anime to see. Since a certain guy kept me telling wonders about Kurokami (黒神), a manga serialized in Young Gangan by Dall-Young Lim and Sung-woo Park, two Korean artists, I decided to give a go to the animated version, produced by Bandai Visual, which has just been out.\nThe episode opens with the main character, Keita Ibuki, wondering about philosophical questions while he\u0026rsquo;s dying. We don\u0026rsquo;t get to know more, as the opening kicks in and once it\u0026rsquo;s over, we\u0026rsquo;re presented with another situation, presumably before that event. What we get to see is that Keita seems a rather introverted person, supposedly after a shocking event that happened in his past. His days seem to follow a precise routine: school, then a go towards an unfinished/collapsed highway on the sea, ramen in the evening at a certain place.\nA few exceptions are when a little girl, son of a person who lives next door to him, approaches him. Meanwhile, the spectator is informed that something is going awry: disappearances and deaths occur throughout the city, and they\u0026rsquo;re apparently linked to people seeing an exact replica of themselves (Doppelgänger): when this happens, one of the two identical people dies within days (and we learn that something like that has happened to Keita\u0026rsquo;s mother as well).\nAnd that\u0026rsquo;s what happens to one of Keita\u0026rsquo;s schoolmates, who has seen a replica of herself at a concert (although the encounter was probably planned by someone behind the shadows). Of course Keita is saddened greatly, and he vents his frustration when he\u0026rsquo;s alone. During the evening, while he\u0026rsquo;s eating ramen, he meets a strange girl who\u0026rsquo;s starving. He lets her have his cup, and during the conversation that ensues, this girl seems to know a lot about the replica affair. She mentions that, out of the 2 or 3 replicas that exist in the world, only one is the so called root, and the only one who will survive when he/she meets the others.\nIt\u0026rsquo;s not like she can tell more, because a scary-looking person with a bat arrives and hits her on the head without any hesitation. The owner of the shop tries to act, but is hit as well. The newcomer says a few things without much sense and proceeds to hit the girl more. \u0026ldquo;Of course\u0026rdquo;, Keita decides to run to her defense but the outcome is rather predictable, and he gets a spanking as well.\nThat\u0026rsquo;s when the girl steps up and shows to be quite apt to fighting. She and the other man exchange blows for a while, although the girl is at disadvantage and has her head smashed against a car\u0026rsquo;s screen (ouch). The man mentions that he has \u0026ldquo;to take her alive\u0026rdquo; (as if someone would survive the beating she had), and that\u0026rsquo;s when she gets up again and treats him with a lightning fast series of punches and kicks (it reminded me of Ryo Sakazaki\u0026rsquo;s super move in Ryuko no ken / Art of Fighting games), sending him against a fence and knocking him out.\nShe then complaisn about the spilled ramen (?) and leaves shortly afterwards, before the police comes, but not before introducing herself as Kuro. The other guy disappears as well. The following day, Keita meets the small girl from next door again, and she says she has met another identical girl the day before. You know what\u0026rsquo;s going to happen now: she gets run over by a truck in front of Keita\u0026rsquo;s eyes. And then Kuro is next to Keita, talking again about the replica stuff, mentioning that the girl was obviously not the \u0026ldquo;root\u0026rdquo;.\nThat\u0026rsquo;s when the episode ends. What can I say about it? It looks good so far, with a promising storyline, but knowing Sunrise\u0026rsquo;s previous \u0026ldquo;accomplishments\u0026rdquo;, including Code GEASS, I\u0026rsquo;m still wary. The number of episodes, also, will determine how much the story will be rushed or not.\nAnimation and sound wise we\u0026rsquo;re at good levels, although Kuro\u0026rsquo;s final \u0026ldquo;combo\u0026rdquo; looks more like an animation stunt than something that\u0026rsquo;s really needed. The opening theme, \u0026ldquo;sympathizer\u0026rdquo; is decent enough, and coupled well to the images (that should be taken for granted, but according to what I heard about Gundam OO\u0026rsquo;s new opening, one can never know).\nI\u0026rsquo;ll be keeping an eye on this series and see if it keeps on doing well.\n","date":"January 11, 2009","externalUrl":null,"permalink":"/2009/01/kurokami-the-animation-episode-1/","section":"Posts","summary":" New season, new anime to see. Since a certain guy kept me telling wonders about Kurokami (黒神), a manga serialized in Young Gangan by Dall-Young Lim and Sung-woo Park, two Korean artists, I decided to give a go to the animated version, produced by Bandai Visual, which has just been out.\n","title":"Kurokami - The Animation - episode 1","type":"post"},{"content":"It turned out I forgot to add the last screencast produced by the students of Kourse 2, so I\u0026rsquo;ll fix my mistake right now. Here\u0026rsquo;s Panel settings, by Kourse student TeaAge:\n[blip.tv ?posts_id=1653914\u0026amp;dest=-1]\n","date":"January 10, 2009","externalUrl":null,"permalink":"/2009/01/last-plasma-screencast/","section":"Posts","summary":"It turned out I forgot to add the last screencast produced by the students of Kourse 2, so I’ll fix my mistake right now. Here’s Panel settings, by Kourse student TeaAge:\n[blip.tv ?posts_id=1653914\u0026dest=-1]\n","title":"Last Plasma screencast","type":"post"},{"content":"","date":"January 10, 2009","externalUrl":null,"permalink":"/tags/screencast/","section":"Tags","summary":"","title":"Screencast","type":"tags"},{"content":"As you have noticed, I have upgraded FailWordpress to version 2.7, getting also a new theme in the process. The header image is temporary, until I or someone else gets it fixed. The gallery has also changed: I ditched WPG2 and Gallery 2 because they kept on breaking every time I upgraded Wordpress (of course it\u0026rsquo;s probably Wordpress\u0026rsquo;s API and schema instability to blame).\nTherefore, the gallery had been organized and most likely older posts won\u0026rsquo;t show images anymore (I\u0026rsquo;ll get to fix those eventually).\nReport any problems you find in the comments. Thanks.\n","date":"January 10, 2009","externalUrl":null,"permalink":"/2009/01/new-theme-and-2.7/","section":"Posts","summary":"As you have noticed, I have upgraded FailWordpress to version 2.7, getting also a new theme in the process. The header image is temporary, until I or someone else gets it fixed. The gallery has also changed: I ditched WPG2 and Gallery 2 because they kept on breaking every time I upgraded Wordpress (of course it’s probably Wordpress’s API and schema instability to blame).\nTherefore, the gallery had been organized and most likely older posts won’t show images anymore (I’ll get to fix those eventually).\n","title":"New theme and 2.7","type":"post"},{"content":"","date":"January 10, 2009","externalUrl":null,"permalink":"/tags/upgrade/","section":"Tags","summary":"","title":"Upgrade","type":"tags"},{"content":"","date":"January 10, 2009","externalUrl":null,"permalink":"/tags/wordpress/","section":"Tags","summary":"","title":"Wordpress","type":"tags"},{"content":"Students from Kourse 2 fengshaun and Primoz have prepared two nice screencasts, dealing with the Zooming User Interface (ZUI) and desktop settings respectively. Without further ado, here they are:\nZooming User Interface by fengshaun\n[blip.tv ?posts_id=1648944\u0026amp;dest=-1]\nDesktop settings by Primoz\n[blip.tv ?posts_id=1646835\u0026amp;dest=-1]\nAs usual, both Free and non-Free versions are available. The students are also at work on subtitled versions, without the Notes plasmoid. I\u0026rsquo;ll be sure to post them once they\u0026rsquo;re done. Don\u0026rsquo;t forget to share these!\n","date":"January 8, 2009","externalUrl":null,"permalink":"/2009/01/more-plasma-screencasts/","section":"Posts","summary":"Students from Kourse 2 fengshaun and Primoz have prepared two nice screencasts, dealing with the Zooming User Interface (ZUI) and desktop settings respectively. Without further ado, here they are:\nZooming User Interface by fengshaun\n[blip.tv ?posts_id=1648944\u0026dest=-1]\nDesktop settings by Primoz\n[blip.tv ?posts_id=1646835\u0026dest=-1]\nAs usual, both Free and non-Free versions are available. The students are also at work on subtitled versions, without the Notes plasmoid. I’ll be sure to post them once they’re done. Don’t forget to share these!\n","title":"More Plasma screencasts","type":"post"},{"content":"","date":"January 6, 2009","externalUrl":null,"permalink":"/tags/pathway-analysis/","section":"Tags","summary":"","title":"Pathway Analysis","type":"tags"},{"content":"Finally I can lift the curtain of silence and tell the reason why I\u0026rsquo;ve been very busy before Christmas: it all lies in the publication of a paper, \u0026ldquo;Using Pathway Signatures as Means of Identifying Similarities among Microarray Experiments\u0026rdquo;, which is finally out on this week\u0026rsquo;s issue of PLoS ONE. It\u0026rsquo;s different from the previous paper I mentioned (which was not my first publication, either), for two main reasons:\nIt\u0026rsquo;s a bioinformatics paper;\nI am first author there.\nThe second point is very important because usually for a person doing bioinformatics is more difficult to end up as first author in a paper, since most we do is \u0026ldquo;something in the middle\u0026rdquo; like data analysis. Therefore, this paper is quite important for me. Also, it deals with an interest of mine, mainly analysis of biological networks using high-throughput platforms such as microarrays. Actually I\u0026rsquo;m also interested in network reconstruction, but I need to study far more than what I\u0026rsquo;m doing right now.\nIn any case, let\u0026rsquo;s hope this is the first of a (hopefully long) series!\n","date":"January 6, 2009","externalUrl":null,"permalink":"/2009/01/published-and-it-matters-more/","section":"Posts","summary":"Finally I can lift the curtain of silence and tell the reason why I’ve been very busy before Christmas: it all lies in the publication of a paper, “Using Pathway Signatures as Means of Identifying Similarities among Microarray Experiments”, which is finally out on this week’s issue of PLoS ONE. It’s different from the previous paper I mentioned (which was not my first publication, either), for two main reasons:\nIt’s a bioinformatics paper;\n","title":"Published! (and it matters more)","type":"post"},{"content":"As some people already know, I\u0026rsquo;m mentoring a group of students on KDE Forum to create Plasma screencasts (from the upcoming KDE 4.2 version). After several adjustments back and forth, the first one (made by kourse student Primoz), showing off the various desktop settings, is complete. This version uses the Notes plasmoid to keep track of annotation, but we\u0026rsquo;re also evaluating subtitle-based versions. In the mean time, enjoy! (and spread the word). If you prefer a Free format rather than the proprietary Flash, you can download the ogg video version.\n[blip.tv ?posts_id=1646835\u0026amp;dest=-1]\n","date":"January 5, 2009","externalUrl":null,"permalink":"/2009/01/kourse-2-first-finished-screencast/","section":"Posts","summary":"As some people already know, I’m mentoring a group of students on KDE Forum to create Plasma screencasts (from the upcoming KDE 4.2 version). After several adjustments back and forth, the first one (made by kourse student Primoz), showing off the various desktop settings, is complete. This version uses the Notes plasmoid to keep track of annotation, but we’re also evaluating subtitle-based versions. In the mean time, enjoy! (and spread the word). If you prefer a Free format rather than the proprietary Flash, you can download the ogg video version.\n","title":"Kourse 2 - First finished screencast","type":"post"},{"content":"Today I was adjusting a bit the layouts of the Activities (as defined in Plasma) to better suit my workflows. To do so I was using the brand new Activity Bar which is present in KDE 4.2. It\u0026rsquo;s very neat, but takes up space on the desktop, and while it\u0026rsquo;s not a big deal on my main PC (1280x1024 resolution), it is an issue on my recently-resuscitated EeePC (1024x600).\nIt was then that it occured to me that such applets are, in Plasma-speak, PopupApplets, which means they adjust their behavior depending if they are in a panel or \u0026ldquo;free\u0026rdquo;. Also, I knew that Plasma had panel auto-hiding. 5 seconds later, I had a solution that fit my tastes, as this screenshot shows:\nI could have used auto-hide also for the lower panel, but I\u0026rsquo;m not that comfortable, as I\u0026rsquo;m used to keep an eye to the systray, taskbar, and so on. In the end, I\u0026rsquo;m very satisfied with Plasma, since with a few adjustments I made it right for my workflow. This is an example of what it can do, and I can\u0026rsquo;t wait for context (as in semantic context) aware applications\u0026hellip;\n","date":"December 29, 2008","externalUrl":null,"permalink":"/2008/12/why-plasma-is-the-best-thing-since-sliced-bread/","section":"Posts","summary":"Today I was adjusting a bit the layouts of the Activities (as defined in Plasma) to better suit my workflows. To do so I was using the brand new Activity Bar which is present in KDE 4.2. It’s very neat, but takes up space on the desktop, and while it’s not a big deal on my main PC (1280x1024 resolution), it is an issue on my recently-resuscitated EeePC (1024x600).\nIt was then that it occured to me that such applets are, in Plasma-speak, PopupApplets, which means they adjust their behavior depending if they are in a panel or “free”. Also, I knew that Plasma had panel auto-hiding. 5 seconds later, I had a solution that fit my tastes, as this screenshot shows:\n","title":"Why Plasma is the best thing since sliced bread","type":"post"},{"content":"Finally a new entry! I\u0026rsquo;ve been extremely busy with other things, that is why I did not have time to write more. One of the main reason is related to an important landmark in my professional career, but I\u0026rsquo;ll write more about it after January 1st (hint: those who follow my Twitter updates may have already understood).\nAs a nice way to break the hiatus, I\u0026rsquo;m releasing a new version of DataMatrix, my implementation of R\u0026rsquo;s data.frame in Python. Although the version bump is small, there are loads of improvements. First of all, there is proper support for file-like objects, as well as support for appending and inserting both rows and columns. writeMatrix has been substantially improved and now writes files correctly, and I have added (experimental) support for a DataMatrix object that does not require files - EmptyMatrix. Also, there is now proper documentation. Last but not least, unit tests have been added, a good way to watch out for regressions in the code.\nFinally, this version marks the entrance of dalloliogm as contributor to the code. He gave quite a number of helpful hints, especially with regards to unit tests.\nI\u0026rsquo;m quite satisfied on how DataMatrix behaves - as a matter of fact I use it extensively on a number of internal projects.\nYou can grab DataMatrix 0.7 as a source package or as a Windows installer. Comments are welcome.\n","date":"December 27, 2008","externalUrl":null,"permalink":"/2008/12/datamatrix-0.7-has-been-released/","section":"Posts","summary":"Finally a new entry! I’ve been extremely busy with other things, that is why I did not have time to write more. One of the main reason is related to an important landmark in my professional career, but I’ll write more about it after January 1st (hint: those who follow my Twitter updates may have already understood).\nAs a nice way to break the hiatus, I’m releasing a new version of DataMatrix, my implementation of R’s data.frame in Python. Although the version bump is small, there are loads of improvements. First of all, there is proper support for file-like objects, as well as support for appending and inserting both rows and columns. writeMatrix has been substantially improved and now writes files correctly, and I have added (experimental) support for a DataMatrix object that does not require files - EmptyMatrix. Also, there is now proper documentation. Last but not least, unit tests have been added, a good way to watch out for regressions in the code.\n","title":"DataMatrix 0.7 has been released","type":"post"},{"content":"","date":"November 2, 2008","externalUrl":null,"permalink":"/tags/annotation/","section":"Tags","summary":"","title":"Annotation","type":"tags"},{"content":"","date":"November 2, 2008","externalUrl":null,"permalink":"/tags/database/","section":"Tags","summary":"","title":"Database","type":"tags"},{"content":"","date":"November 2, 2008","externalUrl":null,"permalink":"/tags/microarray/","section":"Tags","summary":"","title":"Microarray","type":"tags"},{"content":"Recently I had to annotate a large (10,000+) number of genes identified by Entrez Gene IDs. My goal was to avoid \u0026ldquo;annotation files\u0026rdquo; (basically CSV files) that a part of wet lab group likes, because I wanted to stay up-to-date without having to remember to update them. So the obvious solution was to use a service available on the web, and in an automated way. For reference, I just tried to attach gene symbol, gene name, chromosome and cytoband. I tried many services:\nUCSC Genome Browser: it has a MySQL server but it\u0026rsquo;s rather slow and I did not want to clog it up. Using their tables and .sql files I managed to get a first shot at annotation, but about 2,000 genes were without annotation!\nNCBI\u0026rsquo;s own Entrez Gene: This needs EUtils, and in Biopython there is not a parser for Entrez Gene XML entries. I had to scrap the idea because I did not have time.\nEnsembl: I decided to use the Biomart service, through Rpy. There were missing genes, and sometimes the IDs were \u0026ldquo;converted\u0026rdquo; in something else (I had no time to figure out what was happening). Also some perfectly valid genes (in Entrez Gene) were not present in Ensembl.\nIn the end I just grabbed Bioconductor\u0026rsquo;s \u0026ldquo;org.Hs.eg.db\u0026rdquo; package and used its sqlite gene database (from Entrez Gene) to annotate the list, with only 97 missing IDs (mostly genes that had changed identifiers). However, this effort revealed a problem:the annotations are not consistent between databases. This is a real pain when doing microarray-based analysis, because you often have large number of genes and perceived lack of annotation might get lead to a number of them getting discarded.\nI thought the situation was better than this. If I annotate genes in different databases with the same ID, I expect to get identical results. I mean, it\u0026rsquo;s not like Gene or Ensembl have little resources\u0026hellip; or am I wrong?\n","date":"November 2, 2008","externalUrl":null,"permalink":"/2008/11/the-plague-of-cross-database-annotations/","section":"Posts","summary":"Recently I had to annotate a large (10,000+) number of genes identified by Entrez Gene IDs. My goal was to avoid “annotation files” (basically CSV files) that a part of wet lab group likes, because I wanted to stay up-to-date without having to remember to update them. So the obvious solution was to use a service available on the web, and in an automated way. For reference, I just tried to attach gene symbol, gene name, chromosome and cytoband. I tried many services:\n","title":"The plague of cross-database annotations","type":"post"},{"content":"Currently I have Kubuntu 8.04 (Hardy) installed on my Eee PC. Version 8.10, the Intrepid Ibex, is due on October 30th. However, I will not install it. The reason is that Kubuntu developers intentionally disabled the zoom function, and I have three activities on this machine. How come I\u0026rsquo;m supposed to use them? Also, space is pretty tight so install a build environment just to remove one patch seems overkill. So, I\u0026rsquo;m moving away from it. Do you know any recent, EeePC and KDE friendly distro?\n","date":"October 22, 2008","externalUrl":null,"permalink":"/2008/10/alternatives-to-kubuntu-for-the-eee-pc/","section":"Posts","summary":"Currently I have Kubuntu 8.04 (Hardy) installed on my Eee PC. Version 8.10, the Intrepid Ibex, is due on October 30th. However, I will not install it. The reason is that Kubuntu developers intentionally disabled the zoom function, and I have three activities on this machine. How come I’m supposed to use them? Also, space is pretty tight so install a build environment just to remove one patch seems overkill. So, I’m moving away from it. Do you know any recent, EeePC and KDE friendly distro?\n","title":"Alternatives to Kubuntu for the Eee PC?","type":"post"},{"content":"","date":"October 22, 2008","externalUrl":null,"permalink":"/tags/distribution/","section":"Tags","summary":"","title":"Distribution","type":"tags"},{"content":"","date":"October 22, 2008","externalUrl":null,"permalink":"/tags/kubuntu/","section":"Tags","summary":"","title":"Kubuntu","type":"tags"},{"content":"Ok, ok\u0026hellip; my definition of \u0026ldquo;tomorrow\u0026rdquo; is not like what most people use, apparently. Although I took quite a while, now there is a static page on DataMatrix. There you will find a summary of wht I wrote in my other blog posts regarding this module. Of course, it will be kept up-to-date should I release a new version.\nAside that, I put a contact form on this blog. It may be useful for reports that aren\u0026rsquo;t directly related to the posts.\n","date":"October 12, 2008","externalUrl":null,"permalink":"/2008/10/datamatrix-page-up/","section":"Posts","summary":"Ok, ok… my definition of “tomorrow” is not like what most people use, apparently. Although I took quite a while, now there is a static page on DataMatrix. There you will find a summary of wht I wrote in my other blog posts regarding this module. Of course, it will be kept up-to-date should I release a new version.\nAside that, I put a contact form on this blog. It may be useful for reports that aren’t directly related to the posts.\n","title":"DataMatrix page up","type":"post"},{"content":"Following the instruction from Mike Arthur\u0026rsquo;s post on planetkde, I tried posting on dennogumi.org from KOrganizer (KDE 4.1.1). Lo and behold, it works! It\u0026rsquo;s always better to use an application rather than a clunky web user interface\u0026hellip;\n","date":"September 20, 2008","externalUrl":null,"permalink":"/2008/09/posting-from-korganizer/","section":"Posts","summary":"Following the instruction from Mike Arthur’s post on planetkde, I tried posting on dennogumi.org from KOrganizer (KDE 4.1.1). Lo and behold, it works! It’s always better to use an application rather than a clunky web user interface…\n","title":"Posting from KOrganizer","type":"post"},{"content":"At last, since it\u0026rsquo;s been like ages, I decided to put out a new version of DataMatrix. For those who haven\u0026rsquo;t seen my previous post, DataMatrix is a Pythonic implementation of R\u0026rsquo;s data.frame. It enables you to manipulate a text file by columns or rows, to your liking, using a dictionary-like syntax.\nIn this new version there have been a few improvements and correction to a couple bugs (for example saveMatrix did not really save) and the start (only a stub at the moment) of an append function to add more columns (I\u0026rsquo;ll also think about a function to add rows).\nDataMatrix is licensed under the GNU GPL, version 2 only. You can download the installer (Windows) or the source distribution (Linux and other *nixes). The only requirement is Python 2.5 or later installed on your system.\nThe README currently is a stub, but you can browse the pydoc generated documentation, which details how to instantiate and use DataMatrix objects (or you can turn to my older post).\nAlso, since git is the new \u0026ldquo;cool feature of the day\u0026rdquo;, DataMatrix is is hosted on github\u0026rsquo;s repository, and you can grab the source with\n1 git clone git://github.com/cswegger/datamatrix.git Comments and suggestions are welcome. I\u0026rsquo;ll be putting a static page on DataMatrix tomorrow, if time permits.\n","date":"September 19, 2008","externalUrl":null,"permalink":"/2008/09/datamatrix-0.5/","section":"Posts","summary":"At last, since it’s been like ages, I decided to put out a new version of DataMatrix. For those who haven’t seen my previous post, DataMatrix is a Pythonic implementation of R’s data.frame. It enables you to manipulate a text file by columns or rows, to your liking, using a dictionary-like syntax.\nIn this new version there have been a few improvements and correction to a couple bugs (for example saveMatrix did not really save) and the start (only a stub at the moment) of an append function to add more columns (I’ll also think about a function to add rows).\n","title":"DataMatrix 0.5","type":"post"},{"content":"","date":"September 13, 2008","externalUrl":null,"permalink":"/tags/final-fantasy-xi/","section":"Tags","summary":"","title":"Final Fantasy XI","type":"tags"},{"content":"All right, it didn\u0026rsquo;t quite turn out as I had expected. This post wasn\u0026rsquo;t \u0026ldquo;soon\u0026quot;as I predicted originally. The reason? The fact that the video card I bought died after three days of usage, and getting a replacement took a while. Finally though, I have a functional system. It\u0026rsquo;s a Core 2 Duo CPU (7200) with 2 Gb of RAM and an ATI Radeon 3870 HD video card.\nI installed Linux on it, of course, but instead of Kubuntu I gave openSUSE a try. It\u0026rsquo;s quite polished, although I had to go through some hoops to enable font hinting, especially in Firefox (not that I use that browser a lot, but I still need it for some things). I\u0026rsquo;ll be keeping Kubuntu on the Eee, as there\u0026rsquo;s a larger community for customization.\nWith this PC, I can do a few things, such as trying out FFXI on WINE and also try out some web application using the Django framework.\nBy the way, if you have seen some downtime in this blog it\u0026rsquo;s due to the absolutely awful Wordpress upgrades I attempted, and mostly Wordpress\u0026rsquo;s fault anyway.\n","date":"September 13, 2008","externalUrl":null,"permalink":"/2008/09/new-pc-at-last/","section":"Posts","summary":"All right, it didn’t quite turn out as I had expected. This post wasn’t “soon\"as I predicted originally. The reason? The fact that the video card I bought died after three days of usage, and getting a replacement took a while. Finally though, I have a functional system. It’s a Core 2 Duo CPU (7200) with 2 Gb of RAM and an ATI Radeon 3870 HD video card.\nI installed Linux on it, of course, but instead of Kubuntu I gave openSUSE a try. It’s quite polished, although I had to go through some hoops to enable font hinting, especially in Firefox (not that I use that browser a lot, but I still need it for some things). I’ll be keeping Kubuntu on the Eee, as there’s a larger community for customization.\n","title":"New PC, at last","type":"post"},{"content":"Sadly (for me) I\u0026rsquo;m back from the holidays. For those of you who wondered why the updates on Japan stopped: when I got back to Tokyo I didn\u0026rsquo;t have an Internet connection, so I had no means to update. The whole holiday was a blast, though, and we\u0026rsquo;re considering getting back in two years.\nAside from that, work has picked up a really fast pace immediately (why on Earth journals don\u0026rsquo;t accept LaTeX-produced PDFs?) and I expect a round of meetings and planning to start soon to plan the next three months. I had a poster accepted at the ECCB 2008 conference, but the steep fees (1200 euro for flight, registration and lodging) made me reconsider. Better luck next time, I guess.\nOn other fronts, I read that FFXI can run on WINE now. I\u0026rsquo;ll be sure to try it once I finish preparing my new PC (I\u0026rsquo;ll write about it soon).\nThat\u0026rsquo;s all for now.\n","date":"August 27, 2008","externalUrl":null,"permalink":"/2008/08/im-back/","section":"Posts","summary":"Sadly (for me) I’m back from the holidays. For those of you who wondered why the updates on Japan stopped: when I got back to Tokyo I didn’t have an Internet connection, so I had no means to update. The whole holiday was a blast, though, and we’re considering getting back in two years.\nAside from that, work has picked up a really fast pace immediately (why on Earth journals don’t accept LaTeX-produced PDFs?) and I expect a round of meetings and planning to start soon to plan the next three months. I had a poster accepted at the ECCB 2008 conference, but the steep fees (1200 euro for flight, registration and lodging) made me reconsider. Better luck next time, I guess.\n","title":"I'm back","type":"post"},{"content":"","date":"August 27, 2008","externalUrl":null,"permalink":"/tags/work/","section":"Tags","summary":"","title":"Work","type":"tags"},{"content":"","date":"August 8, 2008","externalUrl":null,"permalink":"/tags/japan/","section":"Tags","summary":"","title":"Japan","type":"tags"},{"content":"Today we went to Nar, site of the first capital of Japan, especially to see the Todaiji Temple, designated as a World Heritage site by UNESCO. We used an express train to get to Nara and then a bus to get to the Todaiji itself (actually it\u0026rsquo;s a quick walk, I just didn\u0026rsquo;t know the distance was so short). The temple lies inside the Nara-koen, or Nara park, which is famous for its 1200 tame sacred deers.\nThere are lots of them. Everywhere. Literally. As they\u0026rsquo;re tame, they approach people and aren\u0026rsquo;t really scared (save for the younger ones). You\u0026rsquo;ll see some photos of them in the gallery. After that, I got to see the Daibutsu (BIG BUDDHA, for NRK). It\u0026rsquo;s a huge statue of the Buddha, in bronze and gold. Along with that, we paid a visit to the Nara Museum (1200 yen - ick) to see an exhibition on the thirty-three shrine pilgrimage in Japan. Nice exhibits, just a little short for the price.\nThe afternoon was spent looking for electronics at the BIC CAMERA store near the Kyoto station. Tomorrow we\u0026rsquo;re back to Tokyo - last two days of shopping before going back to Italy. The gallery has been updated, as usual.\n","date":"August 8, 2008","externalUrl":null,"permalink":"/2008/08/japan-day-6/","section":"Posts","summary":"Today we went to Nar, site of the first capital of Japan, especially to see the Todaiji Temple, designated as a World Heritage site by UNESCO. We used an express train to get to Nara and then a bus to get to the Todaiji itself (actually it’s a quick walk, I just didn’t know the distance was so short). The temple lies inside the Nara-koen, or Nara park, which is famous for its 1200 tame sacred deers.\n","title":"Japan - Day 6","type":"post"},{"content":"","date":"August 8, 2008","externalUrl":null,"permalink":"/tags/travel/","section":"Tags","summary":"","title":"Travel","type":"tags"},{"content":"It\u0026rsquo;s been a hot day here in Kyoto. And I don\u0026rsquo;t mean lame second meanings, just that the temperature was really over the top. As a consequence, we changed our plans: we were supposed to visit the so-called \u0026ldquo;path of the philosophy\u0026rdquo; but instead we set for Nijo Castle. Nijo Castle was the Kyoto residence of Ieyasu Tokugawa (I suspect to tell the emperor who was the real person in power) and it can be visited. The palace and its surroundings are truly magnificient.\nAfter that we stopped for lunch in the Kyoto Station, a rather controversial piece of architecture built in the ninieties of the last century. I can say it\u0026rsquo;s huge, and filled with stores and even a hotel(!).\nIn the afternoon, we went gain for shopping, targeting the local Animate, Gamers, and Melon Books stores. My brother snatched up a non-H, FFXI-related dojinshi from Melonbooks, and I grabbed a limited edition of Aquaplus\u0026rsquo;s latest PS3 title, _Tears to Tiara _(photos coming up tomorrow). Tomorrow, we\u0026rsquo;ll be (weather permitting) heading for Nara to view the Todaiji Temple. That will be our last day in the Kansai region, as the day after that we\u0026rsquo;ll return to Tokyo via shinkansen. New photos have been uploaded to the gallery, of course.\nBy the way, I managed to view Slayers Revolution last night on TV Tokyo, and here is the obligatory photo:\n","date":"August 7, 2008","externalUrl":null,"permalink":"/2008/08/japan-day-5/","section":"Posts","summary":"It’s been a hot day here in Kyoto. And I don’t mean lame second meanings, just that the temperature was really over the top. As a consequence, we changed our plans: we were supposed to visit the so-called “path of the philosophy” but instead we set for Nijo Castle. Nijo Castle was the Kyoto residence of Ieyasu Tokugawa (I suspect to tell the emperor who was the real person in power) and it can be visited. The palace and its surroundings are truly magnificient.\n","title":"Japan - Day 5","type":"post"},{"content":"I was too tired to write an entry yesterday, so I\u0026rsquo;ll just sum things up here. Yesterday we went to Nikko, home of the Rinnoji Temple, the Toshogu Shrine and the Futarasan Shrine. We decided to visit it to see the tomb of Ieyasu Tokugawa. We took the Tobu Railways SPACIA train to Nikko then used a special pass I had bought beforehand online (the World Heritage Pass) to see the places. Nice nature and architecture, and I saw three large statues of Buddha (three BIG BUDDHA, right NRK?) in the Rinnoji temple. The Toshogu shrine was also magnificient, although the famous _Nemuri-neko _(sleeping cat) was extremely small, almost unnoticeable. Rain caught us in the afternoon so we went back to Tokyo.\nToday instead we transferred by Shinkansen to Kyoto (very fast trip) and settled in the new hotel here (definitely larger, although I have to access the net from a lobby). Tomorrow we\u0026rsquo;ll go for some sightseeing in the morning and shopping in the afternoon (Gamers and Melon Books have branches here, near the hotel even).\nNew photos have been put up in the gallery.\n","date":"August 7, 2008","externalUrl":null,"permalink":"/2008/08/japan-day-3-and-4/","section":"Posts","summary":"I was too tired to write an entry yesterday, so I’ll just sum things up here. Yesterday we went to Nikko, home of the Rinnoji Temple, the Toshogu Shrine and the Futarasan Shrine. We decided to visit it to see the tomb of Ieyasu Tokugawa. We took the Tobu Railways SPACIA train to Nikko then used a special pass I had bought beforehand online (the World Heritage Pass) to see the places. Nice nature and architecture, and I saw three large statues of Buddha (three BIG BUDDHA, right NRK?) in the Rinnoji temple. The Toshogu shrine was also magnificient, although the famous _Nemuri-neko _(sleeping cat) was extremely small, almost unnoticeable. Rain caught us in the afternoon so we went back to Tokyo.\n","title":"Japan - Day 3 and 4","type":"post"},{"content":"I\u0026rsquo;m aching all over but I managed to write this entry. Today I went to the Ueno area first, hoping to go to the National Museum: however I forgot it was closed on Mondays, so I had to go to the National Science Museum instead. It turned out that it wasn\u0026rsquo;t a bad choice after all, as the museum is rich with exhibits and has a very good presentation.\nAfter that we moved to the Toshogu Shrine in Ueno Park, a shrine that was dedicated to the shogun Ieyasu Tokugawa. It\u0026rsquo;s not an \u0026ldquo;active\u0026rdquo; shrine anymore, but you can visit it for 200 yen. As the heat was killling us, we went back to Tokyo Station for lunch.\nThe afternoon was spent in Akihabara, the famous \u0026ldquo;Electric Town\u0026rdquo; district in Tokyo. It\u0026rsquo;s a real chaos, in my point of view, as there are so many stores it\u0026rsquo;s overwhelming. I went to Gamers and Melon Books, and got a hold of some stuff (which you\u0026rsquo;ll see in the image at the end), although I could not find a keyboard cover for my Eee. I\u0026rsquo;ll be back later this week to get other things.\nTomorrow we\u0026rsquo;re going out of town, in Nikko, to see the Toshogu shrine, the mausoleum of Ieyasu Tokugawa and the famous nemuri-neko (sleeping cat). The train leaves at 9.30 and I stilll have to claim my ticket, so it\u0026rsquo;ll be an early morning.\nNow it\u0026rsquo;s time to get some sleep. The gallery has been updated with new photos, by the way.\n","date":"August 4, 2008","externalUrl":null,"permalink":"/2008/08/japan-day-2/","section":"Posts","summary":"I’m aching all over but I managed to write this entry. Today I went to the Ueno area first, hoping to go to the National Museum: however I forgot it was closed on Mondays, so I had to go to the National Science Museum instead. It turned out that it wasn’t a bad choice after all, as the museum is rich with exhibits and has a very good presentation.\nAfter that we moved to the Toshogu Shrine in Ueno Park, a shrine that was dedicated to the shogun Ieyasu Tokugawa. It’s not an “active” shrine anymore, but you can visit it for 200 yen. As the heat was killling us, we went back to Tokyo Station for lunch.\n","title":"Japan - Day 2","type":"post"},{"content":"","date":"August 4, 2008","externalUrl":null,"permalink":"/tags/tokyo/","section":"Tags","summary":"","title":"Tokyo","type":"tags"},{"content":"I didn\u0026rsquo;t get time to write before about it, but I and my brother went to Japan for a 10-day holiday there, starting on yesterday. After a 12 hour trip, we arrived in Narita Airport and I took the chance of getting an IC card (prepaid subway/bus card) plus a shinkansen reservation I could only make in Japan (and that cost me \u0026ldquo;just\u0026rdquo; 27,000 yen).\nOnce that was settled, we boarded the Japan Rail (JR) Narita Express and arrived in Tokyo. From there it was a matter of finding the right subway line to get to our hotel. Said hotel is pretty clean but rooms are quite small, and for two of us even a double room is small (not mentioning we have large luggages!). After some good sleep (we arrived at around 21.00), we spent the next day going to the East Gardens of the Imperial Palace.\nIt would have been a faster visit had it not been for the weather. There are about 33-34 C coupled with very high humidity, making walks under the sun a daunting task. Nevertheless, the place was quite nice, with also some remains of the older Edo Castle before the Meiji era. In the afternoon, we checked the Roppongi Hills shopping centre and took a lift to the Tokyo Sky Deck, 235 mt above the ground. A good view on the large city that Tokyo is, also the largest city I\u0026rsquo;ve been in.\nFor tomorrow, we plan on going first to Ueno, then to Akihabara and Asakusa. Stay tuned. In the mean time, there are some photos.\n","date":"August 3, 2008","externalUrl":null,"permalink":"/2008/08/japan-day-1/","section":"Posts","summary":"I didn’t get time to write before about it, but I and my brother went to Japan for a 10-day holiday there, starting on yesterday. After a 12 hour trip, we arrived in Narita Airport and I took the chance of getting an IC card (prepaid subway/bus card) plus a shinkansen reservation I could only make in Japan (and that cost me “just” 27,000 yen).\nOnce that was settled, we boarded the Japan Rail (JR) Narita Express and arrived in Tokyo. From there it was a matter of finding the right subway line to get to our hotel. Said hotel is pretty clean but rooms are quite small, and for two of us even a double room is small (not mentioning we have large luggages!). After some good sleep (we arrived at around 21.00), we spent the next day going to the East Gardens of the Imperial Palace.\n","title":"Japan - day 1","type":"post"},{"content":"In preparation for my trip to Japan (I really need to write about it), I have spent a few euro on a digital camera, a Canon Powershot A590. It looks like a decent camera, has a viewfinder (essential for me), some manual customization and of course it works with Linux (using digikam). Here are two examples, depicting no less than my two felines:\n","date":"July 18, 2008","externalUrl":null,"permalink":"/2008/07/digital-camera/","section":"Posts","summary":"In preparation for my trip to Japan (I really need to write about it), I have spent a few euro on a digital camera, a Canon Powershot A590. It looks like a decent camera, has a viewfinder (essential for me), some manual customization and of course it works with Linux (using digikam). Here are two examples, depicting no less than my two felines:\n","title":"Digital camera","type":"post"},{"content":"Today I\u0026rsquo;m in a posting spree\u0026hellip;This clip shows how to resize and move Plasma panels around.\n[youtube]http://www.youtube.com/watch?v=Rmpv-S5JJI4[/youtube]\n","date":"July 13, 2008","externalUrl":null,"permalink":"/2008/07/plasma-resizing-and-moving-panels/","section":"Posts","summary":"Today I’m in a posting spree…This clip shows how to resize and move Plasma panels around.\n[youtube]http://www.youtube.com/watch?v=Rmpv-S5JJI4[/youtube]\n","title":"Plasma - resizing and moving panels","type":"post"},{"content":"Following up on my previous post, here is another screencast showing off how to create a sidebar panel and add a few plasmoids to it. As usual, the version on Youtube has annotations.\n[youtube]http://www.youtube.com/watch?v=WPeFSDdt2PY[/youtube]\n","date":"July 13, 2008","externalUrl":null,"permalink":"/2008/07/plasma-creating-a-sidebar-panel/","section":"Posts","summary":"Following up on my previous post, here is another screencast showing off how to create a sidebar panel and add a few plasmoids to it. As usual, the version on Youtube has annotations.\n[youtube]http://www.youtube.com/watch?v=WPeFSDdt2PY[/youtube]\n","title":"Plasma - creating a sidebar panel","type":"post"},{"content":"I\u0026rsquo;ve put together a small video that shows what you can do with zooming in and out with Plasma\u0026rsquo;s Zooming User Interface (ZUI). Enjoy. (note: the version on Youtube has also annotations that explain better what is going on)\n[youtube]http://www.youtube.com/watch?v=EhODrJkoidA[/youtube]\nIf you can, please spread the link to the video. We need more correct information out there.\n","date":"July 8, 2008","externalUrl":null,"permalink":"/2008/07/plasma-zui-video/","section":"Posts","summary":"I’ve put together a small video that shows what you can do with zooming in and out with Plasma’s Zooming User Interface (ZUI). Enjoy. (note: the version on Youtube has also annotations that explain better what is going on)\n[youtube]http://www.youtube.com/watch?v=EhODrJkoidA[/youtube]\nIf you can, please spread the link to the video. We need more correct information out there.\n","title":"Plasma ZUI video","type":"post"},{"content":"","date":"July 8, 2008","externalUrl":null,"permalink":"/tags/zui/","section":"Tags","summary":"","title":"Zui","type":"tags"},{"content":"Those of you that follow my Linux-related posts know that I work (along with others) on a FAQ trying to explain some magic behind KDE 4.x\u0026rsquo;s Plasma. Now, especially since on the Internet, there is the need to spread correct information (most of the naysayers are not quite informed).\nSo, if you want to help KDE, please spread the word on the Plasma FAQ! If people have questions on Plasma, just direct them to\nhttp://techbase.kde.org/Projects/Plasma/FAQ\nso that the developers can at least save their (precious) time by avoiding to answer to the same questions over and over. This will also hopefully limit the spread of disinformation, or even FUD.\nIf you want to help KDE, at least a little, this is a good place to start!\n","date":"July 7, 2008","externalUrl":null,"permalink":"/2008/07/spread-the-word/","section":"Posts","summary":"Those of you that follow my Linux-related posts know that I work (along with others) on a FAQ trying to explain some magic behind KDE 4.x’s Plasma. Now, especially since on the Internet, there is the need to spread correct information (most of the naysayers are not quite informed).\nSo, if you want to help KDE, please spread the word on the Plasma FAQ! If people have questions on Plasma, just direct them to\n","title":"Spread the word!","type":"post"},{"content":"","date":"July 6, 2008","externalUrl":null,"permalink":"/tags/slayers/","section":"Tags","summary":"","title":"Slayers","type":"tags"},{"content":" It\u0026rsquo;s been a long time since Slayers had aired on TV, basically since Slayers TRY was released, which means more than 10 years ago. Then, this year news told that two new series were planned, and this post is about the first episode (out of 13, aired on July 2nd; the second series will start sometime around January).\nFirst of all, the staff is the same as the old production: the director Takashi Watanabe, the character deisgner Naomi Miyata, animation by J.C. STAFF, same people for the music (vink, this time called vink4), and of course, same voices, including Megumi Hayashibara as Lina Inverse.\nAfter a brief moment describing Lina by her peculiar features (\u0026ldquo;Demon eyes\u0026rdquo;, \u0026ldquo;demon mouth\u0026rdquo; and\u0026hellip; \u0026ldquo;no bust\u0026rdquo;), the opening kicks off with a song by\u0026hellip; Megumi Hayashibara. Then we see a group of pirates that are busy collecting their loot, when a lone ship starts destroying their fleet. And Lina and Gourry are on that ship, of course (apparently bandits are running low on numbers, so Lina chose to target pirates instead). Lina of course gives them the speech, but apparently the pirates fail to recognize her and just launch an assault. Suffice is to say that they are no match for the crazy sorceress, as she blows them away. Gourry manages to do his part, but his sword keeps on breaking (don\u0026rsquo;t forget he no longer has the Gorn Nova/Sword of Light).\nElsewhere, the fleet of Sairoon is approaching the area, with Zelgadiss and Amelia on board, along with another person that expresses his desire to meet Lina. Their arrival (along with Amelia\u0026rsquo;s usual over the top lines) almost destroys what is left of the pirate ship (and Lina\u0026rsquo;s one too). The pirates attempt an escape, but their cries of \u0026ldquo;flat chest\u0026rdquo; anger Lina so much that she sends them flying around with a well timed spell.\nLater, at an inn, Lina and Gourry are counting the money they got (and of course their eating habits haven\u0026rsquo;t changed a bit), while Zel and Amelia come in, along with this other person, who then identifies himself as an inspector. A moment later, he arrests Lina! And the grounds for arrest are as strange as his action: Lina is to be arrested under the accusation of\u0026hellip; being Lina Inverse.\nThe rest of the group thinks about a \u0026ldquo;strategy\u0026rdquo; to fight in court, but all they get is to get Lina mad, and then she just kicks them. While Zel suggests that Lina would be hard to arrest, the inspector has some aces up his sleeve, including calling a whole army. Of course, those kind of people aren\u0026rsquo;t much for Lina, who just wipes them with a Mega Brand spell.\nThe group decides to run away but their advance is stopped by the arrival of a huge tank-like machine, although \u0026ldquo;slow as a tortoise\u0026rdquo;. The battle rages on, destroying most of the town as well. When Lina is about to pull something off, voices echo from above. A\u0026hellip; _thing _(I can\u0026rsquo;t really describe that creature) casts a Dragon Slave, destroying everything in sight. Of course Lina is mad, and all because that one stole her scene\u0026hellip;\nThat\u0026rsquo;s how the first episode ends. The animation quality is just decent: in some parts it fluctuates quite a bit and backgrounds tend to be overly simplistic at times. Sounds are in the same league as other Slayers series, including some remixed versions of old tracks. The ending song, along with the opening, is sung by M.Hayashibara, and overall it\u0026rsquo;s decent, although both songs are a bit too dance-like for my tastes.\nSome voices may sound slightly different to the audience: the effect is noticeably mostly for Lina and Amelia, but after all, it has been more than ten years.\nWhat about the story? Like most Slayers first episodes, there\u0026rsquo;s no real insight yet and a lot of comical moments (some genuinely funny). We\u0026rsquo;ll have to see in the future what it will happen, especially considering that 13 episodes aren\u0026rsquo;t a lot.\nIn any case, it\u0026rsquo;s a good return after all this time (and after last season, which I found to be rather lackign in anything interesting to watch). I\u0026rsquo;ll be sure to try and watch an episode live when I\u0026rsquo;m in Japan (more on that in a future blog post).\n","date":"July 6, 2008","externalUrl":null,"permalink":"/2008/07/slayers-revolution-a-comeback/","section":"Posts","summary":" It’s been a long time since Slayers had aired on TV, basically since Slayers TRY was released, which means more than 10 years ago. Then, this year news told that two new series were planned, and this post is about the first episode (out of 13, aired on July 2nd; the second series will start sometime around January).\n","title":"Slayers Revolution - a comeback","type":"post"},{"content":"Now even the (once respected) Steven J. Vaughan-Nichols is jumping on the bandwagon of Plasma haters. With a rather uninformed and rant-ish entry that just advocates a fork, like some other people said on the kde-devel mailinglist a week or two ago.\nThe entry is rather dismissive of everything in KDE 4 save Plasma (and a mention on Dolphin\u0026rsquo;s single click icon), and also gets some facts and links wrong (yes, the Plasma web site is outdated, but since the developers are busy coding, someone else should step up and help). I wanted to point out a link to the Plasma FAQ, but apparently I can\u0026rsquo;t (I assume it\u0026rsquo;s because of my ISP, as usual).\nIn any case, I didn\u0026rsquo;t find mention of specific problems, save the fact that apparently SJVN doesn\u0026rsquo;t like Plasma. But why? Why didn\u0026rsquo;t he point out the specific problems? My question is, was he _really _interested in having problems fixed, or he just wanted to advocate a fork for the sake of some unspecified reason? I think the latter.\nI\u0026rsquo;m no developer, but I\u0026rsquo;m liking where Plasma is doing. I already set up three different activities on my computer here at home, which uses nightly Kubuntu packages. I switch between general, writing and coding activities, which have different plasmoids loaded. The difference in layout and the like are the bigger advantage over traditional virtual desktops.\nFork talks like the aforementioned blog entry are no good, they only want to kindle more flames, just as the behavior of trolls on the Dot reached the point of no return. Not a good sign.\n","date":"June 29, 2008","externalUrl":null,"permalink":"/2008/06/annoying-fork-talks/","section":"Posts","summary":"Now even the (once respected) Steven J. Vaughan-Nichols is jumping on the bandwagon of Plasma haters. With a rather uninformed and rant-ish entry that just advocates a fork, like some other people said on the kde-devel mailinglist a week or two ago.\nThe entry is rather dismissive of everything in KDE 4 save Plasma (and a mention on Dolphin’s single click icon), and also gets some facts and links wrong (yes, the Plasma web site is outdated, but since the developers are busy coding, someone else should step up and help). I wanted to point out a link to the Plasma FAQ, but apparently I can’t (I assume it’s because of my ISP, as usual).\n","title":"Annoying fork talks","type":"post"},{"content":"For a long time I have tried to handle text files in Python in the same way that R\u0026rsquo;s data.frame does - that is, direct access to columns and rows of a loaded text file. As I don\u0026rsquo;t like R at all, I struggled to find a Pythonic equivalent, and since I found none, I decided to eat my own food and write an implementation, which is what you\u0026rsquo;ll find below.\nThe idea is to store the values of the text file as a dictionary of columns which includes then a list of (row name, row value) tuples. Like this, you can access the columns by their name (I need to see if it\u0026rsquo;s workable to also use numbers), or you can view specific rows, including all or a subset of the columns. It\u0026rsquo;s decently faster and it allows for non-sequential access, which you can\u0026rsquo;t do when reading a file (or a file-like structure).\nRequirements\nI have tested this on Python 2.5.1. Older versions may or may not work. All modules called by this one should be shipped with Python itself.\n**Download and installation **\nDownload the py file directly. Currently there is no installation mechanism, so copy it wherever Python can find it. There\u0026rsquo;s some API documentation generated with pydoc.\nThis module is licensed under the GNU General Public License, version 2.\nUsage\nFirst of all, import the module\n[code lang=\u0026ldquo;python\u0026rdquo;]\nimport datamatrix[/code]\nThen open a file and instantiate a DataMatrix object\n[code lang=\u0026ldquo;python\u0026rdquo;]\nfh = open(\u0026ldquo;somefile.txt\u0026rdquo;) data = datamatrix.DataMatrix(fh)[/code]\nBy default no column with row names is specified, so if you have one, you have to specify it:\n[code lang=\u0026ldquo;python\u0026rdquo;] data = datamatrix.DataMatrix(fh, row_names=1) [/code]\nMore options are in the documentation.\nOnce the DataMatrix is initialized, you can view how many columns are there and also view rows with the getRow method:\n[code lang=\u0026ldquo;python\u0026rdquo;]\ndata.columns [\u0026ldquo;GeneID\u0026rdquo;,\u0026ldquo;Great_Exp1\u0026rdquo;,\u0026ldquo;Great_Exp2\u0026rdquo;]\ndata[\u0026ldquo;Great_Exp1\u0026rdquo;] [(\u0026ldquo;Gene1\u0026rdquo;,56.34), \u0026hellip; ]\ndata.getRow(5) [\u0026ldquo;NOT_EXISTENT\u0026rdquo;,\u0026ldquo;56.545\u0026rdquo;,\u0026ldquo;4.56\u0026rdquo;] [/code]\nSometimes you\u0026rsquo;d want to get only the column without the row identifier, and that\u0026rsquo;s where getColumn comes in:\n[code lang=\u0026ldquo;python\u0026rdquo;]\ndata.getColumn(\u0026ldquo;Great_Exp1\u0026rdquo;) [56.34,2.55\u0026hellip;..]\n[/code]\nShould you want to save a DataMatrix instance, you can use the writeMatrix function:\n[code lang=\u0026ldquo;python\u0026rdquo;]\ndatamatrix.writeMatrix(data,fname=\u0026quot;/path/to/somewhere/file.txt\u0026quot;)\n[/code]\nThat\u0026rsquo;s all. Questions and suggestions, especially on coding and improvements, are very welcome.\n","date":"June 29, 2008","externalUrl":null,"permalink":"/2008/06/data.frames-in-python-datamatrix/","section":"Posts","summary":"For a long time I have tried to handle text files in Python in the same way that R’s data.frame does - that is, direct access to columns and rows of a loaded text file. As I don’t like R at all, I struggled to find a Pythonic equivalent, and since I found none, I decided to eat my own food and write an implementation, which is what you’ll find below.\n","title":"data.frames in Python - DataMatrix","type":"post"},{"content":"I wanted to write this earier, but I couldn\u0026rsquo;t: I\u0026rsquo;m now in a hotel in Maastricht, Netherlands, and waiting to get back tomorrow. I\u0026rsquo;ve been attending the 4th NuGO hands-on advanced microarray data analysis course and I even wanted to blog about it\u0026hellip; but the hotel\u0026rsquo;s connection did not resolve any non-European web page until late today.\nRecently it came to my mind that certain organizations, laboratory groups, etc. use commercial software when doing publicly funded research. I\u0026rsquo;m speaking about microarray experiments, since that is my field of work, while other fields may be different. Personally I see the use of commercial software in microarray data analysis feasible only for groups that can\u0026rsquo;t afford a dedicated person for data analysis. As for the rest, I don\u0026rsquo;t think it\u0026rsquo;s quite a good idea for a number of reasons:\nCommercial software may be polished and shiny, but for obvious reasons it always lags behind the academic developed software;\nMost of the time the same results can be obtained with free alternatives, for example normalization, differential expression and hierarchical clustering;\nMost importantly, there is the issue of lock in. What happens if you get a cut in your funds and you can\u0026rsquo;t pay your annual license anymore? You get a bunch of unusable data. And again, what if the company goes belly up? Again, you are screwed. This is even more true for web-based applications, where the data resides on a server that is away from you.\nOf course the latter point also applies to academic software that is not either free or open source. .\nIt is also worthy to note that sometimes the results of algorithm designing, data workflows and the like end up in commercial applications. That may be perhaps healthy for business, but if those people got public funding, they should not be allowed to profit on the citizen\u0026rsquo;s tax money. If they got their funding by other means, they can do whatever they want in my view. I\u0026rsquo;m only concerned that goverment-funded research would then be used to restrict knowledge (only to paying customers) instead of spreading it.\nOf course, , but if it is open sourced, at least someone can pick it up and improve it even if the original author is no longer around.\n","date":"June 27, 2008","externalUrl":null,"permalink":"/2008/06/commercial-applications-public-funding/","section":"Posts","summary":"I wanted to write this earier, but I couldn’t: I’m now in a hotel in Maastricht, Netherlands, and waiting to get back tomorrow. I’ve been attending the 4th NuGO hands-on advanced microarray data analysis course and I even wanted to blog about it… but the hotel’s connection did not resolve any non-European web page until late today.\n","title":"Commercial applications, public funding","type":"post"},{"content":"","date":"June 27, 2008","externalUrl":null,"permalink":"/tags/open-source/","section":"Tags","summary":"","title":"Open Source","type":"tags"},{"content":"","date":"June 27, 2008","externalUrl":null,"permalink":"/tags/software/","section":"Tags","summary":"","title":"Software","type":"tags"},{"content":"After almost a month of wait (Dynamism.com doesn\u0026rsquo;t like simple order procedures), I finally got hold of an Asus Eee PC 900 (obviously - for the readers of this blog - the 20 Gb Linux version). Read more for some quick impressions and pictures.\nSize: It\u0026rsquo;s small, although not as small as I\u0026rsquo;d have thought originally. Nevertheless, it occupies less space than my old laptop. With a proper carrying bag (any recommendations?) it will make my life easier in the (weekly) train trips I take. The 9\u0026quot; screen is good enough for most applications while keeping the size factor low.\nKeyboard: it\u0026rsquo;s tiny, and my unit has an US layout. It takes some practice to learn typing on a downsized keyboard like this, but in less than two days I\u0026rsquo;m already getting more comfortable with typing at a decent speed.\nScreen: Good enough, and probably one of the best selling points of this machine. The 1024x600 resolution is good enough for most applications, although some, like Thunderbird, tend to go off the screen. I haven\u0026rsquo;t tested Openoffice.org yet to see if that is the case as well.\nBattery life: I was lucky, and unlike the very early adopters who got a 4400 mAh battery, I managed to get a 5800 one. Very unscientific tests done by me estimate a rough 3h and 15min life without wireless. It would be probably more if the system didn\u0026rsquo;t want to shutdown at 10% power.\nStandard OS (Xandros): Decent, but very outdated with regards to installed applications. I have played a bit with easy mode but then I decided to return to a more traditional KDE destkop.\nSolid state disk: It rocks. Period. I count approximately thirty seconds for the boot to complete, not to mention that the lack of moving parts makes power consumption lower (and avoids trouble like I\u0026rsquo;ve been having on my past laptotp). 20 Gb is a nice amount, as well. It\u0026rsquo;s a pity the root filesystem is mounted with unionfs (which reduces the available space), though.\n**Tweaking et al: **I may switch to another distribution which provides more up-to-date software (or see if I can update the one installed via third party tools).\nFor a few more pictures, . Here\u0026rsquo;s a clip showing the boot speed.\nGet the Flash Player to see this player.\n","date":"June 7, 2008","externalUrl":null,"permalink":"/2008/06/asus-eee-pc-here/","section":"Posts","summary":"After almost a month of wait (Dynamism.com doesn’t like simple order procedures), I finally got hold of an Asus Eee PC 900 (obviously - for the readers of this blog - the 20 Gb Linux version). Read more for some quick impressions and pictures.\n","title":"Asus Eee PC here!","type":"post"},{"content":"","date":"June 7, 2008","externalUrl":null,"permalink":"/tags/eee/","section":"Tags","summary":"","title":"Eee","type":"tags"},{"content":"","date":"May 21, 2008","externalUrl":null,"permalink":"/tags/chains-of-promathia/","section":"Tags","summary":"","title":"Chains of Promathia","type":"tags"},{"content":"","date":"May 21, 2008","externalUrl":null,"permalink":"/categories/final-fantasy-xi/","section":"Categories","summary":"","title":"Final Fantasy XI","type":"categories"},{"content":"(Note: I should really start posting more often nowadays)\nLast monday, for one of my group, I re-did one of the hardest missions of the whole Chains of Promathia expansion: PM6-4, better known as \u0026ldquo;One to be Feared\u0026rdquo;. I was looking forward to redoing it, mainly because I wanted to see if the adjustments that came after I finished the expansion (Sentinel modification, shield blocks modification, etc.) made the job easier.\nThe first attempt was embarassing, because we all died in the supposedly \u0026ldquo;easy\u0026rdquo; stage, fighting the five mammets. We redid it using the so-called \u0026ldquo;super tank\u0026rdquo; method (extremely boring on my part, sadly) and we moved on to do a dry run (no items, no two-hour abilities) on Omega and Ultima. We got Omega down to around 40% before it killed us. I noticed that the new abilities helped a lot, but it was still hard, and worse, I had become very rusty on such difficult fights.\nThe third time was our winning run, and went well. Both the party and I got into the right mindset and with two more or less controlled wipes, and the use of CCB Polymer pumps, we were able to achieve victory. It was even fun\u0026hellip; more fun than the offered so far. I hope that the new update (scheduled for mid-June) will bring at least half as that fun.\n","date":"May 21, 2008","externalUrl":null,"permalink":"/2008/05/pm6-4-redux/","section":"Posts","summary":"(Note: I should really start posting more often nowadays)\nLast monday, for one of my group, I re-did one of the hardest missions of the whole Chains of Promathia expansion: PM6-4, better known as “One to be Feared”. I was looking forward to redoing it, mainly because I wanted to see if the adjustments that came after I finished the expansion (Sentinel modification, shield blocks modification, etc.) made the job easier.\n","title":"PM6-4 redux","type":"post"},{"content":"I\u0026rsquo;ve been wondering about why FOSS is often compared to the academic world, but at least in my limited experience, I see little people that grasp its concept in the world of research. On a quick look, developing FOSS in a research environment would be very good: not only you\u0026rsquo;d get publicly available results when you publish, but at the same time you can make sure that in an extreme case your application will be carried on by someone else should you not be able to continue development.\nAt least in the life sciences, it\u0026rsquo;s hard to see such a mentality. I can understand , but at the same time, ? For me, such an idea would be optimal. Once the paper is out, you can release your software (GPL would be best) and make sure someone will improve or mantain in. Of course you won\u0026rsquo;t be able to publish for each upgrade you do, but I would generally think of that as a bad policy, one made just to increase the publication count.\nDoes something like that happen with FOSS in other research areas?\n","date":"May 10, 2008","externalUrl":null,"permalink":"/2008/05/foss-and-research/","section":"Posts","summary":"I’ve been wondering about why FOSS is often compared to the academic world, but at least in my limited experience, I see little people that grasp its concept in the world of research. On a quick look, developing FOSS in a research environment would be very good: not only you’d get publicly available results when you publish, but at the same time you can make sure that in an extreme case your application will be carried on by someone else should you not be able to continue development.\n","title":"FOSS and research","type":"post"},{"content":"","date":"May 10, 2008","externalUrl":null,"permalink":"/tags/free-software/","section":"Tags","summary":"","title":"Free Software","type":"tags"},{"content":"","date":"May 10, 2008","externalUrl":null,"permalink":"/tags/publish-or-perish/","section":"Tags","summary":"","title":"Publish or Perish","type":"tags"},{"content":"Yesterday I updated _The S.T.E.A.L. Saga _to Wordpress 2.5.1. I thought the upgrade would be painless, but I was wrong. First of all, the auto plugin updater kind of confused between the various plugins, so it marked some as updateable although they weren\u0026rsquo;t. Then, some plugins (albeit incompatible), disappeared from the plugin list (the fix was downloading a more recent version).\nThe biggest issue was, however, the mangling of my .htaccess file due to a wrongly-generated permalink rule that was without a trailing slash (/). Such a badly done .htaccess would cause:\nProblems when loading the pages\nProblems with admin panels (no such page errors and the like)\nMost importantly, it would cause an enormous load on the server (and with shared hosting, it is a problem)\nIt took me at least 30 minutes to find out what the cause was. Removing .htaccess did not help, I had to remove it then change the permalink to the default value, and then change it again. Now it works, but what a bother for a seemingly \u0026ldquo;simple\u0026rdquo; upgrade.\n","date":"May 4, 2008","externalUrl":null,"permalink":"/2008/05/wordpress-snafu/","section":"Posts","summary":"Yesterday I updated _The S.T.E.A.L. Saga _to Wordpress 2.5.1. I thought the upgrade would be painless, but I was wrong. First of all, the auto plugin updater kind of confused between the various plugins, so it marked some as updateable although they weren’t. Then, some plugins (albeit incompatible), disappeared from the plugin list (the fix was downloading a more recent version).\nThe biggest issue was, however, the mangling of my .htaccess file due to a wrongly-generated permalink rule that was without a trailing slash (/). Such a badly done .htaccess would cause:\n","title":"Wordpress SNAFU","type":"post"},{"content":"Yesterday I got a few novels that I\u0026rsquo;ve been waiting for a while: _Slayers _(the last two volumes published by Tokyopop, as ) and Shakugan no Shana 2. I bought the latter as a \u0026ldquo;final warning\u0026rdquo; because I\u0026rsquo;m not very sure I\u0026rsquo;ll ever continue: the first Shana was written poorly and with a plot that didn\u0026rsquo;t make much sense (but again, I don\u0026rsquo;t think the animated version was shining in that respect).\nSlayers of course is a different story. I hope someone else steps up and continues the novels, because they\u0026rsquo;re worth it. Also, according to rumors the upcoming Slayers Revolution will feature an original storyline, but based loosely on the second arc of the novels (which was never seen in animation).\nTime to read and report.\n","date":"May 4, 2008","externalUrl":null,"permalink":"/2008/05/more-novels/","section":"Posts","summary":"Yesterday I got a few novels that I’ve been waiting for a while: _Slayers _(the last two volumes published by Tokyopop, as ) and Shakugan no Shana 2. I bought the latter as a “final warning” because I’m not very sure I’ll ever continue: the first Shana was written poorly and with a plot that didn’t make much sense (but again, I don’t think the animated version was shining in that respect).\n","title":"More novels","type":"post"},{"content":"","date":"May 4, 2008","externalUrl":null,"permalink":"/tags/novels/","section":"Tags","summary":"","title":"Novels","type":"tags"},{"content":"","date":"May 4, 2008","externalUrl":null,"permalink":"/tags/shakugan-no-shana/","section":"Tags","summary":"","title":"Shakugan No Shana","type":"tags"},{"content":"","date":"April 19, 2008","externalUrl":null,"permalink":"/tags/dvd/","section":"Tags","summary":"","title":"Dvd","type":"tags"},{"content":" A rather large number of days ago I got the first DVD of Ookami to koshinryo, better known as Spice and Wolf, which I when the first episode was released. I got the limited edition, which came in with a number of extra features (which still don\u0026rsquo;t justify its ~ ¥6800 price tag, though). The main one is the inclusion of a 300 piece puzzle, illustrated by the artist who works on the original novels.\nI still haven\u0026rsquo;t tackled this, and given my recent time constraints I expect this to stay in unassembled form for a long time. Aside this, in the box there are two cardboard illustrations (card game sized), which also appear in the ending sequence, a small booklet with some _settei _(character designs), world and character information, and some small promotional leaflets.\nThe DVD contains three episodes (sadly just for this first volumes, another reminder that the Japanese DVD releases aren\u0026rsquo;t really good value for their money), and presents, in my opinion, sub-par presentation, as the menu clearly shows. There are no sub-menus, everything is presented on a static page with links directly to the content (episode chapters) and the only extra feature of this release: the credits-less opening sequence.\nQuality-wise, there are no obvious improvements, actually the most picky people will probably notice less quality than on the DVD (due to the fact that the original broadcasting was in HD format, and the DVD is SD). I noticed some color saturation issues on Windows (with PowerDVD), but none of the sort on Linux (kaffeine). At least the original 16:9 aspect ratio is there (one never knows\u0026hellip;).\nAside that, content-wise the same points I made while viewing the first episode still apply: it\u0026rsquo;s a highly atypical yet interesting series. Despite the lack of \u0026ldquo;action\u0026rdquo;, all the episodes are intriguing and the \u0026ldquo;economics\u0026rdquo; element adds a nice touch. Of course it\u0026rsquo;s not your typical series, so some may find it boring, but I really recommend it (although I\u0026rsquo;m fairly sure, like with other interesting series like , that it will go mostly ignored\u0026hellip;)\n","date":"April 19, 2008","externalUrl":null,"permalink":"/2008/04/ookami-to-koshinryo-dvd-1/","section":"Posts","summary":" A rather large number of days ago I got the first DVD of Ookami to koshinryo, better known as Spice and Wolf, which I when the first episode was released. I got the limited edition, which came in with a number of extra features (which still don’t justify its ~ ¥6800 price tag, though). The main one is the inclusion of a 300 piece puzzle, illustrated by the artist who works on the original novels.\n","title":"Ookami to koshinryo - DVD 1","type":"post"},{"content":"","date":"April 19, 2008","externalUrl":null,"permalink":"/tags/spice-and-wolf/","section":"Tags","summary":"","title":"Spice and Wolf","type":"tags"},{"content":"I\u0026rsquo;m often wondering why people only resort to R when working with microarrays. I can understand that Bioconductor offers a plethora of different packages and that R\u0026rsquo;s statistical functions come in handy for many applications, but still, I think people underestimate the impact of performance.\nR is not a performing language at all, it doesn\u0026rsquo;t parallelize well when using HPC (at least from the talks I\u0026rsquo;ve had with people studying the matter), and in general is a memory and resource hog. For example, it takes much more to perform RMA via R that with RMAExpress (which is a C++ application): the latter works also better with regards to memory utilization. I can understand the complexity of some statistical procedures, but what about ?\nThe surprising aspect is that aside by a few exceptions (like the aforementioned RMAExpress) no one has tried to write more performing implementations of certain algorithms. I for one would welcome a non-R implementation of SAM (the original implementation works in Excel\u0026hellip; ugh) or similar algorithms. Otherwise we would be stuck with programs that are interesting, but way too memory hungry (AMDA comes to mind). *[SAM]: Significance Analysis of Microarrays\n","date":"April 5, 2008","externalUrl":null,"permalink":"/2008/04/performance-and-r/","section":"Posts","summary":"I’m often wondering why people only resort to R when working with microarrays. I can understand that Bioconductor offers a plethora of different packages and that R’s statistical functions come in handy for many applications, but still, I think people underestimate the impact of performance.\nR is not a performing language at all, it doesn’t parallelize well when using HPC (at least from the talks I’ve had with people studying the matter), and in general is a memory and resource hog. For example, it takes much more to perform RMA via R that with RMAExpress (which is a C++ application): the latter works also better with regards to memory utilization. I can understand the complexity of some statistical procedures, but what about ?\n","title":"Performance and R","type":"post"},{"content":"Since my work schedule is bordering on the hectic, I was thinking on buying something to get me more organized. Rather than a PDA, I\u0026rsquo;ve been rather interested in the Asus Eee PC: small form factor, SSDs and Linux preinstalled are definitely pluses. It\u0026rsquo;s too bad that at least in Italy Asus sells only the 512M RAM version (when there are more powerful options available elsewhere).\nI\u0026rsquo;d like to get impressions on the Asus Eee, before considering a purchase (€ 300 are still a lot): did you try it? How was it? And if not Eee, are there other interesting alternatives?\n","date":"March 30, 2008","externalUrl":null,"permalink":"/2008/03/eee-pc-interest/","section":"Posts","summary":"Since my work schedule is bordering on the hectic, I was thinking on buying something to get me more organized. Rather than a PDA, I’ve been rather interested in the Asus Eee PC: small form factor, SSDs and Linux preinstalled are definitely pluses. It’s too bad that at least in Italy Asus sells only the 512M RAM version (when there are more powerful options available elsewhere).\nI’d like to get impressions on the Asus Eee, before considering a purchase (€ 300 are still a lot): did you try it? How was it? And if not Eee, are there other interesting alternatives?\n","title":"Eee PC interest","type":"post"},{"content":"I have upgraded this blog to Wordpress 2.5. As a result, there are some functions, such as the image gallery, that have been disabled due to the annoying habit of the Wordpress developers of making core changes in very little time.\nPlease report any problems you find, and notice that although the thumbnails look truncated in the new gallery, the full images are actually displayed correctly. I had to fiddle a bit wit the \u0026ldquo;new media manager\u0026rdquo;, not only because it\u0026rsquo;s in Flash, but because at least on Linux it gives odd results (apparently no one from the WP team bothered to check past Win and OSX?).\n","date":"March 30, 2008","externalUrl":null,"permalink":"/2008/03/wordpress-2.5/","section":"Posts","summary":"I have upgraded this blog to Wordpress 2.5. As a result, there are some functions, such as the image gallery, that have been disabled due to the annoying habit of the Wordpress developers of making core changes in very little time.\nPlease report any problems you find, and notice that although the thumbnails look truncated in the new gallery, the full images are actually displayed correctly. I had to fiddle a bit wit the “new media manager”, not only because it’s in Flash, but because at least on Linux it gives odd results (apparently no one from the WP team bothered to check past Win and OSX?).\n","title":"Wordpress 2.5","type":"post"},{"content":"I haven\u0026rsquo;t posted anything in a month or so. Quite a long time, considering I used to write at least once per week. The reasons are mainly two: first of all, my work schedule has taken a turn for the worse, which means I have to do my job a lot harder than before; secondly, there wasn\u0026rsquo;t much interesting stuff to report.\nLet\u0026rsquo;s resume from the hiatus by writing about my latest Final Fantasy XI session. Given that Square Enix didn\u0026rsquo;t release a lot of content for the recent Wings of the Goddess update, I did the few (four) quests in total in one day. Although the story was quite interesting, they were far too easy. I could have done them alone, probably. I wonder, what was the point of waiting four months for that? At least some form of challenge would be appreciated.\nI\u0026rsquo;m not going to write much about the quests themselves, because my brother has done a good job at putting everything together in a single movie. You\u0026rsquo;ll find the streaming version below (direct link once I manage to get it):\n[googlevideo]http://video.google.it/videoplay?docid=8508096321052272263[/googlevideo]\n","date":"March 28, 2008","externalUrl":null,"permalink":"/2008/03/back-and-movies/","section":"Posts","summary":"I haven’t posted anything in a month or so. Quite a long time, considering I used to write at least once per week. The reasons are mainly two: first of all, my work schedule has taken a turn for the worse, which means I have to do my job a lot harder than before; secondly, there wasn’t much interesting stuff to report.\nLet’s resume from the hiatus by writing about my latest Final Fantasy XI session. Given that Square Enix didn’t release a lot of content for the recent Wings of the Goddess update, I did the few (four) quests in total in one day. Although the story was quite interesting, they were far too easy. I could have done them alone, probably. I wonder, what was the point of waiting four months for that? At least some form of challenge would be appreciated.\n","title":"Back, and movies","type":"post"},{"content":"","date":"March 28, 2008","externalUrl":null,"permalink":"/tags/mmorpg/","section":"Tags","summary":"","title":"Mmorpg","type":"tags"},{"content":"Fourteen days since my last post. Quite a while, indeed. Mostly I\u0026rsquo;ve been stumbled with work and some health related issues. Anyway, I thought I\u0026rsquo;d follow up on the meta analysis matter I discussed in my last post.\nIt turns out that it\u0026rsquo;s a fault of both limma and the data sets, because apparently the raw data found in the Stanford Microarray Database have different length, gene-wise (a result of not all spots on the array being good?) and limma itself does need equal length tables to form a single object (I stumbled upon the same problem when doing my thesis, but I used a hack to work around it), and does not perform any checking.\nAccording to the documentation, the \u0026ldquo;merge\u0026rdquo; command should be used to deal with these cases, but here\u0026rsquo;s what I get:\n1 2 3 4 5 6 7 8 9 10 \u0026gt;\u0026gt; RG1 = read.maimages(file=\u0026#34;file1.txt\u0026#34;,source=\u0026#34;smd\u0026#34;) Read file1.txt \u0026gt;\u0026gt; RG2 = read.maimages(file=\u0026#34;file2.txt\u0026#34;,source=\u0026#34;smd\u0026#34;) Read file2.txt \u0026gt;\u0026gt; merge(RG1,RG2) Error in merge(RG1,RG2): Need row names to align on \u0026gt;\u0026gt; rownames(RG1) NULL \u0026gt;\u0026gt; rownames(RG2) NULL I\u0026rsquo;m going to ask the Bioconductor ML and see what they tell me.\n","date":"February 28, 2008","externalUrl":null,"permalink":"/2008/02/follow-up-on-meta-analysis/","section":"Posts","summary":"Fourteen days since my last post. Quite a while, indeed. Mostly I’ve been stumbled with work and some health related issues. Anyway, I thought I’d follow up on the meta analysis matter I discussed in my last post.\nIt turns out that it’s a fault of both limma and the data sets, because apparently the raw data found in the Stanford Microarray Database have different length, gene-wise (a result of not all spots on the array being good?) and limma itself does need equal length tables to form a single object (I stumbled upon the same problem when doing my thesis, but I used a hack to work around it), and does not perform any checking.\n","title":"Follow up on meta-analysis","type":"post"},{"content":"","date":"February 28, 2008","externalUrl":null,"permalink":"/tags/meta-analysis/","section":"Tags","summary":"","title":"Meta-Analysis","type":"tags"},{"content":"Again in the past days I\u0026rsquo;ve been banging my head thanks to the fact that doing meta-analysis with microarray data is more difficult than what it seems.\nThe problem sometimes lies in the data, sometimes lies in the analysis software and sometimes in a combination of factors. When doing work on a public data set (Zhao et al., 2005), I had to start analysis from raw data. Now, I tried using both the limma and marray Bioconductor packages, but both of them bail out with cryptic error messages. From what I\u0026rsquo;ve learnt by googling around, it seems that R doesn\u0026rsquo;t like batch loading of tables of different length.\nI have 177 samples and I have to normalize them all together. Apparently this is a quirk of marray and limma (or worse, R itself) which is preventing me to work properly. And this is not the first time it happens, either: in the past year I\u0026rsquo;ve lost a lot of time dealing with software issues rather than performing real analsis. The problem has been posted already on some R mailing lists (and on BioC, too), but judging from the responses I doubt I\u0026rsquo;ll see a solution.\nI guess I\u0026rsquo;ll have to work around this somehow (and of course, this doesn\u0026rsquo;t improve the idea I have of R\u0026hellip;).\n","date":"February 14, 2008","externalUrl":null,"permalink":"/2008/02/meta-analysis-difficulty-increasing/","section":"Posts","summary":"Again in the past days I’ve been banging my head thanks to the fact that doing meta-analysis with microarray data is more difficult than what it seems.\nThe problem sometimes lies in the data, sometimes lies in the analysis software and sometimes in a combination of factors. When doing work on a public data set (Zhao et al., 2005), I had to start analysis from raw data. Now, I tried using both the limma and marray Bioconductor packages, but both of them bail out with cryptic error messages. From what I’ve learnt by googling around, it seems that R doesn’t like batch loading of tables of different length.\n","title":"Meta analysis difficulty increasing","type":"post"},{"content":"To me nowadays reading KDE Dot News is a bother. Not because of the news, which are always high quality, but the comments leave a lot to be desired.\nLet\u0026rsquo;s take for example the recent news about Nokia buying Trolltech: 99% of the comments talk doom and gloom. This is not bad per se, but most of them bring absolutely nothing to the discussion. Truth is, it\u0026rsquo;s too early to say, so we\u0026rsquo;ll have to wait and see. It\u0026rsquo;s not like something like this happens overnight.\nOn lighter notes, I have worked a bit over the Plasma FAQ these days and it\u0026rsquo;s slowly getting into an usable document. I\u0026rsquo;ll have to contact the KDE Promo guys to see where it should go once it\u0026rsquo;s complete.\n","date":"January 30, 2008","externalUrl":null,"permalink":"/2008/01/people.complain/","section":"Posts","summary":"To me nowadays reading KDE Dot News is a bother. Not because of the news, which are always high quality, but the comments leave a lot to be desired.\nLet’s take for example the recent news about Nokia buying Trolltech: 99% of the comments talk doom and gloom. This is not bad per se, but most of them bring absolutely nothing to the discussion. Truth is, it’s too early to say, so we’ll have to wait and see. It’s not like something like this happens overnight.\n","title":"people.complain()","type":"post"},{"content":"From today on I\u0026rsquo;ll try to write posts without a browser, since I\u0026rsquo;m not that fond of such an approach. As a matter of fact, I\u0026rsquo;m using kblogger now, a blogging application for KDE 4 (I didn\u0026rsquo;t mention that I switched to that full time, more on that when I get time).\nIf you notice something odd in the way the posts are written, please let me know. Thanks.\n","date":"January 27, 2008","externalUrl":null,"permalink":"/2008/01/browser-less-entries/","section":"Posts","summary":"From today on I’ll try to write posts without a browser, since I’m not that fond of such an approach. As a matter of fact, I’m using kblogger now, a blogging application for KDE 4 (I didn’t mention that I switched to that full time, more on that when I get time).\nIf you notice something odd in the way the posts are written, please let me know. Thanks.\n","title":"Browser-less entries","type":"post"},{"content":"Interested by some promotional art and by a resemblance of the main female character to my brother\u0026rsquo;s own Yumiko, I took a look at the first episode of Ookami to Koshinryo, better known as Spice and Wolf. I\u0026rsquo;m being told it is inspired by a series of novels and that there is also a manga version.\nThe story is set in what it seems to be a Middle Age Europe, where there is an official religion co-existing with other ancient rites. As a matter of fact, the anime opens with one of such rites, to be precise with a pact made by a village with a local deity in order to get a good harvest. Then the opening kicks in and we get a look at the various characters. In particular, we get to know the male main character, Lawrence.\nLawrence is a merchant and travels around the land selling wares, and he stops by the villlage shown in the first scenes, where he watches the harvest ceremony in favor of Horo (the deity) and also sees a \u0026ldquo;colleague\u0026rdquo; of his (the girl shown in the picture above, an original character for the anime). Also, his carriage bumps into something, but he does not find the reason.\nHe finds out at night, when he leaves for the next village. Inside his carriage he finds a naked woman with a wolf tail and wolf-like ears. The woman introduces herself as Horo, the actual deity of the place. Apparently she\u0026rsquo;s tired of being there helping the harvest as the people there almost forgot about her and just repeat the rituals without knowing why. She asks Lawrence to bring her with him, and he, unimpressed, asks for proof. Horo eats some wheat and something happens, but we can\u0026rsquo;t see as the scene changes almost immediately.\nLawrence has returned to the village and has a talk with his \u0026ldquo;colleague\u0026rdquo; which apparently wants to join forces with him in the merchant business (and by the way she acts, we see that apparently it\u0026rsquo;s not just a business interest). However, he acts quite detached and she doesn\u0026rsquo;t like it that much. They also talk about Horo, but she believes it to be just a myth and nothing more.\nBefore sleeping, Lawrence gets again a visit from Horo, and we finally get to see what happened before: Horo\u0026rsquo;s arm became indeed something not so natural, indeed proof of her nature. The following morning, she gets on some clothes on Lawrence\u0026rsquo;s carriage and the two leave the village, with Horo intent on becoming Lawrence\u0026rsquo;s business partner.\nMy first comments on this anime are that it is a \u0026ldquo;wait and see\u0026rdquo;: the approach is somewhat different in some areas (Lawrence that reacts differently than most anime characters, though his reaction is unrealistic as well) and I\u0026rsquo;m curious to see how the story will develop in the future, because the first episode is kind of self-contained, and doesn\u0026rsquo;t give any hints to future development. However, the predicted episode count is only 12, so there may be the chance of a screw up along the way.\nAnimation-wise, this episode is average, with nothing extremely good and nothing extremely bad. The same can be said for the soundtrack, somewhat anyonymous at times (I admit I barely noticed the tunes).\nI don\u0026rsquo;t know if I should recommend this anime or not, I guess it mostly depends on the watcher, and to individual tastes. As for myself, I\u0026rsquo;ll see how it develops.\n","date":"January 20, 2008","externalUrl":null,"permalink":"/2008/01/okami-to-koshinryo-episode-1/","section":"Posts","summary":"Interested by some promotional art and by a resemblance of the main female character to my brother’s own Yumiko, I took a look at the first episode of Ookami to Koshinryo, better known as Spice and Wolf. I’m being told it is inspired by a series of novels and that there is also a manga version.\n","title":"Okami to Koshinryo, episode 1","type":"post"},{"content":"","date":"January 20, 2008","externalUrl":null,"permalink":"/tags/series/","section":"Tags","summary":"","title":"Series","type":"tags"},{"content":"","date":"January 20, 2008","externalUrl":null,"permalink":"/tags/dojinshi/","section":"Tags","summary":"","title":"Dojinshi","type":"tags"},{"content":"For a change, my brother has found a place (DLsite.com) that sells dojinshi even to non-Japanese people, and also found three non-hentai Final Fantasy XI dojins, which I\u0026rsquo;m going to cover in this post. For reference, they are available with these prices:\nFFXI-URUSHI-Chaos: 01 - ¥ 735;\nFFXI-URUSHI-Chaos: 02 - ¥ 735;\nFFXI-URUSHI-Chaos:03 - ¥ 945.\nThe dojins are by a circle/person known as TWO-DASH, and I admit I had not heard the name before. Assured that they didn\u0026rsquo;t contain adult-only material, I took a look at the three volumes which my brother bought.\n_Chaos:01_ is the oldest of the bunch, and it shows. The style is very nice but very rough, almost as if the pencil wasn\u0026rsquo;t completely erased when ink was put on. In any case, it\u0026rsquo;s aestethically pleasing. The story (as the dojin titles may hint at) revolves around the very famous Dark Knight flag quest, Blade of Darkness. In this case a Hume named as Yui Sofianull which happens, during the course of an investigation in Palborough Mines, to run into Zeid, the last Dark Knight remained after the Great War. What follows is basically a recap of the same quest, with Zeid giving Yui the Chaosbringer. There are some differences, in the sense that the author has brought the \u0026ldquo;Dark Knight feeds on negative emotions\u0026rdquo; paradigm to the extreme, as Yui goes berserk and slays a lot of people, including her Elvaan Paladin partner, who is shown in the picture on the left. After that, she starts traveling around Vana\u0026rsquo;diel.\nFor being a dojin, the gratuitous moments are quite minimal, which is refreshing and welcome at the same time. Story-wise, save for the dramatic events near the end, it is pretty easy to follow if you have played FFXI. Also, aside Zeid, Volker also appears as a guest in some scenes.\nThe second dojin, Chaos: 02, appeared roughly a year after the first. In this case we see that the author\u0026rsquo;s style has quite matured, and there\u0026rsquo;s no longer that feeling of \u0026ldquo;being raw\u0026rdquo;: in general everything is much cleaner. The picture on the right already gives the story of the second volume away: it\u0026rsquo;s about mission 2-3, better known as \u0026ldquo;the dragon\u0026rdquo; among FFXI players. The plot shows Yui, still heavily tormented by the massacre she did in the previous volume, getting in touch with a group of Tarutarus and an Elvaan thief. The progression of the mission isn\u0026rsquo;t really like in the game (there is a traitorous Mithra involved) but the outcome is the same, and even in this case Yui manages to go berserk and slay the dragon as shown (technically she couldn\u0026rsquo;t wear Artifact Armor, but that is minor). The dojin ends shortly after that, with a \u0026ldquo;To be continued\u0026rdquo;.\nUnlike the first dojin, there are more risque scenes (nothing too much, luckily), and again we see some important characters in the FFXI universe such as Nanaa Mihgo.\nThe third and last dojin for now is the most recent (2006) and the one with the best art of the bunch (not too surprisingly). It is also the one with most risque scenes (also not too many). The story here seems original, and involves Yui and a new partner, aided by a White Mage and a Beastmaster, looking up a Weapon in Delkfutt\u0026rsquo;s Tower (which ends smashed like in the picture). In the end, Yui gets detained by the Jeuno palace guards and the story is again continued on the next volume (which sadly isn\u0026rsquo;t out yet).\nWhat to say on these three dojins? I\u0026rsquo;m quite pleased overall, both because they aren\u0026rsquo;t H and because they talk about FFXI. It is a plus of course that it is a coherent story instead of small, unrelated tales like some of the (officially licensed) FFXI manga and they\u0026rsquo;re quite recommended (also given that they\u0026rsquo;re not expensive at all).\n","date":"January 20, 2008","externalUrl":null,"permalink":"/2008/01/ffxi-urushi-chaos-01-02-03/","section":"Posts","summary":"For a change, my brother has found a place (DLsite.com) that sells dojinshi even to non-Japanese people, and also found three non-hentai Final Fantasy XI dojins, which I’m going to cover in this post. For reference, they are available with these prices:\nFFXI-URUSHI-Chaos: 01 - ¥ 735;\nFFXI-URUSHI-Chaos: 02 - ¥ 735;\nFFXI-URUSHI-Chaos:03 - ¥ 945.\n","title":"FFXI-URUSHI-Chaos: 01-02-03","type":"post"},{"content":"The title says it all. After all these years, I was finally able to get my Ph.D. in Molecular Medicine this morning, with my thesis \u0026ldquo;Identification of disregulated metabolic pathways by transcriptomic analysis in renal carcinoma samples\u0026rdquo; (yes, that\u0026rsquo;s a long title). The defense was a success and I admit I was surprised when the commitee actually expressed a significant interest in my work.\nIn any case, I\u0026rsquo;m happy that it\u0026rsquo;s over, as the past period has been rather hectic. No time to rest now as I\u0026rsquo;ve got papers to write and more analyses to do!\nAnd in related news, a recent paper in which I did part of the analysis work is finally out, published in Molecular Cancer. The title is \u0026ldquo;Genome-wide screening of copy number alterations and LOH events in renal cell carcinomas and integration with gene expression profile\u0026rdquo; and you can find the provisional PDF on their web page. It\u0026rsquo;s Open Access, which is definitely a plus.\nToday is definitely a nice day from a scientific point of view.\n","date":"January 14, 2008","externalUrl":null,"permalink":"/2008/01/ph.d./","section":"Posts","summary":"The title says it all. After all these years, I was finally able to get my Ph.D. in Molecular Medicine this morning, with my thesis “Identification of disregulated metabolic pathways by transcriptomic analysis in renal carcinoma samples” (yes, that’s a long title). The defense was a success and I admit I was surprised when the commitee actually expressed a significant interest in my work.\nIn any case, I’m happy that it’s over, as the past period has been rather hectic. No time to rest now as I’ve got papers to write and more analyses to do!\n","title":"Ph.D.!","type":"post"},{"content":"","date":"January 14, 2008","externalUrl":null,"permalink":"/tags/phd/","section":"Tags","summary":"","title":"Phd","type":"tags"},{"content":"","date":"January 14, 2008","externalUrl":null,"permalink":"/tags/publication/","section":"Tags","summary":"","title":"Publication","type":"tags"},{"content":"","date":"January 14, 2008","externalUrl":null,"permalink":"/tags/thesis/","section":"Tags","summary":"","title":"Thesis","type":"tags"},{"content":" The word is official: KDE 4.0.0 has been released. Make sure to check out the Dot story, or the nicely done visual guide. And if you\u0026rsquo;re new to Plasma, have a look at the FAQ as well.\nCongratulations to all the KDE developers, translators, and coordinators for pushing forward our favorite desktop environment. Rock on!\n","date":"January 11, 2008","externalUrl":null,"permalink":"/2008/01/be-free./","section":"Posts","summary":" The word is official: KDE 4.0.0 has been released. Make sure to check out the Dot story, or the nicely done visual guide. And if you’re new to Plasma, have a look at the FAQ as well.\nCongratulations to all the KDE developers, translators, and coordinators for pushing forward our favorite desktop environment. Rock on!\n","title":"Be free.","type":"post"},{"content":"Today is the tagging day for KDE 4.0.0. I think it speaks for itself. I have checked out the 4.0 branch and I\u0026rsquo;m going to use it in a full session real soon (so far I used nested X sessions with Xephyr). Aaron Seigo has a nice writeup on the release, some of the memes floating around and the future of KDE 4.\n","date":"January 4, 2008","externalUrl":null,"permalink":"/2008/01/kde-4.0.0-tagging/","section":"Posts","summary":"Today is the tagging day for KDE 4.0.0. I think it speaks for itself. I have checked out the 4.0 branch and I’m going to use it in a full session real soon (so far I used nested X sessions with Xephyr). Aaron Seigo has a nice writeup on the release, some of the memes floating around and the future of KDE 4.\n","title":"KDE 4.0.0 tagging","type":"post"},{"content":"I\u0026rsquo;ve recently begun trying to create GUIs for my Python applications with PyQt, and I can say I\u0026rsquo;m absolutely loving the toolkit, relatively easy to use and featureful. As I\u0026rsquo;m trying to create a GUI for some module I wrote that deals with databases (using MySQLdb), I also learnt that Qt has a series of classes for dealing with databases, mainly QSql.\nMy question, directed to whoever has experience with QSql and the Python DB-API, is: what are the advantages of one approach to the other? I\u0026rsquo;m leaning towards DB-API because like that I can create modules which work also in command line applications.\n","date":"December 28, 2007","externalUrl":null,"permalink":"/2007/12/qsql-vs-db-api/","section":"Posts","summary":"I’ve recently begun trying to create GUIs for my Python applications with PyQt, and I can say I’m absolutely loving the toolkit, relatively easy to use and featureful. As I’m trying to create a GUI for some module I wrote that deals with databases (using MySQLdb), I also learnt that Qt has a series of classes for dealing with databases, mainly QSql.\nMy question, directed to whoever has experience with QSql and the Python DB-API, is: what are the advantages of one approach to the other? I’m leaning towards DB-API because like that I can create modules which work also in command line applications.\n","title":"QSql vs DB-API?","type":"post"},{"content":"There is always a lot of talk about \u0026ldquo;brain drain\u0026rdquo; (fuga di cervelli in Italian) from my country. I keep on reading disgruntled comments of low pays and poor research, and that going abroad is the only solution for an Italian scientist to be successful.\nWhile I believe that research done outside of my country can be handled better (but it\u0026rsquo;s impossible to know for sure: never tar everyone with the same brush), I think that, also thanks to the way the media and the scientists themselves handle it, in everyone\u0026rsquo;s view it has almost become like the El Dorado. And that, in my opinion, is incorrect.\nResearch suffers everywhere from the publish or perish syndrome. This is even more true abroad, where results need to be presented fast in order to keep funding. Especially in high profile areas, such as stem cell research, this leads to a large amount of competition. Competition by itself isn\u0026rsquo;t bad, but at certain levels everyone acts with the principle _\u0026ldquo;mors tua, vita mea\u0026rdquo; _(Latin for \u0026ldquo;your death is my life\u0026rdquo;). This also (as far as I can tell in my experience) also raises the risk of sloppy work, not because of lack of skill, but because of rushing.\nAlso, a disturbing trend I saw when talking with a few people working in different parts of Europe is how everyone assumes that you don\u0026rsquo;t work to live, but live to work. It\u0026rsquo;s true, biology will never be a \u0026ldquo;clear cut\u0026rdquo; work hour job, but my impression is that a lot of people are overworked, and almost encouraged in having no bonds that aren\u0026rsquo;t inside the laboratory/institute. Increases efficiency, indeed. But what about the rest? Do we want to see more EA spouses in biology?\nNote, I\u0026rsquo;m not saying that working abroad is the worst thing that could happen to mankind, but simply putting into light some details that are often overlooked. And it\u0026rsquo;s not like something like this does not happen here, as well.\nFinally, some thoughts. If everyone leaves here, how can the quality of research improve? Choosing to work in Italy can be a difficult decision (I made this decision out of personal matters) but I believe you _can _do high-quality research here, despite all the (objective) troubles the system has. It\u0026rsquo;s just that the neighbors\u0026rsquo; grass is always greener\u0026hellip;\n","date":"December 22, 2007","externalUrl":null,"permalink":"/2007/12/brain-drain/","section":"Posts","summary":"There is always a lot of talk about “brain drain” (fuga di cervelli in Italian) from my country. I keep on reading disgruntled comments of low pays and poor research, and that going abroad is the only solution for an Italian scientist to be successful.\nWhile I believe that research done outside of my country can be handled better (but it’s impossible to know for sure: never tar everyone with the same brush), I think that, also thanks to the way the media and the scientists themselves handle it, in everyone’s view it has almost become like the El Dorado. And that, in my opinion, is incorrect.\n","title":"Brain drain","type":"post"},{"content":"I\u0026rsquo;ve started working on a FAQ related to Plasma, in order to ease the transition for the early adopters of Plasma when KDE 4.0 is released. That, coupled with another idea I had (offering video tutorials of operations) should make the gap smaller.\nCurrently the FAQ is a work in progress (still a lot of TODOs, I hope to have a look after Friday as I\u0026rsquo;m really busy now) and resides in KDE\u0026rsquo;s TechBase until a more suitable solution is found. If you think you can help, feel free to contribute!\nLast but not least, big thanks go to Aaron for the encouragement, and to Joseph M Gaffney for volounteering to help.\n","date":"December 19, 2007","externalUrl":null,"permalink":"/2007/12/plasma-faq/","section":"Posts","summary":"I’ve started working on a FAQ related to Plasma, in order to ease the transition for the early adopters of Plasma when KDE 4.0 is released. That, coupled with another idea I had (offering video tutorials of operations) should make the gap smaller.\nCurrently the FAQ is a work in progress (still a lot of TODOs, I hope to have a look after Friday as I’m really busy now) and resides in KDE’s TechBase until a more suitable solution is found. If you think you can help, feel free to contribute!\n","title":"Plasma FAQ","type":"post"},{"content":"","date":"December 16, 2007","externalUrl":null,"permalink":"/tags/anime-license/","section":"Tags","summary":"","title":"Anime License","type":"tags"},{"content":"When Tokyopop announced _Slayers, Kino no Tabi _and _Scrapped Princess _my interest was piqued: even more when I read about Seikai no Monsho. After getting what was available (three volumes of Scrapped Princess, the whole Seikai no Monsho trilogy and the single volume of Kino no Tabi) I waited for the rest.\nUnfortunately, looking at the information that are going around in the net, looks like no one of these sagas will ever continue. Again, Tokyopop does the job of the average USA anime publisher (I\u0026rsquo;m looking at you too, Viz: where\u0026rsquo;s the rest of Corrector Yui?), that is starting series yet cancelling them at the first sign of trouble sales-wise.\nCould it be that the novels were mis-targeted? As far as I could tell from reading Scrapped Princess, they were aimed at a different target than people who had watched the anime (great planning, indeed). Kino no Tabi was subject to a heinous treatment, with the chapter order rearranged for some unknown reason (this is not an anime, folks - it\u0026rsquo;s a book, for heaven\u0026rsquo;s sake). And what\u0026rsquo;s worse, from reading around it almost feels like it was the publisher\u0026rsquo;s intent to get away with a limited number of volumes out of the complete series (I also heard that translation quality was rather low, but I need confirmation).\nI wish that publishers would stop treating such works as trash they can dispose of at will, especially if it is the only way to read them in a language different than Japanese: in my country there has been an attempt (Lodoss War from Kappa Edizioni) but frankly, I could not tell if I had forgotten Italian or if the books were filled with even elementary mistakes.\nI guess that learning Japanese is the only way to get out from such misguided marketing and publishing efforts\u0026hellip;\n","date":"December 16, 2007","externalUrl":null,"permalink":"/2007/12/publishing-idiocy/","section":"Posts","summary":"When Tokyopop announced _Slayers, Kino no Tabi _and _Scrapped Princess _my interest was piqued: even more when I read about Seikai no Monsho. After getting what was available (three volumes of Scrapped Princess, the whole Seikai no Monsho trilogy and the single volume of Kino no Tabi) I waited for the rest.\n","title":"Publishing idiocy","type":"post"},{"content":"","date":"December 16, 2007","externalUrl":null,"permalink":"/tags/tokyopop/","section":"Tags","summary":"","title":"Tokyopop","type":"tags"},{"content":"Despite the utter lack of content in Wings of the Goddess my brother has managed to create a movie clip (inspired by the opening of Wild ARMs The Vth Vanguard). You can view it below (streaming) or obtain a higher quality version.\n[googlevideo]http://video.google.com/videoplay?docid=8316261647217076877[/googlevideo]\n(apologies for the lack of updates. I\u0026rsquo;ve been quite busy. I will probably post more in during the Christmas holidays)\n","date":"December 15, 2007","externalUrl":null,"permalink":"/2007/12/wings-of-the-goddess-opening/","section":"Posts","summary":"Despite the utter lack of content in Wings of the Goddess my brother has managed to create a movie clip (inspired by the opening of Wild ARMs The Vth Vanguard). You can view it below (streaming) or obtain a higher quality version.\n[googlevideo]http://video.google.com/videoplay?docid=8316261647217076877[/googlevideo]\n(apologies for the lack of updates. I’ve been quite busy. I will probably post more in during the Christmas holidays)\n","title":"Wings of the Goddess \"opening\"","type":"post"},{"content":"While I\u0026rsquo;m waiting for KDE 4.0 to compile, I just wanted to share a small clip of my brother\u0026rsquo;s character doing the Drain Samba animation. A bit of background: he has leveled Dancer up to level 7, and now he stopped because there is no artifact armor available yet (probably out in February) and because he\u0026rsquo;s also leveling another job, monk. Given how people rushed to get Dancer to 75 in less than a week (comments are left to the reader) it is a nice change.\nIn any case, here I present the animation. I feel Square Enix has put a lot of \u0026ldquo;fan service\u0026rdquo; in it, like with the Mithra race itself.\nGet the Flash Player to see this player.\n","date":"December 2, 2007","externalUrl":null,"permalink":"/2007/12/dancer...-dancing/","section":"Posts","summary":"While I’m waiting for KDE 4.0 to compile, I just wanted to share a small clip of my brother’s character doing the Drain Samba animation. A bit of background: he has leveled Dancer up to level 7, and now he stopped because there is no artifact armor available yet (probably out in February) and because he’s also leveling another job, monk. Given how people rushed to get Dancer to 75 in less than a week (comments are left to the reader) it is a nice change.\n","title":"Dancer... dancing","type":"post"},{"content":"","date":"December 2, 2007","externalUrl":null,"permalink":"/tags/wings-of-the-goddess/","section":"Tags","summary":"","title":"Wings of the Goddess","type":"tags"},{"content":" Finally my copy of Wings of the Goddess has arrived. It was just a matter of putting the DVD in the drive and let install the measly 350+ Mb of update (rather low for a DVD). As usual, Square Enix\u0026rsquo;s installation program is greedy with regards to information. Once it was installed, I enabled the expansion in PlayOnline and was good to go (save a 20,000+ file check).\nLet me start by saying that I didn\u0026rsquo;t see much of the expansion. I did it purposefully, as I postponed exploring to Wednesday, when I\u0026rsquo;ll gather my group and go around (one member has not the expansion yet: he will get it on Monday if all goes well).\nFor now I started by \u0026ldquo;unlocking\u0026rdquo; (i.e., enabling the passage from the future to the past) some Cavernous Maws (namely the ones in Rolanberry Fields, Batallia Downs and Sauromugue Champaign) and wandered around in the areas around Jeuno (that\u0026rsquo;s where you start - Jeuno itself is not accessible, though).\nWith each new expansion, new monsters appear. In this case you see a Pixie on the left. Pixies are neutral enemies that generally do not attack you and in some occasions they can even heal you (Cure IV) or give you a raise (Raise III) if you\u0026rsquo;re knocked out. From what I have read pixies have a \u0026ldquo;hate\u0026rdquo; system like fomors or apkallus, meaning the more you kill them, the more they get hostile towards you. Luckily you can lower your \u0026ldquo;hate\u0026rdquo; by doing a certain action in the past. As far as I\u0026rsquo;m concerned, I won\u0026rsquo;t be touching them (what kind of Paladin would I be?).\nOf course there aren\u0026rsquo;t just enemies, but also scenery. In this picture I\u0026rsquo;m running through the Batallia Downs of the Crystal War time. As you can see, even though the forest has been already cut down (to build fortifications against the Shadow Lord\u0026rsquo;s armies) the ramparts and everything seems to be in top shape (well, of course: they\u0026rsquo;re still battling).\nAnother \u0026ldquo;strange\u0026rdquo; phenomenon is the comet in the sky, highlighted already by the trailer. I don\u0026rsquo;t know if it\u0026rsquo;s related to the Shadow Lord himself (I doubt it: when he resurrected there was no such thing) or to the entities which brought me (and countless other players) in past Vana\u0026rsquo;diel. I guess it will be explained through time.\nLast but not least, two images from a rampart in Sauromugue Champaign and the interior of Garlaige Citadel, a well-built fortification back then and not the ruined, undead-infested place of modern day Vana\u0026rsquo;diel:\n","date":"November 30, 2007","externalUrl":null,"permalink":"/2007/11/wings-of-the-goddess-first-impressions/","section":"Posts","summary":" Finally my copy of Wings of the Goddess has arrived. It was just a matter of putting the DVD in the drive and let install the measly 350+ Mb of update (rather low for a DVD). As usual, Square Enix’s installation program is greedy with regards to information. Once it was installed, I enabled the expansion in PlayOnline and was good to go (save a 20,000+ file check).\n","title":"Wings of the Goddess - first impressions","type":"post"},{"content":"","date":"November 25, 2007","externalUrl":null,"permalink":"/tags/business/","section":"Tags","summary":"","title":"Business","type":"tags"},{"content":"The title clearly shows what I think about the aforementioned company. The reason surfaced a few days ago, when I tried to see if they would ship Wings of the Goddess to Italy. I had ordered from them a few times before, and although their customer service left a lot to be desired, I couldn\u0026rsquo;t complain much.\nTwo days ago I found that they will no longer ship anything to Italy. I mean, they will to other European countries, but not here. The big question here is why? What has Italy possibly done? I contacted their customer support and I just got a rather uninformative answer such as \u0026ldquo;we do not ship or take orders from your country\u0026rdquo;. Very nice, Gamestop.\nIf that\u0026rsquo;s the way they treat people who want to buy from them, I guess I\u0026rsquo;ll go elsewhere.\n","date":"November 25, 2007","externalUrl":null,"permalink":"/2007/11/lamestop/","section":"Posts","summary":"The title clearly shows what I think about the aforementioned company. The reason surfaced a few days ago, when I tried to see if they would ship Wings of the Goddess to Italy. I had ordered from them a few times before, and although their customer service left a lot to be desired, I couldn’t complain much.\nTwo days ago I found that they will no longer ship anything to Italy. I mean, they will to other European countries, but not here. The big question here is why? What has Italy possibly done? I contacted their customer support and I just got a rather uninformative answer such as “we do not ship or take orders from your country”. Very nice, Gamestop.\n","title":"Lamestop","type":"post"},{"content":"With the new version update, these strange portals have been appearing throughout Vana\u0026rsquo;diel. They\u0026rsquo;re supposedly the gateways to the past, but since I don\u0026rsquo;t have Wings of the Goddess yet I can\u0026rsquo;t really see what will they do. Nevertheless, I was curious and went to take a look at them.\nThey\u0026rsquo;re **huge. **I estimate at least twice the height of my character. For those curious, here are two photos (one is of my brother\u0026rsquo;s character, the other is mine):\n","date":"November 20, 2007","externalUrl":null,"permalink":"/2007/11/cavernous-maws/","section":"Posts","summary":"With the new version update, these strange portals have been appearing throughout Vana’diel. They’re supposedly the gateways to the past, but since I don’t have Wings of the Goddess yet I can’t really see what will they do. Nevertheless, I was curious and went to take a look at them.\nThey’re **huge. **I estimate at least twice the height of my character. For those curious, here are two photos (one is of my brother’s character, the other is mine):\n","title":"Cavernous Maws","type":"post"},{"content":"","date":"November 20, 2007","externalUrl":null,"permalink":"/tags/bug/","section":"Tags","summary":"","title":"Bug","type":"tags"},{"content":"And so, with yesterday\u0026rsquo;s update, FFXI has gained a windowed mode. This has been a much-requested feature from the playerbase, especially from people who didn\u0026rsquo;t want to use the \u0026ldquo;unofficial\u0026rdquo; windower.\nHowever, being the first major touch to the rendering engine, I think something got broken along the way. Mainly, I\u0026rsquo;m talking about a 20% performance drop of the engine (which didn\u0026rsquo;t shine before, but that\u0026rsquo;s another matter).\nMy tests have been done on two computers:\nIntel Core 2 Duo 6600, 1 Gb RAM, NVIDIA GeForce 7950GTX: a huge performance drop, which was strongly reduced by updating the video drivers. Now it\u0026rsquo;s about 10% slower than pre-windowed mode adjustments;\nAMD Thunderbird 2100+, NVIDIA Ge Force 6600, 1 Gb RAM: a performance increase, at least 10% more.\nSo what is to be gathered from this? By updating the codebase, which is stale and rather old, the developer team has probably broken something along the way. I expect a fix very soon, though.\nAside that, I like the new windowed mode. When the window goes out of focus, music stops, which is rather good when you\u0026rsquo;re idling in Aht Urghan Whitegate (especially if you\u0026rsquo;re looking for party the music can really get on your nerves). Even with the issues, I would prefer it to the \u0026ldquo;unofficial\u0026rdquo; windower for a series of reasons, mainly because the developers inject code into the POL.exe executable and they won\u0026rsquo;t release the source.\nThis poses a security risk, since you don\u0026rsquo;t really know what the unofficial windower is doing. Add the fact that one of the people in the windower team has been involved in the Wiki fiasco, and you have very good reasons for not using it.\n","date":"November 20, 2007","externalUrl":null,"permalink":"/2007/11/final-fantasy-xi-windowed-mode/","section":"Posts","summary":"And so, with yesterday’s update, FFXI has gained a windowed mode. This has been a much-requested feature from the playerbase, especially from people who didn’t want to use the “unofficial” windower.\nHowever, being the first major touch to the rendering engine, I think something got broken along the way. Mainly, I’m talking about a 20% performance drop of the engine (which didn’t shine before, but that’s another matter).\n","title":"Final Fantasy XI windowed mode","type":"post"},{"content":"And so I\u0026rsquo;m reading that the FFXI Fan Festival has kicked off yesterday (I wish I could have been there). Naturally, reports have been flowing. The FFXI Encyclopedia has a good report of what has been said so far. 1up, the online branch of EGM, has also covered the event, but the article is only focusing on the new jobs (talk about explaining something no one else will ask\u0026hellip; not to mention the attitude of that \u0026ldquo;journalist\u0026rdquo;).\nSome random thoughts:\nA lot of people have been asking about a \u0026ldquo;new tank\u0026rdquo;. Personally I think Square Enix will never create a new one, because otherwise people will just stick the Ninja subjob to it, while they don\u0026rsquo;t seem to keen on \u0026ldquo;uniforming\u0026rdquo; things;\nDancer seems a technical job. Whether the playerbase will try to screw it up (like they did with the Bard) or not remains to be seen. It is certainly interesting to have a healer/enfeebler who uses TP;\nI haven\u0026rsquo;t seen anything of the Scholar (save a - rather useless - video where two bash a bee with a dancer), especially regarding abilities and spells;\nNo one seems to have asked anything about the missions. The first ones in Treasures of Aht Urghan were embarassing to say the least (little content, no player action, artificially lengthened), so I would hope the developers have learnt from that.\nThe people at Square Enix said that FFXI is not finishing with Wings of the Goddess. I wonder if it is true: the codebase is many years old and I\u0026rsquo;m unsure of how much this MMORPG will be profitable for them in the next years.\n","date":"November 17, 2007","externalUrl":null,"permalink":"/2007/11/wings-of-the-goddess-the-details-emerge/","section":"Posts","summary":"And so I’m reading that the FFXI Fan Festival has kicked off yesterday (I wish I could have been there). Naturally, reports have been flowing. The FFXI Encyclopedia has a good report of what has been said so far. 1up, the online branch of EGM, has also covered the event, but the article is only focusing on the new jobs (talk about explaining something no one else will ask… not to mention the attitude of that “journalist”).\n","title":"Wings of the Goddess - the details emerge","type":"post"},{"content":"While working today on an annotation class in Python I stumbled on a problem. Normally I work with lists of genes that are consistent, i.e. all Entrez Gene IDs (or RefSeq IDs, or Genome Browser IDs\u0026hellip;), but today I had a list of mixed identifiers.\nThe subsequent idea was \u0026ldquo;let\u0026rsquo;s implement auto-detection of common identifiers in the class\u0026rdquo;. The problem is\u0026hellip; is there any actual documentation on how identifiers are made? So far, using regular expressions, I\u0026rsquo;ve tracked down a few:\nRefSeq\nGenBank\nEntrez Gene\nUCSC Genome Browser\nEnsembl\nHowever, I have no idea if I have implemented all types of these IDs. Does anyone know a place where to look these information up?\n(On a related note: my thesis defense will be on January 14th, 2008, so I have to get the printing going)\n","date":"November 15, 2007","externalUrl":null,"permalink":"/2007/11/gene-identifiers/","section":"Posts","summary":"While working today on an annotation class in Python I stumbled on a problem. Normally I work with lists of genes that are consistent, i.e. all Entrez Gene IDs (or RefSeq IDs, or Genome Browser IDs…), but today I had a list of mixed identifiers.\nThe subsequent idea was “let’s implement auto-detection of common identifiers in the class”. The problem is… is there any actual documentation on how identifiers are made? So far, using regular expressions, I’ve tracked down a few:\n","title":"Gene identifiers","type":"post"},{"content":" After a long time I\u0026rsquo;ve finally got hold (thanks, Melissa) of Akihabara Denno Gumi PataPi!, that is the manga version of Akihabara Denno Gumi (or Cyber Team in Akihabara, if you prefer): some of you may even remember a rather sparse description on this very page when it was still devoted to ADG (almost eight years ago, time flies\u0026hellip;).\nThis manga, drawn by Tsukasa Kotobuki (who also did the original character designs for the anime), is a sort of reduction of the animated series. The storyline goes more or less in the same fashion, with young Hibari Hanakoganei being given a mechanical toy known as PataPi by a mysterious \u0026ldquo;prince\u0026rdquo; who lives in her dreams. Of course, Den-suke (the name Hibari gives to the little mechanical monstrosity) is not an ordinary toy, it holds the key to a strange castle in the sky, and of course some people are interested in that.\nOn the aspect of drawings, this manga in my opinion uses a hybrid approach, as despite not quite geared for girls, uses some techniques that are best seen in shojo manga. Of course, the drawing style and the story are totally different. The style is somewhat pleasing, but it lacks detail, especially with backgrounds, which are often too simplistic or absent.\nStory wise, the manga is a** very** cut down version of the anime. The most important difference is the role of Tsubame, which is greatly diminished, up to being non-existant. In general terms, the fact that it is only one volume, albeit bigger than usual, is a huge drawback. The story starts, new characters are introduced, and then it winds up too fast. Characters like Christian Rosenkreuz or even Shooting Star are developed even less than in the anime. Even the Diva themselves appear little. So, how to judge this? I\u0026rsquo;m not sure. Despite having been a fan of the anime back then, personally I think this incarnation could have been avoided. What I really don\u0026rsquo;t like is the downplay of some characters like Tsubame.\nAt least I can say I saw it, after all these years. That is why I wrote this post in the first place.\n","date":"November 11, 2007","externalUrl":null,"permalink":"/2007/11/blast-from-the-past-akihabara-denno-gumi-patapi/","section":"Posts","summary":" After a long time I’ve finally got hold (thanks, Melissa) of Akihabara Denno Gumi PataPi!, that is the manga version of Akihabara Denno Gumi (or Cyber Team in Akihabara, if you prefer): some of you may even remember a rather sparse description on this very page when it was still devoted to ADG (almost eight years ago, time flies…).\n","title":"Blast from the past: Akihabara Denno Gumi PataPi!","type":"post"},{"content":"","date":"November 7, 2007","externalUrl":null,"permalink":"/tags/cluster/","section":"Tags","summary":"","title":"Cluster","type":"tags"},{"content":"**Notice:**Just now I realized this has been linked to to a Stack Overflow question. I recently wrote a new post that uses a different technique and a combination of R and Python. Check it out!\nFollowing up my recent post, I\u0026rsquo;ve been looking for alternatives to TMeV. So far I\u0026rsquo;ve found the R package pvclust and the Pycluster library, part of BioPython. The first one also performs bootstrapping (I\u0026rsquo;m not sure if it\u0026rsquo;s similar to what support trees do, but it\u0026rsquo;s still better than no resampling at all). I\u0026rsquo;ve found another Python project but it is still too basic to perform what I need.\nPvclust would be my first interest, but it only plots dendrograms and not heatmaps, and the clustering must be done twice by transposing the data (it only clusters columns). The package\u0026rsquo;s web page shows the various options and what to do with it.\nPycluster, on the other hand, can be used to generate files which can be read by the Java TreeView program, where you can view a heat map of the results and their annotations. Although there\u0026rsquo;s documentation available, it is not part of the Biopython documentation (as usual, I\u0026rsquo;d say: lack of documentation is a plague for Biopython). In any case, doing a cluster analysis is rather simple, but we need to remember that we need to do two cluster runs (one for genes, the other for experiments). Here I show an example with hierarchical clustering, but the documentation (Python part on chapter 8) has examples also with other methods such as SOMs or k-means.\n1 2 3 4 5 6 7 8 9 10 11 12 13 from Bio.Cluster import * # Load data, in Cluster format data = DataFile(\u0026#34;somefile.txt\u0026#34;) # Clustering using Pearson\u0026#39;s correlation and average linkage gene_clustering=data.treecluster(method=\u0026#34;a\u0026#34;,dist=\u0026#34;c\u0026#34;,transpose=0) # Same as above, but clustering samples exp_clustering = data.treecluster(method=\u0026#34;a\u0026#34;,dist=\u0026#34;c\u0026#34;, transpose=1) # We then save the results to a series of files to view in Java TreeView data.save(\u0026#34;name\u0026#34;,gene_clustering,exp_clustering) Java TreeView is a program to view trees and heat maps. Unlike its counterpart TreeView, it\u0026rsquo;s truly cross-platform (Java) and GPLed, a nice added bonus. You can load the files directly and display the results like in this picture, taken with the sample data available on the project page.\nIt\u0026rsquo;s still not perfect (no data shown on the main map page, only with the detailed view) but a good start, nevertheless. I\u0026rsquo;ll investigate whether I can complement TMeV usage with these tools.\n","date":"November 7, 2007","externalUrl":null,"permalink":"/2007/11/data-clustering-with-python/","section":"Posts","summary":"**Notice:**Just now I realized this has been linked to to a Stack Overflow question. I recently wrote a new post that uses a different technique and a combination of R and Python. Check it out!\nFollowing up my recent post, I’ve been looking for alternatives to TMeV. So far I’ve found the R package pvclust and the Pycluster library, part of BioPython. The first one also performs bootstrapping (I’m not sure if it’s similar to what support trees do, but it’s still better than no resampling at all). I’ve found another Python project but it is still too basic to perform what I need.\n","title":"Data clustering with Python","type":"post"},{"content":"As people who read my science-related posts know already, I\u0026rsquo;m not a big fan of software made just to support a publication. Recently I\u0026rsquo;ve stumbled again into similar software. Namely, I\u0026rsquo;m talking about the TIGR Multiexperiment Viewer (TMeV), a Java-based program which is often used for microarray analysis. It\u0026rsquo;s not exactly \u0026ldquo;fit for publication\u0026rdquo;, because it has reached version 4 last year, but shows some of the problems (mentioned already) with releasing bioinformatics software.\nI use TMeV mostly because I didn\u0026rsquo;t find any other implementation of the hierarchical clustering algorithm with support trees. However, I\u0026rsquo;ve stumbled upon a very annoying bug in the most recent version. Normally I use average linkage clustering and as the distance metric I employ the Pearson\u0026rsquo;s correlation, and with gene and sample bootstrapping: with certain files this makes TMeV report errors at random during the iterations.\nWhat you see on the left is the \u0026ldquo;error\u0026rdquo; that TMeV gives. As you can see, it is all but informative. Digging a bit, it shows that Java throws an ArrayIndexOutOfBoundsException, but I wonder how, since this happens with different data files that have nothing in common at all.\nSince I don\u0026rsquo;t want to pass for someone who just whines, I contacted the MeV developers and offered to give also example files, but I\u0026rsquo;ve got no response at all. Luckily, the older version of MeV (3.1) is still around and works.\nNow, I wonder how this was released in the first place: it\u0026rsquo;s not the only bug I found, the other being a scaling algorithm that would mistake the files for Affymetrix MAS5 expression values (when they have nothing in common with that). There is absolutely no mention of that in the TMeV page. At least some release notes would be helpful.\nWhy am I making a big fuss over this? Because this is not the first time that I\u0026rsquo;ve wasted my time working around bugs instead of using the software for what it was meant: for research. Instead, there seem to be little interest since the publication is already out. Didn\u0026rsquo;t someone tell those people that if you release some software (especially if it is widely used) you\u0026rsquo;re expected to provide at least little maintenance?\n","date":"November 7, 2007","externalUrl":null,"permalink":"/2007/11/buggy-bioinformatics-software/","section":"Posts","summary":"As people who read my science-related posts know already, I’m not a big fan of software made just to support a publication. Recently I’ve stumbled again into similar software. Namely, I’m talking about the TIGR Multiexperiment Viewer (TMeV), a Java-based program which is often used for microarray analysis. It’s not exactly “fit for publication”, because it has reached version 4 last year, but shows some of the problems (mentioned already) with releasing bioinformatics software.\nI use TMeV mostly because I didn’t find any other implementation of the hierarchical clustering algorithm with support trees. However, I’ve stumbled upon a very annoying bug in the most recent version. Normally I use average linkage clustering and as the distance metric I employ the Pearson’s correlation, and with gene and sample bootstrapping: with certain files this makes TMeV report errors at random during the iterations.\n","title":"Buggy bioinformatics software","type":"post"},{"content":"","date":"November 7, 2007","externalUrl":null,"permalink":"/tags/java/","section":"Tags","summary":"","title":"Java","type":"tags"},{"content":"Yesterday I spent some of my free time to help with the KDE 4.0 Krush Day. Unfortunately, I did a lot less than what I was supposed to do, mainly because at some point the home directory ran out of space (I forgot to remove qt-copy object files), then I inadvertently removed some of the directories and I had to re-sync with SVN.\nNevertheless, it was interesting and nice to be able to contribute even if you don\u0026rsquo;t speak C++. I reported a crash in Gwenview, and some problems regarding the use of authentication with IO-slaves. I also confirmed a few other issues some others raised.\nIn general terms, though, I think the day was a success: if you look at the relevant TechBase page, you\u0026rsquo;ll see that there were a lot of issues reported, and some of them have been already fixed (or patches are in progress).\nI hope that the positive experience from this first day will prompt the KDE developers to hold more in the future.\n","date":"November 4, 2007","externalUrl":null,"permalink":"/2007/11/opinion-on-the-kde-krush-day/","section":"Posts","summary":"Yesterday I spent some of my free time to help with the KDE 4.0 Krush Day. Unfortunately, I did a lot less than what I was supposed to do, mainly because at some point the home directory ran out of space (I forgot to remove qt-copy object files), then I inadvertently removed some of the directories and I had to re-sync with SVN.\nNevertheless, it was interesting and nice to be able to contribute even if you don’t speak C++. I reported a crash in Gwenview, and some problems regarding the use of authentication with IO-slaves. I also confirmed a few other issues some others raised.\n","title":"Opinion on the KDE Krush day","type":"post"},{"content":"Aseigo announced it a few days ago: on Saturday, on the Freenode IRC network, #kde4-krush channel, there will be a day-long session to triage and squash bugs in order to improve the overall quality of KDE 4.0. I will try to be there, so that I can give out my (little) contribution as non-coder. I\u0026rsquo;ll be sure to report later.\n","date":"November 1, 2007","externalUrl":null,"permalink":"/2007/11/kde-4.0-bug-squashing-day/","section":"Posts","summary":"Aseigo announced it a few days ago: on Saturday, on the Freenode IRC network, #kde4-krush channel, there will be a day-long session to triage and squash bugs in order to improve the overall quality of KDE 4.0. I will try to be there, so that I can give out my (little) contribution as non-coder. I’ll be sure to report later.\n","title":"KDE 4.0 bug squashing day!","type":"post"},{"content":"","date":"October 27, 2007","externalUrl":null,"permalink":"/tags/group-testing/","section":"Tags","summary":"","title":"Group Testing","type":"tags"},{"content":"My supervisor has given me an OK for my thesis (save for a couple of cosmetic changes), therefore now I have just to wait for the verdict of the Ph.D. council then fill in some paperwork: the next step is the defense, sometime in January.\nAfter that I\u0026rsquo;ll probably put my thesis online and post a few articles on the concept of group testing for microarray data.\n","date":"October 27, 2007","externalUrl":null,"permalink":"/2007/10/thesis-completed/","section":"Posts","summary":"My supervisor has given me an OK for my thesis (save for a couple of cosmetic changes), therefore now I have just to wait for the verdict of the Ph.D. council then fill in some paperwork: the next step is the defense, sometime in January.\nAfter that I’ll probably put my thesis online and post a few articles on the concept of group testing for microarray data.\n","title":"Thesis completed","type":"post"},{"content":"First of all let me make some disclaimers :\nThis is **not **a Plasma bashing post (so that aseigo won\u0026rsquo;t commit suicide, should he ever read this);\nI\u0026rsquo;m not a KDE developer, just someone who tries out SVN and reads mailing lists;\nUPDATE: These statements aren\u0026rsquo;t meant to bash the collective group of the KDE developers, just to outline a bad \u0026ldquo;mood\u0026rdquo; in my opinion.\nAs you may know, KDE 4.0 Beta 3 was released a while ago. With it came the usual number of criticisms, some sensible, a lot of others not. Most of the latter fell into the category of \u0026ldquo;it\u0026rsquo;s an alpha, not a beta\u0026rdquo; and \u0026ldquo;Plasma sucks\u0026rdquo;. Well, one can ignore most of them since they rarely provide anything constructive.\nWhat worries me instead is this thread on the kde-core-devel ML, where other people have (probably out of concern) been questioning the state of the workspace and some even proposed to go back to kicker + desktop for 4.0. It worries me because (at least as my non-developing eyes see) some people just jumped on the bandwagon. Plasma is one of the most important aspects of KDE4, but also of KDE 4.0, so proposing such a move would:\nConfuse users, especially as the beta live CDs have shown the current workspace;\nBe a big PR hit, much more than the \u0026ldquo;alphas non betas\u0026rdquo; mentality, because all of a sudden the workspace would be pushed away (and not everyone reads the MLs);\nShow inconsistency in KDE\u0026rsquo;s release policies. I know that the philosophy is \u0026ldquo;who codes, decides\u0026rdquo;, but a minimum of coherency, at least public, could be used.\nLast but not least I\u0026rsquo;m wondering why all the criticisms arrive now. It\u0026rsquo;s not like Plasma appeared out of nowhere one night\u0026hellip; This might just drive people away, rather than give an advantage to our favorite desktop environment.\n","date":"October 25, 2007","externalUrl":null,"permalink":"/2007/10/new-sport-plasma-bashing/","section":"Posts","summary":"First of all let me make some disclaimers :\nThis is **not **a Plasma bashing post (so that aseigo won’t commit suicide, should he ever read this);\nI’m not a KDE developer, just someone who tries out SVN and reads mailing lists;\nUPDATE: These statements aren’t meant to bash the collective group of the KDE developers, just to outline a bad “mood” in my opinion.\nAs you may know, KDE 4.0 Beta 3 was released a while ago. With it came the usual number of criticisms, some sensible, a lot of others not. Most of the latter fell into the category of “it’s an alpha, not a beta” and “Plasma sucks”. Well, one can ignore most of them since they rarely provide anything constructive.\n","title":"New sport, Plasma bashing","type":"post"},{"content":"I obviously did not want to stop with a single compile of KDE4, therefore I\u0026rsquo;m updating more or less randomly my build off the SVN to check what has been changing.\nThe first and most important change since my last post was the addition of the K-menu in the taskbar: Kickoff was moved from playground (where it resided) to kdebase. Also, kate now works perfectly, and is already usable as a full-blown text editor.\nLast time I did not test gwenview, the KDE image viewer, and now I can happily report it works. I like the new UI, with the sidebar (which can be hidden if needed). Here is a screenshot of it in action:\nAside that, I\u0026rsquo;ve tried again to compile kdenetwork without much success: the codebase seems in a state of flux right now, and errors pop up here and there. Too bad, as I really wanted to see the new KRDC. While I wait for it to be fixed, I installed kdemultimedia: so far I\u0026rsquo;ve only tested kmix, and it seems to work (it displays the interface but I have no idea if it actually modifies the volume). I\u0026rsquo;m not daring to touch kdepim as I know kmail4 is in very bad shape right now.\nI\u0026rsquo;ve also tried to compile some Plasma applets from playground but I get CMake errors, I assume I need to checkout something else needed for it to work.\nI\u0026rsquo;ll keep on reporting in the next days, when I get time.\n","date":"October 24, 2007","externalUrl":null,"permalink":"/2007/10/my-experience-with-kde4-part-2/","section":"Posts","summary":"I obviously did not want to stop with a single compile of KDE4, therefore I’m updating more or less randomly my build off the SVN to check what has been changing.\nThe first and most important change since my last post was the addition of the K-menu in the taskbar: Kickoff was moved from playground (where it resided) to kdebase. Also, kate now works perfectly, and is already usable as a full-blown text editor.\n","title":"My experience with KDE4, part 2","type":"post"},{"content":"Since Beta 3 was announced a short time ago, I thought I would try testing KDE4 on my computer. Here I\u0026rsquo;m reporting on my first impressions and I\u0026rsquo;ll try to provide constructive feedback as much as possible: the developers are being already (and unjustly, in my opinion) bashed enough.\nLet\u0026rsquo;s start by telling more about the test configuration: I used \u0026ldquo;hardin\u0026rdquo;, my laptop, which is equipped with a Pentium4 1.7M CPU, an ATI X600 GPU (using the fglrx driver) and 1.0 Gb RAM. Since I heard bad reports about the Kubuntu packages of KDE4, I decided to compile from source.\nIt was a rather easy task, thanks to the helpful instructions on the KDE Techbase. I initially built qt-copy (I had to use a snapshot as the SVN checkout didn\u0026rsquo;t compile), and kdesupport, followed by kdepimlibs, kdelibs and kdebase. I then pulled kickoff from playground and played with additional modules:\nkdesdk (compiles)\nkdegraphics (doesn\u0026rsquo;t compile at the moment, I need to ask around for why) compiles now, it turned out I had to clean the build directory;\nkdenetwork (doesn\u0026rsquo;t go past CMake stage, complains about missing files that are there, though)\nI know that the games and kde-edu are in much better shape than the rest of KDE, but since I don\u0026rsquo;t use anything from there, I didn\u0026rsquo;t compile them. I made of course a separate user account and used Xephyr to view the KDE session in the desktop.\nFirst of all, I started KDE and I got greeted by a (apparently non-modifiable for now) wallpaper and the Plasma taskbar, the applet viewer and a digital clock. The default settings used the Plastique theme, but I switched window decoration and theme to Oxygen, since I wanted to see how it was. Here\u0026rsquo;s the desktop with Dolphin open:\nThere is a nice hover on effect when you move the mouse over the icons. Next, I tried running kate and konsole. I can say I\u0026rsquo;m really impressed by the way konsole has changed, the configuration options look much more sane than before! I also tried kate out, but as an assert in the code failed, it crashed when I tried to type anything. Nevertheless, here it is:\nEven though it\u0026rsquo;s not the default file manager, Konqueror is still alive and kicking. Here it shows dennogumi.org:\nKickoff, the new K-menu, is not present by default but I have pulled it from playground to see how it was. Despite what the critics say, it looks decent to me. Perhaps it\u0026rsquo;s because I never use menus (alt-f2 is my religion), but I find it as intuitive as the original K-menu. In any case, personal preferences are more a matter of taste than objectivity.\nLast but not least, I tried using krunner, the new alt-f2 replacement. It looks really neat, and can do a variety of things by plugging into the relevant KDE subsystems.\nI didn\u0026rsquo;t get to test Solid, or Phonon as I worked in a nested X session. The battery applet seemed to work, so it may be an indication of Solid doing its work. I don\u0026rsquo;t think the system is stable enough to run in a full session, but I will do periodical recompiles to see if anything changes.\nSince I got kdegraphics to compile, I tried Okular out. It looks almost feature complete, with no visible glitches. Here\u0026rsquo;s a screenshot if it running and showing my own Lost Innocence:\nA word or two on the Oxygen theme. I\u0026rsquo;m liking where it is headed, though perhaps a little more subtlety with the window decoration (to figure out when a window has focus) would be appreciated. I\u0026rsquo;m sure the Oxygen team is already aware of the issue, however. They\u0026rsquo;ve done an excellent job, despite their lack of manpower.\nPerformance wise I didn\u0026rsquo;t see how it was slower than KDE 3.5. I think the performance was quite nice considering everything was built with full debug.\nFinally, I can\u0026rsquo;t understand all the trolling about \u0026ldquo;alpha 3\u0026rdquo;. Most of the applications are OK, so are the libraries. The \u0026ldquo;problem\u0026rdquo; is that Plasma is in a state of flux, but that\u0026rsquo;s to be expected, those guys are re-creating a desktop, a task that requires time. I find it unjust to write comments like the ones I saw on the Dot. What good will they bring? Nothing. Like I said, I\u0026rsquo;ll keep an eye on Plasma and see how it evolves. Therefore, I\u0026rsquo;m not even trying to judge Plasma until KDE 4.0 is out, or unless my non-coding mind comes up with something useful.\nI\u0026rsquo;ll be trying KDE 4 more in the next days / weeks, and report if I get the time.\n","date":"October 20, 2007","externalUrl":null,"permalink":"/2007/10/my-kde4-impression/","section":"Posts","summary":"Since Beta 3 was announced a short time ago, I thought I would try testing KDE4 on my computer. Here I’m reporting on my first impressions and I’ll try to provide constructive feedback as much as possible: the developers are being already (and unjustly, in my opinion) bashed enough.\n","title":"My KDE4 impression","type":"post"},{"content":"","date":"October 16, 2007","externalUrl":null,"permalink":"/tags/bash/","section":"Tags","summary":"","title":"Bash","type":"tags"},{"content":"","date":"October 16, 2007","externalUrl":null,"permalink":"/tags/script/","section":"Tags","summary":"","title":"Script","type":"tags"},{"content":"The other day I was thinking about how to make screencaps for the anime I watch. Windows users often use Media Player Classic, which can create a video contact sheet (i.e., a series of captures) out of a movie file. I had two problems with this:\nThe biggest is that it runs on Windows, and I don\u0026rsquo;t use Windows;\nThe frames needed to be manually cropped every time, which was slow.\nTherefore, inspired by a video contact sheet script for Linux, I decided to write a small piece of code to make captures. It works rather easy, by taking snapshots every X minutes, where X is an integer number.\nThe code is here: it requires bash, python (just for checks) and mplayer to work correctly. It should work with every format mplayer suppports. It\u0026rsquo;s hackish, but if you find it useful, let me know.\nEDIT: I changed a line (thanks, greg) because this syntax highlighter messes up some formatting.\n[code lang=\u0026lsquo;c\u0026rsquo;]\n#!/bin/bash\n(C) 2007 Luca Beltrame - licensed under the terms of the GPL v2 # Simple script to output video frames with MPlayer. It takes the file # and a step argument to indicate how many minutes a capture should # be taken. The step must be an integer! # if [ $# -ne \u0026ldquo;2\u0026rdquo; ] then echo \u0026ldquo;Usage: $0 \u0026quot; exit fi\nfile=$1 step=$2 i=1\nRequires python 2.5 # verification=python -c \u0026quot;value = 0 if isinstance($step,float) else 1;print value\u0026quot; echo $verification\nif [ $verification -eq \u0026ldquo;0\u0026rdquo; ] then echo \u0026ldquo;Step must be an integer!\u0026rdquo; fi\nlength=mplayer -benchmark -ao null -vo null -identify -frames 0 -quiet $file 2\u0026gt;/dev/null | grep ID_LENGTH | cut -f2 -d'='\nend=echo $length/60| bc\nwhile [ $i -lt $end ] do minutes=\u0026ldquo;00:\u0026quot;$i\u0026rdquo;:00\u0026rdquo; name=\u0026ldquo;capture_\u0026quot;$i\u0026quot;min.png\u0026rdquo;\nWe take two captures as the first will be always black - mplayer bug? # mplayer -sws 9 -ao null -quiet -benchmark -vo \u0026ldquo;png:z=0\u0026rdquo; -frames 2 -ss $minutes \u0026ldquo;$1\u0026rdquo; \u0026amp;\u0026gt; /dev/null mv 00000002.png $name rm -f 00000001.png i=$[$i+$step] done\necho \u0026ldquo;Screenshots saved.\u0026rdquo;\n[/code]\n","date":"October 16, 2007","externalUrl":null,"permalink":"/2007/10/script-to-make-captures-of-movie-files/","section":"Posts","summary":"The other day I was thinking about how to make screencaps for the anime I watch. Windows users often use Media Player Classic, which can create a video contact sheet (i.e., a series of captures) out of a movie file. I had two problems with this:\nThe biggest is that it runs on Windows, and I don’t use Windows;\nThe frames needed to be manually cropped every time, which was slow.\n","title":"Script to make captures of movie files","type":"post"},{"content":"","date":"October 14, 2007","externalUrl":null,"permalink":"/tags/clannad/","section":"Tags","summary":"","title":"Clannad","type":"tags"},{"content":"Straight out of my anime backlog, I watched the first episode of Clannad. I don\u0026rsquo;t know much about the original name (save for the time it took to be released), but I knew that the animation studio who did this series was Kyoto Animation (The Melancholy of Haruhi Suzumiya, Air, Kanon and Lucky Star).\nThe episode starts off with the main character, Tomoya Okazaki, walking on the street off to school. He doesn\u0026rsquo;t seem to be a bright and cheerful fellow, as he expresses his hate towards the town he lives in. He then stumbles upon a girl (later we\u0026rsquo;ll learn her name is Nagisa Furukawa) standing on the stairs that go up a hill. The two have a short conversation, where he seemingly encourages her (a little odd, since his earlier thoughts), then the opening theme kicks in.\nLater we see Tomoya going to school and having a talk with his (not so sane) roommate, and again bitter thoughts keep on crawling in his mind. The following day he is in class, and is approached by the class representative (see picture) who tries to lecture him about his attitude but no avail. The girl is taken aback by that (she looks like a shy type) until her sister (almost identical, she has longer hair) takes her defense.\nCue to lunch break, where again Tomoya meets Nagisa, who is acting somewhat uncomfortable because all the people she knew have moved on, as she was abroad/away and was forced to repeat the year. Tomoya suggests she does something interesting, and mentions a theatre club. While they discuss, a ruckus starts due to people from other schools going in and causing trouble. Tomoya wants to teach them a lesson but yet another girl appears and beats them up. Later, Tomoya\u0026rsquo;s friend tries to challenge her but gets beaten up as well.\nIt\u0026rsquo;s late afternoon, and Tomoya finds Nagisa in front of the so-called theatre club. Once she gets in, she is rather disappointed in seeing no one around. Tomoya explains that the club has been closed for some time, but in the end she might be able to resurrect it if people want to participate.\nTomoya is then heading home but remembers that Nagisa had told him about where she lives, a bread shop. As he\u0026rsquo;s on the way, he gets inside and tastes a \u0026ldquo;leftover\u0026rdquo;, a somewhat original piece of bread which is not particularly good. Tomoya makes the mistake of stating his disappointment. The person at the counter (Nagisa\u0026rsquo;s mother) starts crying while his father is out to get revenge. It takes time and Nagisa\u0026rsquo;s intervention to clear things up.\nIn the end, Tomoya stays for dinner, and the others seem to develop a liking for him. When he gets home, he finds his father drunk, a sight that apparently is normal. Frustrated, he runs out of the house, and ends up again near Nagisa\u0026rsquo;s. There he finds her reciting under a streetlight, and that\u0026rsquo;s how the episode ends.\nFor being a sentimental anime, it is not that bad, as the narration avoids being too romantic or dramatic. There are also frenquent scenes that warrant a smile or two. Animation-wise it\u0026rsquo;s very nice, but Kyoto Animation has a good reputation for that. Story-wise, we have just started, but it\u0026rsquo;s fun to watch. There are odd flasbacks about a person living alone in the world, so I expect (like in _Air, _or Kanon) the presence of something supernatural.\nFor now, I\u0026rsquo;ll keep on watching Clannad.\n","date":"October 14, 2007","externalUrl":null,"permalink":"/2007/10/clannad-1/","section":"Posts","summary":"Straight out of my anime backlog, I watched the first episode of Clannad. I don’t know much about the original name (save for the time it took to be released), but I knew that the animation studio who did this series was Kyoto Animation (The Melancholy of Haruhi Suzumiya, Air, Kanon and Lucky Star).\n","title":"Clannad 1","type":"post"},{"content":"","date":"October 13, 2007","externalUrl":null,"permalink":"/tags/prism-ark/","section":"Tags","summary":"","title":"Prism Ark","type":"tags"},{"content":"From the already large backlog of new series, I recently watched the first episode of Prism Ark, an anime adaptation of the H-Game _PRISM ARK ~ PRISM HEART II ~ _by Pajamas Soft (I wonder how some Japanese companies get to choose their names\u0026hellip;). It is being directed by Masami Obari, who did Dancougar Nova the last season.\nThe first episode is entitled \u0026ldquo;Kishitachi no Senjo\u0026rdquo; (the battlefield of the knights) and starts off in medias res by showing two \u0026ldquo;knights\u0026rdquo; on patrol at what seems to be a boundary between two countries. Here we get to know the first (and only) male character from the cast, who was probably the player-controlled character in the game.\nHe and his female companion seem to have a mutual interest in each other, as they move to kiss, but as usual they get interrupted by the arrival of an \u0026ldquo;enemy\u0026rdquo;, another girl whose outfit resembles the one of a nun (by reading the credits I learnt her name was \u0026ldquo;Sister Hell\u0026rdquo;, so perhaps it\u0026rsquo;s not really a coincidence).\nThe two engage into battle and the scene suddenly shifts to the past, depicting a young girl and a boy \u0026ldquo;on holiday\u0026rdquo;(?) while they bump into another boy. As far as I know these flashbacks (interspersed throughout the episode) refer to the game\u0026rsquo;s prequel, PRISM HEARTS, and are supposed to give more information on the setting. Actually, the blonde girl shown is the main female character\u0026rsquo;s mother.\nBack to the present, the two battle with Sister Hell with some difficulty, when more characters (all female, of course) appear on the scene. One looks like a magical girl, while the other is dressed like a miko. Throughout the action there are more flashbacks, showing how the blonde girl got a crush on the boy she met \u0026ldquo;on holiday\u0026rdquo;. Nevertheless, the good guys barely handle the enemy, until another woman pops in, wielding two swords.\nThe direction of the action scenes resembles a lot some of the later _Dancougar Nova _episode, with shots like the one I posted here, or with the faces of the characters overlapping. It\u0026rsquo;s not a bad idea, as it makes rather standard scenes more interesting, at least from a visual point of view (though it\u0026rsquo;s nothing like what Akiyuki Shinbo does).\nSister Hell is not pleased with the reinforcements and calls upon a new, mecha-like entity. Meanwhile the flashbacks show the blonde girl going \u0026ldquo;away\u0026rdquo; and the boy getting her pocket watch, something which is important according to the opening credits. Years later, she is saddened by the loss of a relative/friend, and decides to become a knight.\nAnd a few scenes later we get a glimpse of this anime\u0026rsquo;s origins, as the boy from the past (now grown up), unexpectedly catches his old friend when she\u0026rsquo;s taking a bath in a pond. Back to the present, the group barely manages to destroy the mecha-like entity with a coordinated effort. However, Sister Hell as a whole army of them. Unfazed, they just charge at them.\nThis is how the first episode ends, and it looks like (from the \u0026ldquo;next episode\u0026rdquo; clip) that now a long flasback will start explaining why the characters got there. Visually speaking, Prism Ark is average, with a good character design (but sometimes a little too geometric) and a good animation quality, though I want to see if it holds up in the next episodes.\nStory wise there isn\u0026rsquo;t much to say. Only later episodes will tell if it\u0026rsquo;s good or not. Certainly it\u0026rsquo;s not ground breaking, but it may have the potential for being at least fun. I\u0026rsquo;ll keep on watching and see what happens.\n","date":"October 13, 2007","externalUrl":null,"permalink":"/2007/10/prism-ark-1/","section":"Posts","summary":"From the already large backlog of new series, I recently watched the first episode of Prism Ark, an anime adaptation of the H-Game _PRISM ARK ~ PRISM HEART II ~ _by Pajamas Soft (I wonder how some Japanese companies get to choose their names…). It is being directed by Masami Obari, who did Dancougar Nova the last season.\n","title":"Prism Ark 1","type":"post"},{"content":"I just read from Weblog Tools Collection that CollegeScholarships.org is hosting a vote for a round of $10,000 blogging scholarships. Now, I may be a little out of the \u0026ldquo;Web 2.0\u0026rdquo; trend (actually for me \u0026ldquo;2.0\u0026rdquo; does not relate to Tim O\u0026rsquo;Reilly\u0026rsquo;s buzzword, but to real and interesting technologies like the Semantic Web), but I find this absurd.\nI mean, I have no doubts that the people listed there have made interesting blogs. But I would rather give a scholarship based on merit rather than the mere act of blogging something \u0026ldquo;interesting\u0026rdquo;. Don\u0026rsquo;t get me wrong, blogging can be fun and has its uses (see scientific blogging) but for heaven\u0026rsquo;s sake, this is a little overboard.\nLike \u0026ldquo;pro\u0026rdquo; blogging or all that SEO stuff, I think people are taking this activity a little too seriously.\n","date":"October 12, 2007","externalUrl":null,"permalink":"/2007/10/blogging-scholarships/","section":"Posts","summary":"I just read from Weblog Tools Collection that CollegeScholarships.org is hosting a vote for a round of $10,000 blogging scholarships. Now, I may be a little out of the “Web 2.0” trend (actually for me “2.0” does not relate to Tim O’Reilly’s buzzword, but to real and interesting technologies like the Semantic Web), but I find this absurd.\nI mean, I have no doubts that the people listed there have made interesting blogs. But I would rather give a scholarship based on merit rather than the mere act of blogging something “interesting”. Don’t get me wrong, blogging can be fun and has its uses (see scientific blogging) but for heaven’s sake, this is a little overboard.\n","title":"Blogging scholarships!?","type":"post"},{"content":"","date":"October 12, 2007","externalUrl":null,"permalink":"/tags/seo/","section":"Tags","summary":"","title":"SEO","type":"tags"},{"content":"","date":"October 12, 2007","externalUrl":null,"permalink":"/tags/web2.0/","section":"Tags","summary":"","title":"Web2.0","type":"tags"},{"content":"After some thoughts, I switched dennogumi.org to the dKret theme. Please report any errors you may find. The header is the default image, but it will be changed soon (hint: Melissa, you already know what to do\u0026hellip;).\n","date":"October 11, 2007","externalUrl":null,"permalink":"/2007/10/new-theme/","section":"Posts","summary":"After some thoughts, I switched dennogumi.org to the dKret theme. Please report any errors you may find. The header is the default image, but it will be changed soon (hint: Melissa, you already know what to do…).\n","title":"New theme","type":"post"},{"content":"Today I started working on a data set published on GEO. As the sample data were somehow inconsistent (they mentioned 23 controls when I found 28), I decided to parse the SOFT file from GEO in order to get the exact sample information.\nI did a grave mistake. First of all, Biopython\u0026rsquo;s SOFT parser is horribly broken (doesn\u0026rsquo;t work at all) and quite undocumented: I could work around the lack of documentation (API docs) but not with the fact that it wouldn\u0026rsquo;t work. So I turned to R, which offers a GEO query module through Bioconductor.\nAgain that proved to be a terrible mistake. For a file containing 183 samples, the analysis is going on since four hours and with no sign of completing anytime soon (not to mention a possible memory leak). After this, I gave up. I\u0026rsquo;m going to get the reduced data sheet and write a small parser in Python myself.\nWhat is frustrating is the lack of quality: I could concentrate on my own work rather than reinventing the wheel for the nth time if the existing implementations worked. What\u0026rsquo;s the point in releasing non-working software? I could understand bugs, but this is one step further.\n","date":"October 9, 2007","externalUrl":null,"permalink":"/2007/10/soft-file-woes/","section":"Posts","summary":"Today I started working on a data set published on GEO. As the sample data were somehow inconsistent (they mentioned 23 controls when I found 28), I decided to parse the SOFT file from GEO in order to get the exact sample information.\nI did a grave mistake. First of all, Biopython’s SOFT parser is horribly broken (doesn’t work at all) and quite undocumented: I could work around the lack of documentation (API docs) but not with the fact that it wouldn’t work. So I turned to R, which offers a GEO query module through Bioconductor.\n","title":"SOFT file woes","type":"post"},{"content":"I\u0026rsquo;ve recently upgraded this blog to Wordpress 2.3. While I\u0026rsquo;m interested in the new changes this release brings (like tagging support) I question the way the transition to the new version was handled.\nIn particular, I am referring to the (questionable) idea of breaking the database schema three weeks before the release. Given the amount of breakage that brought upon plugins, it should have been announced at the start of the 2.3 development cycle. Right now, heavily customized installations are a pain to update (that\u0026rsquo;s why The S.T.E.A.L. Saga is staying on 2.2 for now).\nI think the WP guys should look at how bigger projects like GNOME or KDE are handled regarding such aspects. They can\u0026rsquo;t really expect to break an API every release, can they?\nOn a related topic, I\u0026rsquo;m thinking of changing the theme of this blog. Has anyone got any recommendations?\n","date":"October 7, 2007","externalUrl":null,"permalink":"/2007/10/unimpressive-management-wordpress-2.3/","section":"Posts","summary":"I’ve recently upgraded this blog to Wordpress 2.3. While I’m interested in the new changes this release brings (like tagging support) I question the way the transition to the new version was handled.\nIn particular, I am referring to the (questionable) idea of breaking the database schema three weeks before the release. Given the amount of breakage that brought upon plugins, it should have been announced at the start of the 2.3 development cycle. Right now, heavily customized installations are a pain to update (that’s why The S.T.E.A.L. Saga is staying on 2.2 for now).\n","title":"Unimpressive management: Wordpress 2.3","type":"post"},{"content":"","date":"October 4, 2007","externalUrl":null,"permalink":"/tags/affymetrix/","section":"Tags","summary":"","title":"Affymetrix","type":"tags"},{"content":"Today I was looking for an easy way to do some calculations of raw expression data on Affymetrix arrays, but I didn\u0026rsquo;t want to use R: I have already mentioned how I don\u0026rsquo;t like its design and implementation. While looking for some documentation, I stumbled upon this nifty little program called RMAExpress.\nLet me first say what RMA is about: it stands for \u0026ldquo;Robust Multi-array Average\u0026rdquo; and is a model-based quantification method for Affymetrix arrays, originally developed by Irizarry et al. It has a number of advantages over the Microarray Analysis Suite 5 (MAS5) algorithm used by Affymetrix software, especially with weakly expressed transcripts. It is commonly made up of three steps: background correction, quantile normalization and median polish.\nRMAExpress is a C++, GUI-based program (using wxWidgets) that performs this process. The main advantage over the various R implementations is speed, as R doesn\u0026rsquo;t really excel in this regards. You can adjust the various RMA parameters, and you can also view the model representations, to see if some areas on the array perform differently (e.g., when there are irregularities in the signal intensities).\nWhat I liked best is that you can use custom chip definition files (CDFs). Dai et al. have already shown that old 3\u0026rsquo; GeneChips have outdated annotations, and have proposed new CDFs to compensate. We have already tested their improvement and it gives a nice increase in the number of annotated genes. RMAExpress processes these CDFs just fine.\nFinally, you can export data either in log2 format (to use in procedures like SAM) or in absolute form (which I need for my work). The program is extremely light and processes a good number of arrays fairly quickly. Windows users have a pre-built binary, while Linux ones need to build sources. The instructions on the page are overly complicated: here\u0026rsquo;s how I managed to build it on Kubuntu:\n[code lang=\u0026ldquo;c\u0026rdquo;]\nsudo aptitude install libwxtgk2.8-dev mkdir tmp cd tmp tar xvzf /path/to/RMAExpress_1.0beta3_src.tar.gz make all\n[/code]\nAfter that, just run RMAExpress from its directory.\nAfter all, I\u0026rsquo;m quite pleased with the program and I will keep using it in the future.\n","date":"October 4, 2007","externalUrl":null,"permalink":"/2007/10/easy-rma-rmaexpress/","section":"Posts","summary":"Today I was looking for an easy way to do some calculations of raw expression data on Affymetrix arrays, but I didn’t want to use R: I have already mentioned how I don’t like its design and implementation. While looking for some documentation, I stumbled upon this nifty little program called RMAExpress.\n","title":"Easy RMA: RMAExpress","type":"post"},{"content":"After some thought, I\u0026rsquo;ve joined the fray and installed the beta version of Kubuntu 7.10 (Gutsy Gibbon) on one of my computers. It hasn\u0026rsquo;t too recent hardware (AMD Thunderbird 2100+, 512 Mb RAM and a motherboard with a Nforce 2 chipset), and it is my test system for distributions.\nIt ran Feisty Fawn, so I tried to use the upgrader tool, which crashed when removing unsupported packages. Oh well, it was a beta, so nothing to worry about (the only worry was that it didn\u0026rsquo;t output anything at all). I then tried dist-upgrading and again the process failed due to file ownership conflicts: I solved that with some fiddling, but again nothing to worry about too much.\nThe third try went well, so I now have a working system. It hasn\u0026rsquo;t changed much, but it feels OK, and is quite stable (I even managed to fix strange Kopete crashes). I\u0026rsquo;ll keep on testing, and see how it turns out.\nAs for my laptop\u0026hellip; I won\u0026rsquo;t update it until the final version is out, as I do my thesis writing there.\n","date":"October 1, 2007","externalUrl":null,"permalink":"/2007/10/gutsy-gibbon-beta/","section":"Posts","summary":"After some thought, I’ve joined the fray and installed the beta version of Kubuntu 7.10 (Gutsy Gibbon) on one of my computers. It hasn’t too recent hardware (AMD Thunderbird 2100+, 512 Mb RAM and a motherboard with a Nforce 2 chipset), and it is my test system for distributions.\nIt ran Feisty Fawn, so I tried to use the upgrader tool, which crashed when removing unsupported packages. Oh well, it was a beta, so nothing to worry about (the only worry was that it didn’t output anything at all). I then tried dist-upgrading and again the process failed due to file ownership conflicts: I solved that with some fiddling, but again nothing to worry about too much.\n","title":"Gutsy Gibbon Beta","type":"post"},{"content":"","date":"September 28, 2007","externalUrl":null,"permalink":"/tags/artwork/","section":"Tags","summary":"","title":"Artwork","type":"tags"},{"content":"","date":"September 28, 2007","externalUrl":null,"permalink":"/tags/flame/","section":"Tags","summary":"","title":"Flame","type":"tags"},{"content":"","date":"September 28, 2007","externalUrl":null,"permalink":"/tags/moralism/","section":"Tags","summary":"","title":"Moralism","type":"tags"},{"content":"I was thinking about writing something on the line of what I announced in the past entry, but what has happened recently surrounding the artist who does the work for The S.T.E.A.L. Saga, that is Too, made me change my mind.\nPeople sometimes wonder why I dislike \u0026ldquo;social networking\u0026rdquo; and \u0026ldquo;community sites\u0026rdquo; on the Internet. The reason is that many people who go there are often in their teens and they can easily turn into a lynch mob. It has happened before with the Blue Gartr versus FFXIclopedia fiasco, and it has happened a few days ago with Too.\nBasically, someone started posting an image which allegedly reported many similarities between his work and other ones. While the resemblance was in some case done purposely (as written by Too himself in the notes), in most it was sketchy if totally absent. That was enough to start some voices (a minority genuinely concerned, a majority because they had nothing better to do) to yell \u0026ldquo;Reference! Reference! Kill!\u0026rdquo;. Worse, people started asking refunds for his Genesis artbook because it contained \u0026ldquo;reference\u0026rdquo; material. Not to mention insults and general hatred. Recently posts have been claiming that he also lied about his career.\nWhen I pointed those people to the gallery on stealsaga.net to try and spot \u0026ldquo;references\u0026rdquo; in the illustrations he did for us, people either dodged the questions or just indulged in ad hominem attacks, up to the point of saying that they \u0026ldquo;felt sorry\u0026rdquo; for me and my brother to have hired him, that we were foolish to believe, etc.\nHowever, there are a number of problems with that. First of all, \u0026ldquo;respect\u0026rdquo; on the Internet for certain types of communities can mean absolutely nothing, if the mob turns against you, you will be submerged in a sea of hate speech. Second, people babble a lot about proof, about \u0026ldquo;knowing the truth\u0026rdquo;, but no one has shown me proof when I asked for it. Folks, you should read up on SCO vs IBM. They sued IBM for a lot of money telling about unspecified \u0026ldquo;intellectual property\u0026rdquo; (goodness I hate that term) in Linux: they never showed any evidence and their case is now failing completely. Same here: put up, or shut up.\nThird, I am baffled by the incredible amount of moralism of these messages. These people, as I have already said, have nothing better to do. \u0026ldquo;Whoever is without sin, throw the first rock\u0026rdquo;, the Gospel says. I think it is a fitting definition: those people act like they\u0026rsquo;re on a moral high ground, yet probably they\u0026rsquo;re probably even worse than who they\u0026rsquo;re trying to \u0026ldquo;moralize\u0026rdquo;. The worst was seen with so-called friends, who said they were \u0026ldquo;angry\u0026rdquo; for this.\nFrankly, do you call yourselves \u0026ldquo;friends\u0026rdquo; if something this stupid is bothering you? Let me give you a friendly advice: stop pestering the man, and do not call yourselves friends. You\u0026rsquo;re just a bunch of hypocrites.\nLet me also say something. I **do not care_ _**if Too had said lies. He acted professionally with me, and delivered high quality art. That is what it matters, not the nameless opinion of a hundred sheep on the Internet.\n","date":"September 28, 2007","externalUrl":null,"permalink":"/2007/09/the-internet-lynch-mob/","section":"Posts","summary":"I was thinking about writing something on the line of what I announced in the past entry, but what has happened recently surrounding the artist who does the work for The S.T.E.A.L. Saga, that is Too, made me change my mind.\n","title":"The Internet lynch mob","type":"post"},{"content":"Recently I haven\u0026rsquo;t had the time to write any decent entries. That is due to the fact that my Ph.D. thesis needs to be completed by Oct 18th, and while I\u0026rsquo;m (hopefully) on track I still have to finish correcting the Introduction and completing the Discussion section (lots of scientific literature to study\u0026hellip;). As I\u0026rsquo;m working on that even on weekends, it means I really have little free time.\nNot all\u0026rsquo;s lost. I plan writing a few posts in the next days, one regarding the recent release of Wordpress 2.3 and another on the Nanoha StrikerS DVDs.\n","date":"September 26, 2007","externalUrl":null,"permalink":"/2007/09/an-update/","section":"Posts","summary":"Recently I haven’t had the time to write any decent entries. That is due to the fact that my Ph.D. thesis needs to be completed by Oct 18th, and while I’m (hopefully) on track I still have to finish correcting the Introduction and completing the Discussion section (lots of scientific literature to study…). As I’m working on that even on weekends, it means I really have little free time.\nNot all’s lost. I plan writing a few posts in the next days, one regarding the recent release of Wordpress 2.3 and another on the Nanoha StrikerS DVDs.\n","title":"An update","type":"post"},{"content":"As most people know already, Square Enix has put a new trailer of Wings of the Goddess on their web page, which has been updated as well. Unlike Treasures of Aht Urghan, it looks that story-driven content will be more present. Also, the trailer shows much more of the story than ToAU\u0026rsquo;s (and apparently, new weapon skills!): I hope it is an indication that Square Enix has learnt from the problems of the previous expansions.\nA new job has also been announced, the Dancer. I doubt I\u0026rsquo;ll be leveling it, though. Generally speaking, the trailer has piqued my interest and I look forward to seeing the new expansion (out on November 20th).\n","date":"September 22, 2007","externalUrl":null,"permalink":"/2007/09/new-wings-of-the-goddess-trailer/","section":"Posts","summary":"As most people know already, Square Enix has put a new trailer of Wings of the Goddess on their web page, which has been updated as well. Unlike Treasures of Aht Urghan, it looks that story-driven content will be more present. Also, the trailer shows much more of the story than ToAU’s (and apparently, new weapon skills!): I hope it is an indication that Square Enix has learnt from the problems of the previous expansions.\n","title":"New Wings of the Goddess trailer","type":"post"},{"content":"The title of this post tries to give some insight on a problem that I\u0026rsquo;ve stumbled upon a lot of problems when doing microarray data analysis: the plethora of different file formats. In \u0026ldquo;conventional\u0026rdquo; (as I call it) bioinformatics this is less problematic, as FASTA or PDB are quite standardized by now.\nIn microarray studies, I keep on seeing attempts to reinvent the wheel. Some are caused by technology: log2 ratio works with two-color arrays but it has absolutely no sense on one-color Affymetrix arrays (well, except on SNP arrays when used for copy number analysis, mostly to mimic arrayCGH). Others, however, are often created for the needs of specific software. The problem is that, like in the tower of Babel, these formats don\u0026rsquo;t play well together. I ran into this when working for my thesis, as I got three different data sets and they were rather different in format. The only solution was to write scripts that would handle the conversions. When you have dozens of different data sources, it quickly becomes annoying.\nA related problem is the one of annotation. Affymetrix uses its own IDs, so does Illumina, others use UniGene clusters or Entrez Gene IDs\u0026hellip; again meta-analysis becomes a daunting task. Luckily a few programs convert all the IDs to a single format (e.g., Ensembl) but not always perfectly (FatiGO Plus discards \u0026ldquo;ambiguous\u0026rdquo; - genes with more than one Ensembl ID - genes, for example). Even raw data suffers from this, considering that there are different normalization and quantification algorithms (MAS5, PLIER, RMA just to name a few\u0026hellip;).\nBrazma et al. proposed the MIAME specification a few years ago. It was a step in the right direction, though MAGE-ML in my opinion was somewhat overkill (therefore I\u0026rsquo;m not surprised to see MAGE-TAB, a tab-delimited format, being pushed now). However, it didn\u0026rsquo;t help that unlike Array Express, Gene Expression Omnibus did not adhere to MIAME at first and instead pursued its own format (SOFT).\nI don\u0026rsquo;t see a clear solution to this problem soon, but I still believe that where possible, we, the bioinformatics people, should work hard to make the lives easier for our colleagues by re-using existing standards and formats if possible. *[SNP]: Single Nucleotide Polymorphism *[arrayCGH]: array Comparative Genomic Hybridization\n","date":"September 19, 2007","externalUrl":null,"permalink":"/2007/09/the-tower-of-babel-of-bioinformatics/","section":"Posts","summary":"The title of this post tries to give some insight on a problem that I’ve stumbled upon a lot of problems when doing microarray data analysis: the plethora of different file formats. In “conventional” (as I call it) bioinformatics this is less problematic, as FASTA or PDB are quite standardized by now.\n","title":"The tower of Babel of bioinformatics","type":"post"},{"content":"Yesterday I got word that the FFXI Encyclopedia, a wiki that I often go to read up on information and occasionally contribute, had been defaced. Apparently someone named \u0026ldquo;Taj\u0026rdquo; had hijacked the administrator account to change the main page to a short, anger-filled post that pointed to a discussion to the web site of Taj\u0026rsquo;s linkshell, the extremely famous \u0026ldquo;Urdr of the Blue Gartr\u0026rdquo;.\nI\u0026rsquo;m not going to post the link here, as I believe the whole discussion is probably one of the biggest piles of drivel I have ever seen online. Reading a related thread on Allakhazam I learnt that this Taj guy not only defaced the wiki, but also published personal communications and emails\u0026hellip; assuming that what he did is true. The accusation was that the Wiki administrators used the money obtained through a fundraiser for their own personal means while they \u0026ldquo;sold out\u0026rdquo; to Wikipedia\u0026rsquo;s per-profit sister, Wikia.\nLet me say that I\u0026rsquo;m absolutely disgusted by the reactions: a lot were about \u0026ldquo;Taj is a hero\u0026rdquo;, \u0026ldquo;Taj = Robin Hood\u0026rdquo; and the like. No one bothered to seek indipendent confirmation, they just spat out whatever they wanted to say. Not to mention that whatever the motives might have been, this \u0026ldquo;Taj\u0026rdquo; has obviously violated the law, while at best the Wiki administrator may have just shown bad ethics. So who is at fault here?\nThings got worse this morning when the Wiki was down due to a (probable) dDoS attack followed by hijacking attempts (the forums are still disabled). I am really amazed at the amount of idiocy shown by these actions: spewing poison on forums is displeasing, but resorting en masse to illegal means is just too much.\nI don\u0026rsquo;t know how things went, but this event just increased the disgust I have for BG: a self-righteous community that thinks that they\u0026rsquo;re \u0026ldquo;elite\u0026rdquo; when they\u0026rsquo;re at best mediocre. I even heard they want to start their own wiki: for little that they are, they will not see any contributions from me.\nLast but not least, have people forgot that it\u0026rsquo;s a game? As I wrote previously, a lot of people need to get a life.\n","date":"September 17, 2007","externalUrl":null,"permalink":"/2007/09/idiocy-at-its-maximum/","section":"Posts","summary":"Yesterday I got word that the FFXI Encyclopedia, a wiki that I often go to read up on information and occasionally contribute, had been defaced. Apparently someone named “Taj” had hijacked the administrator account to change the main page to a short, anger-filled post that pointed to a discussion to the web site of Taj’s linkshell, the extremely famous “Urdr of the Blue Gartr”.\n","title":"Idiocy at its maximum","type":"post"},{"content":"At last, I\u0026rsquo;ve made it! Last Wednesday my group took on the last mission of this expansion, \u0026ldquo;Nashmeira\u0026rsquo;s Plea\u0026rdquo;. I was expecting something as tough as Dawn from Chains of Promathia, but that wasn\u0026rsquo;t the case.\nThe battle has a 45 minute limit and is split into two phases. In the first, you have to fight a Blue Mage called Raubahn and the Grand Vizier Razfahd in the Iron Colossus armor. Raubahn is the real nuisance here, because his Eyes on Me blue magic can cause really high damage, and because he reraises twice after being defeated.\nAs a matter of fact, our first try was terrible, with me and Daman biting the dust really fast. We then retried, and by alternating use of the Stun spell we managed to block Eyes on Me a lot of times. Razfahd was really weak, therefore we brought him down to 50% really fast.\nThen, Alexander, the real thing, appeared on the scene! Our strategy was to keep me at distance holding him, while Daman (BLM), Necronemesi (RNG) and Sechs (MNK) attacked it from behind (he does not move). On a side, Eithin (WHM) and Mitsuashi (RDM/DRK) dealt with cures and other spells.\nAlexander spammed his Radiant Sacrament move, but I was able to survive until his HP reached 50%. Then he used his special move, Divine Judgment, but surprisingly it didn\u0026rsquo;t kill me. I quickly used a vile elixir to gain some HP while Eithin healed me.\nThe last part was chaotic: I was out of MP, and enmity bounced a little among other members. Then Alexander started shooting Radiant Sacrament like a machine gun, and I had to use Invincible. That didn\u0026rsquo;t help with enmity, since Necronemesi got shot and died (he reraised later though). In the end, Sechs and Mitsuashi used their 2-hour abilities and Alexander was defeated.\nIt was a long and draining battle but nowhere as challenging as Promathia. Also the story has numerous holes and looks rushed, although it is nice and the direction is really well done. I want to see what Wings of the Goddess will offer.\nOf course, there is an obligatory movie. Almost 15 mins long, it also features a custom ending directed by my brother. Embedded video is below, otherwise you can get the high quality version (warning: it\u0026rsquo;s more than 120 Mb in size).\n[googlevideo]http://video.google.com/videoplay?docid=1471921486089285569[/googlevideo]\n","date":"September 16, 2007","externalUrl":null,"permalink":"/2007/09/treasures-of-aht-urghan-mission-44/","section":"Posts","summary":"At last, I’ve made it! Last Wednesday my group took on the last mission of this expansion, “Nashmeira’s Plea”. I was expecting something as tough as Dawn from Chains of Promathia, but that wasn’t the case.\n","title":"Treasures of Aht Urghan Mission 44","type":"post"},{"content":"After little more than a year, I\u0026rsquo;ve been moved to a new office, because new people needed to be put in the room I was in. The new place is slightly bigger (four desks instead of six) and for now quieter. I spent most of the morning fixing things and setting up network connections. This is how it looks now:\nOf course these distractions took time away from my thesis, but I\u0026rsquo;ve still managed to write a part of the last section, the discussion. I still have a long way to go before finishing, though.\n","date":"September 11, 2007","externalUrl":null,"permalink":"/2007/09/new-office/","section":"Posts","summary":"After little more than a year, I’ve been moved to a new office, because new people needed to be put in the room I was in. The new place is slightly bigger (four desks instead of six) and for now quieter. I spent most of the morning fixing things and setting up network connections. This is how it looks now:\nOf course these distractions took time away from my thesis, but I’ve still managed to write a part of the last section, the discussion. I still have a long way to go before finishing, though.\n","title":"New office","type":"post"},{"content":"It\u0026rsquo;s been a while since the update hit the servers, but I couldn\u0026rsquo;t get my static party up and in shape until last Wednesday. We had already done the introductory cutscenes, and we prepared for the fight (a Blue Mage and several Imperial Gears). My party was made up by Eithin (White Mage), Sechs (Puppetmaster), Necronemesi (Ranger), Mitsuashi (Red Mage) and Daman (Black Mage).\nThe idea was quite simple: one (me) would carry the Gears along, either Daman or Mitsuashi would sleep the Blue Mage (Amnaf), and then the others would pick the Gears one by one. However the first try was a total failure, due to mistakes also on my part.\nWe retried after getting the key item again and this time things went smoothly. Well, at least partially, since the Gears\u0026rsquo; moves are really annoying as they are area-based. Nevertheless (even with Naja Salaheem always picking the wrong targets) we managed to get Amnaf up to the third stage, the Soul Flayer.\nThat\u0026rsquo;s where it got bad. Soul Flayers suck a lot, especially this one. It had a magic shield up most of the time, so magic was essentially useless. Also, every hit from us caused curse, it had a strong dispelling ability and other annoying moves. We raced against the clock, and won with less than 30 seconds left.\nAfter all though, it was fun. I hadn\u0026rsquo;t that much fun in the game in a long time, and I\u0026rsquo;m looking forward to mission 44, where the final battle with Alexander will take place. I will try it next Wednesday.\nOf course, my brother has provided a video of the mission. You can either watch it embedded below, or download a higher resolution version.\n[googlevideo]http://video.google.com/videoplay?docid=-4795807965859545536[/googlevideo]\n","date":"September 7, 2007","externalUrl":null,"permalink":"/2007/09/treasures-of-aht-urghan-mission-42/","section":"Posts","summary":"It’s been a while since the update hit the servers, but I couldn’t get my static party up and in shape until last Wednesday. We had already done the introductory cutscenes, and we prepared for the fight (a Blue Mage and several Imperial Gears). My party was made up by Eithin (White Mage), Sechs (Puppetmaster), Necronemesi (Ranger), Mitsuashi (Red Mage) and Daman (Black Mage).\n","title":"Treasures of Aht Urghan Mission 42","type":"post"},{"content":"At the time of writing, a lot of people (even in bioinformatics) uses Microsoft Word to write their papers. I personally think it\u0026rsquo;s not a good idea, and not just for the file formats (like Microsoft lobbying semi-legally to get OOXML approved by ISO), but because for scientific papers the WYSIWYG paradigm is not appropriate.\nScientific papers describe content, and a scientist should not be concerned with formatting, spacing, and similar things. The same applies to handling references (I still see a lot of people who label them manually!). Not to mention the problems with using a binary format which changes between releases and is not interoperable with non-Windows OSes (90% of our bioinformatics people, me included, uses Linux).\nThe solution? Using a document preparation system which handles all the formatting and the author needs only to focus on content. Personally I\u0026rsquo;m rather fond of LaTeX despite its seemingly odd syntax. Some critics may say that \u0026ldquo;it\u0026rsquo;s like a programming language\u0026rdquo; but that\u0026rsquo;s no excuse: programs like LyX (which wrap LaTeX around a GUI) make LaTeX much more user friendly and are useful also to less computer-savy people. LaTeX also handles references to tables and figures, numbers them automatically and handles the bibliography using text-based bibliography files (and unlike Endnote, it\u0026rsquo;s free). The output is a high-quality PDF that can also be supplied to most journals without hassle. I\u0026rsquo;m using LaTeX to write my fiction books and also for my Ph.D. thesis.\nSo why keep using Microsoft Word? People who do science should not be scared of trying something new, especially if it will increase their productivity. *[WYSIWYG]: What You See Is What You Get\n","date":"September 1, 2007","externalUrl":null,"permalink":"/2007/09/science-and-microsoft-word/","section":"Posts","summary":"At the time of writing, a lot of people (even in bioinformatics) uses Microsoft Word to write their papers. I personally think it’s not a good idea, and not just for the file formats (like Microsoft lobbying semi-legally to get OOXML approved by ISO), but because for scientific papers the WYSIWYG paradigm is not appropriate.\n","title":"Science and Microsoft Word","type":"post"},{"content":"","date":"August 29, 2007","externalUrl":null,"permalink":"/tags/fate/stay-night/","section":"Tags","summary":"","title":"Fate/Stay Night","type":"tags"},{"content":"","date":"August 29, 2007","externalUrl":null,"permalink":"/tags/saber/","section":"Tags","summary":"","title":"Saber","type":"tags"},{"content":"I\u0026rsquo;m back from holidays, and when I got back I found the Saber Revoltech figure I had preordered in May (!) in the mail. This is the package when I pulled it out from the box it came in (apologies for the image quality, I only had my mobile phone to take it):\nAccording to the description, Revoltech is a system which uses joints of various nature to enable movement of the various parts of the figure. This theoretically enables the user to set nice and dynamic poses with relative ease. So, I proceeded to open the box:\nInside we have Saber from Fate/stay Night (well, obviously) in her Servant armor. Along with that there is her sword, which actually comes in two flavors, the visible and the transparent one.\nI spent a bit figuring out how the joints worked and all, because getting a decent pose that would not fall is not easy as it seems. Thankfully, I managed to get this, and I put this figure over my desk:\nI\u0026rsquo;m quite happy with the quality of the parts, despite being 100% plastic. Definitely a good buy.\n","date":"August 29, 2007","externalUrl":null,"permalink":"/2007/08/saber-revoltech-figure/","section":"Posts","summary":"I’m back from holidays, and when I got back I found the Saber Revoltech figure I had preordered in May (!) in the mail. This is the package when I pulled it out from the box it came in (apologies for the image quality, I only had my mobile phone to take it):\n","title":"Saber Revoltech figure","type":"post"},{"content":"I haven\u0026rsquo;t been able to post much recently, mostly because I\u0026rsquo;ve been quite busy regarding my thesis and work and because I\u0026rsquo;m preparing everything for the holidays. I\u0026rsquo;ll be leaving on August 3rd for Rome, and after a week\u0026rsquo;s stay, I\u0026rsquo;ll go to the sea until August 26th. Unfortunately I\u0026rsquo;ll have to bring my work with me to do something as I\u0026rsquo;m a little behind in writing the thesis.\nDue to the holidays, I won\u0026rsquo;t be able to update here regularly (if any), however I\u0026rsquo;ll try to post one last entry before leaving.\n","date":"August 2, 2007","externalUrl":null,"permalink":"/2007/08/holidays/","section":"Posts","summary":"I haven’t been able to post much recently, mostly because I’ve been quite busy regarding my thesis and work and because I’m preparing everything for the holidays. I’ll be leaving on August 3rd for Rome, and after a week’s stay, I’ll go to the sea until August 26th. Unfortunately I’ll have to bring my work with me to do something as I’m a little behind in writing the thesis.\nDue to the holidays, I won’t be able to update here regularly (if any), however I’ll try to post one last entry before leaving.\n","title":"Holidays","type":"post"},{"content":"","date":"July 27, 2007","externalUrl":null,"permalink":"/tags/nanoha/","section":"Tags","summary":"","title":"Nanoha","type":"tags"},{"content":" Today I got the first Maho Shojo Lyrical Nanoha StrikerS R2 DVD in the mail. Even though I haven\u0026rsquo;t watched it properly yet (I plan on doing so tomorrow) I can say I\u0026rsquo;m already impressed. Usually Japanese DVDs are little more than improved video tapes: they provide just the bare minimum (and not for a cheap price). However, this is not the case with Nanoha StrikerS.\nFirst of all, the packaging: I got the special first-press edition, and it has a rather nice box-like cardboard housing. Inside not only we get the DVD itself, but also a CD with a mini-OST. Along with that there is a booklet (about 10 pages) with settei and also a glossary of the terms used in the series. Finally, there are two ID cards, one for Subaru and one for Nanoha:\nA nice A4 poster with the young and older Nanoha was also present with the DVD. I cant\u0026rsquo; really show images of that as it\u0026rsquo;s too big to fit on my scanner, and I am not too well versed in stitching partial scans together.\nWhat about the content? It has been known (and posted elsewhere) that the animation has been redone in a few places. I need to verify that personally, so expect updates in the next few days. What I know is that the DVD also contains extras (another rare thing in the land of the rising sun), mainly an interview with Nanoha and Subaru\u0026rsquo;s seiyuu, along with footage from a Nanoha event.\nSo, what to say up to now? I\u0026rsquo;m pleasantly surprised that for a change this DVD provides some extra value for its money (5,800 yen isn\u0026rsquo;t cheap). I will be sure to follow up with opinions on the content itself.\n","date":"July 27, 2007","externalUrl":null,"permalink":"/2007/07/nanoha-strikers-dvd-1/","section":"Posts","summary":" Today I got the first Maho Shojo Lyrical Nanoha StrikerS R2 DVD in the mail. Even though I haven’t watched it properly yet (I plan on doing so tomorrow) I can say I’m already impressed. Usually Japanese DVDs are little more than improved video tapes: they provide just the bare minimum (and not for a cheap price). However, this is not the case with Nanoha StrikerS.\n","title":"Nanoha StrikerS DVD 1","type":"post"},{"content":"The title comes from some random thoughts I had while reading aseigo\u0026rsquo;s latest entry on Plasma. I was thinking about the line \u0026ldquo;who uses KDE for his/her day job, and why?\u0026rdquo;, but related perhaps to people who don\u0026rsquo;t code for a living. Here I will illustrate my point of view on why I chose KDE as my day to day desktop environment.\nIt\u0026rsquo;s not like I started on KDE at all: back in 1995, when I first tried Linux out, I used fwvm, and didn\u0026rsquo;t quite get used to its way of doing things. When I returned to the penguin OS a few years later, I installed a copy of Red Hat (I think it was RH 6, but I\u0026rsquo;m not sure). It came with GNOME and Enlightement as the window manager. For a long time I used that desktop environment, but:\nIt felt somewhat \u0026lsquo;\u0026lsquo;alien\u0026rsquo;\u0026rsquo; to me;\nAdmittedly it was still in its infancy, so not quite sophisticated\nLater I got to try a copy of SUSE 6.4, which came with either KDE or GNOME. I tried KDE (back in its 1.x days) and I thought \u0026ldquo;how ugly!\u0026rdquo;, so I returned to GNOME. This went on for a while, until I got Mandrake (now Mandriva) 7.2.\nMandrake offered packages for the then new KDE 2. I admit that I was blown away by the change, everything was much better than what it used to be! Still, it had a lot of quirks, but I soon started getting familarised with the platform. What I liked best was the integration of features, still in its infancy but on the way to become something interesting.\nKDE 3 then came, and while it looked \u0026ldquo;less revolutionary\u0026rdquo;, it brought integration at a whole new level. I still used GNOME from time to time, but the feature removal was not what I wanted (even though I\u0026rsquo;m not as much of a power user as I used to be), so I decided to see what KDE would bring.\nI first started using KDE for fun, but now I use it in my bioinformatics work every day. There are a number of applications I use constantly, such as KDevelop (it may be worse than eric for Python support but I find it a really nice IDE), Konqueror and its io-slaves (do I have to mention fish://?) , Kontact (I find its integration and features better than what Thunderbird has to offer), Amarok (for music in the boring moments) and Kate (a rather nice editor).\nAlso, other applications that are not part of KDE that I use constantly, and which fit into the DE perfectly are Kile, Yakuake and k3b.\nThe way everything is arranged, integrated and designed helps me in being quite productive, and even if there are quirks, they aren\u0026rsquo;t as annoying as some Windows bugs. I like the idea of a consistent DE, from file operations to looks to the way applications behave. When I get back to Windows, with its mess of non-standard widgets and UI operations, I cringe.\nSo, I would like to congratulate the whole KDE developer community for making an amazing piece of software and also for making my work easier. I am really interested in seeing how KDE 4 will shape out.\n","date":"July 21, 2007","externalUrl":null,"permalink":"/2007/07/why-kde/","section":"Posts","summary":"The title comes from some random thoughts I had while reading aseigo’s latest entry on Plasma. I was thinking about the line “who uses KDE for his/her day job, and why?”, but related perhaps to people who don’t code for a living. Here I will illustrate my point of view on why I chose KDE as my day to day desktop environment.\n","title":"Why KDE?","type":"post"},{"content":"The reason for this post is the time I wasted this afternoon to enable DMA for a DVD burner in Windows, in order to burn a backup DVD at a decent speed. Apparently, the two optical drives are IDE while the HD is on a SATA controller. For no reason, DMA got turned off on the DVD burner (but not on the other drive).\nOf course I tried everything I could, of course. It was very frustrating to reboot every time to test (probably due to the large hack called Registry) and of course not being able to get it working. Google searches did not get conclusive information, perhaps a BIOS bug or a firmware bug. On Linux, it\u0026rsquo;s just a matter of using\n[code lang=\u0026lsquo;c\u0026rsquo;]\nhdparm -d 1 drivename\n[/code]\nWhat\u0026rsquo;s the easiest way? Obscure options of the device manager (which lists SATA channels and IDE channels with the same name) that only say \u0026ldquo;DMA if available\u0026rdquo; with no option to check what went wrong, or a simple command that outputs the result of the operation in real time?\n","date":"July 20, 2007","externalUrl":null,"permalink":"/2007/07/who-said-windows-works-better/","section":"Posts","summary":"The reason for this post is the time I wasted this afternoon to enable DMA for a DVD burner in Windows, in order to burn a backup DVD at a decent speed. Apparently, the two optical drives are IDE while the HD is on a SATA controller. For no reason, DMA got turned off on the DVD burner (but not on the other drive).\nOf course I tried everything I could, of course. It was very frustrating to reboot every time to test (probably due to the large hack called Registry) and of course not being able to get it working. Google searches did not get conclusive information, perhaps a BIOS bug or a firmware bug. On Linux, it’s just a matter of using\n","title":"Who said Windows works better?","type":"post"},{"content":"The FFXI Encyclopedia has an interview with the Final Fantasy XI developers with regards to the upcoming expansion, Wings of the Goddess. Skimming through the lines, they give a lot of hints but no definitive answers. Sadly, there will be no barriers for missions, and no one asked about their length: Treasures of Aht Urghan had very short missions, often ridicolously easy, so I\u0026rsquo;d like a better challenge this time.\nAmong the other things mentioned, new jobs (I wonder if the usual people will start already complaining about \u0026ldquo;they suck for endgame! Boo hoo!\u0026rdquo;), a global adjustment of all the other classes (I\u0026rsquo;m hoping on an adjustment of Ninja as a subjob, probably the most abused subjob ever) and eve a hint on Tanaka\u0026rsquo;s new MMORPG, which is apparently still top secret.\nAlso, there was an annoucement of another fan festival: I wouldn\u0026rsquo;t mind going this time, providing I find the money.\n","date":"July 15, 2007","externalUrl":null,"permalink":"/2007/07/new-details-on-wotg/","section":"Posts","summary":"The FFXI Encyclopedia has an interview with the Final Fantasy XI developers with regards to the upcoming expansion, Wings of the Goddess. Skimming through the lines, they give a lot of hints but no definitive answers. Sadly, there will be no barriers for missions, and no one asked about their length: Treasures of Aht Urghan had very short missions, often ridicolously easy, so I’d like a better challenge this time.\nAmong the other things mentioned, new jobs (I wonder if the usual people will start already complaining about “they suck for endgame! Boo hoo!”), a global adjustment of all the other classes (I’m hoping on an adjustment of Ninja as a subjob, probably the most abused subjob ever) and eve a hint on Tanaka’s new MMORPG, which is apparently still top secret.\n","title":"New details on WoTG","type":"post"},{"content":"After giving in the summary of my thesis today, I also started writing the actual thing. Of course this is not something I will finish in a few days. It\u0026rsquo;s a long journey that will go on until I deliver it.\nAside that, I\u0026rsquo;ve been having some problems with R, a language which I really don\u0026rsquo;t like and I hope to use as less as possible. I was obtaining a list of differentially expressed genes (DEGs) out of some data files with SAM, and of course I had to supply a matrix with expression values for every gene.\nWhat I didn\u0026rsquo;t understand is why on Earth the package siggenes understands that, but when outputting the result (command sam2excel) it\u0026rsquo;s giving the row of the file where the gene is, instead of the actual gene. If I supplied the IDs, whatever they are, they should be added as well! But you can output those only with \u0026ldquo;list.siggenes\u0026rdquo; which of course doesn\u0026rsquo;t add the d-score I need\u0026hellip;\nIn general, I find R slow, clumsy and counter-intuitive. There are much better languages out there (and with better interactive shells), I can\u0026rsquo;t really understand why it is so popular among people who do bioinformatics\u0026hellip;\n","date":"July 12, 2007","externalUrl":null,"permalink":"/2007/07/full-speed-ahead/","section":"Posts","summary":"After giving in the summary of my thesis today, I also started writing the actual thing. Of course this is not something I will finish in a few days. It’s a long journey that will go on until I deliver it.\nAside that, I’ve been having some problems with R, a language which I really don’t like and I hope to use as less as possible. I was obtaining a list of differentially expressed genes (DEGs) out of some data files with SAM, and of course I had to supply a matrix with expression values for every gene.\n","title":"Full speed ahead","type":"post"},{"content":"Looks like my laptop doesn\u0026rsquo;t really want to keep its data in stable form. Like I have blogged previously, the bus-reset issue apparently trashed my root partition again. I do not know the cause as it seemed a normal shutdown\u0026hellip; but the moment I rebooted I had lost a lot of files (thankfully not on /home: I\u0026rsquo;m glad I keep data separated from the rest).\nReinstalling proved less difficult, thanks to a Kubuntu DVD I burnt with my other computer. However, I still had to tinker manually because of read errors (notice that this seems to be an issue with my DVD-ROM, rather than with the DVD itself). When those were unrecoverable, I manually changed the temporary sources.list to point to Internet mirrors and all was well.\nI still don\u0026rsquo;t know what causes such problems. I considered trying Gutsy Gibbon due to a new kernel, but being in alpha stage means it may get much worse bugs. I\u0026rsquo;m tempted to file a bug, but since there are a few othrs with similar issues, I have to check them first.\nWhat\u0026rsquo;s sure is that I\u0026rsquo;ll be using partimage to make images of my drive. It\u0026rsquo;ll be much easier to restore the configuration like that.\n","date":"July 8, 2007","externalUrl":null,"permalink":"/2007/07/-borked-again/","section":"Posts","summary":"Looks like my laptop doesn’t really want to keep its data in stable form. Like I have blogged previously, the bus-reset issue apparently trashed my root partition again. I do not know the cause as it seemed a normal shutdown… but the moment I rebooted I had lost a lot of files (thankfully not on /home: I’m glad I keep data separated from the rest).\nReinstalling proved less difficult, thanks to a Kubuntu DVD I burnt with my other computer. However, I still had to tinker manually because of read errors (notice that this seems to be an issue with my DVD-ROM, rather than with the DVD itself). When those were unrecoverable, I manually changed the temporary sources.list to point to Internet mirrors and all was well.\n","title":"/ borked (again)","type":"post"},{"content":"Recently, I had to do a few scans with my old but trusty BenQ 640BU. Given that I could not use any GUI due to a long-standing Feisty bug, I tried to settle for command line scanning with the scanimage command from SANE. The main problem is that scanimage only saves images in PNM or TIFF formats. I wanted to use JPEG or PNG, but apparently that looked impossible to do.\nInstead, I found that scanimage sends its results to standard output, and also that ImageMagick can accept standard input as source file, it was easy to convert on the fly:\n[code lang=\u0026lsquo;c\u0026rsquo;] scanimage \u0026ndash;format pnm | convert -format png - test.png [/code]\n\u0026ldquo;-\u0026rdquo; tells convert to use the standard input. Another great example of the power of the command line.\n","date":"July 4, 2007","externalUrl":null,"permalink":"/2007/07/command-line-scanning/","section":"Posts","summary":"Recently, I had to do a few scans with my old but trusty BenQ 640BU. Given that I could not use any GUI due to a long-standing Feisty bug, I tried to settle for command line scanning with the scanimage command from SANE. The main problem is that scanimage only saves images in PNM or TIFF formats. I wanted to use JPEG or PNG, but apparently that looked impossible to do.\nInstead, I found that scanimage sends its results to standard output, and also that ImageMagick can accept standard input as source file, it was easy to convert on the fly:\n","title":"Command line scanning","type":"post"},{"content":"According to the Anime News Network, Geneon Entertainment has bought the license for distributing Maho Shojo Lyrical Nanoha and Nanoha A\u0026rsquo;s in the United States.\nFans rejoice? I think not. Being outside of the USA market, I view things with a different approach. The companies here in Italy have all their problems, but to a certain degree they care about delivering to the user something more than just the episodes. Extras that can also be an incentive over downloading (illegally) over the Internet.\nHowever in the USA market not many care about such things. Geneon has a bad precedent (but don\u0026rsquo;t get me started on ADV\u0026hellip;) in this case, as they offered a \u0026ldquo;limited\u0026rdquo; edition of Fate/stay Night for $10 more\u0026hellip; while the \u0026ldquo;limited\u0026rdquo; only meant a DVD box. Come on, where\u0026rsquo;s the value for the money? Most of those DVDs aren\u0026rsquo;t cheap, anyway.\nI\u0026rsquo;ll be watching news for the releases, but as of now I\u0026rsquo;m more inclined towards R2 DVDs (I\u0026rsquo;ve already preordered the first StrikerS volume, by the way) than the USA version.\nUPDATE: I just read that ADV Films has got the rights for Devil May Cry. Given their record with production quality (i.e. abysmal), I\u0026rsquo;m not going to spend a single cent on that one. Not to mention that announcing the license now will not speed up the process to get it into the West\u0026hellip;\n","date":"June 30, 2007","externalUrl":null,"permalink":"/2007/06/nanoha-licensed-for-the-usa/","section":"Posts","summary":"According to the Anime News Network, Geneon Entertainment has bought the license for distributing Maho Shojo Lyrical Nanoha and Nanoha A’s in the United States.\nFans rejoice? I think not. Being outside of the USA market, I view things with a different approach. The companies here in Italy have all their problems, but to a certain degree they care about delivering to the user something more than just the episodes. Extras that can also be an incentive over downloading (illegally) over the Internet.\n","title":"Nanoha licensed for the USA","type":"post"},{"content":"Looks like NRK beat me to it, but I\u0026rsquo;ve seen this film myself yesterday night.\nTo be frank, I wasn\u0026rsquo;t really expecting a nice result. That is, because most Hollywood \u0026ldquo;conversions\u0026rdquo; from other franchises often end up being terrible (Street Fighter, anyone?). Nevertheless, having watched the animated series when I was little (it was good, despite some shortcomings), I was set on seeing Transformers since its original announcement.\nDespite not being related to the TV series, I found it to be rather good. The various CG effects for the robots are really well done, especially since they\u0026rsquo;re quite integrated with the rest of the scenes. I recognized the most famous robots (Megatron, Starscream, Optimus Prime, Bumblebee) but some others not, mainly because the Italian version used different names.\nWhat about the story? Well, being a film by Michael Bay, you can\u0026rsquo;t expect the tiniest amount of depth in a very linear storyline. Aside the (long) action sequences there are some \u0026ldquo;funny\u0026rdquo; moments that sometimes are a little too out of context, and of course a certain self-celebration of everything USA.\nDespite the shortcomings, the film is quite fun and watchable. The ending is rather open, so a sequel is likely to come up.\n","date":"June 30, 2007","externalUrl":null,"permalink":"/2007/06/transformers/","section":"Posts","summary":"Looks like NRK beat me to it, but I’ve seen this film myself yesterday night.\nTo be frank, I wasn’t really expecting a nice result. That is, because most Hollywood “conversions” from other franchises often end up being terrible (Street Fighter, anyone?). Nevertheless, having watched the animated series when I was little (it was good, despite some shortcomings), I was set on seeing Transformers since its original announcement.\nDespite not being related to the TV series, I found it to be rather good. The various CG effects for the robots are really well done, especially since they’re quite integrated with the rest of the scenes. I recognized the most famous robots (Megatron, Starscream, Optimus Prime, Bumblebee) but some others not, mainly because the Italian version used different names.\n","title":"Transformers","type":"post"},{"content":"The idea to blog about this common phenomenon came after I read a post over at Bioinformatics Zen on the matter of open science. There, Mike describes the situation quite clearly: mostly, you need a middle ground between complete secrecy and absolute openness.\nThat said, I still think science should be more open, at least in the field of life sciences. Publication should be a way to let others know, benefit and also build upon your work, not just a way to obtain funding or improve one\u0026rsquo;s career. The last two motives aren\u0026rsquo;t bad per se, but recently the philosophy of \u0026ldquo;publish or perish\u0026rdquo; is getting to an extreme.\nThis is particularly evident if you do high-profile research. When I still worked in the wet lab, a few years ago, everyone was in a frenzy to publish. They had good reason, but the competition was so fierce that sometimes there were contrasts even between people who were collaborating. It also affected the performance adversely, as rushed experiments did not always succeed.\nIn the field of bioinformatics, the situation is even worse, with a lot of software being published then abandoned, or algorithms published \u0026ldquo;for the sake of publishing\u0026rdquo; then abandoned. Publishing is seen as an end, not as a means of improving knowledge. In certain, extreme situations laboratories get so secretive they refuse to share even unsuccesful or unfruitful data.\nAll is lost? No, I think not. Thankfully, awareness about open science is raising. Nature Precedings is a good example of things to come.\n","date":"June 25, 2007","externalUrl":null,"permalink":"/2007/06/publish-or-perish/","section":"Posts","summary":"The idea to blog about this common phenomenon came after I read a post over at Bioinformatics Zen on the matter of open science. There, Mike describes the situation quite clearly: mostly, you need a middle ground between complete secrecy and absolute openness.\nThat said, I still think science should be more open, at least in the field of life sciences. Publication should be a way to let others know, benefit and also build upon your work, not just a way to obtain funding or improve one’s career. The last two motives aren’t bad per se, but recently the philosophy of “publish or perish” is getting to an extreme.\n","title":"Publish or perish","type":"post"},{"content":"Two weeks ago I went to a sea resort in Liguria, called Loano. While plagued by a cold, the hiliday was much needed to relax. Finally I\u0026rsquo;ve managed to scan the photos (I only had an one-use camera) and so I\u0026rsquo;ve put them online. Click on the thumbnail to get to the specific album.\n","date":"June 24, 2007","externalUrl":null,"permalink":"/2007/06/a-trip-to-the-sea/","section":"Posts","summary":"Two weeks ago I went to a sea resort in Liguria, called Loano. While plagued by a cold, the hiliday was much needed to relax. Finally I’ve managed to scan the photos (I only had an one-use camera) and so I’ve put them online. Click on the thumbnail to get to the specific album.\n","title":"A trip to the sea","type":"post"},{"content":"As the people who read my science related posts already know, I\u0026rsquo;m in the middle of doing meta-analysis. That brought up a problem, so to speak, and it\u0026rsquo;s related to annotations.\nProbes on microarrays are referenced to genes (to over-simplify): usually these references are made with the latest version of the genome available. As the map of the genome is not static, but it\u0026rsquo;s a moving target, these annotations tend to become obsolete. And that unfortunately leads to problems when you compare experiments made in different time frames.\nTo be precise, the papers I\u0026rsquo;m using the data from are from 2005 to 2006, but the actual experiments were performed earlier. One uses the annotation data from the Affymetrix HG-U133A chip, which (along with the whole HG-U133 family) have been proven to be outdated by Dai and coworkers. The other uses Entrez Gene identifiers, but some IDs are no longer valid or overlap.\nHow can such a situation be solved? For some experiments there\u0026rsquo;s nothing much to do, perhaps reannotate the IDs using an automated system (I believe this is possible), for others (Affy chips) the paper I linked gives a possible (and effective: we\u0026rsquo;ve tested it in our group) solution by creating new \u0026ldquo;meta-probes\u0026rdquo; that reflect the updated annotations.\nIn any case, you should be wary of that, should you want to compare different microarray datasets.\n","date":"June 20, 2007","externalUrl":null,"permalink":"/2007/06/data-handling/","section":"Posts","summary":"As the people who read my science related posts already know, I’m in the middle of doing meta-analysis. That brought up a problem, so to speak, and it’s related to annotations.\n","title":"Data handling","type":"post"},{"content":"On Wednesday we tried Mission 35 again and this time was a success. Daman was not present, but we\u0026rsquo;ll do another run for him on Sunday.\nWe still got a black mage as sixth member, and we approached Gessho again. The first time was a semi-disaster, as I could not hold our monk (Sechs) and also because Gessho used Mijin Gakure with all his clones out, decimating our party as a result. The second attempt was more conservative, I used Harmonia\u0026rsquo;s Torque (+3 Enmity) and High Breath Mantle (+5 Enmity) to keep the enemy on me, and also Sechs used the Kirin\u0026rsquo;s Osode in place of the Shura Togi.\nAll went well, generally speaking, until Gessho used Mijin Gakure. After that our RDM started with Chainspell but his macros lagged and he could not get Stun out, and Gessho called his clones. I had already used Invincible so I was just slaughtered, along with the WHM (Eithin) who had casted Curaga III just seconds before the clones appeared. Next was Sechs, though he damaged Gessho a lot with Hundred Fists. The BLM could only land one Blizzard IV before falling.\nAll was not lost though, as the RNG (Necronemesi) landed Eagle Eye Shot and killed Gessho. This battle was a tough one, and I\u0026rsquo;m going to change the strategy a bit for Sunday\u0026rsquo;s run.\nAs usual, we have a movie available. There\u0026rsquo;s also an embedded version below:\n[googlevideo]http://video.google.com/videoplay?docid=-3660648893742191243[/googlevideo]\n","date":"June 16, 2007","externalUrl":null,"permalink":"/2007/06/toau-mission-35-take-2/","section":"Posts","summary":"On Wednesday we tried Mission 35 again and this time was a success. Daman was not present, but we’ll do another run for him on Sunday.\n","title":"ToAU Mission 35 - take 2","type":"post"},{"content":"Due to maintenance, we couldn\u0026rsquo;t do Dynamis on Tuesday. Instead, we settled for the new large-scale battlefield that has been added in the new update: Einherjar.\nThe idea is to gather up to 36 people in a large chamber filled with monsters, usually undead. Entrance is gained by using a lamp similar to Dynamis\u0026rsquo;s hourglass. Once inside, players have 30 minutes to completely clear the enemies then kill a mega boss. Doing so enables them - on the long run - to obtain rather nice items (I\u0026rsquo;m interested in the Ritter Gorget). Some abjurations also drop there.\nIn any case, on to our run. We faced a lot of ghosts upon entering, as you can see from here (click on the pictures to enlarge):\n480\nWhile one of the tanks (Scudley) acted as main assist, I frantically ran from one side to another to keep hate on the enemies our bards had slept (since they\u0026rsquo;re dark resistant, Lullaby works best on them) and the rest of the alliance kept on blowing them to pieces:\n483\nAfter dealing with all the enemies, we had still 10 minutes left, so we made a run for the boss:\n486\nWell, it turned out it had an insanely large amount of HP and an even stronger defense. Add that some of its attacks caused an attack down status, and you can imagine we couldn\u0026rsquo;t defeat it in time.\n489\nNevertheless, it was a rather fun session, completely different from what I had expected. I look forward to doing more of these.\n","date":"June 14, 2007","externalUrl":null,"permalink":"/2007/06/einherjar/","section":"Posts","summary":"Due to maintenance, we couldn’t do Dynamis on Tuesday. Instead, we settled for the new large-scale battlefield that has been added in the new update: Einherjar.\n","title":"Einherjar","type":"post"},{"content":"Yesterday, at an unusual late hour, I and my group attempted the 35th mission in the Treasures of Aht Urghan line. Preparation was the matter of watching a few (very interesting) cutscenes then we were off to a BC to fight a single enemy, a ninja (the name is a spoiler, so keep on reading only if you know what you are doing).\nI can say the fight proved (finally) more challenging than the jokes of the previous missions. However that means that, given we rushed due to time constraints and also to bad luck, that we lost. A single Sweep followed by Mijin Gakure killed off most of our damage dealers, and the Gessho clones did the rest to me and our monk.\nHowever I think I have got a few things to try out in our next attempt. \u0026ldquo;Kite or you\u0026rsquo;re a loser\u0026rdquo; type strategy doesn\u0026rsquo;t fit my tastes, so that\u0026rsquo;s what I\u0026rsquo;m planning to do:\nSilence Gessho at the start with Elemental Seal + Silence, as Hojo and Jubaku did immense harm to me;\nBring one or two Yagudo Drinks, the red mage usually takes the clones off me so Refresh isn\u0026rsquo;t always available;\nStun every 45 seconds to reduce the use of TP moves;\nAfter Mijin Gakure, Chainspell Stun followed by Invincible, Hundred Fists and Eagle Eye Shot. That will probably kill him off fast enough.\nI\u0026rsquo;ll be retrying on Wednesday or Friday, with an additional run for members that aren\u0026rsquo;t able to make it. I\u0026rsquo;ll post an update then.\n","date":"June 11, 2007","externalUrl":null,"permalink":"/2007/06/aht-urghan-mission-35-take-1/","section":"Posts","summary":"Yesterday, at an unusual late hour, I and my group attempted the 35th mission in the Treasures of Aht Urghan line. Preparation was the matter of watching a few (very interesting) cutscenes then we were off to a BC to fight a single enemy, a ninja (the name is a spoiler, so keep on reading only if you know what you are doing).\n","title":"Aht Urghan Mission 35 - take 1","type":"post"},{"content":"Since I\u0026rsquo;ve been aggregated to the AnimeBlogger.net Antenna I noticed a number of new visitors coming to my blog. I\u0026rsquo;m taking the opportunity (see post title) to bring the attention on a pet project of mine, which is also quite tied to anime.\nSome of you may remember that in Japan and in general around Far East there is a \u0026ldquo;literary\u0026rdquo; genre that is quite succesful, the illustrated novel. There area great deal (Fujimi Shobo is one of the most famous publishers of these books), and some notable titles are Slayers, Majutsushi Orphen,_ _and Kino no Tabi (some of these have been also translated to English).\nWell, what has that to do with a project of mine (no cheating: don\u0026rsquo;t turn to the Projects page)? A number of years ago (10 to be precise) I and my twin brother decided to write a horror novel which was inspired by classical horror novelists and also anime. While I was writing it we got the idea of making an illustrated novel. After many attempts my brother found an amazing artist who graciously agreed to work for us. You can see an example below (showing the main character, Yumiko Hasegawa):\nIf you are interested and want to take a look, the project has its own web page, http://www.stealsaga.net: it provides additional information on the art and the novel itself. If you end up there, please don\u0026rsquo;t forget to leave a comment.\n","date":"June 4, 2007","externalUrl":null,"permalink":"/2007/06/a-small-project/","section":"Posts","summary":"Since I’ve been aggregated to the AnimeBlogger.net Antenna I noticed a number of new visitors coming to my blog. I’m taking the opportunity (see post title) to bring the attention on a pet project of mine, which is also quite tied to anime.\n","title":"A small project","type":"post"},{"content":"","date":"June 4, 2007","externalUrl":null,"permalink":"/categories/s.t.e.a.l./","section":"Categories","summary":"","title":"S.T.E.A.L.","type":"categories"},{"content":"477\nYesterday I got the first DVD of Dancougar Nova in the mail. As it\u0026rsquo;s a first press edition, there were two nice postcards inside (one of the Dancougar itself, one of Aoi) and the cover is reversible, again showing either the mech or Aoi (the one shown in this post, which is also available in the gallery).\nSo what has changed from the TV version? As far as I can tell, not much as the first two episodes were the ones with the best animation (along with episode 12) , though the DVD cover mentions something changed in episode 2. What is noticeable is the huge jump in image quality, the pictures are much better than the TV version, and also the format switched to anamorphic 16:9. UPDATE: The changes aren\u0026rsquo;t that trivial at all, there is a whole new part that explans how Sakuya gets his communication device to contact the Dragon\u0026rsquo;s Hive.\nThere are little extras (as usual with Japanese DVD releases), mainly an interview with the staff and a settei gallery (those look bad on a PC screen; I haven\u0026rsquo;t tried on TV). Next DVD is out at the end of June, I really hope some episodes have been redrawn.\n","date":"June 2, 2007","externalUrl":null,"permalink":"/2007/06/dancougar-nova-dvd-1/","section":"Posts","summary":"477\nYesterday I got the first DVD of Dancougar Nova in the mail. As it’s a first press edition, there were two nice postcards inside (one of the Dancougar itself, one of Aoi) and the cover is reversible, again showing either the mech or Aoi (the one shown in this post, which is also available in the gallery).\nSo what has changed from the TV version? As far as I can tell, not much as the first two episodes were the ones with the best animation (along with episode 12) , though the DVD cover mentions something changed in episode 2. What is noticeable is the huge jump in image quality, the pictures are much better than the TV version, and also the format switched to anamorphic 16:9. UPDATE: The changes aren’t that trivial at all, there is a whole new part that explans how Sakuya gets his communication device to contact the Dragon’s Hive.\n","title":"Dancougar Nova DVD 1","type":"post"},{"content":"I\u0026rsquo;ve seen very little talk about this anime, inspired by a short story by Shotaro Ishinomori, despite its obvious quality. I\u0026rsquo;ve seen five episodes so far (out of 12) and I can say I\u0026rsquo;m quite impressed by the results.\nSet in Otomo, a small town which is experiencing an outburst of growth and wealth, the story tells the tale of a journalist (Hayato Mikogami) and a young photographer (Kiriko Mamiya) as they try to unveil the mystery behind the \u0026ldquo;Skeleton Man\u0026rdquo;, someone that is apparently responsible for a series of murders of famous people throughout the town. Several leads guide them to the mysterious sect called _Byakurenkai _ and to the Otomo Phamaceuticals, a large company whose previous president died in a fire under unclear circumstances. Of course they\u0026rsquo;re not the only ones investigating, as the town is filled with people with their own agendas, not to mention the Skull Man himself.\nThe plot has several lines and that\u0026rsquo;s what makes it interesting. So far the story seems quite complex and involves a large number of characters, all tied to the situation in different ways. Also, the direction is quite effective (I did not expect it, as Takeshi Mori\u0026rsquo;s previous works included the terrible Stratos 4) and even goes \u0026ldquo;experimental\u0026rdquo; in the opening, something that reminded me of Boogiepop wa warawanai - Boogiepop Phantom. It is more than a resemblance, since one of the screenplay writers actually worked there along with Sadayuki Murai\u0026hellip;\nThere\u0026rsquo;s a lot of dialogue, but it is not boring at all, it actually drives the viewer more and more into Otomo, a strange town full of mysteries. Also the tone of the episodes switches effectively between light hearted scenes and darker ones without many problems.\nAnimation wise, we are at a good level. BONES did the job quite nicely here, and we almost never see drops in the quality. The music also has a good variety and two nice songs for opening and ending.\nThe Skull Man is highly recommended to everyone (just don\u0026rsquo;t expect any fancy moe stuff here). The dark plot, the animation, direction and music all convey in making a superior product. I really can\u0026rsquo;t understand why it\u0026rsquo;s been ignored so far\u0026hellip;\n","date":"June 2, 2007","externalUrl":null,"permalink":"/2007/06/underrated-anime-the-skull-man/","section":"Posts","summary":"I’ve seen very little talk about this anime, inspired by a short story by Shotaro Ishinomori, despite its obvious quality. I’ve seen five episodes so far (out of 12) and I can say I’m quite impressed by the results.\n","title":"Underrated anime: The Skull Man","type":"post"},{"content":"The title will already give an idea of what happened to my laptop two days ago. Due to a bus problem and a forced reboot, my root partition got corrupted. Luckily no data was lost as I keep /usr and /home separated from the rest. However reinstalling proved to be a very difficult task.\nFirst of all, my DVD drive has some problems, and so it wouldn\u0026rsquo;t read the Kubuntu Feisty install disk I had brought from work. I tried then using a thumb drive but no luck, this buggy BIOS does not allow USB boot. I then copied the disk over to a DVD-RW I had, following my brother\u0026rsquo;s suggestion. So I was able to boot.\nProblems didn\u0026rsquo;t end here as the DVD had trouble reading, so I had to try about three times, then jumping into expert mode to install the base system. When I tried to install the rest, some packages wouldn\u0026rsquo;t install. I had to make sure I could boot via HD, then I used the Ethernet connection to download and fix the broken packages. It took me three hours or so yesterday.\nThen I still had some odd hangs or the kernel log filled with \u0026ldquo;drive not ready for command\u0026rdquo;. It came to me that I was using laptop-mode, which my HD did not like. As soon as I disabled it, the kernel messages stopped. I\u0026rsquo;ll be monitoring the situation and see.\n","date":"May 31, 2007","externalUrl":null,"permalink":"/2007/05/-borked/","section":"Posts","summary":"The title will already give an idea of what happened to my laptop two days ago. Due to a bus problem and a forced reboot, my root partition got corrupted. Luckily no data was lost as I keep /usr and /home separated from the rest. However reinstalling proved to be a very difficult task.\nFirst of all, my DVD drive has some problems, and so it wouldn’t read the Kubuntu Feisty install disk I had brought from work. I tried then using a thumb drive but no luck, this buggy BIOS does not allow USB boot. I then copied the disk over to a DVD-RW I had, following my brother’s suggestion. So I was able to boot.\n","title":"/ borked","type":"post"},{"content":"UPDATE: Today I found out that J Brooks (the corresponding author of Zhao\u0026rsquo;s paper) has agreed to send the data I needed. Thanks a lot!\nWhen you do bioinformatics, you often test your own procedures not only on your data, but also on datasets provided by other people and publicly available. As I stated previously, that\u0026rsquo;s what meta-analysis is. I\u0026rsquo;m doing a bit of that for my thesis and recently I noticed that some datasets, while being public, are far from complete.\nI was looking at the data published by Zhao et al. today and while it\u0026rsquo;s a rather interesting dataset (177 samples of renal cell carcinoma compared to Human Universal Reference RNA), there is little or no information regarding the samples themselves. As I\u0026rsquo;m running analyses comparing different tumor grades, this is essential for me. However neither the supplementary materials nor the paper give any information. Basically this makes the whole dataset a lot less useful than what it could be.\nOn the same note, evaluating results by Jones et al. presented different problems, because of the aging annotation of the Affymetrix HG-U133A chip. Dai et al. have shown an interesting approach to reannotation for several Affymetrix chips, so I thought I could use that. However, while the supplementary materials give raw normalized data, there are no CEL files, needed for such a procedure.\nPersonally I think that all journals should make the submission to databases such as Array Express mandatory. MIAME was meant to be a way to give enough information about a microarray experiment, and it\u0026rsquo;s a shame that there are still so many hurdles when someone wants to make use of someone else\u0026rsquo;s data. *[MIAME]: Minimal Information About a Microarray Experiment\n","date":"May 28, 2007","externalUrl":null,"permalink":"/2007/05/more-meta-analysis-difficulty/","section":"Posts","summary":"UPDATE: Today I found out that J Brooks (the corresponding author of Zhao’s paper) has agreed to send the data I needed. Thanks a lot!\nWhen you do bioinformatics, you often test your own procedures not only on your data, but also on datasets provided by other people and publicly available. As I stated previously, that’s what meta-analysis is. I’m doing a bit of that for my thesis and recently I noticed that some datasets, while being public, are far from complete.\n","title":"More meta-analysis difficulty","type":"post"},{"content":"When starting a run in Dynamis-Beaucedine, some person in charge of my brother\u0026rsquo;s Dynamis linkshell stated that over a whole Dynamis run (approximately four hours) you should not leave or be away. This statement is misguided at best, and personally I found it rather offensive for a series of reasons:\nNot everyone is in the same timezone: if you have other commitments that force you to stay away for a longer period (such as meals with other people) you should not be blamed for it, after all real life takes serious precedence over gaming;\nFour hours is a long time. While FFXI tries to keep you online as much as possible, there should be no forced requirement at all. Otherwise you are disrespectful of other people\u0026rsquo;s lives, which again take precedence over anything that goes in-game.\nLast but not least, acting bad towards people that take an effort despite the limited time is a sign of short-sightedness and again lack of respect.\nAFv2DoesntExist apparently is run by people who ignore those points. Either they are lifeless people (as the title suggests) or they just ignore anything that doesn\u0026rsquo;t benefit them.\n","date":"May 26, 2007","externalUrl":null,"permalink":"/2007/05/lifeless-people/","section":"Posts","summary":"When starting a run in Dynamis-Beaucedine, some person in charge of my brother’s Dynamis linkshell stated that over a whole Dynamis run (approximately four hours) you should not leave or be away. This statement is misguided at best, and personally I found it rather offensive for a series of reasons:\nNot everyone is in the same timezone: if you have other commitments that force you to stay away for a longer period (such as meals with other people) you should not be blamed for it, after all real life takes serious precedence over gaming;\n","title":"Lifeless people","type":"post"},{"content":"Today I made a simple sed script that converts a tab-delimited text file to a format that can be pasted into a DokuWiki wiki. There is a plugin that permits to read CSV files directly, however:\nIt doesn\u0026rsquo;t support tab-delimited text files;\nIt\u0026rsquo;s incompatible with some plugins (one being DokuTexit, which I need).\nHence the need for this script. To use it, just copy and paste the code (see below) into a new file, make it executable (chmod +x) and then invoke it with\n[code lang=\u0026ldquo;bash\u0026rdquo;] tab2wiki inputfile [/code]\nNote that it outputs the result on stdout, so you\u0026rsquo;ll need to redirect it if you want to save.\nWithout further ado, here\u0026rsquo;s the script (syntax may be off regarding colors):\n[code lang=\u0026lsquo;c\u0026rsquo;] #!/bin/sed -f\ntab2wiki - converts any tab-delimited file into a DokuWiki table # First line is treated as header (^) # { s/\\t/| /g s/$/ |/g s/^/| /g s/| / | /g 1s/|/^/g s/^\\s\\s//g } [/code] *[CSV]: Comma Separated Values\n","date":"May 24, 2007","externalUrl":null,"permalink":"/2007/05/tab2dokuwiki/","section":"Posts","summary":"Today I made a simple sed script that converts a tab-delimited text file to a format that can be pasted into a DokuWiki wiki. There is a plugin that permits to read CSV files directly, however:\nIt doesn’t support tab-delimited text files;\nIt’s incompatible with some plugins (one being DokuTexit, which I need).\nHence the need for this script. To use it, just copy and paste the code (see below) into a new file, make it executable (chmod +x) and then invoke it with\n","title":"tab2dokuwiki","type":"post"},{"content":"At work I\u0026rsquo;ve recently got hold of two nice hardware upgrades: a portable 60 Gb HD (useful for carrying around large data) and an 80 Gb hard disk. The latter was much needed as the 40 Gb HD inside my Acer Veriton 7500G was getting rather small, both on the Windows side (which sadly I still need to use for some things) and on the Linux side (at one point / filled up, resulting in a system that would not log into X at all).I already made backups and moved the data, installing a fresh copy of Kubuntu 7.04 on the new HD. This means I\u0026rsquo;ll be able to keep my laptop at home and avoid largely nerdish settings such as this:\n","date":"May 21, 2007","externalUrl":null,"permalink":"/2007/05/hardware-upgrades/","section":"Posts","summary":"At work I’ve recently got hold of two nice hardware upgrades: a portable 60 Gb HD (useful for carrying around large data) and an 80 Gb hard disk. The latter was much needed as the 40 Gb HD inside my Acer Veriton 7500G was getting rather small, both on the Windows side (which sadly I still need to use for some things) and on the Linux side (at one point / filled up, resulting in a system that would not log into X at all).I already made backups and moved the data, installing a fresh copy of Kubuntu 7.04 on the new HD. This means I’ll be able to keep my laptop at home and avoid largely nerdish settings such as this:\n","title":"Hardware upgrades","type":"post"},{"content":"I\u0026rsquo;ve been able to complete most of the analysis for my Ph.D. thesis work, at last. I need a few runs more but I am arranging to work at a location of one of our research partners, as I don\u0026rsquo;t have a powerful enough computer to handle the calculations (apparently, 1Gb of RAM isn\u0026rsquo;t enough). At least the results I have look promising. Now all it\u0026rsquo;s left (and that\u0026rsquo;s not an easy task, heh). is to write them down in the \u0026ldquo;thesis summary\u0026rdquo; (deadline: June 30th) and then in the thesis itself. I\u0026rsquo;m already studying a bit on the topic and papers are quickly piling up on my desk.\nAlso, in order to be more productive I started using a wiki for laboratory notes (though I also keep my lab book next to the computer). Currently I\u0026rsquo;m using DokuWiki and it\u0026rsquo;s been good so far: I have a \u0026ldquo;diary\u0026rdquo; with daily notes and separate sections with analyses and my own comments. With a few plugins I\u0026rsquo;ve also been able to insert the CSV files I use directly.\nThis is for more organized data. I\u0026rsquo;m keeping BasKet Note Pads for quick code snippets and random notes I have to take. I have to thank Mike of Bioinformatics Zen fame for the suggestion he posted on using a hyperlinked documents as bioinformatics laboratory books.\n","date":"May 18, 2007","externalUrl":null,"permalink":"/2007/05/thesis-work-and-wikis/","section":"Posts","summary":"I’ve been able to complete most of the analysis for my Ph.D. thesis work, at last. I need a few runs more but I am arranging to work at a location of one of our research partners, as I don’t have a powerful enough computer to handle the calculations (apparently, 1Gb of RAM isn’t enough). At least the results I have look promising. Now all it’s left (and that’s not an easy task, heh). is to write them down in the “thesis summary” (deadline: June 30th) and then in the thesis itself. I’m already studying a bit on the topic and papers are quickly piling up on my desk.\n","title":"Thesis work and wikis","type":"post"},{"content":"I did not expect it, but today Square Enix announced a new expansion for Final Fantasy XI, called Wings of the Goddess (but I like the Japanese title - something along the line of The Holy Warriors of Altana - more). There\u0026rsquo;s also a trailer available on the main PlayOnline page.\nFrom what I can see it looks like a time-warp expansion, set back in time in the Crystal War, but the images are scarce. It\u0026rsquo;s been announced for Winter 2007, I\u0026rsquo;ll see how it will be. I hope it\u0026rsquo;s not like Treasures of Aht Urghan, which was a disappointment all along.\n","date":"May 12, 2007","externalUrl":null,"permalink":"/2007/05/final-fantasy-xi-wings-of-the-goddess/","section":"Posts","summary":"I did not expect it, but today Square Enix announced a new expansion for Final Fantasy XI, called Wings of the Goddess (but I like the Japanese title - something along the line of The Holy Warriors of Altana - more). There’s also a trailer available on the main PlayOnline page.\nFrom what I can see it looks like a time-warp expansion, set back in time in the Crystal War, but the images are scarce. It’s been announced for Winter 2007, I’ll see how it will be. I hope it’s not like Treasures of Aht Urghan, which was a disappointment all along.\n","title":"Final Fantasy XI - Wings of the Goddess","type":"post"},{"content":"While working through large text files for work, I found several command line tools whose existence was unknown to me before. Their usefulness is great however, expecially if you deal with comma or tab delimited files (I do, and a great deal).\nFor example you can cut specific columns out of a file with the cut command:\n[code lang=\u0026lsquo;c\u0026rsquo;] cut -f [fieldname] textfile [/code]\nYou can also specify ranges (-f1,5) or a starting point till the end (-f2,. By default the field delimiter is TAB but you can change it with the -d option:\n[code lang=\u0026lsquo;c\u0026rsquo;] cut -d , -f1,2 textfile [/code]\nBy default it outputs the result to the standard output, so you will need to redirect (\u0026gt;) to a file if needed. The \u0026ndash;output-delimiter option permits you to change the delimiter of the output.\nThe paste command does exactly the reverse:\n[code lang=\u0026lsquo;c\u0026rsquo;] paste file1 file2 \u0026gt; resultfile [/code]\nBasically it adds file2\u0026rsquo;s lines to file1\u0026rsquo;s, useful if you have to add a specific column from another file.\nAnother nice utility is the \u0026ldquo;comm\u0026rdquo; command. I recently found it and it\u0026rsquo;s a life saver if you have two files that contain similar elements and you want to find out which are common and which aren\u0026rsquo;t. As a prerequisite the files should be sorted first, otherwise you won\u0026rsquo;t get the right results. Then you can use comm to print out a series of information.\n[code lang=\u0026lsquo;c\u0026rsquo;] sort file1 \u0026gt; file1.sorted sort file2 \u0026gt; file2.sorted comm -13 file1.sorted file2.sorted [/code]\nIn this particular example I tell comm to suppress output of the lines that are only in the first file (-1) and the common lines (-3) so that you effectively get only file2\u0026rsquo;s items. The other option is -2, and that suppresses lines unique from file2. Again the output is on standard output so if you need to save it you\u0026rsquo;ll have to redirect it somewhere.\nThat\u0026rsquo;s all for now. As you can see the command line can do a few interesting things (try that, cmd.exe) and that\u0026rsquo;s merely the surface (google for other powerful commands such as awk or sed and you\u0026rsquo;ll see what I mean). By doing things this way I manage my files far more efficiently than with a GUI.\n","date":"May 6, 2007","externalUrl":null,"permalink":"/2007/05/useful-command-line-tips/","section":"Posts","summary":"While working through large text files for work, I found several command line tools whose existence was unknown to me before. Their usefulness is great however, expecially if you deal with comma or tab delimited files (I do, and a great deal).\n","title":"Useful command line tips","type":"post"},{"content":"As expected, I couldn\u0026rsquo;t keep up with the backlog, so I\u0026rsquo;m again posting on two episodes of Nanoha StrikerS at once. The first one is still a training/preparation one, while the second has some action in it. But let\u0026rsquo;s look at them in the proper order\u0026hellip;\nEpisode 4 opens with a training session of the recruits against Nanoha. The goal is simple: either they evade her attacks for five minutes, or manage to go through her defenses. As everyone is pretty tired, they go for the first route.\nThe battle is obviously uneven as Nanoha is way stronger than the others, but somehow they manage to get a clean hit using rather complicated team play. Once the training session ends, the group goes back to their quarters.\nIn the mean time Fate and Hayate are on a trip to the Church (mentioned in A\u0026rsquo;s to StrikerS) where Hayate has a conversation with the head on a cargo of Relic (a particular type of Lost Logia, introduced in the earlier episodes) and on the fact that their enemies are on its trail.\nBack to Subaru and others, after a shower (obligatory fan service scene) they\u0026rsquo;re shown their new devices (in other words, something like Nanoha\u0026rsquo;s Raising Heart or Fate\u0026rsquo;s Bardiche). While the staff goes a long way to explain how they\u0026rsquo;re tuned and limited (limiters can be lifted of course), Nanoha joins the group again. She also confirms that she has a limiter in both her device and her own body.\nThe discussion however is cut short as the alarm sounds: the train with the Relic has been found and taken over. Of course it\u0026rsquo;s the job of the unit to solve the matter, so they are dispatched, while Fate and Hayate hurry back.\nAnimation-wise it\u0026rsquo;s not the best episode, but I expect some adjustments once it\u0026rsquo;s out on DVD. Story-wise I can quite see where the staff wants to go, they want to build and develop the new characters before going on with the story.\nThe fifth episode is more action oriented. When the group gets on the place, they find out that a large number of flying enemies are going at them. Fate and Nanoha will take care of it, while the four will have to secure the train and recover the relic (with Reinforce Zwei as operations commander). When they deploy, it\u0026rsquo;s time of something that is never missing in this kind of anime, namely transformation sequences:\nWe get to see them all, starting with Fate and Nanoha\u0026rsquo;s (both incomplete), followed by Subaru, Teana, Erio and Caro. All have totally different styles (though I would have preferred A\u0026rsquo;s music in Nanoha\u0026rsquo;s sequence), and so far the best done is Subaru\u0026rsquo;s, that also quotes some mecha anime (GaoGaiGar anyone?).\nAs everyone is in battle outfits, the fight starts. Nanoha and Fate obliterate the flying forces easily (but we know, they\u0026rsquo;re ungodly powerful) while the other four split in two and tackle the train from two sides. Subaru and Teana get a taste of the new power they have been given and also get the chance of talking with their devices a bit (they use the same \u0026ldquo;Super English\u0026rdquo; Raising Heart uses). However, they find impossible to stop the train.\nCue to Caro and Erio, dealing with an unusually large enemy. Its anti-magic field knocks out most of their magic and in the end Erio gets a rather strong beating. As Caro sees that, there is a flashback to when Fate adopted her, talking about her dragon summoning abilities. When Erio is thrown off the train, she follows suit and once out of the field manages to use her summoning magic, converting her pet dragon into a full-scale one.\nThe events fold up quickly with Erio getting a boost power from Caro and cutting the enemy in two. At the same time Subaru and Teana secure the relic. All is well?\nNot quite as someone is shown lurking behind the scenes\u0026hellip;\nAnimation-wise this episode is better than the previous one, though the animation drops in quality sometimes. On the subject of story, it starts to get some wheels in motion as a possible villain is shown, while the next episode, aside showing more training, tells more about the background.\nMany have complained that StrikerS is not like A\u0026rsquo;s. I find it amusing, because that was known in advance: in an interview in Megami Magazine around last year, when StrikerS was officially announced, the staff said that they would put less action than in A\u0026rsquo;s. So why complaining now?\nRegardless of that, I\u0026rsquo;ll continue watching the series as this episode, coupled with the opening, gave me a few hints on possible story development.\n","date":"May 5, 2007","externalUrl":null,"permalink":"/2007/05/nanoha-strikers-4-5/","section":"Posts","summary":"As expected, I couldn’t keep up with the backlog, so I’m again posting on two episodes of Nanoha StrikerS at once. The first one is still a training/preparation one, while the second has some action in it. But let’s look at them in the proper order…\n","title":"Nanoha StrikerS 4-5","type":"post"},{"content":"On a recent dotKDE article about the weekly commit digest, someone brought up again the issue of Plasma, a component of KDE 4 whose object is to bring \u0026ldquo;revolution\u0026rdquo; to the current desktop paradigm. However, I think that many in the community had unrealistic expectations, so some people even started to think it was vaporware, like in some comments in the aforementioned article.\nI\u0026rsquo;ll say it again, people had unrealistic expectations. KDE 4 is a big step ahead than previous versions, and first of all a new foundation was needed. A large part of the improvements is under the hood (think about Solid or Phonon, for example). Plasma, as far as I can see, was not immune from that. Solid bases had to be built before moving forward. Thanks to that paradigm, there are already interesting results such as the new krunner. But there\u0026rsquo;s still (according to a glance on the KDE Techbase) a lot of work on the user-invisible parts to be done.\nThat\u0026rsquo;s why I don\u0026rsquo;t understand all the negativity, especially because it\u0026rsquo;s not even remotely constructive. Pushing your expectations on someone else is a sign of rudeness, especially since you know that those people are already working very hard (look up the commit digest, ignorance is not an excuse). Also because KDE 4 is not out yet and it\u0026rsquo;s not finished.\nAnd I have to point out it\u0026rsquo;s not just a problem with Plasma. When Dolphin was announced as the default file manager (even though Konqueror is not going away), there was an unjustified outrage. Calm down, people. If you don\u0026rsquo;t like something, if you can\u0026rsquo;t contribute at least be constructive about it.\n","date":"May 1, 2007","externalUrl":null,"permalink":"/2007/05/enough-with-the-negativity/","section":"Posts","summary":"On a recent dotKDE article about the weekly commit digest, someone brought up again the issue of Plasma, a component of KDE 4 whose object is to bring “revolution” to the current desktop paradigm. However, I think that many in the community had unrealistic expectations, so some people even started to think it was vaporware, like in some comments in the aforementioned article.\nI’ll say it again, people had unrealistic expectations. KDE 4 is a big step ahead than previous versions, and first of all a new foundation was needed. A large part of the improvements is under the hood (think about Solid or Phonon, for example). Plasma, as far as I can see, was not immune from that. Solid bases had to be built before moving forward. Thanks to that paradigm, there are already interesting results such as the new krunner. But there’s still (according to a glance on the KDE Techbase) a lot of work on the user-invisible parts to be done.\n","title":"Enough with the negativity","type":"post"},{"content":"As I\u0026rsquo;ve been working to get some results done for my Ph.D. thesis, I\u0026rsquo;ve stumbled across the problem of having different data obtained through different software. Even if it\u0026rsquo;s just a matter of text files, the fields are all different and even if dealing with the same data, trying to infer relationships is a pain.\nTherefore I decided to create a small database to host the data of my work and query it accordingly. I didn\u0026rsquo;t want to run a database server, so I settled for SQLite, a lightweight file-driven database, I don\u0026rsquo;t handle enormous amount of data so it should be ok. Up to now I\u0026rsquo;ve inserted parts of the Entrez Gene database. First of all I downloaded the gene_info.gz from NCBI\u0026rsquo;s FTP, which contains data such as gene name, gene symbol, and so on. Then it was a matter of filtering out non-human entries, and to do so I wrote a small script called taxon_filter.py:\n[code lang=\u0026ldquo;python\u0026rdquo;] #!/usr/bin/env python\nimport gzip import sys import csv\n\u0026ldquo;\u0026ldquo;\u0026ldquo;Filters NCBI annotation files by human taxon (9606). Works directly from the source gzipped file and outputs a tab-delimited file.\u0026rdquo;\u0026rdquo;\u0026rdquo;\nclass ncbi: delimiter = \u0026lsquo;\\t\u0026rsquo; quotechar = \u0026lsquo;\u0026quot;\u0026rsquo; escapechar = None doublequote = True skipinitialspace = False lineterminator = \u0026lsquo;\\n\u0026rsquo; quoting = csv.QUOTE_NONE\ndef init(self):\nDialect registration # csv.register_dialect(\u0026ldquo;ncbi\u0026rdquo;, self)\nncbi()\nif len(sys.argv) \u0026lt; 3: print \u0026ldquo;Not enough command line arguments\u0026rdquo; sys.exit(0)\ntry: compressed_file = gzip.open(sys.argv[1]) except IOError: print \u0026ldquo;Could not open file!\u0026rdquo; sys.exit(-1)\ndelim = csv.reader(compressed_file,dialect=\u0026ldquo;ncbi\u0026rdquo;)\ntry: destination_file = open(sys.argv[2],\u0026ldquo;wb\u0026rdquo;) except IOError: print \u0026ldquo;Can\u0026rsquo;t open destination file!\u0026rdquo; sys.exit(-1)\nwrite_delim = csv.writer(destination_file,dialect=\u0026ldquo;ncbi\u0026rdquo;)\nwrite_delim.writerow(delim.next())\nfor row in delim: if row[0] == \u0026ldquo;9606\u0026rdquo;: write_delim.writerow(row)\nprint \u0026ldquo;Complete!\u0026rdquo; compressed_file.close() destination_file.close() sys.exit(0)\n[/code]\n(apologies, tabs are messed up)\nThat filtered the file for entries belonging to taxon 9606 (_Homo sapiens) . _Then I had to keep only the interesting bits in the file, so I cut the leading comment and selected only the correct fields:\n[code lang=\u0026ldquo;bash\u0026rdquo;] sed \u0026lsquo;1d\u0026rsquo; gene_info_human | cut -f2,9,3,7-8 \u0026gt; entrez_gene.txt [/code]\nSQLite has Python bindings (officially part of Python since 2.5) but those don\u0026rsquo;t allow the direct import of text files, so I fired up the command line sqlite3 command and created the relevant table, called entrez_gene, and imported the data:\n[code lang=\u0026ldquo;bash\u0026rdquo;] .separator \u0026ldquo;\\t\u0026rdquo; .import datafiles/File_NCBI/entrez_gene.txt entrez_gene [/code]\nDone! This is the first step, then I\u0026rsquo;ll work on creating tables for my own data.\n","date":"April 25, 2007","externalUrl":null,"permalink":"/2007/04/databases/","section":"Posts","summary":"As I’ve been working to get some results done for my Ph.D. thesis, I’ve stumbled across the problem of having different data obtained through different software. Even if it’s just a matter of text files, the fields are all different and even if dealing with the same data, trying to infer relationships is a pain.\n","title":"Databases","type":"post"},{"content":"It seems I can\u0026rsquo;t quite keep up with the episodes given my limited spare time (considering also I have the second book of The S.T.E.A.L. Saga to take care of), so here I am with a recap of the last two episodes of Maho Shojo Lyrical Nanoha StrikerS.\nEpisode 2 presents us with more flashback material from the incident where Subaru got rescued by Nanoha. The reason for such a trigger is that Hayate reminds Fate about how she saved Subaru\u0026rsquo;s sister during the same incident.\nOnce the matter is settled, Hayate then goes on saying that since there had been a lack of forces during the incident (Nanoha and Fate helped there, but they were on vacation to see Hayate), she had plans to create a new division to handle a variety of problems, from incidents to recover artifacts from ancient civilizations (Lost Logia, first mentioned in the Maho Shojo Lyrical Nanoha A\u0026rsquo;s to StrikerS manga). Of course, Nanoha and Fate approve her decision unconditionally.\nBack to present, where Hayate has finished explaining the matter to Teana and Subaru. Nanoha then comes in and gives them the test results: they failed, but they will able to retake the exam without waiting for months.\nCue to Signum, who is going to fetch Erio Mondial and Caro Ru Lushe, two other members for the upcoming division. We get to see a special ability from Erio and the fact that Caro has a pet dragon. The episode finishes with Vita fighting some enemies and Subaru and Teana going back to take the exam.\nEpisode 3 has another \u0026ldquo;preparation\u0026rdquo; feeling to it, as it starts with Hayate and Reinforce Zwei getting an office for the new unit (that now is officially existing). Shortly afterwards, Hayate gives a speech to the staff and to the members of the new unit. While Nanoha, Subaru, Teana, Erio and Caro go for some heavy-duty training, Fate and Hayate take a helicopter (equipped with an Intelligent Device) in order to talk with the higher-ups of the organization.\nNanoha and mechanic staff member Shario Finerio direct the training, which involves taking out several magic enemies equipped with a nullifying field. Needless to say, the first attempts of the four new people aren\u0026rsquo;t exactly succesful (but, and this is something that I really liked, they try to find ways to cooperate, instead of arguing). Meantime, Hayate and Fate warn the rest of the Bureau about a new type of Lost Logia, the Relic, which apparently is being researched and used by someone illegally, potentially causing a lot of incidents.\nBack to Subaru and friends, they manage to win by coordinating their efforts properly.\nAt the end of the day, Hayate sums up the positive reactions to the creation of the unit to the book\u0026rsquo;s four protectors (Vita, Signum, Shamal and Zafira), and in the end, a happy Nanoha expresses her satisfaction about the recruits (although they\u0026rsquo;re all dead tired) to Fate.\nOverall, I can say I\u0026rsquo;m satisfied. As I expected, the pace of the episodes is slower than the previous _Nanoha _series, but that was to be expected. I predict quite a bit of character development in the upcoming episodes, especially of the new recruits but not only that, given that Nanoha and Fate get reasonable screen time.\nSome people said that StrikerS is not focusing on the right characters: I don\u0026rsquo;t think so, because of a series of reasons:\nNanoha and Fate got quite a deal of development in the first two series;\nA\u0026rsquo;s to StrikerS deals with most of the events between the two series;\nThe screen time is quite evenly distributed among the characters, something that surprised me (I used to think that Nanoha would be almost non-existent in the series)\nNanoha, Fate et al. are quite too powerful as characters;\nIt\u0026rsquo;s still too early to decide, we\u0026rsquo;re only at the third episode.\nAnimation wise episodes 2 and 3 are decent, though sometimes there are a few drops in quality, but luckily nothing too bad. Overall I\u0026rsquo;m pretty satisified with the series so far, and I look forward to watching the next episode.\n","date":"April 22, 2007","externalUrl":null,"permalink":"/2007/04/nanoha-strikers-2-3/","section":"Posts","summary":"It seems I can’t quite keep up with the episodes given my limited spare time (considering also I have the second book of The S.T.E.A.L. Saga to take care of), so here I am with a recap of the last two episodes of Maho Shojo Lyrical Nanoha StrikerS.\n","title":"Nanoha StrikerS 2-3","type":"post"},{"content":"[code lang=\u0026ldquo;bash\u0026rdquo;] lb@hardin:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 7.04 Release: 7.04 Codename: feisty [/code]\nAs this shell output shows, I\u0026rsquo;ve updated to Kubuntu 7.04 yesterday, using the new dist-upgrade tool. It did the job quite nicely, considering I had a rather customized system. The only problem was with the (infamous) fgrlx module, which at first refused to load, but a\n[code lang=\u0026ldquo;bash\u0026rdquo;] dpkg-reconfigure linux-restricted-modules-2.6.20-15-generic [/code]\nfixed it.\nSo far I\u0026rsquo;m rather pleased with the release, though I will probably have to post a bug report or two to make sure the hotkeys in my laptop are properly set (some work in hardware, it\u0026rsquo;s just a cosmetic issue). I\u0026rsquo;ve seen that hdparm doesn\u0026rsquo;t set DMA for the devices claiming \u0026ldquo;inappropriate ioctl for device\u0026rdquo; but I think DMA is working nevertheless (it didn\u0026rsquo;t in the past Kubuntu releases, and if enabled it would cause data loss).\nI used the new dist-upgrader to update, which worked remarkably well. As usual, there is a bunch of software that has been updated, and I\u0026rsquo;m still looking through the stuff I use regularly to see the improvements (KDE is still 3.5.6, but again, KDE 4 is still a long way to go\u0026hellip;).\nArtwork-wise the style is now Polyester but there aren\u0026rsquo;t many drastic changes (save for the Guidance Power Manager, whose icon now makes a lot more sense), of course I\u0026rsquo;m still using the Oxygen icons. And the new launch animation for the icons is nice.\nOverall I\u0026rsquo;m satisfied. No screenshots this time, but the official announcement has a few.\n","date":"April 22, 2007","externalUrl":null,"permalink":"/2007/04/kubuntu-7.04/","section":"Posts","summary":"[code lang=“bash”] lb@hardin:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 7.04 Release: 7.04 Codename: feisty [/code]\n","title":"Kubuntu 7.04","type":"post"},{"content":"I just read on Slashdot that the famous RMS has now sung something against the prisoners in Guantanamo Bay (no link, I\u0026rsquo;m not giving it hits). All this while being in Cuba, for all heavens, that\u0026rsquo;s not even remotely a democracy. I don\u0026rsquo;t deny the fact that that place may have been ground for abuses, but I find it hypocritical that RMS did that in a place where people are imprisoned on a whim and human rights are not upheld constantly.\nBut no, facts are too hard to bear. Better to rely on some fundamentally broken ideology (if someone uses Free Software, it\u0026rsquo;s a friend, no matter if they imprison innocents and torture them). And this guy should be the head of the Free Software movement? Heaven forbid!\n","date":"April 21, 2007","externalUrl":null,"permalink":"/2007/04/one-man-one-lame-ideology/","section":"Posts","summary":"I just read on Slashdot that the famous RMS has now sung something against the prisoners in Guantanamo Bay (no link, I’m not giving it hits). All this while being in Cuba, for all heavens, that’s not even remotely a democracy. I don’t deny the fact that that place may have been ground for abuses, but I find it hypocritical that RMS did that in a place where people are imprisoned on a whim and human rights are not upheld constantly.\n","title":"One man, one lame ideology","type":"post"},{"content":"I\u0026rsquo;ve again seen how useful and powerful Python can be. The other day I had to prepare an Excel spreadsheet (sadly) which among other things needed to contain links to the GeneCards database for each gene listed. There were more than 2900 genes listed, so adding links by hand would have been suicidal.\nThat\u0026rsquo;s when Python, through its Windows extensions, comes into play. First of all I created a module for COM objects using the makepy utility. Then it was a matter of importing the right modules and initialize the COM object:\n[code lang=\u0026ldquo;python\u0026rdquo;] from win32com.client import Dispatch\nxlsapp = Dispatch(\u0026ldquo;Excel.Application\u0026rdquo;) xlsapp.Workbooks.Add()[/code]\nThen it was the turn to open the right file, select the right worksheet, and add the for loop to iterate through the cells. Since Excel stupidly changes MARCH3 to a date, I had to catch the relevant TypeError exception and add the link manually.\n[code lang=\u0026ldquo;python\u0026rdquo;] url = \u0026ldquo;http://www.genecards.org/carddisp.pl?gene=\" xlsapp.Workbooks.Open(\u0026ldquo;C:/myfile.xls\u0026rdquo;) worksheet = xlsapp.Worksheets(\u0026ldquo;Tabella1\u0026rdquo;) # Changes depending on locale\nrow = 2 # We skip the header\nwhile worksheet.Cells(row,3).Value: address = \u0026quot;\u0026rdquo; try: address = \u0026lsquo;\u0026rsquo;.join((url,worksheet.Cells(row,3).Value)) except TypeError: address = \u0026lsquo;\u0026rsquo;.join((url,\u0026ldquo;MARCH3\u0026rdquo;)) worksheet.Hyperlinks.Add(worksheet.Cells(row,3),address row +=1 [/code]\nworksheet.Cells takes the row and the column as parameters, and Value is its contents. Hyperlinks.Add is the method used to attach the links (without modifying the contents). After we\u0026rsquo;re done we clean up with\n[code lang=\u0026ldquo;python\u0026rdquo;] xlsapp.Save() [/code]\nVoila\u0026rsquo;! 2900 links added in just a minute.\n","date":"April 21, 2007","externalUrl":null,"permalink":"/2007/04/python-usefulness/","section":"Posts","summary":"I’ve again seen how useful and powerful Python can be. The other day I had to prepare an Excel spreadsheet (sadly) which among other things needed to contain links to the GeneCards database for each gene listed. There were more than 2900 genes listed, so adding links by hand would have been suicidal.\nThat’s when Python, through its Windows extensions, comes into play. First of all I created a module for COM objects using the makepy utility. Then it was a matter of importing the right modules and initialize the COM object:\n","title":"Python usefulness","type":"post"},{"content":"Ok, I _so _tried to keep separate posts for each series I watched. But there are so many, it\u0026rsquo;s impossible to keep up! (including also my limited time to write). I\u0026rsquo;ll just present them in reduced form here, along with a few comments.\nShinkyoku Sokai Polyphonica\nI watched this mostly because the story (the original screenplay of this obscure game) was written by _Scrapped Princess\u0026rsquo;s _Ichiro Sakaki. As the title implies it\u0026rsquo;s somewhat music-related, and focuses on the adventures of two characters (out of a bigger cast), Corticarte (nicknamed Cortie) and Poron, also the two main characters of the game. Cortie is a spirit that made a pact with Poron, although she\u0026rsquo;s rather independent, and her behavior reminds me of Pacifica in Scrapped Princess. They work in a sort of office (Tsuge Divine Music Player) and apparently, as far as I could gather, deal with uncommon events.\nThe animation quality is rather low but rather constant so far (I\u0026rsquo;ve seen episodes 1 and 2). As for the story, there\u0026rsquo;s no real plot development yet, aside introducing all the characters. Episode 4 promises some insight, at last (the whole thing starts in medias res). Despite being not exceptional, I\u0026rsquo;ll keep on watching it.\nKotetsushin Jeeg\nI like this one. A sequel of the original mecha series, now 30 years old, it attracted my interest when I first heard of it. Set 50 years after the original Kotetsu Jeeg, this anime has a different storyline than its predecessor. Hiroshi Shiba was almost defeated against Queen Himika, so he sealed her and her minions off, then he disappeared. It\u0026rsquo;s now up to Kenji Kusanagi, though why has not yet been told, to pilot the new Jeeg and face again the menace of the Haniwa Genji.\nAnimation-wise it\u0026rsquo;s decent, although some parts in CG are truly displeasing. As for the rest, it\u0026rsquo;s pretty much in line with the rest of Go Nagai\u0026rsquo;s works: brain dead plots, but nice action. I\u0026rsquo;ll be definitely keeping on watching this.\n**Sakura Taisen V - New York Kagekidan vol. 1 **\nI pre-ordered the DVD as soon as I heard it was coming out, as I liked the game quite a bit. This six-episode series (the first two are currently out) is set after the defeat of Nobunaga and show the NY Kagekidan deal with another menace, probably coming from ancient Egypt. Ratchtet Altair is missing, as in the first minutes she leaves for Germany to start a Kagekidan there. Shinjiro is in charge of her duties now, but he doesn\u0026rsquo;t seem to realize that it also means he\u0026rsquo;ll have to dress up as Petite-Mint again to take Ratchet\u0026rsquo;s role as Cleopatra in a musical at the Little Lip Theater.\n(sadly I haven\u0026rsquo;t got any screenshots at the moment)\nThe animation somewhat left me perplexed. It\u0026rsquo;s decent enough, but I expected a little more for OAVs, and the CG is truly terrible. I think that somewhat the production had limited funds, as the BGMs are all from the game. Story-wise I can\u0026rsquo;t say much yet, though I didn\u0026rsquo;t like the idea of Petit-Mint (I hated that part in Subaru\u0026rsquo;s chapter in the game), but seems we\u0026rsquo;ll have to stick with it till the end. As for the rest, there\u0026rsquo;s no character development as the characters have already been developed in the game, that\u0026rsquo;s why I think that watching it would not be recommended to people who haven\u0026rsquo;t played it.\nI\u0026rsquo;ll keep on watching the other volumes, of course.\n","date":"April 18, 2007","externalUrl":null,"permalink":"/2007/04/big-anime-mash-up/","section":"Posts","summary":"Ok, I _so _tried to keep separate posts for each series I watched. But there are so many, it’s impossible to keep up! (including also my limited time to write). I’ll just present them in reduced form here, along with a few comments.\n","title":"Big anime mash-up","type":"post"},{"content":"This post sums up my frustration in trying to use Python for my daily work. Like Perl and Ruby, it has its own Bio version to deal with biological data. However, the current implementation leaves a lot to be desired. A lot of stuff that doesn\u0026rsquo;t deal with sequence analysis, even for simple tasks such as fetching annotations from Entrez Gene, is missing (but present in Bioperl, for example). Also, documentation for some modules is lacking or non-existant (why keeping a parser for Affymetrix CEL files when there are no information on how to use it, let alone know which formats does it support?). Basically, maintenance is good for everything related to sequence analysis\u0026hellip; the rest is somewhat in slumber.\nI can understand that Bioconductor has the spotlight regarding microarrays, but some of us don\u0026rsquo;t want to use R for that purpose (also to avoid duplication of tasks in my laboratory). At least for annotations, some stuff would be welcome, to avoid forcing people to reinvent the wheel every time. I hope to get enough time to complete and polish up my \u0026ldquo;annotation project\u0026rdquo; so that it can be helpful to someone (but with my PhD thesis coming up, it won\u0026rsquo;t be anytime soon).\n","date":"April 14, 2007","externalUrl":null,"permalink":"/2007/04/bioinformatics-sequence-analysis/","section":"Posts","summary":"This post sums up my frustration in trying to use Python for my daily work. Like Perl and Ruby, it has its own Bio version to deal with biological data. However, the current implementation leaves a lot to be desired. A lot of stuff that doesn’t deal with sequence analysis, even for simple tasks such as fetching annotations from Entrez Gene, is missing (but present in Bioperl, for example). Also, documentation for some modules is lacking or non-existant (why keeping a parser for Affymetrix CEL files when there are no information on how to use it, let alone know which formats does it support?). Basically, maintenance is good for everything related to sequence analysis… the rest is somewhat in slumber.\n","title":"Bioinformatics != sequence analysis","type":"post"},{"content":"The behavior of some people in FFXI is certainly excessive to say the list, with many people (especially in the \u0026ldquo;endgame\u0026rdquo; linkshells) showing an extremely arrogant and impolite attitude. I had a really nice show of that yesterday, when I went out to get a few merit points with my static group.\nWe chose the Mamool Ja staging point (though I don\u0026rsquo;t like it that much) and set in the northernmost part. That area can accomodate two parties without hassle and needless competition. Or so I thought, because the other party there was from the Tribe linkshell. I\u0026rsquo;ve been disliking them for a long time, not because of their \u0026ldquo;endgame\u0026rdquo; activities (I am not involved at all) but because of their \u0026ldquo;we\u0026rsquo;re Tribe, we can do anything\u0026rdquo; attitude.\nSuch attitude manifested itself with a member saying something like \u0026ldquo;Either move, or don\u0026rsquo;t get any experience at all\u0026rdquo;. Of course I and the others ignored their remarks, but I couldn\u0026rsquo;t help saying what I thought: that Tribe, because of that, is one of the lamest LSes on the Asura server. Of course they tried to get as many monsters as possible, but as I predicted, it gave us no harm at all. Nor the \u0026ldquo;tries\u0026rdquo; to make \u0026ldquo;fun\u0026rdquo; of our party members (are those people 10?).\nIn the end it was a proficient session for me (another merit point obtained) and I saw with my own eyes that some people in FFXI need to get a life\u0026hellip; at least some of the ones in Tribe.\n","date":"April 12, 2007","externalUrl":null,"permalink":"/2007/04/loltribe/","section":"Posts","summary":"The behavior of some people in FFXI is certainly excessive to say the list, with many people (especially in the “endgame” linkshells) showing an extremely arrogant and impolite attitude. I had a really nice show of that yesterday, when I went out to get a few merit points with my static group.\n","title":"lolTribe","type":"post"},{"content":"When I first heard that GONZO was going to make an anime out of the work of William Shakespeare, I can say that I was interested, given their past record with Gankutsuô, namely the visionary adaptation of Alexandre Dumas\u0026rsquo; The Count of Monte Cristo.\nDisclaimer: It was evident from the start that it would not be a faithful representation of Shakespeare\u0026rsquo;s work. Therefore I think it\u0026rsquo;s evident that we should take it as it is - an anime - and not have excessive expectations. That\u0026rsquo;s how I approached the first episode.\nThe episode opens with the Japanese text that referst to the sonnet that Shakespeare put at the start of the drama, then we already see some differences in the basic story: the Capulet family is exterminated by the hands of the Montagues, and Juliet and another, older girl barely escape their doom.\nWe move a few years later, in the city of Neo-Verona (a curious mixture of several classical Italian architectural styles, to say the least). The government, in the hands of the Montagues, is still looking for the last heir, to kill off the family once and for all. When a (seemingly) innocent woman is about to get executed, a mysterious person (Juliet) appears and frees her. The city guard sets off in her pursuit: she snatches a friend along the way(Cordelia - the name refers to one of the daughters of King Lear, actually) and continues her run.\nOn her way, she risks falling to her death, only to be saved by - guess who? - Romeo. Their encounter is short, as she runs away quickly. Cordelia and Juliet go to a theatre, ran by some person named William (a reference to Shakespeare? But he\u0026rsquo;s blonde\u0026hellip;). As they rest, Juliet is reminded of how she\u0026rsquo;s about to reach her 16th birthday (another difference: Juliet was 14 in the play).\nCue to Romeo, who obviously can\u0026rsquo;t forget about Juliet already, and his conversation with a friend. His father tells him about a sort of party for the night and what looks to be an arranged marriage with someone. Back to Juliet, she\u0026rsquo;s trying on some dresses for the upcoming night, where\u0026rsquo;s she supposed to get along with her friend, but by mistake she\u0026rsquo;s picked up by someone and brought there.\nAs soon as she steps in, she gets flashbacks of her past (she lived there before the assassination of her parents). Feeling dizzy, she gets to a fountain, and that\u0026rsquo;s where she meets Romeo again.\nThe episode ends there, and now it\u0026rsquo;s time for comments. Technically, it\u0026rsquo;s top-notch: fluid animation (look at the credits and you\u0026rsquo;ll see that loads of people participated) and a good soundrack. The backgrounds, as I said earlier, are a mixture of several styles found throughout the classical Italian architecture. While it\u0026rsquo;s too early to comment on the story, I\u0026rsquo;ll be surely following this closely, also to see how GONZO interprets other parts of the drama.\nAs a closing note, the episode titles are in Italian, and, much to my surprise, they\u0026rsquo;re correct: the credits show a person who helped with the language. Though, at least for an Italian like me, reading \u0026ldquo;Nella prossima puntata\u0026rdquo; is somewhat funny\u0026hellip;\n","date":"April 6, 2007","externalUrl":null,"permalink":"/2007/04/romeo-x-juliet-1/","section":"Posts","summary":"When I first heard that GONZO was going to make an anime out of the work of William Shakespeare, I can say that I was interested, given their past record with Gankutsuô, namely the visionary adaptation of Alexandre Dumas’ The Count of Monte Cristo.\n","title":"Romeo x Juliet 1","type":"post"},{"content":"In an effort to clean up my backlog of entries (curse my tendinitis, luckily I\u0026rsquo;m going to get therapy soon), I\u0026rsquo;m posting about the series of the new season that I found interesting. I will start this by talking about the most recent Sunrise production, by the same staff of Mai-HiME and Mai-Otome: Idolm@ster XENOGLOSSIA.\nIt\u0026rsquo;s a spin-off from a video game, but it bears little or no resemblance to it. In the future, the Moon has disintegrated and its fragments orbit Earth. Should they pose a threat to the planet, giant robots (Idols) are dispatched to take care of the problem. The episode opens with one of the characters, Haruka Amami, being admitted at a prestigious school in Tokyo.\nHaruka moves towards Tokyo but she isn\u0026rsquo;t very knowledgeable on the way, and not even meeting up with another future student (Yukiho Hagiwara, who, like her, holds a rather strange keychain) helps.\nMeanwhile, the two are spied by a woman, and at the same time other two people are moving to Tokyo for unknown motives.\nAn Idol is dispatched to take care of a fragment in orbit (a way to show both the base where they are launched from, and the people inside), while Haruka and her companion struggle to find the right way.\nThey end up in front of the sea, where the old Tokyo was (the result of a catastrophic event?). Haruka makes a positive comment on Idols and that seems to activate one, buried under the sea.\nAt the base they\u0026rsquo;re aware of such an event but they\u0026rsquo;re totally unable to stop it, as the Idol breaks down every barrier. As it emerges, the shockwave knocks out Yukiho, and at the same time the woman who was following them (and saw the scene) is confronted by one of the two people from before (Chihaya), while the other (Riffa) talks to Haruka.\nIn the events that ensue, Haruka ends up into the Idol\u0026rsquo;s cockpit, while another Idol (Chihaya\u0026rsquo;s) appears behind it.\nThat\u0026rsquo;s how the first episode ends. Animation-wise it\u0026rsquo;s very nice, but again we\u0026rsquo;re talking about Sunrise here, so the budget is probably high. I noticed that like Mai-Otome\u0026rsquo;s Arika, Haruka comes from the province and is not used to large towns. As for the story, this is an introductory episode, so I can\u0026rsquo;t really make any judgment yet.\n","date":"April 6, 2007","externalUrl":null,"permalink":"/2007/04/idolm@ster-xenoglossia-1/","section":"Posts","summary":"In an effort to clean up my backlog of entries (curse my tendinitis, luckily I’m going to get therapy soon), I’m posting about the series of the new season that I found interesting. I will start this by talking about the most recent Sunrise production, by the same staff of Mai-HiME and Mai-Otome: Idolm@ster XENOGLOSSIA.\n","title":"Idolm@ster XENOGLOSSIA 1","type":"post"},{"content":"The first episode of Maho Shojo Lyrical Nanoha StrikerS was aired in Japan recently, and I got the chance to see it. I admit I was rather interested because I liked both the original Nanoha and its sequel Nanoha A\u0026rsquo;s. Both redefined the \u0026ldquo;Magical Girl\u0026rdquo; genre, that was in my opinion somewhat stale since the end of Sailormoon, with many twists and a lot of added action.\nSo when news of a third series came out, I was naturally interested, despite some concerns about the characters. Now that I\u0026rsquo;ve seen the first episode, I can say that many of my doubts were baseless.\nThe OP (The song is_ Secret Ambition, _performed by Nana Mizuki) already has a group-focused approach and doesn\u0026rsquo;t leave out Fate and Nanoha, instead it looks like they\u0026rsquo;ll both have important roles along with the new characters.\nThe episode starts with a flashback in which one of the new characters (Subaru) is rescued from a fire by Nanoha. The event has quite an impact on the young Subaru, who decides to take Nanoha as a model. Cue to the present: Subaru and her friend Teana are taking an examination to raise their Magic User ranks (from C to B). The operation is supervised by two other familiar characters: Fate and Hayate.\nThe test begins, and this is also a way to show Subaru\u0026rsquo;s and Teana\u0026rsquo;s magic. The former uses a sort of iron punch to attack at close distance, while the latter uses a gun (but with many special tricks). As the two fight their way through drones, they perform reasonably well, until Teana gets injured (the \u0026ldquo;usual\u0026rdquo; sprained ankle). She asks Subaru to leave her behind, but her friend is not too keen on that.\nIn the end, after an \u0026ldquo;emotional\u0026rdquo; moment, they decide to give a shot to their last obstacle before the time runs out. While Teana uses decoys to distract the large enemy they have to defeat, Subaru gets near to it and moves for the kill, using a move with the same name as Nanoha\u0026rsquo;s, Divine Buster.\nIn the end the move proves succesful, as the enemy is defeated. But there is little time left, so they run towards the endpoint\u0026hellip; unfortunately Subaru speeds up too much and risk crashing onto a wall with Teana, but luckily Nanoha arrives and saves the day (as usual).\nThe episode closes with Subaru crying after seeing Nanoha again.\nAnimation-wise, it\u0026rsquo;s quite good. There are lots of dynamic scenes, but with a good level of detail. I like the new designs and Subaru looks to be a good character after all. There\u0026rsquo;s not much to say about the story (yet) but I trust the staff: also, since it\u0026rsquo;s a 26 episode series I\u0026rsquo;m sure there will be plenty of time for developing old and new characters.\nI enjoyed Nanhoa StrikerS very much. If the rest of the series keeps up with this, I may consider getting the DVDs when they are out.\n","date":"April 2, 2007","externalUrl":null,"permalink":"/2007/04/nanoha-strikers-episode-1/","section":"Posts","summary":"The first episode of Maho Shojo Lyrical Nanoha StrikerS was aired in Japan recently, and I got the chance to see it. I admit I was rather interested because I liked both the original Nanoha and its sequel Nanoha A’s. Both redefined the “Magical Girl” genre, that was in my opinion somewhat stale since the end of Sailormoon, with many twists and a lot of added action.\n","title":"Nanoha StrikerS episode 1","type":"post"},{"content":"Recently (before my tendinitis forced me to avoid using my desktop computer) I installed the beta version of Kubuntu 7.04 (Feisty Fawn).\nI thought I\u0026rsquo;d help and I used the new dist-upgrader tool. Save for some minor quirks (already reported in the appropriate bug report), everything worked rather flawlessly. The release was pretty stable already, although there are a few problems (such as not being able to scan). Also the artwork, save the new color scheme and window decoration is more or less the same as always (after tasting Oxygen I don\u0026rsquo;t want to go back to Crystal). Under the hood, however, the improvements are noticeable (X.org 7.2 and kernel 2.6.20) and also Python 2.5 ships as default version (which means I can start playing with its new features). The compositing managers Beryl and Compiz are also included in the repositories, though I find them rather useless as of now\nI think it\u0026rsquo;s going to be an interesting release. As soon as it reaches the RC status I will also install it on my laptop. And of course, an obligatory screenshot showing my desktop and KDevelop 3.4 in action:\n","date":"March 30, 2007","externalUrl":null,"permalink":"/2007/03/playing-with-feisty-fawn/","section":"Posts","summary":"Recently (before my tendinitis forced me to avoid using my desktop computer) I installed the beta version of Kubuntu 7.04 (Feisty Fawn).\n","title":"Playing with Feisty Fawn","type":"post"},{"content":"This entry already shows what I think of a popular open source pathway analysis and visualization program, GenMAPP. It\u0026rsquo;s quite used to map gene expression data coming from microarrays to metabolic pathways, and in addition to that you can also evaluate enrichment for both pathways and Gene Ontology terms. Last but not least you can create and contribute new metabolic maps.\nSo why the title of the post? Because, despite being actively developed and with conscious developers that don\u0026rsquo;t want to break the software with new features, it\u0026rsquo;s extremely buggy. Yesterday I spent a whole afternoon trying to get it to work. The program doesn\u0026rsquo;t work if you use the comma as the decimal separator OS-wide, or some applications crash completely if your regional settings (sadly it\u0026rsquo;s a Windows only program) aren\u0026rsquo;t set to USA. What\u0026rsquo;s worse is that such a \u0026ldquo;feature\u0026rdquo; has been reported two years ago. I can understand the limited resources and all, but please, those are really basic bugs. It\u0026rsquo;s not as bad as software \u0026ldquo;fit for publication\u0026rdquo;, but still a massive annoyance\u0026hellip;\n","date":"March 29, 2007","externalUrl":null,"permalink":"/2007/03/genbugg/","section":"Posts","summary":"This entry already shows what I think of a popular open source pathway analysis and visualization program, GenMAPP. It’s quite used to map gene expression data coming from microarrays to metabolic pathways, and in addition to that you can also evaluate enrichment for both pathways and Gene Ontology terms. Last but not least you can create and contribute new metabolic maps.\nSo why the title of the post? Because, despite being actively developed and with conscious developers that don’t want to break the software with new features, it’s extremely buggy. Yesterday I spent a whole afternoon trying to get it to work. The program doesn’t work if you use the comma as the decimal separator OS-wide, or some applications crash completely if your regional settings (sadly it’s a Windows only program) aren’t set to USA. What’s worse is that such a “feature” has been reported two years ago. I can understand the limited resources and all, but please, those are really basic bugs. It’s not as bad as software “fit for publication”, but still a massive annoyance…\n","title":"GenBUGG","type":"post"},{"content":"On Wednesday 21st I was finally able to undertake the new Treasures of Aht Urghan missions! It felt nice, since I mostly play for merit points and Dynamis now (and occasionally some action in Al\u0026rsquo;Taieu, though rare and far between).\nOur party consisted of myself (Paladin, but I bet you know that by now), Eithin (White Mage), Sechs (Monk), Daman (Black Mage), Necronemesi (Ranger) and Mitsuashi (Red Mage). A balanced group, in short: something rare to see nowadays with the proliferation of \u0026ldquo;burn\u0026rdquo; type parties. Surprisingly, everyone was online by the allotted time (21 GMT+1) and so we moved on for the first mission of the two we had to take, \u0026ldquo;Puppet in Peril.\u0026rdquo;\nIt was a Burning Circle type mission (I love those ones) against a Mamool Ja riding a strange creature, Lancelord Gaheel Ja. It didn\u0026rsquo;t prove to be too difficult in the end (completed in 5 minutes), but it was annoying how that monster picked up its targets regardless of hate. In any case, a movie courtesy of my brother is better than words.\n[googlevideo]http://video.google.com/videoplay?docid=-6753546466375379914\u0026amp;hl=it[/googlevideo]\nIn case you find the quality too low, there\u0026rsquo;s a higher-quality (60 Mb) version.\nThe second mission was \u0026ldquo;Shades of Vengeance\u0026rdquo;. Basically we had to check a spot in Arrapago Reef, then go back to Dvucca Isle to enter an Assault to search for the royal puppetmaster. Inside the assault there were eight lamiae. Some people said this was harder than the previous mission, but I don\u0026rsquo;t think so. The lamiae were pitifully weak and did not offer a challenge at all. After that, a long series of cutscenes that were very interesting.\nHere\u0026rsquo;s the second movie in action:\n[googlevideo]http://video.google.com/videoplay?docid=7785375951932784235[/googlevideo]\nAgain, a higher quality version is available.\nNow, no more missions until June, probably. A shame since the story is quite good so far. A side note: everyone was perfectly on time. Given some delays I had when doing Chains of Promathia missions, that was a welcome change.\n","date":"March 23, 2007","externalUrl":null,"permalink":"/2007/03/treasures-of-aht-urghan-missions/","section":"Posts","summary":"On Wednesday 21st I was finally able to undertake the new Treasures of Aht Urghan missions! It felt nice, since I mostly play for merit points and Dynamis now (and occasionally some action in Al’Taieu, though rare and far between).\n","title":"Treasures of Aht Urghan Missions","type":"post"},{"content":"You usually don\u0026rsquo;t expect them to actually appear. Today, after a call made by my brother, was different\u0026hellip;\n","date":"March 19, 2007","externalUrl":null,"permalink":"/2007/03/when-you-call-a-gm.../","section":"Posts","summary":"You usually don’t expect them to actually appear. Today, after a call made by my brother, was different…\n","title":"When you call a GM...","type":"post"},{"content":"A lot of times when doing Dynamis it happens that people lot for a particular piece of relic armor then when asking about the stats I see responses like \u0026ldquo;It\u0026rsquo;s crap\u0026rdquo; or something similar. This brings the question: why do you want it in the first place? To put it on a mannequin to show off? There **is no use_ _**for relic armor unless worn. So, next time you make a lot, do the others a favor, save it for pieces you really want and let people who want to use the blasted things go first. At least they want to use it, and not just show off.\n","date":"March 17, 2007","externalUrl":null,"permalink":"/2007/03/relic-armor-on-mannequins-is-stupid/","section":"Posts","summary":"A lot of times when doing Dynamis it happens that people lot for a particular piece of relic armor then when asking about the stats I see responses like “It’s crap” or something similar. This brings the question: why do you want it in the first place? To put it on a mannequin to show off? There **is no use_ _**for relic armor unless worn. So, next time you make a lot, do the others a favor, save it for pieces you really want and let people who want to use the blasted things go first. At least they want to use it, and not just show off.\n","title":"Relic armor on mannequins is stupid","type":"post"},{"content":"And so again, I watched last week (yes, I am behind) the fourth episode of Dancougar Nova. The title looks promising: Akai Dancougar (The red Dancougar), which implies that there is another Dancougar around, although the opening animation already hinted at that.\nThe episode starts with Kurara being a target for assassination (she has made several enemies in the police), but then the focus shifts to the Dragon\u0026rsquo;s Hive where all the pilots are present (almost equal screen time for everyone even in this episode).\nRuriruri does her best to fulfill her role as counsellor, and as a matter of fact she talks with Kurara, and we get a flashback of why she decided to enter in the police (the usual childhood drama, I\u0026rsquo;d say).\nWhile the team is still pondering over what they did in the previous episode (they left immediately after balancing the battle, earning angry shouts from a group of children), the alarm sounds and they\u0026rsquo;re dispatched somewhere again to aid the weak and level the battle. In this episode they support guys with ridicolous battle armor:\nAoi has a flashback of the children in the previous episode and launches off earlier than expected, however her teammates react quickly enough as well. The Dancougar forms almost immediately and basically shows off weapons (Danku Ho again), then for no apparent reason Aoi forgets that the Dancougar needs a \u0026ldquo;cooldown\u0026rdquo; period before using other weapons and tries to summon the _Danku Ken _against the usual enemy Genocidron. As it doesn\u0026rsquo;t work, Kurara suggests to fight physically till the energy returns.\nThe Dancougar then kicks the enemy\u0026rsquo;s behind easily, Aoi uses the Danku Ken, but as she\u0026rsquo;s about to deliver the final blow, another Dancougar comes and kicks the sword away:\nThe episode ends after that. Judging from the previews, it seems that the next one will be focused on Kurara, and that (obviously) the confrontation will be postponed. Nevertheless, the series remains interesting (though I hope the staff plays their cards correctly). What I can\u0026rsquo;t stand, for heaven\u0026rsquo;s sake, is the animation quality. It\u0026rsquo;s not as bad as episode three, but drops significantly after half of the episode, and we see a deformed Dancougar move around. The credits show that part of the animation was made probably by a Chinese studio.\nWhat a shame. I really don\u0026rsquo;t want this series to follow the path of Gravion\u0026hellip; we\u0026rsquo;ll have to see the DVDs and the next episodes to find out for sure.\n","date":"March 14, 2007","externalUrl":null,"permalink":"/2007/03/dancougar-nova-4/","section":"Posts","summary":"And so again, I watched last week (yes, I am behind) the fourth episode of Dancougar Nova. The title looks promising: Akai Dancougar (The red Dancougar), which implies that there is another Dancougar around, although the opening animation already hinted at that.\n","title":"Dancougar Nova 4","type":"post"},{"content":"As I anticipated, I can finally release this small script. Its purpose is to build BED files out of tab-delimited text files. I made this because I had several files to make and moving columns left and right (not to mention writing a heading line for the Genome Browser) was becoming annoying. Its use is fairly straightforward, as the help itself says:\nusage: make_bed_file.py [options] [destination]\noptions: -h, --help show this help message and exit -i FILE, --input=FILE Use ranges from FILE -n NAME, --name=NAME Use NAME as BED track name -t TYPE, --tracks=TYPE Format other annotation tracks according to TYPE (default: pack) -v TYPE, --visibility=TYPE Set visibility of the BED track to TYPE (default: full) -d DISPLAY, --display=DISPLAY Select specific annotation tracks (comma-delimited list; default: all)\nThe input file format is rather simple as well:\nChromosome | Identifier | Start Position | End position | Score\nThe score column is optional. The file must be tab-delimited. If you want to change the format of the file, have a look at the ncbi class inside the source. The result is a BED file with chromosome, position, name and score.\nGet the script and make it executable. If you have any problems, please report.\n","date":"March 13, 2007","externalUrl":null,"permalink":"/2007/03/a-bed-file-builder/","section":"Posts","summary":"As I anticipated, I can finally release this small script. Its purpose is to build BED files out of tab-delimited text files. I made this because I had several files to make and moving columns left and right (not to mention writing a heading line for the Genome Browser) was becoming annoying. Its use is fairly straightforward, as the help itself says:\n","title":"A BED file builder","type":"post"},{"content":"Just something different, for a change. I got up this morning and on one of my windows I saw this:\n(for the record, those are my two cats, Minou on the left and Matisse on the right)\n","date":"March 13, 2007","externalUrl":null,"permalink":"/2007/03/a-change/","section":"Posts","summary":"Just something different, for a change. I got up this morning and on one of my windows I saw this:\n(for the record, those are my two cats, Minou on the left and Matisse on the right)\n","title":"A change","type":"post"},{"content":"Today I went over my old Python code, back when I first started programming. I\u0026rsquo;d say that I found what I had written to be largely amusing to say the least. Loads of ugly hacks all over the place, duplicated functions, etc\u0026hellip; in short, a real mess.\nI\u0026rsquo;m quite happy of the results I achieved in the past month, since I finally learnt how to code properly and started making my own classes (this book was immensely helpful). I hope I improve enough to be able to make a package for what I\u0026rsquo;ve made, as there is a distinct lack of annotation tools for microarray data in Python (Bioconductor steals the spotlight for everything, but I can\u0026rsquo;t stand R).\nI will probably post a small script to make BED files from properly formatted files tomorrow or so, once I clean up the hardcoded stuff.\n","date":"March 12, 2007","externalUrl":null,"permalink":"/2007/03/old-code/","section":"Posts","summary":"Today I went over my old Python code, back when I first started programming. I’d say that I found what I had written to be largely amusing to say the least. Loads of ugly hacks all over the place, duplicated functions, etc… in short, a real mess.\nI’m quite happy of the results I achieved in the past month, since I finally learnt how to code properly and started making my own classes (this book was immensely helpful). I hope I improve enough to be able to make a package for what I’ve made, as there is a distinct lack of annotation tools for microarray data in Python (Bioconductor steals the spotlight for everything, but I can’t stand R).\n","title":"Old code","type":"post"},{"content":"Today I decided to give the new Oxygen icon theme (the default icon theme for KDE 4, as Troy Unrau explains effectively on dot.kde.org) a spin. Since it\u0026rsquo;s not (obviously) available for KDE 3.x, I had to do a checkout from SVN (from trunk/KDE/kdelibs/pics, since they were recently moved there). Then it was a matter of moving the oxygen folder to /usr/share/icons and selecting the theme in kcontrol.\nHowever, since Oxygen recently moved to the naming specification set by the Tango Project, some icons weren\u0026rsquo;t replaced. I had to modify the icons in the toolbars manually. Here is how my Konqueror looks right now (I disabled previews to show the icons), but keep in mind that the set is nowhere near finished, and probably not even meant to be installed on KDE 3.x:\nAnd another screenshot, showing more icon types:\nWhile it\u0026rsquo;s still a work in progress, I can say I really like the new icons, they have a better feel than old Crystal. Also, the Oxygen Team, unlike Everaldo with Crystal, has chosen a license for their artwork (CC BY-SA 3.0) and also provides the full SVG sources (and most of them are done with Inkscape, which is FOSS).\nI\u0026rsquo;ll keep doing a couple of checkouts per week to see how it evolves.\n","date":"March 9, 2007","externalUrl":null,"permalink":"/2007/03/oxygen/","section":"Posts","summary":"Today I decided to give the new Oxygen icon theme (the default icon theme for KDE 4, as Troy Unrau explains effectively on dot.kde.org) a spin. Since it’s not (obviously) available for KDE 3.x, I had to do a checkout from SVN (from trunk/KDE/kdelibs/pics, since they were recently moved there). Then it was a matter of moving the oxygen folder to /usr/share/icons and selecting the theme in kcontrol.\n","title":"Oxygen","type":"post"},{"content":"Last week (this should show how behind I am in writing things) I watched the third episode of Dancougar Nova. This new episode gives an insight about what the group (nicknamed Team D where D stands for Dangerous - I am getting a deja vu with regards to Tekkaman Blade\u0026rsquo;s D-Boy\u0026hellip;) is supposed to do and more details about the Dancougar itself.\nAfter picking up after the cliffhanger of episode 2, this one gives (like the others) almost all equal screen time for all the characters. It tends to feel quite odd, not because it\u0026rsquo;s bad, but because such a practice is normally uncommon in Japanese animation.\nAfter a more detailed explanation on the duties of Team D, the group is again briefed by Tanaka and then sent off on another mission, in a now destroyed town where heavy fighting is taking place.\nThis is a good excuse to show the \u0026ldquo;humanoid mode\u0026rdquo; of the various parts of the Dancougar. As usual it\u0026rsquo;s almost an one-sided battle as the enemy units are no match for them at all. Then the commander changes his \u0026ldquo;Genocidron into grappler mode\u0026rdquo; and the Dancougar forms (same sequence as episode 2). After a brief intermission with a group of children who want to fight for their own country, we get to see another weapon of the Dancougar, the _Danku Ken _(after an explicit order from the mysterious man behind the organization, F.S.):\nThis is almost the only well animated part of this episode (I\u0026rsquo;ll get to that shortly): basically the Dancougar pulls out a sword and cuts the Genocidron in two (while the commander miracolously manages to escape). Then, while the children are cheering the robot, the Dancougar turns back and leaves, much to their disappointment, because it can not take sides.\nStory-wise we\u0026rsquo;re still on decent levels, with some comical intermissions that are a little out of place, but the rather serious ending (and Aoi\u0026rsquo;s thoughts on the actions of the Dancougar) make up for that. What is really bad about this episode is the animation: it\u0026rsquo;s really low quality, save for stock footage. A quick look at the credits reveals that the work was done by a Korean company. I really hope this is just an isolated case,and doesn\u0026rsquo;t end up like_ Gravion_\u0026hellip;\n","date":"March 9, 2007","externalUrl":null,"permalink":"/2007/03/dancougar-nova-3/","section":"Posts","summary":"Last week (this should show how behind I am in writing things) I watched the third episode of Dancougar Nova. This new episode gives an insight about what the group (nicknamed Team D where D stands for Dangerous - I am getting a deja vu with regards to Tekkaman Blade’s D-Boy…) is supposed to do and more details about the Dancougar itself.\n","title":"Dancougar Nova 3","type":"post"},{"content":"A recent article on dotKDE caused really a stir and a rather long (more than 430 comments!) debate. What is the reason? The decision to use the [Dolphin file manager](The Road to KDE 4: Dolphin and Konqueror) instead of Konqueror as default file manager.\nI found myself rather surprised at such a reaction. After all, Dolphin and Konqueror will share much of the code base (which means that they will improve both) and Konqueror won\u0026rsquo;t be removed and will be available as default file manager through configuration. It sounds like a safe choice for me, however people didn\u0026rsquo;t like it that much apparently.\nDifferent opinions are good, however many replies on the dot weren\u0026rsquo;t really constructive, or even informed. I just hope they don\u0026rsquo;t demotivate the developers, as they\u0026rsquo;re doing their best (I\u0026rsquo;m eagerly awaiting for KDE 4). Personally I think it\u0026rsquo;s fear of change, because Dolphin is not and will not be a file manager with stripped down functionality (what GNOME does), but instead it will be a specialized file manager, and rather powerful too.\nTo whoever doesn\u0026rsquo;t like the decision, they\u0026rsquo;re fine to think so. I would advise them to try Dolphin at least, though.\n","date":"March 5, 2007","externalUrl":null,"permalink":"/2007/03/fear-of-change/","section":"Posts","summary":"A recent article on dotKDE caused really a stir and a rather long (more than 430 comments!) debate. What is the reason? The decision to use the [Dolphin file manager](The Road to KDE 4: Dolphin and Konqueror) instead of Konqueror as default file manager.\nI found myself rather surprised at such a reaction. After all, Dolphin and Konqueror will share much of the code base (which means that they will improve both) and Konqueror won’t be removed and will be available as default file manager through configuration. It sounds like a safe choice for me, however people didn’t like it that much apparently.\n","title":"Fear of change","type":"post"},{"content":"I just learnt today that the paper I\u0026rsquo;m writing with my colleague has to be in an acceptable state (almost submission ready) by the 20th. Considering I\u0026rsquo;m still behind with the analysis, it will be certainly challenging to complete the task, considering I also have other duties to attend to. In primis I need to study more and more papers (I add more and more to my TODO list).\nAlso, probably next week the new infrastructure for authentication (which includes a Primary Domain Controller for Windows clients) will be put in place and I\u0026rsquo;ll have to make sure that the data handling for our group will be without problems. So far I have used a simple MS-DOS script to copy over data from the Affymetrix scanner to a network drive, but I\u0026rsquo;ll need something slightly more sophisticated for the new system (since data will have to be copied in two different places), including email notifications for certain events.\nIn short, things are getting even **more **hectic than I had previously expected\u0026hellip;.\n","date":"March 1, 2007","externalUrl":null,"permalink":"/2007/03/deadlines-and-domains/","section":"Posts","summary":"I just learnt today that the paper I’m writing with my colleague has to be in an acceptable state (almost submission ready) by the 20th. Considering I’m still behind with the analysis, it will be certainly challenging to complete the task, considering I also have other duties to attend to. In primis I need to study more and more papers (I add more and more to my TODO list).\nAlso, probably next week the new infrastructure for authentication (which includes a Primary Domain Controller for Windows clients) will be put in place and I’ll have to make sure that the data handling for our group will be without problems. So far I have used a simple MS-DOS script to copy over data from the Affymetrix scanner to a network drive, but I’ll need something slightly more sophisticated for the new system (since data will have to be copied in two different places), including email notifications for certain events.\n","title":"Deadlines and domains","type":"post"},{"content":"I\u0026rsquo;ve found always hard to express certain types of ideas on the Internet. I probably think that it\u0026rsquo;s due to the abuse of the anonimity that the net gives to most people (hint: think of the angsty teens on MySpace). The overall result is that some people feel put off in writing anything that is closely related to being emotional (either positive or negative), and on the other hand, other people may be annoyed after reading a lot of emotional things without real content.\nI don\u0026rsquo;t think there will be a solution, only personal \u0026ldquo;filtering\u0026rdquo; will be able to discriminate between pointless sentences or something that is truly touching.\nAnd yes, I know, this entry is rather random\u0026hellip; I just wanted to share a thought or two.\n","date":"March 1, 2007","externalUrl":null,"permalink":"/2007/03/thoughts/","section":"Posts","summary":"I’ve found always hard to express certain types of ideas on the Internet. I probably think that it’s due to the abuse of the anonimity that the net gives to most people (hint: think of the angsty teens on MySpace). The overall result is that some people feel put off in writing anything that is closely related to being emotional (either positive or negative), and on the other hand, other people may be annoyed after reading a lot of emotional things without real content.\n","title":"Thoughts","type":"post"},{"content":"Work is getting hectic as we\u0026rsquo;re finally gathering a lot of data for a new publication. This means reading a lot of literature, choosing the figures and planning results and discussion properly. On top of that, I\u0026rsquo;m starting to study pathway analysis for my thesis, and of course, seeing how I can use that to study our own data.\nI also have some other non research duties to attend to, such as being the person repsonsible for data handling of our group in relation to the server that we bought recently, I need to learn more Python and do some more administrative tasks on our computers (such as upgrading a few Windows 2000 installations to Windows XP). In short, everything will become hectic rather soon\u0026hellip; I\u0026rsquo;m sure it will get pretty interesting from now on.\n","date":"February 25, 2007","externalUrl":null,"permalink":"/2007/02/a-lot-of-work/","section":"Posts","summary":"Work is getting hectic as we’re finally gathering a lot of data for a new publication. This means reading a lot of literature, choosing the figures and planning results and discussion properly. On top of that, I’m starting to study pathway analysis for my thesis, and of course, seeing how I can use that to study our own data.\nI also have some other non research duties to attend to, such as being the person repsonsible for data handling of our group in relation to the server that we bought recently, I need to learn more Python and do some more administrative tasks on our computers (such as upgrading a few Windows 2000 installations to Windows XP). In short, everything will become hectic rather soon… I’m sure it will get pretty interesting from now on.\n","title":"A lot of work","type":"post"},{"content":"I\u0026rsquo;ve watched the second episode of Dancougar Nova, titled Choju Gasshin! yesterday. The animation quality is on a good level (after Gravion I wasn\u0026rsquo;t so sure) throughout the episode, aside a couple of hiccups here and there.\nWe get to see the crew moving permanently to the base, and they get their \u0026ldquo;regular\u0026rdquo; combat outfits:\nAgain there isn\u0026rsquo;t much time for explanations because when the group is in front of chief Tanaka, an alarm sounds exactly when the good questions are made, so everyone is sent into battle. We get to see some of the mecha forms of the single parts of Dancougar, as long as the animal forms (something in common with its predecessor). Of course at a certain point it\u0026rsquo;s time to form the main mecha, so there\u0026rsquo;s the Choju Gasshin sequence.\nLast but not least, the Dancougar Nova shows off one of its weapon, the Danku Ho (again this was also present in the original Dancougar, though here it looks a bit different):\nThe episode ends shortly afterwards, with a sort of cliffhanger. I\u0026rsquo;m surely curious to see what\u0026rsquo;s next, though I hope the characters will get a little more depth (it\u0026rsquo;s a mecha show, I don\u0026rsquo;t expect too much, but just a bit more than now).\n","date":"February 24, 2007","externalUrl":null,"permalink":"/2007/02/dancougar-nova-2/","section":"Posts","summary":"I’ve watched the second episode of Dancougar Nova, titled Choju Gasshin! yesterday. The animation quality is on a good level (after Gravion I wasn’t so sure) throughout the episode, aside a couple of hiccups here and there.\n","title":"Dancougar Nova 2","type":"post"},{"content":"No, I\u0026rsquo;m not talking about his looks. I\u0026rsquo;m talking about him being morally disgusting. The reason? The fact that he went to Cuba and convinced them to switch to FOSS. You may want to know, why is that a bad thing?\nEasy answer: Cuba isn\u0026rsquo;t a democracy. Think what you want, blame the United States for the embargo how much you like, but you won\u0026rsquo;t be able to hide the fact that it is a totalitarian, oppressive regime. You can get arrested just by expressing dissent, or by promoting ideas that aren\u0026rsquo;t what the government wants.\nThat\u0026rsquo;s why I think that RMS is a lame hypocrite. He babbles about freedom, but as long as a non-democratic country uses FOSS, they\u0026rsquo;re all friends? Aside from the PR blow that this will deal to the FOSS image (hint: not everyone who promotes it is a Communist), I think it shows the mindset of this man.\nIf I just disliked him before, now I can say I openly despise him. He should go back on doing just software, instead of pushing his own political agenda. How shameful.\n","date":"February 17, 2007","externalUrl":null,"permalink":"/2007/02/richard-m.-stallman-is-disgusting/","section":"Posts","summary":"No, I’m not talking about his looks. I’m talking about him being morally disgusting. The reason? The fact that he went to Cuba and convinced them to switch to FOSS. You may want to know, why is that a bad thing?\nEasy answer: Cuba isn’t a democracy. Think what you want, blame the United States for the embargo how much you like, but you won’t be able to hide the fact that it is a totalitarian, oppressive regime. You can get arrested just by expressing dissent, or by promoting ideas that aren’t what the government wants.\n","title":"Richard M. Stallman is disgusting","type":"post"},{"content":"Since almost everyone\u0026rsquo;s attention is focused on Naruto Shippuden, not many noticed that on Feb 15th a new mecha show was aired. Titled Juso Kiko Dancougar Nova, this anime is a remake/sequel (I need to figure this out) of the 198X series _Choju Kishin Dancougar _(Super Machine Beast God Dancougar), and coincidentally animated by the same studio (Ashi Productions).\nThe character designs are by _Sailormoon\u0026rsquo;s _Kazuko Tadano, while the main mecha design and direction are by Masami Obari (Chojushin Gravion, VIRUS Buster Serge, Garo Densetsu/Fatal Fury).\nThe episode quickly introduces the four pilots of the robot, who are basically kidnapped and brought to an island where the main base is.\nA brief explanation, and the team is sent into battle. There aren\u0026rsquo;t any more large conflicts, just small ones, and the point of the Dancougar is to stop them.\nAs a matter of fact, it manages pretty well, as it tackles an enemy mech:\nThe animation is overall nice, although in some scenes the quality falls noticeably. I can\u0026rsquo;t say anything about the story yet, of course. I\u0026rsquo;m not too pleased that it will be just 12 episodes long, however. Given what has happened with Gravion, this could be another mistake. But again, time will tell.\n","date":"February 16, 2007","externalUrl":null,"permalink":"/2007/02/dancougar-nova/","section":"Posts","summary":"Since almost everyone’s attention is focused on Naruto Shippuden, not many noticed that on Feb 15th a new mecha show was aired. Titled Juso Kiko Dancougar Nova, this anime is a remake/sequel (I need to figure this out) of the 198X series _Choju Kishin Dancougar _(Super Machine Beast God Dancougar), and coincidentally animated by the same studio (Ashi Productions).\n","title":"Dancougar Nova","type":"post"},{"content":"I\u0026rsquo;ve just came back from a two days\u0026rsquo; trip in Firenze. On the first day we had a long (4.30 hours) meeting on some interesting research topics, such as cellular aging and about oxidative damage in yeast.\nOn the second day I attended part of a workshop on pathway analysis and related topics. Many speakers were from the NuGO project funded by the European Community, but the talks were still quite general. Several tools were presented, some look interesting (EU.GENE) while others seem less useful at least for a research environment (mostly commercial software, but I think I\u0026rsquo;ll go into more detail in a separate entry).\nOverall, the subject matter of pathway analysis and related topics seems an interesting idea for my PhD thesis. I think I\u0026rsquo;ll go and start studying in detail from next week.\n","date":"February 11, 2007","externalUrl":null,"permalink":"/2007/02/two-days-in-firenze/","section":"Posts","summary":"I’ve just came back from a two days’ trip in Firenze. On the first day we had a long (4.30 hours) meeting on some interesting research topics, such as cellular aging and about oxidative damage in yeast.\nOn the second day I attended part of a workshop on pathway analysis and related topics. Many speakers were from the NuGO project funded by the European Community, but the talks were still quite general. Several tools were presented, some look interesting (EU.GENE) while others seem less useful at least for a research environment (mostly commercial software, but I think I’ll go into more detail in a separate entry).\n","title":"Two days in Firenze","type":"post"},{"content":"Yesterday I and another person went to the server room to do the basic configuration of the Apple Xserve we have bought, along with its Xserve RAID unit. Despite the general \u0026ldquo;idea\u0026rdquo; that anything Apple does is user-friendly, our experience was plagued by problems.\nFirst of all, I don\u0026rsquo;t understand why even with two fiber channel cables, the RAID must be configured via Ethernet. I can understand when you have multiple RAID units and you want to manage them remotely, but I still don\u0026rsquo;t see why the fiber channel is not used for this purpose. After fiddling a bit with the network addresses (the two cards default to DHCP, and we don\u0026rsquo;t have DHCP on this network) we were able to access the machine.\nI must say that I find absurd that Apple does not provide paper manuals for their RAID systems. With a price over € 10,000, it\u0026rsquo;s the minimum expected. In any case, at a certain point the RAID controller 2 locked up.\nIt didn\u0026rsquo;t even respond to reset requests, its network interface was inert and not even power cycling would resolve the issue. The RAID Admin utility would simply refuse to acknowledge the existence of the controller. Afeter looking around online (the Xserve manual tells you that there is indeed a reset button for the controller, but does not telly the procedure) we tried to reset it, but again, nothing happened.\nIn a last effort of desperation we unplugged the controller and plugged it back in. Magically, it started working. In the end, we lost one afternoon and we didn\u0026rsquo;t even create any array\u0026hellip;\n","date":"February 3, 2007","externalUrl":null,"permalink":"/2007/02/a-day-with-an-apple-xserve/","section":"Posts","summary":"Yesterday I and another person went to the server room to do the basic configuration of the Apple Xserve we have bought, along with its Xserve RAID unit. Despite the general “idea” that anything Apple does is user-friendly, our experience was plagued by problems.\n","title":"A day with an Apple Xserve","type":"post"},{"content":"By tracking the statistics of my blog, I noticed that many people came here from web pages that linked directly the old multimedia files I had on dennogumi.org when it was still an information page on Akihabara Denno Gumi. However they aren\u0026rsquo;t here anymore. I also kindly asked to avoid linking them directly when they were up, but I guess some people just don\u0026rsquo;t read.\nIn short, if you have come here to get movies, or music files, you won\u0026rsquo;t find them. If you want to know the reason, check the About page. I will probably have to put up custom pages to people looking for those files\u0026hellip;\n","date":"January 30, 2007","externalUrl":null,"permalink":"/2007/01/there-are-no-movies/","section":"Posts","summary":"By tracking the statistics of my blog, I noticed that many people came here from web pages that linked directly the old multimedia files I had on dennogumi.org when it was still an information page on Akihabara Denno Gumi. However they aren’t here anymore. I also kindly asked to avoid linking them directly when they were up, but I guess some people just don’t read.\nIn short, if you have come here to get movies, or music files, you won’t find them. If you want to know the reason, check the About page. I will probably have to put up custom pages to people looking for those files…\n","title":"There are no movies","type":"post"},{"content":"I\u0026rsquo;ve upgraded to Wordpress 2.1 yesterday. Aside some minor issues with one of my plugins, that may be resolved in the future, everything went well. If you spot any quirks, let me know here with a comment.\n","date":"January 29, 2007","externalUrl":null,"permalink":"/2007/01/wordpress-2.1/","section":"Posts","summary":"I’ve upgraded to Wordpress 2.1 yesterday. Aside some minor issues with one of my plugins, that may be resolved in the future, everything went well. If you spot any quirks, let me know here with a comment.\n","title":"Wordpress 2.1","type":"post"},{"content":"I\u0026rsquo;m pretty happy. As some of you already know, the book I wrote with my brother is finally out. The preview copies I had ordered arrived yesterday, and I can see it\u0026rsquo;s pretty impressive to hold the book you have written with your own hands:\n470\nIt only needed a couple of adjustments in the drawings\u0026rsquo; captions, so I made it available for everyone last night. All I need to do now is to wait and see the reactions\u0026hellip;\n","date":"January 25, 2007","externalUrl":null,"permalink":"/2007/01/at-last/","section":"Posts","summary":"I’m pretty happy. As some of you already know, the book I wrote with my brother is finally out. The preview copies I had ordered arrived yesterday, and I can see it’s pretty impressive to hold the book you have written with your own hands:\n470\nIt only needed a couple of adjustments in the drawings’ captions, so I made it available for everyone last night. All I need to do now is to wait and see the reactions…\n","title":"At last!","type":"post"},{"content":"That\u0026rsquo;s right. Thanks to my brother, now I am an owner of this game console (the North American version), along with the game Resistance: Fall of Man. To be precise, I have the 60 Gb version (essential as I can\u0026rsquo;t use wired connectivity where it is, just wireless)I haven\u0026rsquo;t had yet the time to play well with this beast, but I managed to take (poor quality) pictures.\nA frontal shot:\n460\nThen from the top:\n462\nI didn\u0026rsquo;t know the PS3 used logic controls, here\u0026rsquo;s the proof showing power and eject buttons:\n466\nLast but not least, various means for storage:\n464\nAnd I close this with an image of the SIXAXIS controller, which essentially looks like a Dual Shock but is significantly lighter:\n468\nI\u0026rsquo;ll post more on my \u0026ldquo;gaming experience\u0026rdquo; when I have the time to stay and play for more than 10 minutes.\n","date":"January 21, 2007","externalUrl":null,"permalink":"/2007/01/playstation-3/","section":"Posts","summary":"That’s right. Thanks to my brother, now I am an owner of this game console (the North American version), along with the game Resistance: Fall of Man. To be precise, I have the 60 Gb version (essential as I can’t use wired connectivity where it is, just wireless)I haven’t had yet the time to play well with this beast, but I managed to take (poor quality) pictures.\n","title":"Playstation 3","type":"post"},{"content":"I usually manage to write an entry or two during the weekend. This week was (almost) not the case as my computer time was spent editing and correcting the Lost Innocence manuscript. And when that was done, there were some problems with the cover files so I had to fix those, as well. Last but not least, the FAQ section of stealsaga.net needs an overhaul.\nYes, plenty of S.T.E.A.L. related work going on. It\u0026rsquo;s understandable though, as the release time getting near\u0026hellip;\n","date":"January 14, 2007","externalUrl":null,"permalink":"/2007/01/editing-work/","section":"Posts","summary":"I usually manage to write an entry or two during the weekend. This week was (almost) not the case as my computer time was spent editing and correcting the Lost Innocence manuscript. And when that was done, there were some problems with the cover files so I had to fix those, as well. Last but not least, the FAQ section of stealsaga.net needs an overhaul.\nYes, plenty of S.T.E.A.L. related work going on. It’s understandable though, as the release time getting near…\n","title":"Editing work","type":"post"},{"content":"In the past two days, aside studying the Python basics, I\u0026rsquo;ve been looking to find a decent GUI toolset to develop user interfaces in Python.\nTkinter of course is the first that comes to mind. I\u0026rsquo;ve been experimenting a bit and I can say it\u0026rsquo;s probably the easiest to use, but, at least with my current level of knowledge, there are some drawbacks. The first gripe I have is that everything (as far as I know) needs to run into a single class, since I don\u0026rsquo;t see a quick way to use the result values produced by the callbacks (aside setting them as attributes of their class or declare some variables global). Second, until Tk8.5 is out, its font rendering on Linux is ugly.\nI also tried out wxPyton but it seems too complex for my current level of knowledge. PythonCard should be a layer over that to simplify things, but as far as I could see I need to study more before approaching it.\nLast but not least, there is PyQt, which is the one I am most interested in. Sadly, documentation is quite lacking and the only up to date book on PyQt 4 will be out this autumn. There was a PyQt3 book hosted on opendocs.org, but that domain doesn\u0026rsquo;t currently resolve (and as I found out, it\u0026rsquo;s a 2001 book, rather old). The bottom line is: I need to study more of the language to a GUI toolset (sorry folks, but I\u0026rsquo;m not even considering GTK and its Python bindings). Hopefully a book or two will be out along the way.\n","date":"January 6, 2007","externalUrl":null,"permalink":"/2007/01/a-newbie-approach-to-guis/","section":"Posts","summary":"In the past two days, aside studying the Python basics, I’ve been looking to find a decent GUI toolset to develop user interfaces in Python.\n","title":"A newbie approach to GUIs","type":"post"},{"content":"Continuing after Mai-Otome, I gave a look to this OAV (first out of four, with the second one coming out in February).\nThe story is set one year after Mai-Otome, and so far shows only a part of the massive cast. That was to be expected, though, as everything had to be crammed in 30 minutes. The first episode shows at first some Otome attacking an asteroid on collision course with the planet, and Arika shows both her old outfit and the new one shown in the last episodes:\n448\nThen afterwards some of the most powerful Otome are put out of commission as something that resembles an Otome appears (whether that is a plot device or not, remains to be seen in the next episodes).\n451\nOf course one of the biggest features of the episode is having Arika and Mai fight side by side. I think it was also done because Mai got little screen time during the regular series.\n454\nThe episode ends with a sort of cliffhanger, with Arika, Mai and the rest being in a rather serious pinch.\n457\nWhat else to say? The animation quality is good, better than already nice level in the series. There are a few hints of fan service (probably because Fuji TV didn\u0026rsquo;t want that in the TV series) but luckily nothing that distracts the viewer too much. And what about the story? It\u0026rsquo;s too early to say. I\u0026rsquo;m still a little doubtful, since there are only four OAVs planned, and unless the story is carefully planned, it will probably end poorly. Nevertheless, I\u0026rsquo;ll hold my judgment until I see more.\n","date":"January 5, 2007","externalUrl":null,"permalink":"/2007/01/mai-otome-zwei/","section":"Posts","summary":"Continuing after Mai-Otome, I gave a look to this OAV (first out of four, with the second one coming out in February).\n","title":"Mai-Otome Zwei","type":"post"},{"content":"Reading Wesley J. Chun\u0026rsquo;s excellent Core Python Programming I realized I could definitely improve my wallpaper checker, at least internally. That\u0026rsquo;s what I did today, and aside that, I added an option to view a thumbnail of the images contained in the lists. Note that it is not meant to be an image viewer, just a way to show the images in the list (and I suggest you filter it first if it\u0026rsquo;s long). The image viewing part is my first try with Tkinter, the Python module to create interfaces using Tk. It\u0026rsquo;s ugly looking, but at least it works.\nDownload it in tar.gz format or zip format. Instructions are in the README.\n","date":"January 3, 2007","externalUrl":null,"permalink":"/2007/01/checker-mark-iii/","section":"Posts","summary":"Reading Wesley J. Chun’s excellent Core Python Programming I realized I could definitely improve my wallpaper checker, at least internally. That’s what I did today, and aside that, I added an option to view a thumbnail of the images contained in the lists. Note that it is not meant to be an image viewer, just a way to show the images in the list (and I suggest you filter it first if it’s long). The image viewing part is my first try with Tkinter, the Python module to create interfaces using Tk. It’s ugly looking, but at least it works.\n","title":"Checker mark III","type":"post"},{"content":" A few days ago I finished watching Mai-Otome. The series itself was somewhat old (started in October 2005 and finished on 30th March 2006), but I got around to watch it only recently. I can say I\u0026rsquo;m satisfied with the overall result: overall Sunrise managed to create a better series than its sister, Mai-HiME.\nThe first half of the series deals mostly with character development and the action is somewhat lacking. It doesn\u0026rsquo;t detract from the experience, however. Starting from episode 16, the best part of the series comes into play as drama and action unfold pretty strongly. As far as I could see, there were no big plot holes (though I never understood well who is actually Arika\u0026rsquo;s grandmother, or where does Miyu come from) and the animation quality was pretty constant (but again, we\u0026rsquo;re talking about Sunrise) The ending is also somewhat satisfactory, which is really a rarity among anime.\nRecommended to anyone interested. It provides hours of enjoyment. And since this entry is the first of the new year, happy 2007 to everyone.\n","date":"January 1, 2007","externalUrl":null,"permalink":"/2007/01/mai-otome/","section":"Posts","summary":" A few days ago I finished watching Mai-Otome. The series itself was somewhat old (started in October 2005 and finished on 30th March 2006), but I got around to watch it only recently. I can say I’m satisfied with the overall result: overall Sunrise managed to create a better series than its sister, Mai-HiME.\n","title":"Mai-Otome","type":"post"},{"content":"I\u0026rsquo;ve decided to update the wp_filter.py script. I fixed a good deal of bugs and at the same time I added a simple text-driven menu in order to simplify the program use, and I also added a readme file that describes operation and other requirements. You can download the program in tar.gz format or in zip format. For basic requirements, refer to my previous blog post. Comments are welcome.\n","date":"December 31, 2006","externalUrl":null,"permalink":"/2006/12/improved-wallpaper-checker/","section":"Posts","summary":"I’ve decided to update the wp_filter.py script. I fixed a good deal of bugs and at the same time I added a simple text-driven menu in order to simplify the program use, and I also added a readme file that describes operation and other requirements. You can download the program in tar.gz format or in zip format. For basic requirements, refer to my previous blog post. Comments are welcome.\n","title":"Improved wallpaper checker","type":"post"},{"content":"Recently I\u0026rsquo;ve came across a promotional poster for the upcoming Nanoha StrikerS anime. However I think that this highly anticipated third instalment in the series will disappoint a few people, including myself. Why?\nThe reason lies in the poster itself:\n445\nWell, as you can see there are four new characters. Aside the suspicious thought that the grown-up Nanoha, Fate and Hayate were not loli enough for the audience, it is a bad move nevertheless. There has been quite a bit of character development in the past two series, and now they\u0026rsquo;re essentially throwing it away. That would be such a waste (and why would be the show called Nanoha, when the main character is no longer her?). Anyway, I\u0026rsquo;ll make sure to watch at least the first episode, scheduled for April 1st, 2007.\n","date":"December 29, 2006","externalUrl":null,"permalink":"/2006/12/nanoha-strikers...-nanoha/","section":"Posts","summary":"Recently I’ve came across a promotional poster for the upcoming Nanoha StrikerS anime. However I think that this highly anticipated third instalment in the series will disappoint a few people, including myself. Why?\n","title":"Nanoha StrikerS... Nanoha?","type":"post"},{"content":"On the day after Christmas I went to do Dynamis-Beaucedine with United. I had to be the main assist for this run, and surprisingly everything went well. Not only that, the run had really **loads_ _**of drops (including a 100 currency piece), as the relevant thread says. Most importantly, I finally obtained the Valor Breeches. I had never seen them drop in Beaucedine Glacier, and luckily I was the only one lotting (I managed to lot of the ridicolously low amount of 172). All that\u0026rsquo;s left now is the super-rare Valor Surcoat, and having a Xarcabard run on 2nd of January I will put all my bets on that one. Of course, there is now the obligatory screenshot:\n442\n","date":"December 28, 2006","externalUrl":null,"permalink":"/2006/12/relic-4/5/","section":"Posts","summary":"On the day after Christmas I went to do Dynamis-Beaucedine with United. I had to be the main assist for this run, and surprisingly everything went well. Not only that, the run had really **loads_ _**of drops (including a 100 currency piece), as the relevant thread says. Most importantly, I finally obtained the Valor Breeches. I had never seen them drop in Beaucedine Glacier, and luckily I was the only one lotting (I managed to lot of the ridicolously low amount of 172). All that’s left now is the super-rare Valor Surcoat, and having a Xarcabard run on 2nd of January I will put all my bets on that one. Of course, there is now the obligatory screenshot:\n","title":"Relic 4/5","type":"post"},{"content":"UPDATE: Some stupid bugs had crept in the code, so I updated the archives. Sorry for the inconvenience.\nI\u0026rsquo;ve writtern a small Python script to find wallpapers with right size or aspect ratio I needed, and now I\u0026rsquo;m releasing it to the public. It may come in handy especially when you download lots of desktop wallpapers (archives, torrents) and you don\u0026rsquo;t know which ones are suited for your monitor.\nYou can download the script in tar.gz format or zip format. It requires Python (obviously) and the Python Imaging Library (PIL). Linux users can install them using their package manager of choice, while Windows users can download the Python installer from python org, and the corresponding installer for the PIL (make sure that you download a version that matches your Python version).\nYou need to run this program from the command line. Use -h or \u0026ndash;help as a switch to see a list of the options. Call it with the name of the directory you want to scan and the name of a report file. If you don\u0026rsquo;t specify any options, it will just produce a file with all the images it has found, complete with sizes. Otherwise you can filter for height and width (e.g. only 1280x800) or by aspect ratio (e.g. only widescreen).\nReport bugs and suggestions here. The code is released under GNU GPL v2 only (not \u0026ldquo;any later version\u0026rdquo;).\n","date":"December 23, 2006","externalUrl":null,"permalink":"/2006/12/wallpaper-size-checker/","section":"Posts","summary":"UPDATE: Some stupid bugs had crept in the code, so I updated the archives. Sorry for the inconvenience.\nI’ve writtern a small Python script to find wallpapers with right size or aspect ratio I needed, and now I’m releasing it to the public. It may come in handy especially when you download lots of desktop wallpapers (archives, torrents) and you don’t know which ones are suited for your monitor.\n","title":"Wallpaper size checker","type":"post"},{"content":"I noticed recently that Square Enix has announced a new event in FFXI, namely Salvage. Apparently this looks like an Assault with other modifications (such as special conditions forced on the players) thrown in.\nTo me, this is a huge disappointment, as I expected more integration in the extremely fragmented ToAU landscape. Everything looks incomplete, and adding another incomplete part will not cut it. Not to mention that the only rewards are items\u0026hellip; items that can only be used with the \u0026ldquo;regular\u0026rdquo; activities. Unlike the other expansions, everything seems loose and without a clear goal. I wish they\u0026rsquo;d stop adding half-baked features and focus on providing more for each update instead.\nThe fact that the update is just 27 Mb confirms this impression.\n","date":"December 16, 2006","externalUrl":null,"permalink":"/2006/12/update-disappointment/","section":"Posts","summary":"I noticed recently that Square Enix has announced a new event in FFXI, namely Salvage. Apparently this looks like an Assault with other modifications (such as special conditions forced on the players) thrown in.\nTo me, this is a huge disappointment, as I expected more integration in the extremely fragmented ToAU landscape. Everything looks incomplete, and adding another incomplete part will not cut it. Not to mention that the only rewards are items… items that can only be used with the “regular” activities. Unlike the other expansions, everything seems loose and without a clear goal. I wish they’d stop adding half-baked features and focus on providing more for each update instead.\n","title":"Update disappointment","type":"post"},{"content":"I recently completed Final Fantasy XII. Overall it lasted over a month of play (1 hour per day, approximately), so at least I can say that I spent my money decently. The game is **very **reminiscent of FFXI, in some areas even identical. It is also quite big, with many sub-quests and monsters to hunt. Not to mention that it is very impressive from a technical point of view. However, the main plot is awful.\nI can\u0026rsquo;t believe Square Enix took four years to come up with such a bad story. The characters are underdeveloped (if at all) and act like stereotypes most of the time. It seems that the party is built up because the story wants it to: there is no reason for those people to be together. The final enemy is also extremely uninspired.\nIn the end, power players will probably like the plethora of extras offered, however as a \u0026ldquo;story\u0026rdquo; person I felt things could have done differently.\n","date":"December 13, 2006","externalUrl":null,"permalink":"/2006/12/final-fantasy-xii/","section":"Posts","summary":"I recently completed Final Fantasy XII. Overall it lasted over a month of play (1 hour per day, approximately), so at least I can say that I spent my money decently. The game is **very **reminiscent of FFXI, in some areas even identical. It is also quite big, with many sub-quests and monsters to hunt. Not to mention that it is very impressive from a technical point of view. However, the main plot is awful.\n","title":"Final Fantasy XII","type":"post"},{"content":"In the past two days I\u0026rsquo;ve been tackling an annotation problem. I\u0026rsquo;m trying to provide annotations for genes found in regions that are significantly altered, DNA copy-number wise (thanks to the STAC method). The idea would be to annotate those regions (that span one megabase) using UCSC Table Browser.\nHowever, the task was impractical, so I decided to automate it a bit. I converted the data into ranges and then used the KnownGene annotation file (downloaded from UCSC) to obtain which genes were in which reagion. The last part wasn\u0026rsquo;t easy at all (at least in Python), as I had to check for ranges and adjust for consecutive regions. The code is terribly ugly, so I\u0026rsquo;ll try to clean it up before posting it.\nIf I can I\u0026rsquo;ll try to integrate it with the other scripts I have written to make a small annotation pipeline.\n","date":"December 13, 2006","externalUrl":null,"permalink":"/2006/12/working-with-genome-browser-data/","section":"Posts","summary":"In the past two days I’ve been tackling an annotation problem. I’m trying to provide annotations for genes found in regions that are significantly altered, DNA copy-number wise (thanks to the STAC method). The idea would be to annotate those regions (that span one megabase) using UCSC Table Browser.\nHowever, the task was impractical, so I decided to automate it a bit. I converted the data into ranges and then used the KnownGene annotation file (downloaded from UCSC) to obtain which genes were in which reagion. The last part wasn’t easy at all (at least in Python), as I had to check for ranges and adjust for consecutive regions. The code is terribly ugly, so I’ll try to clean it up before posting it.\n","title":"Working with Genome Browser data","type":"post"},{"content":"Two days ago I decided to install Linux on the new computer I had obtained, so I just got a Kubuntu 6.10 alternate CD and went through the steps. THe network card was not detected, but by reading around I found it was just a matter of the r1000 module not being present in the installation kernel. The problems arose when GRUB was installed.\nActually, that part of the installation went fine, but once rebooted I got \u0026ldquo;error 21\u0026rdquo;, which meant \u0026ldquo;disk not found\u0026rdquo;. Looking around in the Ubuntu bug tracker showed that GRUB did not support the JMicron SATA controller of the motherboard (I put the disk there by mistake, instead that on the ICH8 controller). Well, I wanted to remove GRUB, and that\u0026rsquo;s where problems started to arise.\nI tried installing LILO but it did not remove part of the GRUB code. Then I just rewrote the MBR with the install-mbr utility and yet it didn\u0026rsquo;t work. I tried to use something called Super Grub Disc to restore the Windows bootloader, but since the CDROM was on the PATA controller (JMicron) GRUB wouldn\u0026rsquo;t load properly.\nI swapped controllers then GRUB worked, but Windows wouldn\u0026rsquo;t boot. I loaded Linux (disabling IOAPIC and therefore one of the cores of the CPU) and checked the NTFS partition. Its boot sector had become corrupted somehow. Passing the mount option errors=recover enabled me to mount it using the backup boot sector. What to do to restore it? The folks at Microsoft suggested to use a disk editor(!!!) to manually copy it to the main boot sector. Luckily I found a program called TestDisk that was in the Ubuntu repositories. It recovered the backup sector and copied it to the main boot sector. I was able to boot into Windows again (how come Microsoft designed a backup in NTFS and is unable to use it in Windowss?).\nIn short, it was a mess that lasted seven hours.\n","date":"December 9, 2006","externalUrl":null,"permalink":"/2006/12/grub-hell/","section":"Posts","summary":"Two days ago I decided to install Linux on the new computer I had obtained, so I just got a Kubuntu 6.10 alternate CD and went through the steps. THe network card was not detected, but by reading around I found it was just a matter of the r1000 module not being present in the installation kernel. The problems arose when GRUB was installed.\nActually, that part of the installation went fine, but once rebooted I got “error 21”, which meant “disk not found”. Looking around in the Ubuntu bug tracker showed that GRUB did not support the JMicron SATA controller of the motherboard (I put the disk there by mistake, instead that on the ICH8 controller). Well, I wanted to remove GRUB, and that’s where problems started to arise.\n","title":"GRUB hell","type":"post"},{"content":"I\u0026rsquo;m really saddened by the fanatic tone that a part of FOSS community is using to criticize the Novell-Microsoft deal. It should be noted that personally I don\u0026rsquo;t like the deal at all, since Microsoft has a good history of stomping on its partners when they\u0026rsquo;re no loner needed. But still, the reactions from the community are too strong, sometimes leading to (involuntary) disinformation.\nYou should have noticed that both links come from Groklaw. I like the legal articles published there, but not the moralistic attitude of posts like the ones I have linked. The \u0026ldquo;community\u0026rdquo; inside, while being extremely helpful and cooperative, sometimes is a little one-sided. I didn\u0026rsquo;t like being called \u0026ldquo;traitor\u0026rdquo; because I had a different stance on the topic than everyone else.\nThe same can be said for GPL v3: Groklaw is excessively pro-GPL v3, and (sadly) doesn\u0026rsquo;t contemplate anything else (see the discussion between PJ and Linus Torvalds to get an idea). It\u0026rsquo;s a shame, since the legal analysis of IBM vs SCO is interesting and insightful. I\u0026rsquo;d actually prefer if it would cover just legal cases of interest to FOSS, rather than being a form of propaganda for certain software ideas.\n","date":"December 7, 2006","externalUrl":null,"permalink":"/2006/12/zealotry/","section":"Posts","summary":"I’m really saddened by the fanatic tone that a part of FOSS community is using to criticize the Novell-Microsoft deal. It should be noted that personally I don’t like the deal at all, since Microsoft has a good history of stomping on its partners when they’re no loner needed. But still, the reactions from the community are too strong, sometimes leading to (involuntary) disinformation.\n","title":"Zealotry","type":"post"},{"content":"A post I wrote ended up on the front page of nodalpoint.org. I liked that, even though it may not seem a lot to many: at least it shows that some of my concerns are shared with other people in the scientific community.\nAlso after viewing some presentations about Web 2.0 at the EMBL, I decided to make a del.icio.us account. I find it quite handy so far to organize bookmarks and such.\n","date":"December 1, 2006","externalUrl":null,"permalink":"/2006/12/probably-useless-but.../","section":"Posts","summary":"A post I wrote ended up on the front page of nodalpoint.org. I liked that, even though it may not seem a lot to many: at least it shows that some of my concerns are shared with other people in the scientific community.\nAlso after viewing some presentations about Web 2.0 at the EMBL, I decided to make a del.icio.us account. I find it quite handy so far to organize bookmarks and such.\n","title":"Probably useless, but...","type":"post"},{"content":"The title of the post pretty much says it all. I\u0026rsquo;ve finally been able to obtain this piece of artifact armor+1 after searching for the last item I needed for about five months.\nI already had the required 30 ancient beastcoins and the white rivet from Apollyon, but I lacked the snowy cermet from Temenos. Since Heaven\u0026rsquo;s Inferno imploded, I found myself unable to do anything related to Limbus until my brother joined a Japanese Limbus linkshell, StarBell. I managed to get in as well, and during our last run (Sunday) in Temenos East, we finally found a chest with a chunk of snowy cermet in!\n433\nAfter that I had to rush things, as I needed a square of gold brocade but there were none in at the Auction House. Luckily I managed to find a crafter thanks to a quick talk with a United Dynamis member. Then I just handed everything down to the NPC Sagheera, and waited patiently for the Conquest tally. Here\u0026rsquo;s the finished result:\n438\nThe statistics are nice, and include a very interesting VIT+6. I will try this new armor soon, probably on Thursday when I\u0026rsquo;ll have to help a few people with a mission.\n","date":"November 27, 2006","externalUrl":null,"permalink":"/2006/11/obtained-gallant-surcoat-1./","section":"Posts","summary":"The title of the post pretty much says it all. I’ve finally been able to obtain this piece of artifact armor+1 after searching for the last item I needed for about five months.\n","title":"Obtained: Gallant surcoat+1.","type":"post"},{"content":"As you can see I have a new heading, courtesy of Melissa, featuring Saber from Fate/stay Night. Aside that, updates on this blog will continue to be slow for a little while, as I will try to rush and finish S.T.E.A.L. at last this Sunday.\n","date":"November 25, 2006","externalUrl":null,"permalink":"/2006/11/new-heading-and-other-stuff/","section":"Posts","summary":"As you can see I have a new heading, courtesy of Melissa, featuring Saber from Fate/stay Night. Aside that, updates on this blog will continue to be slow for a little while, as I will try to rush and finish S.T.E.A.L. at last this Sunday.\n","title":"New heading and other stuff","type":"post"},{"content":"In the past two days I\u0026rsquo;ve written a simple annotator program, that given an input list of RefSeq genes, automatically determines the relevant Entrez Gene IDs and annotates them using the flat files provided by the NCBI. A direct conversion was not possible due to limitations in Biopython\u0026rsquo;s parsers, but I managed to use the GenBank parser to identify and extract the references to the Gene IDs (and putting them in a list).\nOnce that had been done, I created a series of dictionaries when reading the annotation file, for data such as gene name, symbol, chromosome and cytoband. Using the list I already obtained, it was easy to create a new file with the required fields.\nDuring this process I learnt somewhat more about how to play with iterators to skip headings and so on. The code is not yet sufficiently generic, but once I finish toying with it, I may publish it for \u0026ldquo;general\u0026rdquo; (assuming anyone would use it) consumption, under GPL v2.\n","date":"November 25, 2006","externalUrl":null,"permalink":"/2006/11/a-simple-annotator/","section":"Posts","summary":"In the past two days I’ve written a simple annotator program, that given an input list of RefSeq genes, automatically determines the relevant Entrez Gene IDs and annotates them using the flat files provided by the NCBI. A direct conversion was not possible due to limitations in Biopython’s parsers, but I managed to use the GenBank parser to identify and extract the references to the Gene IDs (and putting them in a list).\n","title":"A simple annotator ","type":"post"},{"content":"Since recently (thanks to my brother) I got a new cellular phone with better capabilities, photo-wise, I decided to take a few photos of my workplace. I changed office a while ago, now I\u0026rsquo;m located on the first floor of the building, sharing the office with 5 other people: Raoul, Michele, Giorgio, Roberta and Alessandro. This photo shows my current computer setup:\n429\nQuant was running a screensaver when I took this photo: the mouse pad and that other black thing next to the keyboard are gel pads to help me with my tendinitis. The other picture I took today shows part of my \u0026ldquo;study area\u0026rdquo;:\n431\nYou can see my trusted notebook, Mark Lutz\u0026rsquo;s Learning Python, 2nd Edition and some papers on text mining tecniques.\n","date":"November 17, 2006","externalUrl":null,"permalink":"/2006/11/random-photos/","section":"Posts","summary":"Since recently (thanks to my brother) I got a new cellular phone with better capabilities, photo-wise, I decided to take a few photos of my workplace. I changed office a while ago, now I’m located on the first floor of the building, sharing the office with 5 other people: Raoul, Michele, Giorgio, Roberta and Alessandro. This photo shows my current computer setup:\n429\nQuant was running a screensaver when I took this photo: the mouse pad and that other black thing next to the keyboard are gel pads to help me with my tendinitis. The other picture I took today shows part of my “study area”:\n","title":"Random photos","type":"post"},{"content":"EURASIP Journal on Bioinformatics and Systems Biology is having a special issue on text mining for biology. My boss wants to publish something there, and asked if I and a colleague could work on that. I\u0026rsquo;ll probably focus on evaluation methods, since I\u0026rsquo;m not an expert in text mining or language processing.\nAnd that\u0026rsquo;s where the problem comes in: I know almost nothing on text mining. Which means this will add up to the ever growing pile of papers and books I have to study, including but not limited to Python programming, microarray analysis and XML\u0026hellip;\nThat\u0026rsquo;s one of the reasons I\u0026rsquo;m not posting much here: the other is that I\u0026rsquo;m devoting a lot of free time into completing S.T.E.A.L., since I just finished chapter 5.\n","date":"November 15, 2006","externalUrl":null,"permalink":"/2006/11/more-studying/","section":"Posts","summary":"EURASIP Journal on Bioinformatics and Systems Biology is having a special issue on text mining for biology. My boss wants to publish something there, and asked if I and a colleague could work on that. I’ll probably focus on evaluation methods, since I’m not an expert in text mining or language processing.\nAnd that’s where the problem comes in: I know almost nothing on text mining. Which means this will add up to the ever growing pile of papers and books I have to study, including but not limited to Python programming, microarray analysis and XML…\n","title":"More studying","type":"post"},{"content":"Recently, I\u0026rsquo;ve been in need to retrieve some records regarding renal cell carcinoma referenced in papers by Zhao et al. and Higgins et al. The records of the former were hosted on NCBI\u0026rsquo;s Gene Expression Omnibus, while the latter records were uploaded to EBI\u0026rsquo;s ArrayExpress database. Getting data from others and using it for your own analysis is called meta-analysis, and it\u0026rsquo;s often used to validate methods and algorithms with different data sets.\nThe problem is, getting the **right **data is not always easy. I spent the whole afternoon yesterday trying to figure out how I could retrieve already analyzed data (usually you get the processed - i.e. normalized - data only). From GEO I could download individual sample data (something I didn\u0026rsquo;t need) or the whole data set (a whopping 1.6 Gb), in SOFTtext format. Biopython has a SOFT parser, but the set was so big I just crashed my own machine. Of course, data wasn\u0026rsquo;t available in tabular format.\nArrayExpress wasn\u0026rsquo;t better on that respect. Perhaps I don\u0026rsquo;t understand well the format used by two color arrays, but again, it was impossible to group the samples like I wanted, and the sample information file was missing (critical requirement, I needed to choose only clear cell histotypes), though with some fiddling I managed to get the right files. Of course, they included only a normalized mean of the log2ratio of the two channels, and I didn\u0026rsquo;t want to run an analysis (such as SAM) myself\u0026hellip;\nScience is all about being able to reproduce results. It\u0026rsquo;s a shame that sometimes doing so is so hard.\n","date":"November 10, 2006","externalUrl":null,"permalink":"/2006/11/the-joy-of-meta-analysis/","section":"Posts","summary":"Recently, I’ve been in need to retrieve some records regarding renal cell carcinoma referenced in papers by Zhao et al. and Higgins et al. The records of the former were hosted on NCBI’s Gene Expression Omnibus, while the latter records were uploaded to EBI’s ArrayExpress database. Getting data from others and using it for your own analysis is called meta-analysis, and it’s often used to validate methods and algorithms with different data sets.\n","title":"The joy of meta-analysis","type":"post"},{"content":"After discussing my second PhD year today, and after noticing that not even a single professor from the commitee was there (save my boss and a person that joined later on), I realized that the situation for students like me isn\u0026rsquo;t really the best.\nA PhD program is supposed (at least here) to be a cross between a research job and a student\u0026rsquo;s position, since you should study but at the same time conduct research and (if you\u0026rsquo;re lucky) also get paid for it. But actually (and it\u0026rsquo;s really depressing), professors just \u0026ldquo;use\u0026rdquo; the students as cheap labor. Yes, cheap because they don\u0026rsquo;t pay for them, the ministry does. Who cares if they don\u0026rsquo;t follow courses, don\u0026rsquo;t go to conferences, miss presentations\u0026hellip; All it matters is that they can do their research, only to be replaced when the three year program ends. It is really lame.\n","date":"November 7, 2006","externalUrl":null,"permalink":"/2006/11/phd-students/","section":"Posts","summary":"After discussing my second PhD year today, and after noticing that not even a single professor from the commitee was there (save my boss and a person that joined later on), I realized that the situation for students like me isn’t really the best.\nA PhD program is supposed (at least here) to be a cross between a research job and a student’s position, since you should study but at the same time conduct research and (if you’re lucky) also get paid for it. But actually (and it’s really depressing), professors just “use” the students as cheap labor. Yes, cheap because they don’t pay for them, the ministry does. Who cares if they don’t follow courses, don’t go to conferences, miss presentations… All it matters is that they can do their research, only to be replaced when the three year program ends. It is really lame.\n","title":"PhD students","type":"post"},{"content":"Wednesday I got around to assemble a replacement for largo, what used to be my old \u0026ldquo;main\u0026rdquo; desktop. I also got a new case and power supply for leon, the other desktop I own, but I need to switch things around from the \u0026ldquo;old\u0026rdquo; largo to leon and I didn\u0026rsquo;t have the time yet.\nWithout any more delay, here are the specifications:\nPentium Core 2 Duo 6600\nNVIDIA GeForce 7950GT\nHitachi 250 Gb SATA HD\nMSI P965 Neo motherboard\nCooler Master Mystique aluminium case\n1 Gb RAM (more was too expensive)\nCorsair 520 W power supply\nI still haven\u0026rsquo;t found something powerful enough for this beast\u0026hellip;\n","date":"November 3, 2006","externalUrl":null,"permalink":"/2006/11/new-computer/","section":"Posts","summary":"Wednesday I got around to assemble a replacement for largo, what used to be my old “main” desktop. I also got a new case and power supply for leon, the other desktop I own, but I need to switch things around from the “old” largo to leon and I didn’t have the time yet.\nWithout any more delay, here are the specifications:\nPentium Core 2 Duo 6600\nNVIDIA GeForce 7950GT\n","title":"New computer","type":"post"},{"content":"I\u0026rsquo;ve noticed that the journal Science code for Biology and Medicine has finally launched. While some said that would be a journal if someone is desperate for a publication, I think it fills in a gap that\u0026rsquo;s very felt in bioinformatics: the availability of source code.\nPerhaps I\u0026rsquo;m being too naive, but I think that at least academic groups should always release their source code, if they develop a new program or an algorithm, or just give a proof of concept so that others can reproduce their work. This will also help in finding and squashing bugs. Bugs that are sadly much present in a large part of the biological software outlined in publications.\nOne of the most striking examples is CNAG (short for Copy Number Analyzer for GeneChip) which is based on a very interesting algorithm which uses Hidden Markov Models to calculate DNA copy number. However the implementation is one of the buggiest I\u0026rsquo;ve ever seen, with frequent crashes and poor documentation (not to mention the English: please, don\u0026rsquo;t write \u0026ldquo;draw our paper\u0026rdquo; in your license agreement!). Availability of the source would help in fixing at least the obvious bugs (such as \u0026ldquo;crash when a list is empty\u0026rdquo;). Instead, I guess the authors were happy enough in just getting their paper published (though at least they\u0026rsquo;re still developing the program, unlike others).\nIn some cases the lack of source is down right outrageous. Affymetrix employees have published an algorithm for copy number detection called CARAT. The paper only includes the formal definition of algorithm without any working public implementation. And of course they\u0026rsquo;re not releasing anything- they want to keep it for future products. However the journal let them publish even though there is no guarantee of the results (since no one can reproduce them, unless they reimplement the algorithm from scratch).\nWhat\u0026rsquo;s the point of making software that even free, locks you in to the people who provided it, that may just abandon it after a paper is published? No, the source should always be kept available: that\u0026rsquo;s why personally I think that the GNU GPL (version 2) is the only acceptable license for academic, non-profit biological software.\n","date":"November 2, 2006","externalUrl":null,"permalink":"/2006/11/software-and-biology/","section":"Posts","summary":"I’ve noticed that the journal Science code for Biology and Medicine has finally launched. While some said that would be a journal if someone is desperate for a publication, I think it fills in a gap that’s very felt in bioinformatics: the availability of source code.\n","title":"Software and biology","type":"post"},{"content":"Last Tuesday I assembled a group and we took on the (only) battle present in the new Treasures of Aht Urhgan update. I had to look for members, but since Besieged was going on I lost a lot of time shouting for members. In the end I managed to get a red mage and a ninja along people I had arranged to meet with.\nOverall it went smoothly: going through Mount Zhayolm and Halvung presented small difficulties (mostly due to tracking), but we reached the Navukugo Execution Chamber without incidents. Once there, we prepared and fought the Khimaira 13.\nThe battle was somewhat chaotic: as the monster could attack from any side, it was hard to see who it was attacking. At 50% Sechs used Hundred Fists. It reminded me to raise merits in emity as I couldn\u0026rsquo;t shake the monster off him after that, not even with Invincible. But thanks to the efforts of the RDM (Karinkaa) and our white mage (Eithin, as always), no one bit the dust. After the battle it was just the matter of going back to Al Zhabi and doing a few cutscenes (and collecting 5 gold pieces.) Sadly, now I have to wait until the next update to continue\u0026hellip;\nMy brother made a clip of the mission, available on Google Video.\nAnd finally, a side note to point out the behavior of some of the so-called static members I had: Sechs and Eithin behaved excellently as usual, while Rezo and Mercredi didn\u0026rsquo;t. One disappeared without a word, and still didn\u0026rsquo;t bother to reply to the messages I sent him (there\u0026rsquo;s also AIM, you know). Mercredi was the most disappointing of all: I arranged things earlier, made sure he could come, and yet not only he didn\u0026rsquo;t show up, but he didn\u0026rsquo;t tell me anything, not even bothered to reply to my AIM messages. Shame on you, Matt! A message would have made the difference.\n","date":"October 28, 2006","externalUrl":null,"permalink":"/2006/10/toau-mission-22/","section":"Posts","summary":"Last Tuesday I assembled a group and we took on the (only) battle present in the new Treasures of Aht Urhgan update. I had to look for members, but since Besieged was going on I lost a lot of time shouting for members. In the end I managed to get a red mage and a ninja along people I had arranged to meet with.\n","title":"ToAU Mission 22","type":"post"},{"content":"Finally I cleaned up my code enough to post it here. It\u0026rsquo;s probably still ugly, but not as ugly as when I wrote it down the first time. It\u0026rsquo;s all about manipulating text files, to be precise tab-delimited files. All the snippets are published under the GNU GPL v2 (not that I think that anyone would use them, but just in case\u0026hellip;).\nI started with one file, listing Entrez Gene identifiers for a number of genes coming out of a statistical analysis, along with their SAM scores to see if they were differentially expressed or not. I needed to add information such as gene name and symbol, Gene Ontology, and Uniprot/SwissProt IDs, leaving out the statistical paramters. I tried at first to use the EUtils package of Bioptyhon, but due to both my lack of skill and the total lack of documentation, I dropped the idea and moved to a different plan.\nFirst, I used DAVID to obtain all the annotation data I needed. There are some columns that are redundant, so I decided to remove them as well. Once I had the original files (with the SAM data) and the DAVID results, I could start:\nimport sys\nimport csv\nimport re\nimport tempfile\nI used csv to easily handle comma-delimited files, tempfile to handle temporary files securely, sys to get command line arguments and re to do some regular expression matching and substituting. Basically, I had a series of functions that first of all obtained the SAM data and encoded them (1, up-regulation; 0, not differentially expressed; -1 down-regulation), creating a dictionary:\ndef getSAMFlag(file):\nsam_dict={}\nfor row in file:\nif row[0] == \u0026ldquo;locuslink\u0026rdquo;:\ncontinue\nif row[22] != \u0026ldquo;NA\u0026rdquo;:\nif float(row[22]) \u0026gt; 0:\nrow[22] = \u0026ldquo;1\u0026rdquo;\nelif float(row[22]) \u0026lt; 0:\nrow[22] = \u0026ldquo;-1\u0026rdquo;\nelse:\nrow[22] = \u0026ldquo;0\u0026rdquo;\nsam_dict[row[0]]=row[22]\nreturn sam_dict\nI had also to prepare the file coming out of DAVID, stripping the useless fields. As csv.reader gives an iterator that returns a row for each cycle, it turned out to be quite easy:\ndef displayColumns(file,dest,cards=0):\nfile_csv = csv.reader(file,dialect=\u0026ldquo;ncbi\u0026rdquo;)\ndest_csv = csv.writer(dest,dialect=\u0026ldquo;ncbi\u0026rdquo;)\nfor row in file_csv:\nif cards == 1:\nif row[4] ==\u0026ldquo;GENE_SYMBOL\u0026rdquo;:\nrow = row[0:2] + row[4:8] + row[3:4]\ndest_csv.writerow(row)\ncontinue\ngeneCardsURL = \u0026ldquo;\u0026lt; URL removed \u0026gt;\u0026rdquo;\npreURL = \u0026ldquo;\u0026lt; a xhref=\u0026quot;\u0026rdquo;\npostURL = \u0026ldquo;\u0026quot;\u0026gt;\u0026rdquo;\nendURL = \u0026ldquo;\u0026lt; /a\u0026gt;\u0026rdquo;\nrow[4] = re.sub(\u0026quot;, \u0026ldquo;,\u0026rdquo;\u0026quot;,row[4]) # Togliamo la virgola e lo spazio da fine colonna\nrow[4] = preURL + geneCardsURL + row[4] + postURL + row[4] + endURL\nif row[3] == \u0026ldquo;\u0026rdquo;:\nrow[3] = \u0026ldquo;N/A\u0026rdquo;\nrow = row[0:2] + row[4:8] + row[3:4]\ndest_csv.writerow(row)\nThe optional \u0026ldquo;cards\u0026rdquo; parameter creates a HTML to link to the GeneCards database in order to query gene symbols. I removed the URL just for formatting purposes (and for some reason \u0026ldquo;a href\u0026rdquo; becomes \u0026ldquo;a xhref\u0026rdquo;), but it\u0026rsquo;s easy to fetch it by querying by gene symbol. This code creates a new table with Entrez Gene ID, Gene Name, Gene Symbol, chromosome and cytoband and also the GO Cellular Component level 3 (adding \u0026ldquo;N/A\u0026rdquo; if there is no annotation). The re.sub is used to remove a comma followed by a space that is present at the end of the Gene Symbol annotation.Once I had all of this, I wrote a function to write the SAM results into this new table:\ndef writeSAM(file,data_file,dest):\nfile_csv = csv.reader(file,dialect=\u0026ldquo;ncbi\u0026rdquo;)\ndest_csv = csv.writer(dest,dialect=\u0026ldquo;ncbi\u0026rdquo;)\ndata_file_csv = csv.reader(data_file,dialect=\u0026ldquo;ncbi\u0026rdquo;)\nsam_dict = getSAMFlag(data_file_csv)\nsam_keys = sam_dict.keys()\nfor row in file_csv:\nif row[0] == \u0026ldquo;ENTREZ_GENE_ID\u0026rdquo;:\nrow.append(\u0026ldquo;Flag SAM\u0026rdquo;)\nif row[0] in sam_keys:\nrow.append(sam_dict[row[0]])\ndest_csv.writerow(row)\nThe if for ENTREZ_GENE_ID is used to add a header (\u0026ldquo;Flag SAM\u0026rdquo;) to the columns. There\u0026rsquo;s nothing much to say about the actual program, if not pointing out the very easy creation of temporary files:\ntemp = tempfile.NamedTemporaryFile()\nAnd last but not least, the class definition of the dialect \u0026ldquo;ncbi\u0026rdquo; that I used to parse the text:\nclass ncbi:\ndelimiter = \u0026lsquo;\\t\u0026rsquo;\nquotechar = \u0026lsquo;\u0026quot;\u0026rsquo;\nescapechar = None\ndoublequote = True\nskipinitialspace = False\nlineterminator = \u0026lsquo;\\n\u0026rsquo;\nquoting = csv.QUOTE_NONE\nThis is invoked using the csv.register_dialect method after instantiating:\nncbi = ncbi()\ndial = csv.register_dialect(\u0026ldquo;ncbi\u0026rdquo;, ncbi)\nEven though my programming style is probably bad, I have to notice that the code I presented is not in the order it appears in the script (obviously). In any case, if there are any suggestions to improve, let me know.\n","date":"October 23, 2006","externalUrl":null,"permalink":"/2006/10/text-files-with-python/","section":"Posts","summary":"Finally I cleaned up my code enough to post it here. It’s probably still ugly, but not as ugly as when I wrote it down the first time. It’s all about manipulating text files, to be precise tab-delimited files. All the snippets are published under the GNU GPL v2 (not that I think that anyone would use them, but just in case…).\n","title":"Text files with Python","type":"post"},{"content":"I\u0026rsquo;ve upgraded both leon (one of my computers at home) and quant (my work machine) to Kubuntu Edgy Eft (now in Release Candidate status, screenshots here). Leon\u0026rsquo;s upgrade went perfectly, while quant gave me some headaches. First of all there was a conflict between packages, then the nvidia module for legacy hardware wouldn\u0026rsquo;t load:\n$ modprobe nvidia_legacy\nFATAL: Module nv not found.\nIn the end I manually compiled the nvidia module, and had to insert it via insmod or it would give out a cryptic error message (\u0026ldquo;error running install for module nvidia\u0026rdquo;). I think most of the headaches are coming out because I was using a custom kernel and because I dist-upgraded to a still unstable distribution. In any case, I\u0026rsquo;m quite pleased so far with Edgy, and once it becomes official I\u0026rsquo;ll put it on my laptop as well.\n","date":"October 20, 2006","externalUrl":null,"permalink":"/2006/10/kubuntu-edgy/","section":"Posts","summary":"I’ve upgraded both leon (one of my computers at home) and quant (my work machine) to Kubuntu Edgy Eft (now in Release Candidate status, screenshots here). Leon’s upgrade went perfectly, while quant gave me some headaches. First of all there was a conflict between packages, then the nvidia module for legacy hardware wouldn’t load:\n$ modprobe nvidia_legacy\nFATAL: Module nv not found.\nIn the end I manually compiled the nvidia module, and had to insert it via insmod or it would give out a cryptic error message (“error running install for module nvidia”). I think most of the headaches are coming out because I was using a custom kernel and because I dist-upgraded to a still unstable distribution. In any case, I’m quite pleased so far with Edgy, and once it becomes official I’ll put it on my laptop as well.\n","title":"Kubuntu Edgy","type":"post"},{"content":"I haven\u0026rsquo;t had much time to write here as I\u0026rsquo;ve been busy fixing and arranging things for the web page on S.T.E.A.L. It appears that thanks to Too\u0026rsquo;s deviation posting and subsequent journal entry, hits have skyrocketed. This makes me happy but it also means more work and need for refinement. As a matter of fact, I wrote a little more yesterday, and today I\u0026rsquo;ll be aiming to complete chapter 4. Since I\u0026rsquo;ve been working on that for the past 3 years, it would be a nice accomplishment.\n","date":"October 15, 2006","externalUrl":null,"permalink":"/2006/10/more-s.t.e.a.l.-related-work/","section":"Posts","summary":"I haven’t had much time to write here as I’ve been busy fixing and arranging things for the web page on S.T.E.A.L. It appears that thanks to Too’s deviation posting and subsequent journal entry, hits have skyrocketed. This makes me happy but it also means more work and need for refinement. As a matter of fact, I wrote a little more yesterday, and today I’ll be aiming to complete chapter 4. Since I’ve been working on that for the past 3 years, it would be a nice accomplishment.\n","title":"More S.T.E.A.L. related work","type":"post"},{"content":"Although I\u0026rsquo;m still studying the language, finally I managed to create a program that actually does something I need. The need arose from a gene list I was given, made up by Entrez Gene IDs. I need to annotate it, but in a form that wasn\u0026rsquo;t able to be produced by the usual functional annotation tools I have. Actually it could have been done, but what I needed was to make something that I could automate.\nPart of the job could have done by simply using DAVID to fetch Entrez Gene ID, Gene name and symbol, chromsome and cytoband, plus some Gene Ontology terms I needed. However, I took the chance to start using the language, and also to add other fields that I couldn\u0026rsquo;t obtain in other ways. It\u0026rsquo;s been a painful experience, but it worked. Right now it\u0026rsquo;s tremendously hackish but I think I\u0026rsquo;ll probably improve it in the next days. I\u0026rsquo;ll post the source once it has a reasonable level of decency.\n","date":"October 11, 2006","externalUrl":null,"permalink":"/2006/10/my-first-real-python-program/","section":"Posts","summary":"Although I’m still studying the language, finally I managed to create a program that actually does something I need. The need arose from a gene list I was given, made up by Entrez Gene IDs. I need to annotate it, but in a form that wasn’t able to be produced by the usual functional annotation tools I have. Actually it could have been done, but what I needed was to make something that I could automate.\n","title":"My first real Python program","type":"post"},{"content":"Just minutes ago I got a MSN message from Too, stating that the cover for the novel had been completed! Of course, I downloaded it eagerly\u0026hellip;\nThe result is really excellent (but I didn\u0026rsquo;t expect less by a talented artist such as Too), as you can see below:\n426\nAnd on a related note, the S.T.E.A.L. web page is finally live! But since I wasn\u0026rsquo;t satisfied with this, I also released a new snapshot\u0026hellip; Comments are welcome!\n","date":"October 9, 2006","externalUrl":null,"permalink":"/2006/10/s.t.e.a.l.-cover/","section":"Posts","summary":"Just minutes ago I got a MSN message from Too, stating that the cover for the novel had been completed! Of course, I downloaded it eagerly…\n","title":"S.T.E.A.L. cover!","type":"post"},{"content":"I\u0026rsquo;m adapting this from the infamous Steve Ballmer quote. This is to introduce the novels I bought recently from amazon.com (thanks to NRK for placing the order).\nI have to say first of all that they\u0026rsquo;re novels that inspired anime series. The first I started reading is Hiroyuki Morioka\u0026rsquo;s Seikai no Monsho (The banner of the stars):\n420\nIt\u0026rsquo;s a nice science fiction novel, slightly reminiscent of Isaac Asimov\u0026rsquo;s work. I really like the author\u0026rsquo;s throrough creation of a whole universe, complete with a new language (the Abh).\nNext in line is Ichiro Sakaki\u0026rsquo;s Scrapped Princess:\n417\nAs I really liked the anime, and owning the first three volumes in Japanese, I was overjoyed when I heard about an English version. This is an illiustrated novel, a format that\u0026rsquo;s pretty common in Japan. Third novel I bought is Kohei Kadono\u0026rsquo;s Boogiepop wa warawanai (Boogiepop doesn\u0026rsquo;t laugh). I loved the anime, so I am happy i got this volume as well (way late due to Seven Seas\u0026rsquo; Inc. stupid sales policy):\n414\nAnd last but not least, I have Kino no Tabi (Kino\u0026rsquo;s Travels), another series I really liked (thanks to the original story but also due to Sadayuki Murai\u0026rsquo;s excellent screenplay):\n423\nLooks like I won\u0026rsquo;t be getting bored in a long time\u0026hellip;\n","date":"October 8, 2006","externalUrl":null,"permalink":"/2006/10/novels-novels-novels/","section":"Posts","summary":"I’m adapting this from the infamous Steve Ballmer quote. This is to introduce the novels I bought recently from amazon.com (thanks to NRK for placing the order).\n","title":"Novels! Novels! Novels!","type":"post"},{"content":"As the title implies, I\u0026rsquo;ve been over, along with my twin brother to my brother\u0026rsquo;s house in Leiden last weekend.\nIt was a fun experience overall. My brother has a very nice apartment in Leiden, big although somewhat empty (but that\u0026rsquo;s the policy of the organization that gave him the place). Aside being extremely sick on the plane, I arrived more or less in time on Friday night. The following day we had a trip around Amsterdam, which honestly disappointed me somehow: while the streets, the canals, the places look nice, it doesn\u0026rsquo;t seem that it has a thousand years of history. I\u0026rsquo;ve been to a museum, but I (sadly) couldn\u0026rsquo;t go to the Van Gogh Museum. In the night we had a nice dinner but we were too tired to go around, so we opted to watch a film. My brother\u0026rsquo;s girlfriend had a somewhat biographic one on the explorer Shackleton, made by UK\u0026rsquo;s Channel 4. While I liked Kenneth Brannagh\u0026rsquo;s acting, the extremely slow pace (200 minutes long) made me quit in advance and go to bed.\nOn the following day we went to see the Space Expo, a permanent exhibition near my brother\u0026rsquo;s work place at ESTEC. And in the evening we went around Leiden, which I find much more interesting than Amsterdam. I left on the following day at 4.50 in the morning. Overall this has been a pleasant experience, and I look forward to seeing my brother again on October 12th, when he\u0026rsquo;ll get back to Italy again for a few days. I took some photos, but I have to wait for my brother to send them to me so I can put it online.\n","date":"October 4, 2006","externalUrl":null,"permalink":"/2006/10/dutch-weekend/","section":"Posts","summary":"As the title implies, I’ve been over, along with my twin brother to my brother’s house in Leiden last weekend.\nIt was a fun experience overall. My brother has a very nice apartment in Leiden, big although somewhat empty (but that’s the policy of the organization that gave him the place). Aside being extremely sick on the plane, I arrived more or less in time on Friday night. The following day we had a trip around Amsterdam, which honestly disappointed me somehow: while the streets, the canals, the places look nice, it doesn’t seem that it has a thousand years of history. I’ve been to a museum, but I (sadly) couldn’t go to the Van Gogh Museum. In the night we had a nice dinner but we were too tired to go around, so we opted to watch a film. My brother’s girlfriend had a somewhat biographic one on the explorer Shackleton, made by UK’s Channel 4. While I liked Kenneth Brannagh’s acting, the extremely slow pace (200 minutes long) made me quit in advance and go to bed.\n","title":"Dutch weekend","type":"post"},{"content":"I recently obtained a copy of Valkyrie Profile Silmeria in a language that I can understand. I\u0026rsquo;ve been playing it for a while and I can say I like it.\n396\nThe graphics look nice, but I don\u0026rsquo;t understand why tri-Ace made a fake 2D perspective. In my opinion it makes all that 3D look rather useless, since there\u0026rsquo;s little you can do depth-wise. The same can be said for the battles: while you can move around in 3D, the perspective shifts in 2D when you attack (in a manner similar to the original Valkyrie Profile). The soundtrack by Motoi Sakuraba is nice as always, especially battle music.\nAs for the story\u0026hellip; I don\u0026rsquo;t know yet, it has a slow pace. I\u0026rsquo;ll keep on playing it these days, then report my impressions.\n","date":"October 4, 2006","externalUrl":null,"permalink":"/2006/10/valkyrie-profile-silmeria/","section":"Posts","summary":"I recently obtained a copy of Valkyrie Profile Silmeria in a language that I can understand. I’ve been playing it for a while and I can say I like it.\n396\nThe graphics look nice, but I don’t understand why tri-Ace made a fake 2D perspective. In my opinion it makes all that 3D look rather useless, since there’s little you can do depth-wise. The same can be said for the battles: while you can move around in 3D, the perspective shifts in 2D when you attack (in a manner similar to the original Valkyrie Profile). The soundtrack by Motoi Sakuraba is nice as always, especially battle music.\n","title":"Valkyrie Profile Silmeria","type":"post"},{"content":"Recently, Galaxy Angel II has gone on air. I was very interested as I found the original series (and its four seasons, plus specials) to be rather entertaining and funny. So, I watched the first episode eagerly when I had a change to see it. I didn\u0026rsquo;t expect it to turn into a huge disappointment.\nThe series features a brand new cast, with only loose relationships (as far as I could tell) with the original series. The episode opens with two of the new characters, one being Millefuille Sakuraba\u0026rsquo;s (one of the original GA cast) relative.\n405\nWhat disappointed me at first was the presence of fan service, that had been completely absent in the original series. I find it to be a bad point since the show had worked so well without the need of anything even remotely risque. The second important feature is that the episodes are now full-length, i.e. 23 minutes, instead of half-length. This has severe impact on the humor, that held for short time but that grows tiring on the long run. And as far as I could see, the humor is nowhere near the craziness of the original GA (save for the opening, perhaps).\n408\nI found the show to be rather dull and boring for the first part. I almost didn\u0026rsquo;t smile while watching the various gags. BUt the worst, in my opinion, was yet to come. That is because there is actually a more serious part of the story, that shows up briefly near the end of the episode, where the new Angel Tai gets on their frames.\n411\nDespite some rather unsuccessful humor during this part, the \u0026ldquo;serious\u0026rdquo;, as I can call it, part looks really out of place. It would have been better to do either totally humorous or not, as these last minutes look completely out of place. In short, I was really disappointed. BROCCOLI made a bad move this time. For sure I won\u0026rsquo;t be watching more of this.\n","date":"October 4, 2006","externalUrl":null,"permalink":"/2006/10/a-disappointment-galaxy-angel-ii/","section":"Posts","summary":"Recently, Galaxy Angel II has gone on air. I was very interested as I found the original series (and its four seasons, plus specials) to be rather entertaining and funny. So, I watched the first episode eagerly when I had a change to see it. I didn’t expect it to turn into a huge disappointment.\n","title":"A disappointment: Galaxy Angel II","type":"post"},{"content":"At least, after six long months of wait, I obtained a new piece of the Paladin relic set.\nIt all happened in United Dynamis\u0026rsquo; last San d\u0026rsquo;Oria run. Things started a little late (around thirty minutes), but everything went smoothly. After killing the last notorious monster required for spawning the so called \u0026ldquo;Mega Boss\u0026rdquo;, the sponsor decided to farm more, so we moved to try a shot with the Ninja NM on the west side of the area. That\u0026rsquo;s when the Valor Gauntlets dropped. I admit I got lucky, as I casted a lot of 770, while the others got only 47 and 350. And after the usual 5 minutes\u0026rsquo; wait, they went from the treasure pool into my inventory. Here they are:\n399\nNow I only need two more parts of the relic set. Next week there is Beaucedine Glacier scheduled, where the Valor Breeches drop. One can hope to be lucky\u0026hellip;\nAnd last, here is how I look with this new addition:\n401\n","date":"October 2, 2006","externalUrl":null,"permalink":"/2006/10/valor-gauntlets/","section":"Posts","summary":"At least, after six long months of wait, I obtained a new piece of the Paladin relic set.\n","title":"Valor Gauntlets!","type":"post"},{"content":"WARNING: This entry is somewhat political in nature.\nGiven the recent controversies about the GPL v3 draft, I thought I\u0026rsquo;d give my insight on the Free Software Foundation and especially its founder, Richard M. Stallman, better known as RMS. I won\u0026rsquo;t cover the GPL v3 debate as I haven\u0026rsquo;t read the license draft, though I think that the kernel developers\u0026rsquo; standing must be at least given attention.\nThe FSF has done a good job in creating free (as in freedom) tools from UNIX, and also for creating the GPL v2, a license that mostly reminds me of good, fruitful scientific work because it encourages sharing and improvement. I always recommend the GPL as the license of choice for academia-developed software. I like the license because it encourages competition, puts everyone on a level playing field where everyone can improve. That said, the political views of the FSF and RMS really are questionable.\nRMS is an idealist, but his views in my opinion clash with reality, not to mention that his \u0026ldquo;no compromise\u0026rdquo; attitude is not always the best option. I can understand his desire to have free software for everyone, but every time someone does not behave in such a way, he\u0026rsquo;s extremely critic. He should understand as well that pluralism is actually a good thing. You can\u0026rsquo;t force people to make free software as much as you can\u0026rsquo;t force people to make proprietary software (I like the former better, but that\u0026rsquo;s my idea only). Instead, he is always on a rampage to promote his ideas through activism. Sometimes it seems only he has the right view on something, which is down right irritating. I hate activism. When you have a democratically elected government, it\u0026rsquo;s a lot less useful than it may seem. Why always bypassing the people you have elected? What\u0026rsquo;s the role of the government then? And not only that, the FSF has been present at activities promoted by certain parties, notably the Green Party, because of their stance on software patents. Going with a party whose most incarnations show a total and complete ignorance of environment just because they support part of their cause is insane. Personally I am not represented by the Greens, nor I want to. The FSF should concentrate on the technical, and legal aspects of free software, and leave out the extreme left/anarchist ideals.\nLast but not least, what can I think when RMS himself says that he wants to \u0026ldquo;liberate everyone in the cyberspace\u0026rdquo;? Has he been reading too much W.Gibson, perhaps?\n","date":"September 28, 2006","externalUrl":null,"permalink":"/2006/09/on-free-software-and-fsf/","section":"Posts","summary":"WARNING: This entry is somewhat political in nature.\nGiven the recent controversies about the GPL v3 draft, I thought I’d give my insight on the Free Software Foundation and especially its founder, Richard M. Stallman, better known as RMS. I won’t cover the GPL v3 debate as I haven’t read the license draft, though I think that the kernel developers’ standing must be at least given attention.\n","title":"On Free Software and FSF","type":"post"},{"content":"While I was viewing Yamato Video\u0026rsquo;s latest Samurai Troopers DVD, I noticed that in the trailers section there was a part showing off some footage of Chrno Crusade. As a few may know, it\u0026rsquo;s written Chrno and not Chrono for some obscure reason. What it matters though is that Planet Manga already edited the relevant manga with the name Chrono Crusade (same as what AD Vision did in the United States).\nOf course, Yamato didn\u0026rsquo;t bother changing the title to stir interest from people who already bought the manga. I can bet the adaptation will alos be different and nothing like the manga. This is not new in the Italian market, which is basically a mafia. Everyone knows each other, there are stupid, petty rivalries between the head sections of different companies which basically means that any good idea of cooperation - for mutual advantage - is scrapped because of stupidity.\nHealthy competition and cooperation help. In this case there is no competition, just mutual ignorance. The fact that sales\u0026rsquo; figures are kept hidden should tell something. I hope that someday a real company, whith a sensible business plan (so, nothing like Shin Vision is doing, for example) will come and force the others to act accordingly.\n","date":"September 24, 2006","externalUrl":null,"permalink":"/2006/09/cooperation-and-stupidity/","section":"Posts","summary":"While I was viewing Yamato Video’s latest Samurai Troopers DVD, I noticed that in the trailers section there was a part showing off some footage of Chrno Crusade. As a few may know, it’s written Chrno and not Chrono for some obscure reason. What it matters though is that Planet Manga already edited the relevant manga with the name Chrono Crusade (same as what AD Vision did in the United States).\nOf course, Yamato didn’t bother changing the title to stir interest from people who already bought the manga. I can bet the adaptation will alos be different and nothing like the manga. This is not new in the Italian market, which is basically a mafia. Everyone knows each other, there are stupid, petty rivalries between the head sections of different companies which basically means that any good idea of cooperation - for mutual advantage - is scrapped because of stupidity.\n","title":"Cooperation and stupidity","type":"post"},{"content":"Jucato has some screenshots of the recently released Kubuntu Edgy Eft Knot 3. I like very much the new artwork, but it doesn\u0026rsquo;t seem that there\u0026rsquo;ll be Oxygen icons, at least from what I can gather. In any case I will try to play with it as soon as it hits a beta stage.\nOn unrelated news, I still have got some RSI issues, so I\u0026rsquo;ll have to slow down posting. Bah.\n","date":"September 21, 2006","externalUrl":null,"permalink":"/2006/09/kubuntu-edgy-knot-3-artwork/","section":"Posts","summary":"Jucato has some screenshots of the recently released Kubuntu Edgy Eft Knot 3. I like very much the new artwork, but it doesn’t seem that there’ll be Oxygen icons, at least from what I can gather. In any case I will try to play with it as soon as it hits a beta stage.\nOn unrelated news, I still have got some RSI issues, so I’ll have to slow down posting. Bah.\n","title":"Kubuntu Edgy Knot 3 artwork","type":"post"},{"content":"As promised, I got around to write for a while during this weekend and here is the result, a new S.T.E.A.L. snapshot ready for download.\nNotable changes include:\nNew dialogue between Jim and Satsuki at the start of chapter 4. This should show better that Jim is and will be an important character during the story development;\nText revisions throughout chapter 4;\nA whole new part of the chatper 4 story, that can be considered now roughly halfway.\nOn a related topic, I\u0026rsquo;m still working on the stealsaga domain, and I think it should be ready at least in alpha form in a week or two.\n","date":"September 17, 2006","externalUrl":null,"permalink":"/2006/09/another-s.t.e.a.l.-snapshot/","section":"Posts","summary":"As promised, I got around to write for a while during this weekend and here is the result, a new S.T.E.A.L. snapshot ready for download.\nNotable changes include:\nNew dialogue between Jim and Satsuki at the start of chapter 4. This should show better that Jim is and will be an important character during the story development;\nText revisions throughout chapter 4;\nA whole new part of the chatper 4 story, that can be considered now roughly halfway.\n","title":"Another S.T.E.A.L. snapshot","type":"post"},{"content":"As I checked my messages on deviantart this morning, I got some news from Too. Aside some delay in obtaining the actual artwork he did (not his fault, probably some quirk of the postal system) he provided me with a tentative sketch of the cover. It impressed me a great deal, so I already gave out the \u0026ldquo;green light\u0026rdquo; for coloring it. Here is the sketch (watermarked, as usual):\n393\nToo\u0026rsquo;s skill is evident.\nWork continues on the text, and if I can I will try to publish a new snapshot by tomorrow, or next week. I\u0026rsquo;m finally getting to the parts I want to write, btu I found that connecting those to the flow of narration requires more work than I thought. Also, I\u0026rsquo;ve registered the domain stealsaga.net in order to give a proper place to the novel. I\u0026rsquo;m still unsure how to design and implement it, though.\n","date":"September 16, 2006","externalUrl":null,"permalink":"/2006/09/s.t.e.a.l.-related-news/","section":"Posts","summary":"As I checked my messages on deviantart this morning, I got some news from Too. Aside some delay in obtaining the actual artwork he did (not his fault, probably some quirk of the postal system) he provided me with a tentative sketch of the cover. It impressed me a great deal, so I already gave out the “green light” for coloring it. Here is the sketch (watermarked, as usual):\n393\n","title":"S.T.E.A.L. related news","type":"post"},{"content":"Recently I decided to update the fglrx driver (ATI\u0026rsquo;s proprietary driver for Linux) to the latest version. I wanted to do that because the old version made switching between virtual consoles and X impossible (X would lose the correct timing of the screen, distorting it and forcing a kill to reset the settings). Also I was hoping on finally solving the hibernate issue that has been plaguing the driver for months.\nAlas, nothing of the sort was observed in the latest version. It surely added a bunch of new features, but some irritating bugs are still not fixed (and still no AIGLX support). I have to say this is a common behavior regarding ATI products, even on Windows: the hardware is usually top-notch but the software components are insanely buggy. And they (like NVIDIA) won\u0026rsquo;t publish open specifications in fear of having them exposed to competition\u0026hellip; too bad that their competition has been always using reverse engineering methods to obtain information, so I don\u0026rsquo;t think it would change anything.\nThis, as I blogged about previously, is a sore problem of binary-only drivers, with even important bugs staying present until the vendor decides to fix them. With AMD buying ATI I think that the situation will only become worse, reducing even the little competition there is in this essentially duopolistic market.\n","date":"September 16, 2006","externalUrl":null,"permalink":"/2006/09/ati-drivers-and-linux/","section":"Posts","summary":"Recently I decided to update the fglrx driver (ATI’s proprietary driver for Linux) to the latest version. I wanted to do that because the old version made switching between virtual consoles and X impossible (X would lose the correct timing of the screen, distorting it and forcing a kill to reset the settings). Also I was hoping on finally solving the hibernate issue that has been plaguing the driver for months.\n","title":"ATI drivers and Linux","type":"post"},{"content":"A lot of my bioinformatics work involves performing functional annotation on genes. This means that given lits of genes I need to resolve their known function, or if they\u0026rsquo;re part or some metabolic pathways and so on. Even with the current trend in our laboratory, that is investigating DNA copy number changes using SNP microarrays (it\u0026rsquo;s a rather new form of analysis, but some relevant papers are out already), in the end we have to go back to the genes affected by such changes (in order to find interesting/marker genes - we study solid tumors).\nFor part of my work I use the excellent DAVID 2006 software by the NIAID, which can perform a lot of analyses including functional annotation, clustering, and more. Its output is usually a tab-delimited text file with the fields of interest. But that\u0026rsquo;s just part of the work I need to do, as I usually have to filter and analyze the lists using different critera (depending on the analyses I do). And that\u0026rsquo;s when Linux helps me a lot in doing this job.\nFor example, today I had a lists of annotated genes, around 300, and I wanted to filter the list so that only the ones including the Entrez Gene description. I know that DAVID had the sixth column as the description identifier. So all I had to do was:\n[code] awk \u0026rsquo; BEGIN { FS=\u0026quot;\\t\u0026quot;} { if ( $6 !=\u0026quot;\u0026quot;) { print }} \u0026rsquo; infile \u0026gt; outfile [/code]\n$6 is the 6th field, which corresponds to the Entrez Gene description in the text file I obtained from DAVID. This line of code will print all the lines where $6 is not empty. Once I did that, I obtained all the genes where the description was available. However, there were still fields I wouldn\u0026rsquo;t need:\n[code] awk \u0026rsquo; BEGIN { FS=\u0026quot;\\t\u0026quot;}{ print $1\u0026quot;\\t\u0026quot;$2\u0026quot;\\t\u0026quot;$4\u0026quot;\\t\u0026quot;$6 } \u0026rsquo; infile \u0026gt; outfile [/code]\nThat stripped two fields that weren\u0026rsquo;t useful for me. I could have probably merged this on the other one. Even with this done, the file was hardly readable, both using less or oocalc to display it better. I needed to convert it to an HTML table! But how to do it? After a quick googling, I found the answer in the form of t2t, a Perl script that converts text files to HTML tables. After installing it, I invoked it with:\n[code] t2t \u0026ndash;header file_to_be_converted [/code]\nand I had immediately an usable HTML file.\nI\u0026rsquo;m pretty sure there are more tricks I could learn to improve my work.\n","date":"September 13, 2006","externalUrl":null,"permalink":"/2006/09/annotations-and-linux/","section":"Posts","summary":"A lot of my bioinformatics work involves performing functional annotation on genes. This means that given lits of genes I need to resolve their known function, or if they’re part or some metabolic pathways and so on. Even with the current trend in our laboratory, that is investigating DNA copy number changes using SNP microarrays (it’s a rather new form of analysis, but some relevant papers are out already), in the end we have to go back to the genes affected by such changes (in order to find interesting/marker genes - we study solid tumors).\n","title":"Annotations and Linux","type":"post"},{"content":"I learnt recently that the Kile LaTeX environment had a new release (1.9.2) on 26th August. It is mainly a bugfix release. However no packages for Ubuntu and Kubuntu exist yet, so I decided to fill the gap by building one, as I also use Kile for S.T.E.A.L.. It is based on the packages made by Harald Sitter and Marcus Czeslinski, whom should take most of the credit, as I merely recompiled the already debianized source with the new version.\nThe package is available on here (if the link is no longer working, leave a comment and I\u0026rsquo;ll host it elsewhere), along with the languages package. It has been signed with my own GPG key, which is also available on the wwwkeys.pgp.net keyserver (key ID EC445369).\nI built the package for myself. It should also work for you, but I am not to be held responsible if it causes some breakage. Use it at your own risk.\nUPDATE: If you have trouble installing those packages, make sure you have the latest version of KDE as installed from kubuntu.org\u0026rsquo;s repositories.\nA list of changes, taken from the original version announcement on Kile\u0026rsquo;s web page, is available below:\nversion 1.9.1 -\u0026gt; 1.9.2 Fixes:\nAdd autoref command to standard reference commands (#130037)\nRemember the setting of MakeIndexOptions checkbox in the project settings dialog. (debian #337550)\nAdded utf-8 and other encodings to the quickdocument dialog. (#131402)\nMake the \u0026ldquo;New Tool\u0026rdquo; dialog box big enough. (#132425)\nCheck if masterdocs in kilepr files exist, should fix some problems with upgrades from kile 1.8.\nSearching for environments in Edit functions improved.\nTake array as math environment instead of tabular in Configure-\u0026gt;Latex Environments.\nDon\u0026rsquo;t crash if a user changes the icon of a toolbar item. (debian #382317)\nAllow a few more punctuation in codecompletion of citation keys. (#130148)\nRemember last working directory in \u0026lsquo;find in files\u0026rsquo; dialog. (debian #359932)\nTabular wizard should insert all entered elements. (#132736)\nOnly autosave files which have been modified.\nDelete comma of last bibtex entry if Bibliographie-\u0026gt;Clean is called. (#129499)\nQuick Preview fails if graphics are included in selection (#126019)\n","date":"September 10, 2006","externalUrl":null,"permalink":"/2006/09/kile-1.9.2-for-dapper/","section":"Posts","summary":"I learnt recently that the Kile LaTeX environment had a new release (1.9.2) on 26th August. It is mainly a bugfix release. However no packages for Ubuntu and Kubuntu exist yet, so I decided to fill the gap by building one, as I also use Kile for S.T.E.A.L.. It is based on the packages made by Harald Sitter and Marcus Czeslinski, whom should take most of the credit, as I merely recompiled the already debianized source with the new version.\n","title":"Kile 1.9.2 for Dapper","type":"post"},{"content":"UPDATED: Now a movie showing the run is hosted at Google Video.\nOn Tuesday there was my second attempt at doing Dynamis-Buburimu with United Dynamis. My first attempt, months ago, was a sore loss because of lack of people (and lack of experience, in my opinion). This time we had close to the 36 people needed for the area, and we were much better prepared.\n387\nAt first only three members entered, to locate the ??? spot that would re-enable support jobs (disabled when you enter one of these areas). It was found relatively quickly. Then there was the matter of the dragons. Seven dragons roam the area, plus one which is the so-called mega boss. Killing the dragons deprives the mega boss of certain special abilities. We killed four of them, we couldn\u0026rsquo;t do more because of the time limit (you have one hour as soon as you enter, with no extensions until you kill the boss). After that, we took on the Apocalyptic Beast.\nIt was a hard fight, with numerous deaths (mine included) but we eventually won. Therefore I cleared the area, but it wasn\u0026rsquo;t over yet. It was time to kill some regular enemies in order to obtain some good items. We started fighting \u0026ldquo;Nightmare Ravens\u0026rdquo;. They aren\u0026rsquo;t hard by themselves, but groups can be problematic. Our puller, Confuse, did a good job, but even him couldn\u0026rsquo;t fight against bad luck. One of the pulls was so unlucky that it brought around 50 of these monsters. The image below outlines the (obvious) result (thanks to Sephris for letting me use this one):\n384\nAs you can see, it wasn\u0026rsquo;t a good result. Nevertheless, the whole run was successful, with 4 pieces of tattered relic armor, one warrior waist piece and one samurai relic piece among the drops (not counting around 50 pieces of Dynamis currency). As my luck always runs out, there weren\u0026rsquo;t any paladin pieces. Dynamis-Xarcabard is scheduled for next week, and that also is the day where I will fully regain my lotting rights within United. I\u0026rsquo;m hoping for a Valor Surcoat drop\u0026hellip;\nClosing this post, here\u0026rsquo;s a group shot of some United members after the victory:\n390\nMy brother should work on a movie of the run soon.\n","date":"September 7, 2006","externalUrl":null,"permalink":"/2006/09/dynamis-buburimu/","section":"Posts","summary":"UPDATED: Now a movie showing the run is hosted at Google Video.\nOn Tuesday there was my second attempt at doing Dynamis-Buburimu with United Dynamis. My first attempt, months ago, was a sore loss because of lack of people (and lack of experience, in my opinion). This time we had close to the 36 people needed for the area, and we were much better prepared.\n","title":"Dynamis-Buburimu","type":"post"},{"content":"I forgot to mention it in the past entries, but my group finally managed to take on the (only) serious fight in the Treasures of Aht Urghan storyline so far. The mission is known as the \u0026ldquo;Black Coffin\u0026rdquo; and even if it involves six members it\u0026rsquo;s not a battlefield (or Burning Circle as they\u0026rsquo;re also called) but instead is an Assault.\nGetting to the spot where the Assault takes place was kind of a tricky because we had a couple of deaths on the way: the area is Caedarva Mire on Dvucca Isle and there are a load of undead (Qutrub) and Imps in the way. I was the first to go down, followed by our ranger. Then we took a while to find the correct entrance to the Arrapago Reef. In the end, I had to leave out one person because there wasn\u0026rsquo;t enough time available to do a run twice (we were in 7).\nThe fight itself proved to be pretty fun. We had to fight five Fomors, then followed by another wave of Fomors. No one of us was in real danger save Mercredi, who got hit by Vorpal Blade with Counterstance on (but a quick Cure V saved him). The cutscenes after the fight were pretty interesting, but it\u0026rsquo;s a shame that we won\u0026rsquo;t see more story until October at least.\nMy brother made a movie out of the fight (around 15 minutes long, 90 Mb), it\u0026rsquo;s available on Google Video.\nOn a related topic, I\u0026rsquo;m trying to assemble a static party (me, Eithin, Mercredi, Rezo, Sechs and Billyism) to gain some merit points. Our first run should be on Friday, I\u0026rsquo;ll be sure to report about it.\n","date":"September 4, 2006","externalUrl":null,"permalink":"/2006/09/the-black-coffin-and-merits/","section":"Posts","summary":"I forgot to mention it in the past entries, but my group finally managed to take on the (only) serious fight in the Treasures of Aht Urghan storyline so far. The mission is known as the “Black Coffin” and even if it involves six members it’s not a battlefield (or Burning Circle as they’re also called) but instead is an Assault.\nGetting to the spot where the Assault takes place was kind of a tricky because we had a couple of deaths on the way: the area is Caedarva Mire on Dvucca Isle and there are a load of undead (Qutrub) and Imps in the way. I was the first to go down, followed by our ranger. Then we took a while to find the correct entrance to the Arrapago Reef. In the end, I had to leave out one person because there wasn’t enough time available to do a run twice (we were in 7).\n","title":"The Black Coffin and merits","type":"post"},{"content":"[code]lb@hardin:~$ uname -a Linux hardin 2.6.17-emission7 [/code]\n(the rest of the output was truncated) Thanks to some folks over at the Ubuntu Web Forums I\u0026rsquo;ve been working into rolling in my own kernel trying to solve the fact that when I\u0026rsquo;m shutting down I always get drives in an unclean state (actually only the root partition), giving rise to several errors. I wasn\u0026rsquo;t content with a vanilla kernel so I decided to use the emission patchset. This enables extra functions like a framebuffer splash (pity about vesafb-tng not working on my video card), suspend2 (an enhanced suspend-to-disk functionality), low latency patches and so on.\nI have to say that Debian\u0026rsquo;s kernel-package is wonderful, in the sense that it automates kernel packaging up to the point of being brain dead almost, and it also automatically compiles out-of-tree modules that have been installed using the *-kernel-source packages. In any case, I\u0026rsquo;m very happy of the result so far, with the only problem being the inability of setting 16:10 resolutions on the framebuffer. If anyone knows how, please leave a comment.\nAll is well, however the drives still aren\u0026rsquo;t unmounted cleanly. Is there a way you can remount a partition read-only just the moment before shutting down?\n","date":"September 3, 2006","externalUrl":null,"permalink":"/2006/09/new-kernel/","section":"Posts","summary":"[code]lb@hardin:~$ uname -a Linux hardin 2.6.17-emission7 [/code]\n(the rest of the output was truncated) Thanks to some folks over at the Ubuntu Web Forums I’ve been working into rolling in my own kernel trying to solve the fact that when I’m shutting down I always get drives in an unclean state (actually only the root partition), giving rise to several errors. I wasn’t content with a vanilla kernel so I decided to use the emission patchset. This enables extra functions like a framebuffer splash (pity about vesafb-tng not working on my video card), suspend2 (an enhanced suspend-to-disk functionality), low latency patches and so on.\n","title":"New kernel","type":"post"},{"content":"As promised, I put up a new snapshot of S.T.E.A.L. (available here) Highlights include:\nInterpolated drawings. This should reduce the pixelation effect, but it will make them more blurry. I can\u0026rsquo;t fix this until Too sends me the actual art;\nRevisions throughout the text, to remove some parts where Yumiko acted out of character;\nA new part in New York, preparing the background for the more action-oriented parts that will follow;\nStill TODO:\nAdd more dialogue between Satsuki and Jim Clark, as the latter is an important character and now it looks underdeveloped;\nRevise some older parts that I haven\u0026rsquo;t looked at since they were written;\nFix the question marks. This is actually a Kile bug with quotations;\nOf course, go on with the story!\nI\u0026rsquo;m also trying to make a S.T.E.A.L. page, but I need to think about a design that\u0026rsquo;s not graphic-intensive. Suggestions are appreciated.\n","date":"August 30, 2006","externalUrl":null,"permalink":"/2006/08/s.t.e.a.l.-snapshot-released/","section":"Posts","summary":"As promised, I put up a new snapshot of S.T.E.A.L. (available here) Highlights include:\nInterpolated drawings. This should reduce the pixelation effect, but it will make them more blurry. I can’t fix this until Too sends me the actual art;\nRevisions throughout the text, to remove some parts where Yumiko acted out of character;\nA new part in New York, preparing the background for the more action-oriented parts that will follow;\n","title":"S.T.E.A.L. snapshot released","type":"post"},{"content":"I\u0026rsquo;m finally back from holidays and since there\u0026rsquo;s almost no one in the office here I thought I\u0026rsquo;d write a little mixed entry, while quant is busy compiling a patched 2.6.17 kernel (but quant as an odd overheating problem that I will describe in another entry, so I have to compile it by steps). Work is somewhat slow, as the people I need to contact are still on holiday. In the mean time, I\u0026rsquo;m reading an interesting paper on some GPLed software for Single Nucleotide Polymorphism analysis, written in Perl and R. I have some test data so I\u0026rsquo;ll soon give it a try (after reading the paper, published in BMC Bioinformatics earlier this year). It may be what I need to perform some comparison analysis between different kinds of tumor samples.\nOn a different matter, the summer has been quite productive for S.T.E.A.L., as I\u0026rsquo;ve been writing quite a lot, and I set an internal deadline for completion (31st October), while text revision will take me more time before putting up the finished work. I\u0026rsquo;ll be uploading a new snapshot soon. I also have some photos from my week-long cultural trip in Toscana and Umbria, I\u0026rsquo;ll put them online as soon as I scan them (I had to use a single-use camera).\n","date":"August 29, 2006","externalUrl":null,"permalink":"/2006/08/im-back/","section":"Posts","summary":"I’m finally back from holidays and since there’s almost no one in the office here I thought I’d write a little mixed entry, while quant is busy compiling a patched 2.6.17 kernel (but quant as an odd overheating problem that I will describe in another entry, so I have to compile it by steps). Work is somewhat slow, as the people I need to contact are still on holiday. In the mean time, I’m reading an interesting paper on some GPLed software for Single Nucleotide Polymorphism analysis, written in Perl and R. I have some test data so I’ll soon give it a try (after reading the paper, published in BMC Bioinformatics earlier this year). It may be what I need to perform some comparison analysis between different kinds of tumor samples.\n","title":"I'm back","type":"post"},{"content":"That\u0026rsquo;s right, I\u0026rsquo;m going on holiday from today until August 28th. As I don\u0026rsquo;t have a proper internet connection there, my entries will be few and far in between (not that I\u0026rsquo;ve been very active recently, I\u0026rsquo;ve been busy putting the house in order). I\u0026rsquo;ll be staying in Loano, in Liguria, for about 17 days, and I\u0026rsquo;ll spend the rest traveling around central Italy (Arezzo, Perugia, Assisi, Todi, Gubbio, Siena).\nAs \u0026ldquo;parting gift\u0026rdquo; I uploaded a new snapshot of S.T.E.A.L., which includes Too\u0026rsquo;s fantastic art. Take a look, I hope you appreciate it. As usual, comments are welcome!\n","date":"August 4, 2006","externalUrl":null,"permalink":"/2006/08/holidays/","section":"Posts","summary":"That’s right, I’m going on holiday from today until August 28th. As I don’t have a proper internet connection there, my entries will be few and far in between (not that I’ve been very active recently, I’ve been busy putting the house in order). I’ll be staying in Loano, in Liguria, for about 17 days, and I’ll spend the rest traveling around central Italy (Arezzo, Perugia, Assisi, Todi, Gubbio, Siena).\nAs “parting gift” I uploaded a new snapshot of S.T.E.A.L., which includes Too’s fantastic art. Take a look, I hope you appreciate it. As usual, comments are welcome!\n","title":"Holidays","type":"post"},{"content":"Two days ago, my younger brother left for The Netherlands, where he\u0026rsquo;ll stay for two years working for the European Space Agency (ESA). I hope I\u0026rsquo;ll be able to keep in touch with him.\nI don\u0026rsquo;t like emotion-filled entries so I\u0026rsquo;ll just stop here.\n","date":"August 2, 2006","externalUrl":null,"permalink":"/2006/08/departure/","section":"Posts","summary":"Two days ago, my younger brother left for The Netherlands, where he’ll stay for two years working for the European Space Agency (ESA). I hope I’ll be able to keep in touch with him.\nI don’t like emotion-filled entries so I’ll just stop here.\n","title":"Departure","type":"post"},{"content":"In the past few months I\u0026rsquo;ve been wondering about the state of bioinformatics and computational biology in general. When I attended the school in Bertinoro (as I wrote about previously). The development in this field can be regarded as quite astounding, just a look at journals like BMC Bioinformatics, Bioinformatics or others can give an insight of that.\nHowever, and talks at Bertinoro seemed to confirm this impression, it looks like that many in the computational field forget that we\u0026rsquo;re talking about biology. Aside people that apply data analysis tecniques to different subjects (not only biology), that can be excused if they don\u0026rsquo;t know much about biological meaning, I think that a lot of people working in bioinformatics deal with biological data without knowing that it means.\nIn my opinion, this is a mistake that should be corrected. I understand that, for example, a computational biologist that works on algorithms to find transcription factor binding sites isn\u0026rsquo;t required to know the chemistry of the interaction between transcription factors and the DNA: however he/she should have a good knowledge of what ehnancers and silencers are, and at least an idea on how the transcription mechanism works.\nIt really puzzled me when a while ago there was someone talking about algorithms to find regions of aneuploidy (DNA copy number change) who talked about \u0026ldquo;disomy\u0026rdquo; and \u0026ldquo;trisomy\u0026rdquo; without actually knowing their meaning. Same for people that study docking and protein-protein interaction that know almost nothing about their targets.\nBiologists in this field are making an effort to understand IT (I do my best to help my colleagues, for example), it would be nice if the computational field would do a similar effort.\n","date":"July 29, 2006","externalUrl":null,"permalink":"/2006/07/computational-biology...-biology/","section":"Posts","summary":"In the past few months I’ve been wondering about the state of bioinformatics and computational biology in general. When I attended the school in Bertinoro (as I wrote about previously). The development in this field can be regarded as quite astounding, just a look at journals like BMC Bioinformatics, Bioinformatics or others can give an insight of that.\nHowever, and talks at Bertinoro seemed to confirm this impression, it looks like that many in the computational field forget that we’re talking about biology. Aside people that apply data analysis tecniques to different subjects (not only biology), that can be excused if they don’t know much about biological meaning, I think that a lot of people working in bioinformatics deal with biological data without knowing that it means.\n","title":"Computational Biology...  biology?","type":"post"},{"content":"Our paper\u0026rsquo;s completion has probably been delayed till September or so pending some (in my opinion puzzling) organizational issues within a group that works with us. My research work is also pending due to the fact that I\u0026rsquo;m waiting for someone to prepare a \u0026ldquo;data matrix\u0026rdquo; for me, and the person doesn\u0026rsquo;t seem to know that leaving other people hanging is somewhat impolite.\nSo, I decided that as a person that works in bioinformatics I could learn something new. That is why I\u0026rsquo;ve decided to learn Python. The fact that it forces you to use proper indentation and its syntax seems ideal for me, who has little programming experience save bash shell scripting and a few PHP (terrible). I\u0026rsquo;ve found a nice tutorial for it and so far it\u0026rsquo;s going OK.\nI\u0026rsquo;ve taken a look at the Biopython project as a reference for future work, but it mostly deals with sequence analysis, which is not my field. I wonder if there are Python tools for microarray data analysis, because I really don\u0026rsquo;t like R (it\u0026rsquo;s slow and it\u0026rsquo;s more of an environment than a programming language) and the only ones I know are from the Bioconductor project, in R, as I wrote. Not only that, but I work on proprietary high density oligonucleotide arrays, not the most common two-color (Cy3 + Cy5) variants.\nIf that\u0026rsquo;s not the case, I could look into annotation, probably, which is something I do extensively to filter out biologically non relevant data (always a problem when you deal with complex algorithms). Still, there\u0026rsquo;s more time before I get to doing something relevant to my work, so the chances are that I\u0026rsquo;ll find something by then.\n","date":"July 28, 2006","externalUrl":null,"permalink":"/2006/07/perspectives/","section":"Posts","summary":"Our paper’s completion has probably been delayed till September or so pending some (in my opinion puzzling) organizational issues within a group that works with us. My research work is also pending due to the fact that I’m waiting for someone to prepare a “data matrix” for me, and the person doesn’t seem to know that leaving other people hanging is somewhat impolite.\nSo, I decided that as a person that works in bioinformatics I could learn something new. That is why I’ve decided to learn Python. The fact that it forces you to use proper indentation and its syntax seems ideal for me, who has little programming experience save bash shell scripting and a few PHP (terrible). I’ve found a nice tutorial for it and so far it’s going OK.\n","title":"Perspectives","type":"post"},{"content":"Yes, I\u0026rsquo;m still alive somewhat. I have a lot to write, but my stupid wrists don\u0026rsquo;t let me save a few minutes per day. I\u0026rsquo;ll probably try to wrap things up this weekend with a series of multiple entries.\n","date":"July 27, 2006","externalUrl":null,"permalink":"/2006/07/im-still-alive/","section":"Posts","summary":"Yes, I’m still alive somewhat. I have a lot to write, but my stupid wrists don’t let me save a few minutes per day. I’ll probably try to wrap things up this weekend with a series of multiple entries.\n","title":"I'm still alive","type":"post"},{"content":"It was just tendinitis on both hands, thanks to a stupid table that I will have to fix soon. The good news is that I can get back on track soon, using some medicines and the so-called laser therapy to get rid of the inflammation.\nAlso, I will post soon about the next S.T.E.A.L. snapshot and the upcoming FFXI update (scheduled today).\n","date":"July 24, 2006","externalUrl":null,"permalink":"/2006/07/clarification/","section":"Posts","summary":"It was just tendinitis on both hands, thanks to a stupid table that I will have to fix soon. The good news is that I can get back on track soon, using some medicines and the so-called laser therapy to get rid of the inflammation.\nAlso, I will post soon about the next S.T.E.A.L. snapshot and the upcoming FFXI update (scheduled today).\n","title":"Clarification","type":"post"},{"content":"Although I am by no means a professional coder, I write quite a lot of code due to my own work. Occasionally, I write some stuff for myself, which is listed here. You won\u0026rsquo;t find it on GitHub: by purpose it is not put there. Although I know and love FOSS, I\u0026rsquo;m painfully aware that I\u0026rsquo;m not good at doing maintenance, and that often it takes years before I find the time and motivation to go back to them.\nThat said, feel free to use them if you find them useful!\nDanbooru Client # I have written (and I occasionally come back to it, every now and then) this program, meant to be a client to to access Danbooru-based image boards (Wikipedia definition).\nPython scripts # I also have written a small script to filter desktop wallpapers based on their size or aspect ratio. It\u0026rsquo;s mostly a toy program, but if you\u0026rsquo;re curious, try it out!\n","date":"July 22, 2006","externalUrl":null,"permalink":"/projects/","section":"dennogumi.org","summary":"Although I am by no means a professional coder, I write quite a lot of code due to my own work. Occasionally, I write some stuff for myself, which is listed here. You won’t find it on GitHub: by purpose it is not put there. Although I know and love FOSS, I’m painfully aware that I’m not good at doing maintenance, and that often it takes years before I find the time and motivation to go back to them.\n","title":"Projects","type":"page"},{"content":"I\u0026rsquo;ve got RSI (Repetitive Strain Injury) on both my wrists. This means I won\u0026rsquo;t update in a while, as I\u0026rsquo;m trying to put my hands to rest. I\u0026rsquo;ll still try to write some S.T.E.A.L., though.\n","date":"July 21, 2006","externalUrl":null,"permalink":"/2006/07/rsi/","section":"Posts","summary":"I’ve got RSI (Repetitive Strain Injury) on both my wrists. This means I won’t update in a while, as I’m trying to put my hands to rest. I’ll still try to write some S.T.E.A.L., though.\n","title":"RSI","type":"post"},{"content":"Yesterday, my brother managed to do a BCNM40 with Mercredi and Rezo. It is a battlefield in Horlais Peak, in the San d\u0026rsquo;Oria region, where a group of three people maximum can enter. It is famous because it can drop a very rare item, the Peacock Charm (Accuracy +10, Ranged Accuracy +10 Dark resistance -10).\nThere are three enemies on the field, all of the mind gazer type. Two are rather small, and one is larger. The smaller ones use single target fire magic (Fire II) while the big one uses both single target and area of effect (AOE) fire magic (Firaga). All three spam a very annoying move, Hex Eye, that paralyzes everyone that is facing directly towards them.\nMercredi employed a different strategy than usual: him and Rezo came as blue mages, while my brother was a ninja. BLU (short hand for Blue Mage) is really suited for this battlefield. The trick was to have my brother and Rezo hold the two small gazers without facing them, while Mercredi kited the big one and succesfully bound it with Pinecone Bomb.\nRezo and my brother used either blue magic or ninjutsu to kill the small ones, and then all three focused on the remaining gazers. Head Butt was used to stun it before it could cast Firaga. The strategy failed on the first run, but was succesful in other three. The Peacock Charm didn\u0026rsquo;t drop, but they got Utsusemi: Ni and Erase, which sold and gave a respectable amount of 500,000 gil to each one.\n","date":"July 17, 2006","externalUrl":null,"permalink":"/2006/07/under-observation/","section":"Posts","summary":"Yesterday, my brother managed to do a BCNM40 with Mercredi and Rezo. It is a battlefield in Horlais Peak, in the San d’Oria region, where a group of three people maximum can enter. It is famous because it can drop a very rare item, the Peacock Charm (Accuracy +10, Ranged Accuracy +10 Dark resistance -10).\nThere are three enemies on the field, all of the mind gazer type. Two are rather small, and one is larger. The smaller ones use single target fire magic (Fire II) while the big one uses both single target and area of effect (AOE) fire magic (Firaga). All three spam a very annoying move, Hex Eye, that paralyzes everyone that is facing directly towards them.\n","title":"Under Observation","type":"post"},{"content":"I\u0026rsquo;ve been writing a lot in the past weekend. The fact that I have some definitive art gave me the impulse after many months of inactivity. Being totally dissatisfied with the state of chapter 4 (the latest I\u0026rsquo;m writing), I completely reorganized it, moving one section to the top and rearranging the behavior of some characters (like Satsuki, who was a little too hysterical) and cut off part of a flashback. And finally I\u0026rsquo;m getting to one of the most action-packed parts of the novel. The snapshot on the links page is terribly outdated, I\u0026rsquo;m afraid. I\u0026rsquo;m waiting for the rest of the art from Too to put it up, but if I don\u0026rsquo;t get any by next week I\u0026rsquo;ll put it up anyway, so that the (few) people that read this page will be able to appreciate the changes.\nI\u0026rsquo;ve been thinking of making a web page about S.T.E.A.L. to promote the project better. The downside is that I can\u0026rsquo;t put images of the characters or the like around, because of course they exist only through Too\u0026rsquo;s art and my description. If anyone comes up with a good design suggesions, please say it in a comment.\n","date":"July 17, 2006","externalUrl":null,"permalink":"/2006/07/additions-and-changes/","section":"Posts","summary":"I’ve been writing a lot in the past weekend. The fact that I have some definitive art gave me the impulse after many months of inactivity. Being totally dissatisfied with the state of chapter 4 (the latest I’m writing), I completely reorganized it, moving one section to the top and rearranging the behavior of some characters (like Satsuki, who was a little too hysterical) and cut off part of a flashback. And finally I’m getting to one of the most action-packed parts of the novel. The snapshot on the links page is terribly outdated, I’m afraid. I’m waiting for the rest of the art from Too to put it up, but if I don’t get any by next week I’ll put it up anyway, so that the (few) people that read this page will be able to appreciate the changes.\n","title":"Additions and changes","type":"post"},{"content":"Finally I get to blog about S.T.E.A.L. after so many months! That\u0026rsquo;s because finally I have illustrations for the novel after all these years! As I said on my previous post on the matter, I had been in talks with two artists at the time. One simply disappeared after a while (and then I read on her deviantart page that drawing is not a priority\u0026hellip; it would have been nicer if she had told me at least), while the other took a good deal of time (around seven months). But now, thanks to the incredible drawing skill of Too, I have the first set of seven pictures I commissioned (out of nine)!\nActually, I had some drafts since a few months, but considering that I\u0026rsquo;ve been extremely unlucky with art commissions in the past four years, I\u0026rsquo;ve kept quiet until I had at least some definitive art. Here are some samples:\n338\nThe picture above is from one of the first scenes in the novel (want to know more? Go and take a look!) depicting Yumiko (center), Saiyuki (left) and Michiru (right). Too has changed a bit how Yumiko looks with respect to the original description, but both me and Marco are OK with it, so I\u0026rsquo;ll update the description accordingly.\n341\nThis drawing shows the other female main character of the story, Satsuki Ford. Too used as reference an old drawing someone made for me, but made the character a little sexier.\n344\nMore Yumiko here, slightly risque. This comes from approximately one third into the novel and in this case it is a faithful representation of the description.\nI love Too\u0026rsquo;s style and art, it\u0026rsquo;s really perfect for the novel. The remaining images, watermarked to avoid \u0026ldquo;theft\u0026rdquo;, are available in the gallery (see the tab on the top of the page). The complete images will be available in the next build of the PDF, which I\u0026rsquo;ll make once I get the remaining two pictures.\nNow, it\u0026rsquo;s time to finish this novel\u0026hellip; it\u0026rsquo;s been almost 10 years (I started in 1997).\n","date":"July 14, 2006","externalUrl":null,"permalink":"/2006/07/finally/","section":"Posts","summary":"Finally I get to blog about S.T.E.A.L. after so many months! That’s because finally I have illustrations for the novel after all these years! As I said on my previous post on the matter, I had been in talks with two artists at the time. One simply disappeared after a while (and then I read on her deviantart page that drawing is not a priority… it would have been nicer if she had told me at least), while the other took a good deal of time (around seven months). But now, thanks to the incredible drawing skill of Too, I have the first set of seven pictures I commissioned (out of nine)!\n","title":"Finally!","type":"post"},{"content":"I\u0026rsquo;ve recently slowed down my rate of playing at Final Fantasy XI, mostly because the new update is scheduled for the end of the month, and I don\u0026rsquo;t have much to do nowadays. Besides, part of the people in my group are on holiday or taking breaks so I won\u0026rsquo;t get to do anything until the 28th of August or so, when I\u0026rsquo;ll be back from holidays.\nStill, I managed to do a few things these weeks. I completed a couple of Assaults, mostly to get points and get items I could sell to raise my in game balance. Also, last week the Astral Candescence was lost for the first time on Asura. Since the server is quite lazy, I tried to recover it with a pick up group I got on the way. We managed to get up to the three Mamool Ja generals:\n335\nThe fight is hard. The enemy I targeted, a black mage, spams level IV magic, ancient magic and tier III -ga magic. The others can\u0026rsquo;t be slept reliably, and they hit hard. In other words, we got defeated pretty easily. Still, it was fun.\n","date":"July 10, 2006","externalUrl":null,"permalink":"/2006/07/new-happenings-on-asura/","section":"Posts","summary":"I’ve recently slowed down my rate of playing at Final Fantasy XI, mostly because the new update is scheduled for the end of the month, and I don’t have much to do nowadays. Besides, part of the people in my group are on holiday or taking breaks so I won’t get to do anything until the 28th of August or so, when I’ll be back from holidays.\n","title":"New happenings on Asura","type":"post"},{"content":"Yesterday I was trying to adjust some files in order to make a program use Affymetrix SNP arrays data (instead of arrayCGH data like the program was designed for). I had a big (116,000 rows) tab-delimited text file and I needed to use only part of the columns there.\nMost people would just try to use Excel (ugh) but since it has way too many limitations, it is unstable, and runs on Windows, I had to use other ways. The awk command is what I needed, given the fact that my input was a text file: [code]awk \u0026rsquo; { print $1\u0026quot;\\t\u0026quot;$7 } \u0026rsquo; CAKI1_CNAT.txt \u0026gt; CAKI-1.txt awk \u0026rsquo; { print $1\u0026quot;\\tchr\u0026quot;$2\u0026quot;\\t\u0026quot;$3\u0026quot;\\t\u0026quot;$3 } \u0026rsquo; CAKI1_CNAT.txt \u0026gt; CAKI-1.ann [/code]\nWith two commands I created the two files I needed for the obscure software I was testing and without a single headache. The first one created a file with only columns 1 and 7, while the second only with the first three columns, adding \u0026ldquo;chr\u0026rdquo; to the text in the second column.\nA simpler and more elegant solution would have probably been using cut for the first file: [code]cut -f1,7 CAKI1_CNAT.txt \u0026gt; CAKI-1.txt[/code]\nEither way, these are things that make my job easier. Try doing that with cmd.exe.\n","date":"July 8, 2006","externalUrl":null,"permalink":"/2006/07/the-power-of-the-shell/","section":"Posts","summary":"Yesterday I was trying to adjust some files in order to make a program use Affymetrix SNP arrays data (instead of arrayCGH data like the program was designed for). I had a big (116,000 rows) tab-delimited text file and I needed to use only part of the columns there.\n","title":"The power of the shell","type":"post"},{"content":"I\u0026rsquo;ve already explained in a previous entry that I like to tweak images, extract them from backgrounds and so on. However I didn\u0026rsquo;t like that I needed Windows to perform my actions, as I want to use that operating system as less as possible. I tried then to use FOSS (Free and Open Source Software) tools available on Linux to see if I could do the same job.\nNotice that this is not meant to be a tutorial, just a description of what I did: I\u0026rsquo;m a beginner myself, though I can answer questions if anyone (if any) posts them here. Don\u0026rsquo;t bring comparisons with Photoshop, either. It doesn\u0026rsquo;t run on Linux natively.\nThe two most famous image manipulation programs I know in Linux are the GIMP, GTK+ based, and Krita, which integrates into the KDE environment. I like Krita a lot more than GIMP, because it has a much saner user interface, however it\u0026rsquo;s still under heavy development and some features are not yet present (but it\u0026rsquo;s evolving at a very high pace, the developers are doing a fantastic job). Therefore, I had to stick with the GIMP.\nFor the job I picked up an image from My-HIME. Very nice art, but again a disappointing series. Here\u0026rsquo;s how it looked at the start.\n310\nI found this image somewhere on the net. It\u0026rsquo;s quite big, so it was perfect for my needs. In GIMP, I created an additional layer so I could avoid ruining the image. Then I selected a blue color and started painting around the contour of the figure of Mai, like this:\n314\nI know there are probably better ways to do it, I\u0026rsquo;m doing what I\u0026rsquo;m used to, that luckily is Photoshop-agnostic. Once I finished the contours, I merged down the layers and selected the blue area with the magic wand. The tool tends to keep a smaller contour than expected, so I grew the selection by three pixels using the Grow command. After this I inverted the selection, cut the figure out of the background and pasted it into a new image. The contour had been damaged, so I used the Layer Effects script to add an outer glow with a small blur:\n320\nAll I needed to do then was to resize the image, cut out the white background and save it as a PNG image. Here is the finished result:\n317\nI have the original XCF (GIMP\u0026rsquo;s layered file), if anyone wants it.\n","date":"July 2, 2006","externalUrl":null,"permalink":"/2006/07/image-editing-using-foss-tools/","section":"Posts","summary":"I’ve already explained in a previous entry that I like to tweak images, extract them from backgrounds and so on. However I didn’t like that I needed Windows to perform my actions, as I want to use that operating system as less as possible. I tried then to use FOSS (Free and Open Source Software) tools available on Linux to see if I could do the same job.\n","title":"Image editing using FOSS tools","type":"post"},{"content":"As you may have noticed the theme and the layout changed slightly. I updated the Regulus theme to the newest version, making it widget-enabled and improving the overall layout. That means I can customize my own sidebar as I please without coding using the so-called Widgets, and that\u0026rsquo;s why it changed. The only problem is that the gallery now looks a little fuzzy, but it\u0026rsquo;s ok for my tastes.\n","date":"July 1, 2006","externalUrl":null,"permalink":"/2006/07/widget-fun/","section":"Posts","summary":"As you may have noticed the theme and the layout changed slightly. I updated the Regulus theme to the newest version, making it widget-enabled and improving the overall layout. That means I can customize my own sidebar as I please without coding using the so-called Widgets, and that’s why it changed. The only problem is that the gallery now looks a little fuzzy, but it’s ok for my tastes.\n","title":"Widget fun","type":"post"},{"content":"305\nYesterday when I went at work I found an envelope coming from Canonical. Inside, there were the five Kubuntu 6.06 \u0026ldquo;Dapper Drake\u0026rdquo; LTS CDs I ordered from Shipit. Those are Live CDs that will run Kubuntu without any needs for installing (though I\u0026rsquo;d have preferred real install CDs).\n307\nI will probably try to hand out a few of those: there are already a few people using Linux where I work. Also, one or two will be useful to keep as install discs and to perform maintenance (though systems such as Knoppix are perhaps better suited for this). I plan on testing one of these today or tomorrow, to see how they perform on certain hardware.\n","date":"July 1, 2006","externalUrl":null,"permalink":"/2006/07/kubuntu-dapper-arrived/","section":"Posts","summary":"305\nYesterday when I went at work I found an envelope coming from Canonical. Inside, there were the five Kubuntu 6.06 “Dapper Drake” LTS CDs I ordered from Shipit. Those are Live CDs that will run Kubuntu without any needs for installing (though I’d have preferred real install CDs).\n307\nI will probably try to hand out a few of those: there are already a few people using Linux where I work. Also, one or two will be useful to keep as install discs and to perform maintenance (though systems such as Knoppix are perhaps better suited for this). I plan on testing one of these today or tomorrow, to see how they perform on certain hardware.\n","title":"Kubuntu Dapper arrived","type":"post"},{"content":"I like to tinker with images. I\u0026rsquo;ve been doing this since I first started doing amateur web design, back in 1996. At first it was to create images for my own web pages (Sailormoon, ADG) but nowadays it\u0026rsquo;s like a hobby I do when I have free time. It can be fun.\nAnd now I present the latest adjustment I made, extracting one of the characters of Magical Canan (character designer Poyoyon Rock; the series sucks, but the art doesn\u0026rsquo;t):\n299\nThe original image had another girl and the annoying cute sidekick over the girl\u0026rsquo;s right leg. You can use this image in any way you want, and if you request it in comment I can give you the full resolution PNG (around 6Mb) or the PSD file (30 Mb).\nI know there may be a lot of problems with my work, since I\u0026rsquo;m self taught and I don\u0026rsquo;t practice this often (it\u0026rsquo;s time consuming). However, this is not Minitokyo, where people are flamed if they don\u0026rsquo;t post grade A pictures: it\u0026rsquo;s merely my own page. As such, please bear with the (many) errors.\nAlso, I\u0026rsquo;ve found another edit I did back in the days and I uploaded it too, this time it\u0026rsquo;s Luna from Chojuushin Gravion:\n302\nIt\u0026rsquo;s a transparent PNG, so it doesn\u0026rsquo;t display properly in Internet Explorer: though luck folks, go to Microsoft and complain about releasing a standards-compliant browser.\nI\u0026rsquo;ll be probably posting more images in the near future.\n","date":"June 25, 2006","externalUrl":null,"permalink":"/2006/06/image-editing/","section":"Posts","summary":"I like to tinker with images. I’ve been doing this since I first started doing amateur web design, back in 1996. At first it was to create images for my own web pages (Sailormoon, ADG) but nowadays it’s like a hobby I do when I have free time. It can be fun.\n","title":"Image editing","type":"post"},{"content":"Over the course of three days, Heaven\u0026rsquo;s Inferno has imploded. This all started between disagreements in the leading council, mostly due to immobilism on one of the parts, Grummish. This person had a good and noble attitude towards helping and people behavior, but sadly \u0026ldquo;real game\u0026rdquo; scenario proved to be rather different. People that are 30+ act like children, even, which is rather saddening.\nAnyway, in the end the same person made a long rant after Dynamis-Beaucedine (I wasn\u0026rsquo;t there, as it was during night time), that caused, like with my previous linkshell Inferno, a huge hemorrage of members. When one of the leaders acts like leaving, most of the members move like sheep. Flames also erupted in the forums. There was still a certain number of people inside, however one of the former sack holders went in and started mass kicking them out - probably to have them leave regardless if they wanted it or not.\nAs it stands now, there are just 3 people or less in Heaven\u0026rsquo;s Inferno. All of this was caused by the so called endgame that made people behave quite bad, a combination of arrogance, greed, childishness and plain old stupidity. I\u0026rsquo;ll be shutting down the site next week: funny how people said that I wasn\u0026rsquo;t doing anything while I paid the bills and spent the time to make it running\u0026hellip;\nIn the end I care little. I saved this linkshell from breaking three times since Inferno, there won\u0026rsquo;t be a fourth. I have another pearl for a social linkshell, where hopefully this stupid issues will arise less, if they ever will.\n","date":"June 25, 2006","externalUrl":null,"permalink":"/2006/06/implosion/","section":"Posts","summary":"Over the course of three days, Heaven’s Inferno has imploded. This all started between disagreements in the leading council, mostly due to immobilism on one of the parts, Grummish. This person had a good and noble attitude towards helping and people behavior, but sadly “real game” scenario proved to be rather different. People that are 30+ act like children, even, which is rather saddening.\nAnyway, in the end the same person made a long rant after Dynamis-Beaucedine (I wasn’t there, as it was during night time), that caused, like with my previous linkshell Inferno, a huge hemorrage of members. When one of the leaders acts like leaving, most of the members move like sheep. Flames also erupted in the forums. There was still a certain number of people inside, however one of the former sack holders went in and started mass kicking them out - probably to have them leave regardless if they wanted it or not.\n","title":"Implosion","type":"post"},{"content":"I got upgrade hardin (my laptop)\u0026rsquo;s memory at least, bringing it to 1Gb, at last. However I had two 256 Mb modules installed, that means I had to buy two 512 Mb ones. Oh well, I\u0026rsquo;ll just try to sell those ones. Everything seems snappier now, and even Firefox seems not to clog the CPU when loading pages (I need to experiment more, since I have no clue why that should have changed).\nOn other things, I\u0026rsquo;m still very busy. The PhD classes aren\u0026rsquo;t over yet (one more week) and I need to do more work on the paper still, only halfway done (plus the revision, which will take a long time). I also need to read a lot of papers and work on other projects, I\u0026rsquo;m not sure when I\u0026rsquo;ll manage fo finish\u0026hellip;\nOn an ending note, i finished watching Fate/stay night. Such a good series, such an awful ending, which is also sad. I wish the anime would have drifted from that, but I guess it had to be like that, bah.\n","date":"June 20, 2006","externalUrl":null,"permalink":"/2006/06/upgrade/","section":"Posts","summary":"I got upgrade hardin (my laptop)’s memory at least, bringing it to 1Gb, at last. However I had two 256 Mb modules installed, that means I had to buy two 512 Mb ones. Oh well, I’ll just try to sell those ones. Everything seems snappier now, and even Firefox seems not to clog the CPU when loading pages (I need to experiment more, since I have no clue why that should have changed).\n","title":"Upgrade","type":"post"},{"content":"I haven\u0026rsquo;t been writing a lot here mostly because of the rather hectic work schedule I\u0026rsquo;m having. We\u0026rsquo;re nearing the completion phase of a paper that includes quite a bit of my work (and also a lot of other people\u0026rsquo;s contributions), and I\u0026rsquo;m also swamped with PhD classes (two weeks to go). Also, one of my bosses has assigned me another project which I\u0026rsquo;ve yet to tackle, and I got to help my colleague with a poster as well.\nIn short, I\u0026rsquo;ve been extremely busy and with little will to stay at the computer and write. However yesterday when I was going back home I got an interesting idea for S.T.E.A.L. to replace the latest junction (which I\u0026rsquo;m not very satisfied with). I hope to get some will to work on it soon.\n","date":"June 17, 2006","externalUrl":null,"permalink":"/2006/06/busy-busy-busy/","section":"Posts","summary":"I haven’t been writing a lot here mostly because of the rather hectic work schedule I’m having. We’re nearing the completion phase of a paper that includes quite a bit of my work (and also a lot of other people’s contributions), and I’m also swamped with PhD classes (two weeks to go). Also, one of my bosses has assigned me another project which I’ve yet to tackle, and I got to help my colleague with a poster as well.\n","title":"Busy busy busy!","type":"post"},{"content":"As the terrace in my house has been finally completed after almost a year, I\u0026rsquo;m writing from there. While I\u0026rsquo;m relaxing, I\u0026rsquo;ll write about two items I recently obtained through archonia.com. This time there wasn\u0026rsquo;t a misunderstanding like with the Tony Taka book I ordered (which the description didn\u0026rsquo;t claim it was an H book while instead it was), I\u0026rsquo;m quite satisfied by what I got.\nFirst of all there is Aoi Nanase\u0026rsquo;s \u0026ldquo;The Seven Colors of the Wind\u0026rdquo;:\n281\nIt is a great illustration book from this artist, mostly featuring illustrations related to novels where she does drawings for. Aoi Nanase is a great artist and this book really gives her some justice, since all the ilustrations are beautiful and in color. Definitely worth the wait (I ordered it in February and it arrived just now).\nThen, there is Kanan\u0026rsquo;s Galaxy Angel Beta manga:\n284\nNice drawings, but not too good story, which is mostly a filler.\nP.s.: I wrote this entry a week ago but I forgot to publish them when my notebook\u0026rsquo;s battery run out. Oops!\n","date":"June 16, 2006","externalUrl":null,"permalink":"/2006/06/books/","section":"Posts","summary":"As the terrace in my house has been finally completed after almost a year, I’m writing from there. While I’m relaxing, I’ll write about two items I recently obtained through archonia.com. This time there wasn’t a misunderstanding like with the Tony Taka book I ordered (which the description didn’t claim it was an H book while instead it was), I’m quite satisfied by what I got.\n","title":"Books","type":"post"},{"content":"Things aren\u0026rsquo;t going in well in Heaven\u0026rsquo;s Inferno. Not only people have been leaving, but also I\u0026rsquo;ve been subject to an intense crossfire, more from the leading committee than anyone else. I correct myself, only parts of the leading committee, who seem hell bent in making things unfair for everyone (and flaming with ridicolous arguments).\nAll of this just to get some items, people bitch and moan all the time about those, which is really lame, and childish. All I can say is to quote Asimov:\nAgainst stupidity, the gods themselves contend in vain?\n","date":"June 8, 2006","externalUrl":null,"permalink":"/2006/06/the-gods-themselves/","section":"Posts","summary":"Things aren’t going in well in Heaven’s Inferno. Not only people have been leaving, but also I’ve been subject to an intense crossfire, more from the leading committee than anyone else. I correct myself, only parts of the leading committee, who seem hell bent in making things unfair for everyone (and flaming with ridicolous arguments).\nAll of this just to get some items, people bitch and moan all the time about those, which is really lame, and childish. All I can say is to quote Asimov:\n","title":"The gods themselves","type":"post"},{"content":"This week has been absolutely exhausting. I\u0026rsquo;ve been having PhD classes (statistics, effective writing, and more statistics) almost every day (save tomorrow) and also heaps of work piled up. I\u0026rsquo;ve got new data to work on, and also I\u0026rsquo;ve been assigned to do something else along with my current bioinformatics work.\nI also need to get in touch with the Partek software representative to let him know what I think of their genomics software. In all honesty it\u0026rsquo;s quite nice, however it lacks the ability of apply Significance Analysis of Microarrays (SAM) which is essential for our work. It\u0026rsquo;s a shame, because both the gene expression module (very fast Robust Multichip Analysis - RMA - implementation) and the copy number variation module are good, but alone they won\u0026rsquo;t justify the price.\n","date":"June 8, 2006","externalUrl":null,"permalink":"/2006/06/classes-and-meetings/","section":"Posts","summary":"This week has been absolutely exhausting. I’ve been having PhD classes (statistics, effective writing, and more statistics) almost every day (save tomorrow) and also heaps of work piled up. I’ve got new data to work on, and also I’ve been assigned to do something else along with my current bioinformatics work.\nI also need to get in touch with the Partek software representative to let him know what I think of their genomics software. In all honesty it’s quite nice, however it lacks the ability of apply Significance Analysis of Microarrays (SAM) which is essential for our work. It’s a shame, because both the gene expression module (very fast Robust Multichip Analysis - RMA - implementation) and the copy number variation module are good, but alone they won’t justify the price.\n","title":"Classes and meetings","type":"post"},{"content":"Today I\u0026rsquo;ve been trying to set up suspend to RAM and suspend to disk (also known as hibernate) on my laptop using Kubuntu 6.06 LTS. Both tries failed miserably, sadly. The machine would suspend and also wake up, but I\u0026rsquo;d get only a garbled screen. This means that the video driver failed to wake up properly: this is the well known fglrx driver, the binary only driver that ATI made for Linux.\nEven without mentioning the extremely sloppy quality of ATI\u0026rsquo;s drivers in general (both Windows and Linux), this shows a fundamental problem with binary drivers, as many have said. Without the source, I can\u0026rsquo;t fix/ask for help. I need to rely on the vendor input, which is quite scarce in this case. And if they decide to drop support, I\u0026rsquo;ll be screwed.\nI\u0026rsquo;m not thinking that everything should be open source, but having a parallel, open implementation of video drivers with clear, documented specs would be extremely helpful\u0026hellip; not to mention that competition would also help.\n","date":"June 3, 2006","externalUrl":null,"permalink":"/2006/06/the-problem-with-binary-only-drivers/","section":"Posts","summary":"Today I’ve been trying to set up suspend to RAM and suspend to disk (also known as hibernate) on my laptop using Kubuntu 6.06 LTS. Both tries failed miserably, sadly. The machine would suspend and also wake up, but I’d get only a garbled screen. This means that the video driver failed to wake up properly: this is the well known fglrx driver, the binary only driver that ATI made for Linux.\n","title":"The problem with binary only drivers","type":"post"},{"content":"Finally, the new version of Kubuntu 6.06 LTS (Long Term Support) is out! Not that I noticed many differences since I kept it constantly dist-upgraded since I put the beta on the desktop and the RC on the laptop. I really like it so far (save minor nags with 3D acceleration that I solved by issuing a couple of shell commands). Also, KDE 3.5.3 packages are already available from 3rd-party repositories. I will be upgrading them soon.\nI didn\u0026rsquo;t use the new live CD installer but from the screenshots it looks quite good. I\u0026rsquo;ll probably test it soon enough, since I ordered (for free) 5 Kubuntu CDs from Shipit, the free CD delivery services from Canonical.\nOn the FFXI related news, I did Dyamis-Xarcabard for the first time last Tuesday. The music is nice and a welcome change from the monotonous tone of the other areas. Unluckily no Paladin relic dropped (yet again\u0026hellip;. I hate when it\u0026rsquo;s so rare), and I ended up dying about five times because of the massive links that some pullls generated. Next Tuesday is Dynamis-San d\u0026rsquo;Oria, perhaps I can hope for the relic hands to drop\u0026hellip;\nSome screenshots:\n275278\n","date":"June 2, 2006","externalUrl":null,"permalink":"/2006/06/kubuntu-6.06-lts-/-dynamis-xarcabard/","section":"Posts","summary":"Finally, the new version of Kubuntu 6.06 LTS (Long Term Support) is out! Not that I noticed many differences since I kept it constantly dist-upgraded since I put the beta on the desktop and the RC on the laptop. I really like it so far (save minor nags with 3D acceleration that I solved by issuing a couple of shell commands). Also, KDE 3.5.3 packages are already available from 3rd-party repositories. I will be upgrading them soon.\n","title":"Kubuntu 6.06 LTS / Dynamis-Xarcabard","type":"post"},{"content":"Yesterday I updated my laptop to Kubuntu Dapper RC. Overall the (long) process was quite smooth save a couple of problems (the use of NetworkManager for exaple, that caused me headaches to make wireless work) including the fact that the ATI drivers were looking in the wrong location (/usr/X11/lib/modules/dri instead of /usr/lib/dri) so 3D acceleration wasn\u0026rsquo;t working.\nIt seems smooth so far, though I think the idea of NetworkManager needs polishing, as some services that are started before it connects will fail (such as autofs).\nI also moved my blog to a new hosting yesterday (I didn\u0026rsquo;t like the old one\u0026rsquo;s Terms of Service). However my ISP is terribly slow in updating the DNS records: actually the secondary server obtained the update, but not the primary\u0026hellip; since the installation was broken after the move to this server, I had to fumble around so I could fix it. I really like the new hosting so far, I\u0026rsquo;m also liking the fact that I can log in via SSH and use a shell - it simplifies a lot of maintenance operations.\nTo end this entry, in Heaven\u0026rsquo;s Inferno there is a huge debate over the readmission of a player. This person was rather rude, often played drunk and said bad thing to others because of that, and in general caused a lot of unnecessary grief. The readmission wasn\u0026rsquo;t publicly discussed so basically the linkshell is torn in two. So far most of the council wants to kick him out. His supporters are threatening to leave, but well, I do not care. I risk losing loyal members because of this person. I wouldn\u0026rsquo;t care even if 75% of the linkshell broke up\u0026hellip; I did already my fair share of fixing.\n","date":"May 28, 2006","externalUrl":null,"permalink":"/2006/05/dist-upgrade-fun-dns-drama/","section":"Posts","summary":"Yesterday I updated my laptop to Kubuntu Dapper RC. Overall the (long) process was quite smooth save a couple of problems (the use of NetworkManager for exaple, that caused me headaches to make wireless work) including the fact that the ATI drivers were looking in the wrong location (/usr/X11/lib/modules/dri instead of /usr/lib/dri) so 3D acceleration wasn’t working.\nIt seems smooth so far, though I think the idea of NetworkManager needs polishing, as some services that are started before it connects will fail (such as autofs).\n","title":"dist-upgrade fun, DNS, drama","type":"post"},{"content":"Today I obtained a trial license of a data analysis program. I plan on using it for the next two weeks to see if it could improve the analysis workflow in our laboratory. I noticed this software uses the Tk widget set to achieve cross-platform capability (in fact, it can run on Linux, which is a big plus for me). However, in my opinion, Tk widgets look rather ugly. I wonder why the company didn\u0026rsquo;t consider using Trolltech\u0026rsquo;s Qt widgets. Mind, I don\u0026rsquo;t have any ties with TT but I appreciate their toolkit (licensed either under the GNU GPL or a commercial license) in the KDE desktop environment.\nBut let\u0026rsquo;s get to the point of this entry. This software, but not only this one, has a rather unintuitive user interface (though not as bad as other products I\u0026rsquo;ve seen in my career). I see that a lot of software in the life sciences has rather poor UI design, up to being almost completely unusable. There is a lot of non commercial software released just for obtaining a publication, then completely unmantained. I wonder if the authors of such software want really to help the scientific community by releasing their work or they do so just to obtain one more paper in their curriculum vitae. Commercial software isn\u0026rsquo;t any better either. I\u0026rsquo;d expect at least commercial companies to follow HIG (Human Interface Guidelines) to produce usable UIs. Usabilty is kept in high regard in free and open source software. Why can\u0026rsquo;t companies listen? They surely have more resources. This is even more important considering that not all biologists are computer-savy, and can\u0026rsquo;t waste their time fighting with poor user interfaces.\n","date":"May 25, 2006","externalUrl":null,"permalink":"/2006/05/biological-software-and-hig/","section":"Posts","summary":"Today I obtained a trial license of a data analysis program. I plan on using it for the next two weeks to see if it could improve the analysis workflow in our laboratory. I noticed this software uses the Tk widget set to achieve cross-platform capability (in fact, it can run on Linux, which is a big plus for me). However, in my opinion, Tk widgets look rather ugly. I wonder why the company didn’t consider using Trolltech’s Qt widgets. Mind, I don’t have any ties with TT but I appreciate their toolkit (licensed either under the GNU GPL or a commercial license) in the KDE desktop environment.\n","title":"Biological software and HIG","type":"post"},{"content":"I\u0026rsquo;ve been spending a bit of my time last week to do several FFXI-related events. The most important are related to Assault, as me and my group (Eithin, Mercredi, Sechs and Billyism) managed to win all the level 1 Assaults, and therefore we got promoted to Private First Class (PFC), which sounds a little better than the lame Private Second Class. Here are also some random images from the new areas:\n272\nTwo days ago I got to fight Xololtl, a corse undead notorious monster that walks around Attohwa Chasm at night. Despite a terrible start (one of the white mages there got attacked before we were ready and we wiped big time), and some rather _unconventional _way of fighting (Xolotl summons two undead minions that weren\u0026rsquo;t dealt with properly) we managed to kill it (and I found out I can handle it well, despite all the Paladin-bashing talks that are so common recently). The Bandomusha Kote dropped, also: (image taken from Allakhazam but mirrored here - I don\u0026rsquo;t steal bandwidth)\n","date":"May 20, 2006","externalUrl":null,"permalink":"/2006/05/xolotl-xtrapolator/","section":"Posts","summary":"I’ve been spending a bit of my time last week to do several FFXI-related events. The most important are related to Assault, as me and my group (Eithin, Mercredi, Sechs and Billyism) managed to win all the level 1 Assaults, and therefore we got promoted to Private First Class (PFC), which sounds a little better than the lame Private Second Class. Here are also some random images from the new areas:\n","title":"Xolotl Xtrapolator","type":"post"},{"content":"Today I found out that my own ISP\u0026rsquo;s (Fastweb) mailserver got into a spam blacklist. I can understand how it happened, since Fastweb has a limited pool of public IPs and everything is behind a massive NAT. I checked the web page of the organization that blacklisted the IP and noticed they want you to pay a fine of $50 to get removed. I can understand that perhaps this is due to spammers being on a rampage around, but those guys just blacklisted an entire ISP\u0026rsquo;s mail server because they didn\u0026rsquo;t bother to check. And now you have to pay also to remove yourself? Bah.\nWhat\u0026rsquo;s worse is that my own ISP doesn\u0026rsquo;t care a lot about such issues. But that\u0026rsquo;s another matter entirely.\n","date":"May 20, 2006","externalUrl":null,"permalink":"/2006/05/antispam-or-inconvenience/","section":"Posts","summary":"Today I found out that my own ISP’s (Fastweb) mailserver got into a spam blacklist. I can understand how it happened, since Fastweb has a limited pool of public IPs and everything is behind a massive NAT. I checked the web page of the organization that blacklisted the IP and noticed they want you to pay a fine of $50 to get removed. I can understand that perhaps this is due to spammers being on a rampage around, but those guys just blacklisted an entire ISP’s mail server because they didn’t bother to check. And now you have to pay also to remove yourself? Bah.\n","title":"Antispam, or inconvenience?","type":"post"},{"content":"This has been a rather stressful period work-wise. Things are looking extremely confusing on the (upcoming) paper we need to write and even a small doubt can cause huge time losses (I spent the whole morning checking to see if my analysis was correct or not while in fact it was correct in the first place). I\u0026rsquo;ve been shown a new software for microarray analysis, well, at least some brochures. I\u0026rsquo;m going to inquire about pricing (the most important part) and platform availability (I\u0026rsquo;d love if it could run on Linux). I\u0026rsquo;ll also ask for a demonstration if possible.\nOn unrelated and useless news, I renewed my driving license. € 75 was surely a steep price\u0026hellip; thank goodness I need to do this only once every 10 years.\n","date":"May 17, 2006","externalUrl":null,"permalink":"/2006/05/stress/","section":"Posts","summary":"This has been a rather stressful period work-wise. Things are looking extremely confusing on the (upcoming) paper we need to write and even a small doubt can cause huge time losses (I spent the whole morning checking to see if my analysis was correct or not while in fact it was correct in the first place). I’ve been shown a new software for microarray analysis, well, at least some brochures. I’m going to inquire about pricing (the most important part) and platform availability (I’d love if it could run on Linux). I’ll also ask for a demonstration if possible.\n","title":"Stress","type":"post"},{"content":"Today I found out that a computer running Windows had been \u0026ldquo;self-writing\u0026rdquo; words when an Internet Explorer window was open. This obviously led to the conclusion that there was some kind of malware running. I immediately unplugged the network cable but the typing continued - this is a good sign meaning that it was just some random program doing it. It only affected IE, no other programs. I wonder how it got there, I can only suspect the current user, as I never do any network-based activity there, only analysis (and I run a much safer Linux box - no Windows for me).\nTomorrow I\u0026rsquo;ll have to clean it, as the antivirus obviously ignores it. Luckily I got some of the excellent tools provided from Mark Russinovich\u0026rsquo;s site so I already killed the suspected processes (a remote control application and what seems to be a worm).\nOn other news, the brightness on this monitor was really getting to me, but even when set at minimum it was still too high. Luckily NVIDIA provides an utility called nvidia-settings to handle color regulation and such. I compiled it from source (because the one bundled in Dapper wanted to uninstall nvidia-glx for some odd reason) and now I just put a small bash script running it in ~./kde/Autostart. I also need to put some more eye candy on the desktop but that will come later.\n","date":"May 8, 2006","externalUrl":null,"permalink":"/2006/05/security-breach/","section":"Posts","summary":"Today I found out that a computer running Windows had been “self-writing” words when an Internet Explorer window was open. This obviously led to the conclusion that there was some kind of malware running. I immediately unplugged the network cable but the typing continued - this is a good sign meaning that it was just some random program doing it. It only affected IE, no other programs. I wonder how it got there, I can only suspect the current user, as I never do any network-based activity there, only analysis (and I run a much safer Linux box - no Windows for me).\n","title":"Security breach","type":"post"},{"content":"This week has been quite busy at work. As I finally got the two lists of differentially expressed genes that I needed, I started my analysis work. Perhaps analysis is not quite appropriate, as what I to is mostly to annotate the genes (i.e. I try to find out everything about them, or certain features I need) and to see if the lists are \u0026ldquo;enriched\u0026rdquo; by a particular feature. From this I try to see if what I see has a biological relevance, or not. In practical terms this means I use a lot of web-based tools and some basic statstics to evaluate my work. A typical session on my computer is shown by this image.\n263\nI\u0026rsquo;ve been doing a lot of this, and also graphing my results (not without some difficulties, as Excel sucks and R is not really suited to do what I need to do - anyone knows of a good Linux-based program for histograms and other plots?). More to come next week, where things will probably get more hectic as we\u0026rsquo;re aiming to have a publication ready for submission by the end of June.\n","date":"May 5, 2006","externalUrl":null,"permalink":"/2006/05/continuous-analysis/","section":"Posts","summary":"This week has been quite busy at work. As I finally got the two lists of differentially expressed genes that I needed, I started my analysis work. Perhaps analysis is not quite appropriate, as what I to is mostly to annotate the genes (i.e. I try to find out everything about them, or certain features I need) and to see if the lists are “enriched” by a particular feature. From this I try to see if what I see has a biological relevance, or not. In practical terms this means I use a lot of web-based tools and some basic statstics to evaluate my work. A typical session on my computer is shown by this image.\n","title":"Continuous analysis","type":"post"},{"content":"I\u0026rsquo;ve been playing a bit with Ubuntu on two computers. On the laptop, I have managed to make the email led blink when I get new mail (thanks to a tip I found online involving the use of the acerhk driver). I still need to find a way to turn it off (actually I can turn it off, just not automatically after I finish reading my mails).\nOn the desktop i installed the beta of Kubuntu and I\u0026rsquo;ve been using it for a while. It\u0026rsquo;s quite stable, despite the occasional breakage here and there, though the real testing will be when I\u0026rsquo;ll install it on the laptop (but I\u0026rsquo;m waiting on the official stable release for that). A lot of hype is being put on Ubiquity, the new installer from liveCD. However I\u0026rsquo;d have preferred more work also on the install CD, since I prefer always to install from scratch (and to keep /home on a separate partition, this is something that in my opinon should be asked by default).\nHere is a snapshot of my current desktop there:\n257\n","date":"May 1, 2006","externalUrl":null,"permalink":"/2006/05/ubuntu-games/","section":"Posts","summary":"I’ve been playing a bit with Ubuntu on two computers. On the laptop, I have managed to make the email led blink when I get new mail (thanks to a tip I found online involving the use of the acerhk driver). I still need to find a way to turn it off (actually I can turn it off, just not automatically after I finish reading my mails).\n","title":"Ubuntu games","type":"post"},{"content":"Last Monday I got the new expansion pack for FFXI, namely Treasures of Aht Urghan. After installing (and going through the tedious update procedure), I\u0026rsquo;ve done some exploring. Some remarks:\nThe missions are either well hidden, or not particularly significant at this point: this in my opinion is a regression from Chains of Promathia, which had an extremely nice storyline;\nThe new areas are huge. Yesterday I\u0026rsquo;ve done some exploring in the Arrapago Reef area with Sechs, Eithin and Mercredi and we took more than two hours to get to our destination (including one death, and several fights inbetween);\nThere are new jobs (Corsair and Puppetmaster). Aside everyone taking them now, I\u0026rsquo;m not interested in either;\nAssault missions can be fun, but require you to get to the staging points around, and that is the longest part (some aren\u0026rsquo;t really easy to reach);\nBesieged (namely beastmen attacking the town) is fun, but the novelty effect actually impairs it. I mean, last time there were about 400 people while the beastmen horde was around 30. It was so lagged that people didn\u0026rsquo;t see the monsters, nor they saw them die.\nOverall, it\u0026rsquo;s fun, but not as challenging as Chains of Promathia, so far. I\u0026rsquo;ll have to see as I continue my exploration.\n","date":"April 30, 2006","externalUrl":null,"permalink":"/2006/04/treasures-of-aht-urghan/","section":"Posts","summary":"Last Monday I got the new expansion pack for FFXI, namely Treasures of Aht Urghan. After installing (and going through the tedious update procedure), I’ve done some exploring. Some remarks:\nThe missions are either well hidden, or not particularly significant at this point: this in my opinion is a regression from Chains of Promathia, which had an extremely nice storyline;\nThe new areas are huge. Yesterday I’ve done some exploring in the Arrapago Reef area with Sechs, Eithin and Mercredi and we took more than two hours to get to our destination (including one death, and several fights inbetween);\n","title":"Treasures of Aht Urghan","type":"post"},{"content":"I really can\u0026rsquo;t believe some people on the Internet act all rough when all you ask them is to be more polite when certain people are around.\nThe issue at stake happened in FFXI, when someone went out with a \u0026ldquo;C****t\u0026rdquo; curse because of something. Now, Both my brother and me don\u0026rsquo;t like those kind of things. All my brother did was asking politely to avoid saying such things in public when he was around, and he got flamed by a certain person (who shall remain nameless).\nThe issue was brought up again at a sackholder\u0026rsquo;s meeting yesterday (the person was missing) but no one raised particular concerns in being a little respectful when we were around regarding those things (note: anyone could have said anything when people not offended by this hadn\u0026rsquo;t been around). Then, on the forum discussing the meeting minutes this person raises hell, claiming censorship.\nI\u0026rsquo;m not very fond of a certain North American way of thinking and this person represents it very well: prideful and self-righteous. In any case, there were other and more urgent matters to discuss of rather than bitching (excuse the term) for something that would require 0.01 seconds of thinking. I\u0026rsquo;m really amazed that a person could get so upset when asked for a little more respect towards the others. Certain Americans should learn they aren\u0026rsquo;t the only beings on this planet.\n","date":"April 24, 2006","externalUrl":null,"permalink":"/2006/04/cursing/","section":"Posts","summary":"I really can’t believe some people on the Internet act all rough when all you ask them is to be more polite when certain people are around.\nThe issue at stake happened in FFXI, when someone went out with a “C****t” curse because of something. Now, Both my brother and me don’t like those kind of things. All my brother did was asking politely to avoid saying such things in public when he was around, and he got flamed by a certain person (who shall remain nameless).\n","title":"Cursing","type":"post"},{"content":"The main reason my posts here are so scarce recently it\u0026rsquo;s because of that. Shortly after the Easter outdoor trip I did, I got fever for the rest of the week (and some kickback yesterday since I was foolish enough to go to work), and it was impossible for me to stay in front of a screen for a long time. Luckily there are more holidays on sight so I think I can recover fast.\n","date":"April 22, 2006","externalUrl":null,"permalink":"/2006/04/sickness/","section":"Posts","summary":"The main reason my posts here are so scarce recently it’s because of that. Shortly after the Easter outdoor trip I did, I got fever for the rest of the week (and some kickback yesterday since I was foolish enough to go to work), and it was impossible for me to stay in front of a screen for a long time. Luckily there are more holidays on sight so I think I can recover fast.\n","title":"Sickness","type":"post"},{"content":"Today one of our desktops won\u0026rsquo;t turn on at all. I didn\u0026rsquo;t even see the POST lights turning on (this is a Dell computer), so I assume that the PSU is dead. I\u0026rsquo;d have already called for support but since the box has been bought in the USA (part of a bundle of our GeneChip systems) I had to request a warranty transfer (notice that I don\u0026rsquo;t even know if there\u0026rsquo;s still a warranty!). I\u0026rsquo;ll probably call support tomorrow.\nThis has the unwanted side effect of slowing down my analysis work, since the workstation that \u0026ldquo;died\u0026rdquo; was used by a person who now is using my analysis station (which is not my work computer, by the way).\n","date":"April 10, 2006","externalUrl":null,"permalink":"/2006/04/outage/","section":"Posts","summary":"Today one of our desktops won’t turn on at all. I didn’t even see the POST lights turning on (this is a Dell computer), so I assume that the PSU is dead. I’d have already called for support but since the box has been bought in the USA (part of a bundle of our GeneChip systems) I had to request a warranty transfer (notice that I don’t even know if there’s still a warranty!). I’ll probably call support tomorrow.\n","title":"Outage","type":"post"},{"content":"That (which represent a person kneeling in dejection) is my thought after last night\u0026rsquo;s Final Fantasy XI run. I assembled a group to take on PM8-5, the last mission so far, and I was pretty confident we could win without too many problems.\nWell, I was wrong. The battle involves two enemies, who I had already seen in Zilart Missions 8 and 16. One likes to spam magic, the other has extremely annoying abilities. Getting the first one (the magic user) down is not too hard, although if his magic is not stunned the damage is pretty high. However, every time we managed to defeat this, people started dying very fast with the other. Some moves can actually one-shot people (me included).\nWe\u0026rsquo;re retrying this Wednesday, and this time I\u0026rsquo;ll be doing it with my original group (one of us wasn\u0026rsquo;t there thanks to a power outage). I really want some revenge!\n","date":"April 10, 2006","externalUrl":null,"permalink":"/2006/04/orz/","section":"Posts","summary":"That (which represent a person kneeling in dejection) is my thought after last night’s Final Fantasy XI run. I assembled a group to take on PM8-5, the last mission so far, and I was pretty confident we could win without too many problems.\nWell, I was wrong. The battle involves two enemies, who I had already seen in Zilart Missions 8 and 16. One likes to spam magic, the other has extremely annoying abilities. Getting the first one (the magic user) down is not too hard, although if his magic is not stunned the damage is pretty high. However, every time we managed to defeat this, people started dying very fast with the other. Some moves can actually one-shot people (me included).\n","title":"Orz!","type":"post"},{"content":"Finally, we have windows in the office. Before that it was just a room with walls, and it looked a little claustrophobic. It took a good deal of time (4 months) to get these works done, but I think the result is worth it. At least the whole room looks a little more human, now.\nI will be spending tomorrow\u0026rsquo;s work day analyzing data with an extremely bad piece of software, at least design-wise (the algorithm used inside it\u0026rsquo;s very solid, instead). It means that I\u0026rsquo;ll have to move around tons and tons of text files, take images and then compile spreadsheets (I wonder why all the reports in our laboratory are Excel-based\u0026hellip; I\u0026rsquo;d much prefer tab delimited formats).\nOn the Final Fantasy XI front, finally I managed to get Sechs past ZM16. This means we can start the quests that will lead us to the final (for now) battle in the Empyreal Paradox. Finally, it\u0026rsquo;s the time!\n","date":"April 6, 2006","externalUrl":null,"permalink":"/2006/04/windows-and-missions/","section":"Posts","summary":"Finally, we have windows in the office. Before that it was just a room with walls, and it looked a little claustrophobic. It took a good deal of time (4 months) to get these works done, but I think the result is worth it. At least the whole room looks a little more human, now.\nI will be spending tomorrow’s work day analyzing data with an extremely bad piece of software, at least design-wise (the algorithm used inside it’s very solid, instead). It means that I’ll have to move around tons and tons of text files, take images and then compile spreadsheets (I wonder why all the reports in our laboratory are Excel-based… I’d much prefer tab delimited formats).\n","title":"Windows and Missions","type":"post"},{"content":"I\u0026rsquo;ve upgraded the theme (now it uses a non-hacked version of Regulus), the image gallery with the new Gallery v2.1, and also the new WPG 2.0. Everything should work smoothly, according to the tests I made. Also, I added a direct link to the gallery, now that I found out how to do it properly.\n","date":"April 1, 2006","externalUrl":null,"permalink":"/2006/04/upgrades/","section":"Posts","summary":"I’ve upgraded the theme (now it uses a non-hacked version of Regulus), the image gallery with the new Gallery v2.1, and also the new WPG 2.0. Everything should work smoothly, according to the tests I made. Also, I added a direct link to the gallery, now that I found out how to do it properly.\n","title":"Upgrades","type":"post"},{"content":"I haven\u0026rsquo;t been writing on this blog as much as I wanted, partly because of tiredness, partly because of my always-present tiredness.\nToday I delivered the receipts from the Bertinoro school and also from Trieste: I hope I get a refund fairly quickly (although usually \u0026ldquo;fairly quickly\u0026rdquo; means around 3-4 months if I\u0026rsquo;m lucky). Also, these days I\u0026rsquo;m working on the DNAcopy package from Bioconductor (a series of add-on packages for R) to see if I can use the data from Affymetrix\u0026rsquo;s Chromosome Copy Number Analysis Tool to get a genome-wide view on copy number aberrations (CNAT only permits you to see one chromosome at a time). It\u0026rsquo;s quite heavy on computational resources, and for no reason quant (my work machine) reboots after a while, so I had to run it on another computer.\nOn the Final Fantasy Front, I\u0026rsquo;m preparing to help my friend Sechs to do the Zilart Missions 14 and 16. This will finally enable me to get my group and complete the Chain of Promathia Mission 8-5, the last one (at last!).\n","date":"March 30, 2006","externalUrl":null,"permalink":"/2006/03/mixed-entry-yet-again/","section":"Posts","summary":"I haven’t been writing on this blog as much as I wanted, partly because of tiredness, partly because of my always-present tiredness.\nToday I delivered the receipts from the Bertinoro school and also from Trieste: I hope I get a refund fairly quickly (although usually “fairly quickly” means around 3-4 months if I’m lucky). Also, these days I’m working on the DNAcopy package from Bioconductor (a series of add-on packages for R) to see if I can use the data from Affymetrix’s Chromosome Copy Number Analysis Tool to get a genome-wide view on copy number aberrations (CNAT only permits you to see one chromosome at a time). It’s quite heavy on computational resources, and for no reason quant (my work machine) reboots after a while, so I had to run it on another computer.\n","title":"Mixed entry (yet again)","type":"post"},{"content":"Talks, talks, talks. That\u0026rsquo;s all about this day. Some were also extremely difficult to understand, and I\u0026rsquo;m not sure I took good notes. Talks went on from 8.30 to 18.00 (excluding lunch break) and then a workshop until 19.30. I\u0026rsquo;m really beat. I retired to my room while the others wanted to play karaoke, but I was too tired.\nTomorrow is the last day, thank goodness! I\u0026rsquo;m tired of waking up at 6.45.\n","date":"March 22, 2006","externalUrl":null,"permalink":"/2006/03/bertinoro-day-4/","section":"Posts","summary":"Talks, talks, talks. That’s all about this day. Some were also extremely difficult to understand, and I’m not sure I took good notes. Talks went on from 8.30 to 18.00 (excluding lunch break) and then a workshop until 19.30. I’m really beat. I retired to my room while the others wanted to play karaoke, but I was too tired.\nTomorrow is the last day, thank goodness! I’m tired of waking up at 6.45.\n","title":"Bertinoro - Day 4","type":"post"},{"content":"I just came home and I\u0026rsquo;m terribly tired, so I\u0026rsquo;ll be rather brief. This morning we had four lectures, including two interesting ones on protein structure prediction, though one speaker was too fast and I almost couldn\u0026rsquo;t take notes.\nThen we went in the afternoon to Ravenna. I took some pictures during the sightseeing and I\u0026rsquo;ll post them when I get home. We visited the \u0026ldquo;Mausoleo of Teodorico\u0026rdquo;, the \u0026ldquo;Basilica di S.Apollinare in Classe\u0026rdquo; and the Arian Baptistery. Then we had an hour of free roaming (couldn\u0026rsquo;t see much) and then came back to our bus. Getting back to the rooms was a pain, thanks to an extremely steep slope. I was dead tired, and so were the others, but we managed to go to a nice pizzeria near our place. Extremely nice food, and I didn\u0026rsquo;t get to pay anything. It was also a great fun.\nNow I\u0026rsquo;m going to hit the bed, as tomorrow there\u0026rsquo;s another wake-up call at 6.45\u0026hellip;\n","date":"March 21, 2006","externalUrl":null,"permalink":"/2006/03/bertinoro-day-3/","section":"Posts","summary":"I just came home and I’m terribly tired, so I’ll be rather brief. This morning we had four lectures, including two interesting ones on protein structure prediction, though one speaker was too fast and I almost couldn’t take notes.\nThen we went in the afternoon to Ravenna. I took some pictures during the sightseeing and I’ll post them when I get home. We visited the “Mausoleo of Teodorico”, the “Basilica di S.Apollinare in Classe” and the Arian Baptistery. Then we had an hour of free roaming (couldn’t see much) and then came back to our bus. Getting back to the rooms was a pain, thanks to an extremely steep slope. I was dead tired, and so were the others, but we managed to go to a nice pizzeria near our place. Extremely nice food, and I didn’t get to pay anything. It was also a great fun.\n","title":"Bertinoro - Day 3","type":"post"},{"content":"Today was much more tiring than yesterday. It was a full day with courses, and especially the ones in the afternoon were rather heavy on the subjects. First of all there were some talks on networks and promoter site prediction (I liked a lot the second one) , followed by some talks on microarray data analysis (I knew a bit already of this stuff). The afternoon talks featured more statistics for bioinformatics (ugghhhh) followed by a nearly non-understandable talk that lasted for almost two hours and really drained the life out of me.\nThe day ended with a tutorial on R. Nice language, I\u0026rsquo;ll experiment more once I\u0026rsquo;m at home. I had dinner, but I\u0026rsquo;m too tired to do something now, I\u0026rsquo;ll go to bed soon and have a read.\n","date":"March 20, 2006","externalUrl":null,"permalink":"/2006/03/bertinoro-day-2/","section":"Posts","summary":"Today was much more tiring than yesterday. It was a full day with courses, and especially the ones in the afternoon were rather heavy on the subjects. First of all there were some talks on networks and promoter site prediction (I liked a lot the second one) , followed by some talks on microarray data analysis (I knew a bit already of this stuff). The afternoon talks featured more statistics for bioinformatics (ugghhhh) followed by a nearly non-understandable talk that lasted for almost two hours and really drained the life out of me.\n","title":"Bertinoro - Day 2","type":"post"},{"content":"Finally I got hold of a stable Internet connection so I can post about my experience in Bertinoro di Romagna so far.\nI took the train yesterday at 17.00 and I arrived in Bologna at 18.42, on time (that is rare for Trenitalia). There I found the EGF people and some of the course members, and we took a small van to Bertinoro. It\u0026rsquo;s far from Bologna, much more than I imagined: the whole trip took about one hour. Then we got assigned to our rooms, and given a keycard. This opens all doors of the university center (save the main door for me, and I don\u0026rsquo;t know why) and my own room. I\u0026rsquo;m sharing it with a nice guy from Cameroon that\u0026rsquo;s studying in the Netherlands.\nDinner was a buffet of cold stuff (I just got some fruid and a piece of cake) and I talked a bit with also two other Italian girls (one is studying in my same PhD program). I was terribly tired, so then I just went to my room (but I spent a while trying to make the wireless connection work).\nI woke up at 6.30 - ick - and had breakfast around 7.30 in the dining hall of the Center. Then, I moved towards the Rook where the courses would have taken place. There were immediately some difficulties with a projector, so the starting lecture was delayed by 30 minutes (and we had it in the computer room). We had overall five talks today the first were a general introduction followed by a still general talk on the applications and uses of sequence analysis, and a very hard to follow talk on gene prediction.\nWe then had lunch break in the Center\u0026rsquo;s main canteen (quite nice) then thirty minutes off before the next round of talks. I took the time to get a network cable here so I could use my laptop (that\u0026rsquo;s where I\u0026rsquo;m writing from now).\nThe afternoon talks were about protein-protein interaction, and a devastatingly long dissertation on statistical methods for bioinformatics. I came back an hour ago and I\u0026rsquo;m very tired. I have plans to go with the Italian people, my roommate and two of his colleagues somewhere to eat, I have a € 15 coupon to use for food in local restaurants.\nI took some photos, but they\u0026rsquo;ll have to wait until I come back. Overall, this looks interesting. I wonder how the next days willl be\u0026hellip;\n","date":"March 19, 2006","externalUrl":null,"permalink":"/2006/03/bertinoro-arrival-day-1/","section":"Posts","summary":"Finally I got hold of a stable Internet connection so I can post about my experience in Bertinoro di Romagna so far.\n","title":"Bertinoro - Arrival \u0026 Day 1","type":"post"},{"content":"I haven\u0026rsquo;t blogged in a while, mostly because I\u0026rsquo;m either doing something else, or when I want to, I find out I\u0026rsquo;m really tired (this and the past week have been very tiring for me). In any case, I\u0026rsquo;ll make a big, random entry.\nI\u0026rsquo;ll start saying that I\u0026rsquo;m amazed at how badly software can be written. In the life sciences field you see very clear examples. Horrible UIs and poor documentation mostly (while the algorithms and methods implemented are usually very solid). Our friends at Affymetrix have shown me again something like that. I was trying to combine the data from two different SNP arrays (since they complement each other) and the documentation was pointing in the exactly opposite direction of what I needed to do. Shame, that costed me an hour of tries.\nI\u0026rsquo;ll be departing for Bertinoro this Saturday, but I\u0026rsquo;ll be probably able to post things here, since I\u0026rsquo;ll have a wireless connection.\nOn the Final Fantasy XI front, I managed to coordinate 18 people and we took Bahamut down. Now all that\u0026rsquo;s left is the final mission, \u0026ldquo;The Last Verse\u0026rdquo;, then I can wait for Treasures of Aht Urghan to come out.\nOn a finishing note, I finished Grandia III a while ago. Good game system, but the difficulty is extremely unbalanced, and the story is down right awful.\n","date":"March 16, 2006","externalUrl":null,"permalink":"/2006/03/random-entry/","section":"Posts","summary":"I haven’t blogged in a while, mostly because I’m either doing something else, or when I want to, I find out I’m really tired (this and the past week have been very tiring for me). In any case, I’ll make a big, random entry.\nI’ll start saying that I’m amazed at how badly software can be written. In the life sciences field you see very clear examples. Horrible UIs and poor documentation mostly (while the algorithms and methods implemented are usually very solid). Our friends at Affymetrix have shown me again something like that. I was trying to combine the data from two different SNP arrays (since they complement each other) and the documentation was pointing in the exactly opposite direction of what I needed to do. Shame, that costed me an hour of tries.\n","title":"Random entry","type":"post"},{"content":"Finally I have some time to give an insight of what happened Tuesday and Friday, when I left for Trento to attend to the ITC-irst\u0026rsquo;s meeting called \u0026ldquo;Biobanks for functional genomics\u0026rdquo;. The trip was mostly uneventful, though we had to wait a lot once we arrived at the ITC-irst because we were way earlier than expected. I spent time talking to some people there, they work in an interesting field: applying computational methods to microarray expression data. I was the only one with a biological background there, the rest had degrees in mathemathics or physics.\nThe conference started with a very interesting talk by Chris Stoeckert from the University of Pennsylvania, a member of the MGED society. He is a funny and extremely smart person and I even managed to exchange opinions with him.\nAfter the talks we headed out to the hotel Villa Madruzzo where we had a very pleasant dinner (not to mention it was free!). We finished around midnight, I went to sleep but at 2 in the morning the fire alarm sounded. There was no fire, just the alarm, for some odd reason. The same happened at 7.\nAfter a nice breakfast, the 8-hour-long talk session started. Some were really too difficult for me, others were easier but overall it was an interesting session. Once we were done, someone brought us to the station, and then I got my train home.\nTiring experience, but definitely interesting.\n","date":"March 11, 2006","externalUrl":null,"permalink":"/2006/03/trento-march-7th-8th/","section":"Posts","summary":"Finally I have some time to give an insight of what happened Tuesday and Friday, when I left for Trento to attend to the ITC-irst’s meeting called “Biobanks for functional genomics”. The trip was mostly uneventful, though we had to wait a lot once we arrived at the ITC-irst because we were way earlier than expected. I spent time talking to some people there, they work in an interesting field: applying computational methods to microarray expression data. I was the only one with a biological background there, the rest had degrees in mathemathics or physics.\n","title":"Trento, March 7th-8th","type":"post"},{"content":"I\u0026rsquo;ve been migrating settings and files from the old router to the new one (check my brother\u0026rsquo;s blog to understand better what I\u0026rsquo;m talking about). I noticed the free space already dropped significantly, as you can see from this:\n[code]\nlb@hari:~$ df -h\nFilesystem Size Used Avail Use% Mounted on\n/dev/hda1 9,2G 859M 7,9G 10% /\ntmpfs 43M 0 43M 0% /dev/shm tmpfs 43M 13M 30M 30%\n/lib/modules/2.6.12-10-386/volatile\n/dev/hda6 83G 8,5G 70G 11% /home\n[/code]\nAlready 30 Gb gone\u0026hellip; I wonder how much will be remaining after I move all the data.\nI also managed to update the LDAP database with the old values and update authentication accordingly. In principle everything should work out of the box, but somehow I\u0026rsquo;m being skeptical\u0026hellip; (and code tags aren\u0026rsquo;t shown properly in the blog, I wonder why)\n","date":"March 5, 2006","externalUrl":null,"permalink":"/2006/03/migrating/","section":"Posts","summary":"I’ve been migrating settings and files from the old router to the new one (check my brother’s blog to understand better what I’m talking about). I noticed the free space already dropped significantly, as you can see from this:\n[code]\nlb@hari:~$ df -h\nFilesystem Size Used Avail Use% Mounted on\n/dev/hda1 9,2G 859M 7,9G 10% /\ntmpfs 43M 0 43M 0% /dev/shm tmpfs 43M 13M 30M 30%\n/lib/modules/2.6.12-10-386/volatile\n/dev/hda6 83G 8,5G 70G 11% /home\n","title":"Migrating","type":"post"},{"content":"I\u0026rsquo;m very happy to write that I got a second drawing from firekitty! I liked the first one but I like the second one better. Now I\u0026rsquo;m just waiting for too to show me the character designs he has made\u0026hellip; I hope he manages to scan them quickly as I\u0026rsquo;m rather anxious to see them\u0026hellip;\nFor now, enjoy the new unfinished sketch. I\u0026rsquo;ll probably try to write more of the novel this weekend.\nsteal/yumiko-2.jpg\n","date":"March 2, 2006","externalUrl":null,"permalink":"/2006/03/it-lives-part-2/","section":"Posts","summary":"I’m very happy to write that I got a second drawing from firekitty! I liked the first one but I like the second one better. Now I’m just waiting for too to show me the character designs he has made… I hope he manages to scan them quickly as I’m rather anxious to see them…\nFor now, enjoy the new unfinished sketch. I’ll probably try to write more of the novel this weekend.\n","title":"It lives! (part 2)","type":"post"},{"content":"After sorting out the bureaucracy, finally I was able to enroll for the 6th Course in Bioinformatics for Molecular Biologists that will take place in Bertinoro di Romagna in three weeks. I\u0026rsquo;m glad I was able to, the course program looks really interesting and perhaps I\u0026rsquo;ll be finally able to learn bioinformatics in the right way, since so far I\u0026rsquo;m entirely self-taught, and sadly, it shows.\nOn another topic, the ceiling is going to be fixed by tomorrow, I hope, so I\u0026rsquo;ll be able to get back to my old office at last.\n","date":"February 28, 2006","externalUrl":null,"permalink":"/2006/02/bertinoro-di-romagna/","section":"Posts","summary":"After sorting out the bureaucracy, finally I was able to enroll for the 6th Course in Bioinformatics for Molecular Biologists that will take place in Bertinoro di Romagna in three weeks. I’m glad I was able to, the course program looks really interesting and perhaps I’ll be finally able to learn bioinformatics in the right way, since so far I’m entirely self-taught, and sadly, it shows.\nOn another topic, the ceiling is going to be fixed by tomorrow, I hope, so I’ll be able to get back to my old office at last.\n","title":"Bertinoro di Romagna","type":"post"},{"content":"Yesterday something happened: while I was working in the office I heard a loud THUD. Then nothing happened. I kept on doing my work till the site manager arrived, asking us to go out of the room. The reason is that the steel cables that were keeping the ceiling up had loosened, and the whole ceiling bent downwards, which was very dangerous. We temporarily moved in an unfinished laboratory, and we\u0026rsquo;re still there until repairs are done (it will take a few days, I\u0026rsquo;m being told). Well, the CISI is supposed to be brand new, but then such things happen\u0026hellip; I guess as usual in the public sector, something didn\u0026rsquo;t go as planned\u0026hellip;\n","date":"February 21, 2006","externalUrl":null,"permalink":"/2006/02/ceiling/","section":"Posts","summary":"Yesterday something happened: while I was working in the office I heard a loud THUD. Then nothing happened. I kept on doing my work till the site manager arrived, asking us to go out of the room. The reason is that the steel cables that were keeping the ceiling up had loosened, and the whole ceiling bent downwards, which was very dangerous. We temporarily moved in an unfinished laboratory, and we’re still there until repairs are done (it will take a few days, I’m being told). Well, the CISI is supposed to be brand new, but then such things happen… I guess as usual in the public sector, something didn’t go as planned…\n","title":"Ceiling","type":"post"},{"content":"Earlier today I logged into FFXI to do my usual Tuesday Dynamis run with the United Dynamis linkshell. I was actually quite eager to do the run, since I missed two in a row because of lack of access to the specific areas. I was also hoping to see some relic armor drop at last. While many players want certain \u0026ldquo;endgame\u0026rdquo; items, I\u0026rsquo;m focused on the Paladin relic armor and weapons.\nThe run started at 19.45, when people started to gather in Bastok Mines. I don\u0026rsquo;t know how much later we started but it wasn\u0026rsquo;t that much with regards to the specified time. Things went smoothly immediately, as we started taking down Effigies and Vanguards without problems, and with very little deaths.\nAt first nothing dropped but currency (which only goes to the sponsors). Then some relic armor started to drop: some for Monks, Summoners, Dark Knights. Then a single valor coronet (Paladin relic armor, for the head) dropped. There were two Paladins there (me included) so we just cast lots. I won the lot by just 30 (189 vs 219) and finally I got one of my \u0026ldquo;endgame\u0026rdquo; items! Now I need four more pieces to make it complete.\nOf course Dynamis didn\u0026rsquo;t stop with that item. We went further and we even managed to get to the so called \u0026ldquo;Mega Boss\u0026rdquo; and defeat it. Not bad, considering that we were just 25 people (considered sub-optimal for Dynamis). I didn\u0026rsquo;t die a single time, which is good considering the loss in experience points (since I usually don\u0026rsquo;t do parties to get them back).\n","date":"February 21, 2006","externalUrl":null,"permalink":"/2006/02/valor-coronet-relic-armor-1/5/","section":"Posts","summary":"Earlier today I logged into FFXI to do my usual Tuesday Dynamis run with the United Dynamis linkshell. I was actually quite eager to do the run, since I missed two in a row because of lack of access to the specific areas. I was also hoping to see some relic armor drop at last. While many players want certain “endgame” items, I’m focused on the Paladin relic armor and weapons.\n","title":"Valor Coronet! Relic armor 1/5","type":"post"},{"content":"As today was almost completely uneventful (and kept on raining), I\u0026rsquo;m putting together an all-in-one entry. First of all I played more with the webcam on Linux. The exposure setting and some other gamma corrections can\u0026rsquo;t be really set in real-time yet, so it tends to get a little dark. Nevertheless I can get some decent results, here\u0026rsquo;s an example picture of my desk:\ngeneral/desktop.jpg\nI also tried to update my old Mandriva 2006.0 installation on the desktop (shown in the image) but I couldn\u0026rsquo;t get urpmi to update the unofficial KDE repository. Sadly I think those packages are too broken for my tastes, I should have used direct backports from the development version. I guess I\u0026rsquo;ll reinstall the new version over the old one as soon as I get the chance. As the sidebar shows, I got Grandia III a few days ago. I\u0026rsquo;m playing it and I like it so far, I just hope it isn\u0026rsquo;t too short (Wild ARMs 4 was a real disappointment in that sense) and that the story doesn\u0026rsquo;t suck. I\u0026rsquo;m putting Magna Carta on hold because the plot (and the game system) is terribly slow. Later today I have a KS30 run in FFXI, hoping to get some good items. I also have to watch Fate/stay night #7, I\u0026rsquo;ll do that tomorrow night.\n","date":"February 19, 2006","externalUrl":null,"permalink":"/2006/02/rain/","section":"Posts","summary":"As today was almost completely uneventful (and kept on raining), I’m putting together an all-in-one entry. First of all I played more with the webcam on Linux. The exposure setting and some other gamma corrections can’t be really set in real-time yet, so it tends to get a little dark. Nevertheless I can get some decent results, here’s an example picture of my desk:\ngeneral/desktop.jpg\nI also tried to update my old Mandriva 2006.0 installation on the desktop (shown in the image) but I couldn’t get urpmi to update the unofficial KDE repository. Sadly I think those packages are too broken for my tastes, I should have used direct backports from the development version. I guess I’ll reinstall the new version over the old one as soon as I get the chance. As the sidebar shows, I got Grandia III a few days ago. I’m playing it and I like it so far, I just hope it isn’t too short (Wild ARMs 4 was a real disappointment in that sense) and that the story doesn’t suck. I’m putting Magna Carta on hold because the plot (and the game system) is terribly slow. Later today I have a KS30 run in FFXI, hoping to get some good items. I also have to watch Fate/stay night #7, I’ll do that tomorrow night.\n","title":"Rain","type":"post"},{"content":"Yesterday I was feeling bad and had a mild fever, so I didn\u0026rsquo;t go to work. I took the chance of playing a bit in Final Fantasy XI. First, a bard in our linkshell needed some items for the opo-opo crown and so I and others tried to help him to get an item that drops off Sand Diggers in Quicksand Caves. We spent a good deal of time there, but we didn\u0026rsquo;t get any.\nAfter a while the bard disconnected and didn\u0026rsquo;t get back, so we just warped away. Later in the day, a few people were trying to get hyppogriph tailfeathers for PM4-2. They had no tank, so I took the place of my brother and joined them. These images show both events.\nffxi/img_0045.png\nffxi/img_0047.png\nIn the end we got 24 tailfeathers, enough to grant us 12 mistmelts for the upcoming battle. A group is doing it now as I type, the rest will do it Sunday. I hope everything goes smoothly and we get more people further ahead in the Chains of Promathia missions.\n","date":"February 17, 2006","externalUrl":null,"permalink":"/2006/02/opo-opos-and-hyppogriphs/","section":"Posts","summary":"Yesterday I was feeling bad and had a mild fever, so I didn’t go to work. I took the chance of playing a bit in Final Fantasy XI. First, a bard in our linkshell needed some items for the opo-opo crown and so I and others tried to help him to get an item that drops off Sand Diggers in Quicksand Caves. We spent a good deal of time there, but we didn’t get any.\n","title":"Opo-opos and Hyppogriphs","type":"post"},{"content":"I\u0026rsquo;ve watched Fate/stay night a couple of days ago and I can say I am quite enjoying this series. The development of the plot is going a little slow so I expect this anime to be 26 episodes long. My only disappointment is that despite Saber is one of the main characters, she hardly gets to do anything at all.\nBut let\u0026rsquo;s look in detail of what happens in this episode.\nanime/fate06_1.pnganime/fate06_2png.png\nFirst we see Shiro in trouble (though the small comical elements from the past episode are luckily gone) and then when he intentionally puts himself into trouble by trying to look for the person who tried to kill Rin (and hit his arm instead).\nanime/fate06_3.pnganime/fate06_4.png\nOf course the troublemaker is a Servant (Rider to be precise) and of course she tries to kill the incredibly stupid main character. He manages to survive somehow and gets home safely thanks to the help of Rin. The episode closes with a confrontation (a verbal one) between him and Archer.\nOverall, I liked the episode. I hope I can see more soon.\n","date":"February 15, 2006","externalUrl":null,"permalink":"/2006/02/fate/stay-night-%2306/","section":"Posts","summary":"I’ve watched Fate/stay night a couple of days ago and I can say I am quite enjoying this series. The development of the plot is going a little slow so I expect this anime to be 26 episodes long. My only disappointment is that despite Saber is one of the main characters, she hardly gets to do anything at all.\n","title":"Fate/stay night #06","type":"post"},{"content":"I\u0026rsquo;ve just upgraded my blog to WP 2.0.1. Aside a little problem with the gallery images (easily fixed) everything seems to run smooth for now. If you notice any glitches please post a comment and I\u0026rsquo;ll get it fixed.\n","date":"February 13, 2006","externalUrl":null,"permalink":"/2006/02/wordpress-2.0.1/","section":"Posts","summary":"I’ve just upgraded my blog to WP 2.0.1. Aside a little problem with the gallery images (easily fixed) everything seems to run smooth for now. If you notice any glitches please post a comment and I’ll get it fixed.\n","title":"Wordpress 2.0.1","type":"post"},{"content":"general/webcam_work.jpg\nI have this Trust Mini-Webcam WB-1200p since my younger brother gave it to me as a present for my last birthday. It\u0026rsquo;s a decent webcam, pity it has a CIF sensor and not a CCD one, but it\u0026rsquo;s still OK for daily use. Until now there wasn\u0026rsquo;t a decent Linux driver around, and so I was forced to boot into Windows (which I almost do not use now, save for Final Fantasy XI). Most of the few drivers around had little or no documentation, were binary-only, or looked completely unmantained. Then I took a look at spca5xx again. This driver was born to support the SPCA webcam chipsets (like Creative\u0026rsquo;s PC-CAM 600) but over the time it grew bigger and now supports a whole load of different cameras.\nUbuntu has an outdated version that doesn\u0026rsquo;t recognize my camera. I tried first downloading the most recent snapshot from the site, but it threw a bunch of errors after compiling (i.e. it wouldn\u0026rsquo;t run) I then decided to get the most recent Debian package and install it with module-assistant. And it worked! Finally I can use my webcam on Linux and avoid using Windows even more.\n","date":"February 12, 2006","externalUrl":null,"permalink":"/2006/02/webcam-on-linux-success/","section":"Posts","summary":"general/webcam_work.jpg\nI have this Trust Mini-Webcam WB-1200p since my younger brother gave it to me as a present for my last birthday. It’s a decent webcam, pity it has a CIF sensor and not a CCD one, but it’s still OK for daily use. Until now there wasn’t a decent Linux driver around, and so I was forced to boot into Windows (which I almost do not use now, save for Final Fantasy XI). Most of the few drivers around had little or no documentation, were binary-only, or looked completely unmantained. Then I took a look at spca5xx again. This driver was born to support the SPCA webcam chipsets (like Creative’s PC-CAM 600) but over the time it grew bigger and now supports a whole load of different cameras.\n","title":"Webcam on Linux, success!","type":"post"},{"content":"As the post says, I\u0026rsquo;ve uploaded a new snapshot of S.T.E.A.L., finally closing a part that had been open since last summer, and hopefully paving the way for the big things to come for the rest of chapter 4.\nAs usual, the most current version can be downloaded from the links on the sidebar.\n","date":"February 11, 2006","externalUrl":null,"permalink":"/2006/02/new-s.t.e.a.l.-snapshot/","section":"Posts","summary":"As the post says, I’ve uploaded a new snapshot of S.T.E.A.L., finally closing a part that had been open since last summer, and hopefully paving the way for the big things to come for the rest of chapter 4.\nAs usual, the most current version can be downloaded from the links on the sidebar.\n","title":"New S.T.E.A.L. snapshot","type":"post"},{"content":"Finally some news in the S.T.E.A.L. front! First of all one of the artists I asked confirmed his commitment (he\u0026rsquo;s first busy with higher-priority company commissions), and a second one just gave me a preliminary sketch here:\nsteal/yumiko.jpg\nI\u0026rsquo;m way happy to see that finally the characters are taking life from words to drawings!\n","date":"February 8, 2006","externalUrl":null,"permalink":"/2006/02/it-lives/","section":"Posts","summary":"Finally some news in the S.T.E.A.L. front! First of all one of the artists I asked confirmed his commitment (he’s first busy with higher-priority company commissions), and a second one just gave me a preliminary sketch here:\nsteal/yumiko.jpg\nI’m way happy to see that finally the characters are taking life from words to drawings!\n","title":"It lives!","type":"post"},{"content":"Not everything can be fun in the life of a scientist. For example, my work in the bioinformatics field of our laboratory makes me see a lot of annoying problems related to files, to be precise file formats. A lot of sofware in the biological sciences uses plain text files to export data to other programs (sometimes binary data, but that\u0026rsquo;s another matter). The problem comes when you have to use the output into another program. As a matter of fact, all kinds of programs use differently formatted text files, making a conversion or integration a pain. That is, unless you use some shell scripting (on Linux, obviously) to handle them. Today my editing window looked like this:\ngeneral/file-making.png\nWhere I was fixing by hand some text files. I should have used GNU sed and join earlier, as it would have saved loads of time, bah. With the changes (thanks, Raoul) the files made are almost perfect (one more tab than necessary but I\u0026rsquo;ll fix it tomorrow).\nAlso, I have to complete a couple of things for the paper we\u0026rsquo;re submitting, should be done tomorrow I hope.\n","date":"February 6, 2006","externalUrl":null,"permalink":"/2006/02/woes-of-a-scientist/","section":"Posts","summary":"Not everything can be fun in the life of a scientist. For example, my work in the bioinformatics field of our laboratory makes me see a lot of annoying problems related to files, to be precise file formats. A lot of sofware in the biological sciences uses plain text files to export data to other programs (sometimes binary data, but that’s another matter). The problem comes when you have to use the output into another program. As a matter of fact, all kinds of programs use differently formatted text files, making a conversion or integration a pain. That is, unless you use some shell scripting (on Linux, obviously) to handle them. Today my editing window looked like this:\n","title":"Woes of a scientist","type":"post"},{"content":"First of all, the strangest oddity ever. On Friday once at the laboratory I was contacted by an Affymetrix representative regarding this entry . She wanted to know why I wrote it and that it seemed that I \u0026ldquo;didn\u0026rsquo;t contact Affymetrix to see if the problem could be solved\u0026rdquo;. She wasn\u0026rsquo;t offended or anything (she will even get me in touch with someone from the software department), but nevertheless this is my blog and I\u0026rsquo;m entitled to my personal opinions. Hence, any IP from affymetrix com (and its European branch affymetrix.co.uk) is now banned from accessing this page.\nOn unrelated topics, my brother finished assembling his mini-ITX router/server today. No OS installed yet, but I found a nice Ubuntu Linux installation image to be run from an USB stick. I backed up things from the current server/router and once we have time we\u0026rsquo;ll try installing Ubuntu again.\nTonight online I have a Gration run with Heaven\u0026rsquo;s Inferno. That giant is really tough and I predict multiple deaths (just as we wiped embarassingly against Seiryu yesterday). I hope to finish before going to bed, so I can watch the latest episode of Fate/stay night (really nice series so far!).\n","date":"February 5, 2006","externalUrl":null,"permalink":"/2006/02/all-in-one-entry/","section":"Posts","summary":"First of all, the strangest oddity ever. On Friday once at the laboratory I was contacted by an Affymetrix representative regarding this entry . She wanted to know why I wrote it and that it seemed that I “didn’t contact Affymetrix to see if the problem could be solved”. She wasn’t offended or anything (she will even get me in touch with someone from the software department), but nevertheless this is my blog and I’m entitled to my personal opinions. Hence, any IP from affymetrix com (and its European branch affymetrix.co.uk) is now banned from accessing this page.\n","title":"All-in-one entry","type":"post"},{"content":"Finally I got my hands on something I\u0026rsquo;ve been wanting to get for a long time! Thanks to some of the folks in Heaven\u0026rsquo;s Inferno, I managed to assemble a party and get to Riverne - Site B#01, where the notorious monster Imdugud was. Assembling took a bit, but since no one is ever there (probably due to the level 50 cap?) it soon appeared after some hyppogriph kills. Things got a little rough during the fight (no referesher) but in the end we won. Vigieous, our thief, delivered the finishing blow: not sure if it\u0026rsquo;s myth or not, but I admit we were extremely lucky. Knightly Earring (my target) dropped, and also the Heavy Lance. Heavy Lance will go to one of our dragoons, I\u0026rsquo;ll inform the linkshell\u0026rsquo;s council soon.\nIn any case, finally I got one of MY endgame items. The rest are the Valor relic armor and/or the AF+1, much harder to get\u0026hellip;\nHere\u0026rsquo;s a picture of my group after the fight:\nffxi/img_0042.png\nAnd here\u0026rsquo;s the earring in all its glory:\nffxi/knightly.png\n","date":"February 1, 2006","externalUrl":null,"permalink":"/2006/02/knightly-earring/","section":"Posts","summary":"Finally I got my hands on something I’ve been wanting to get for a long time! Thanks to some of the folks in Heaven’s Inferno, I managed to assemble a party and get to Riverne - Site B#01, where the notorious monster Imdugud was. Assembling took a bit, but since no one is ever there (probably due to the level 50 cap?) it soon appeared after some hyppogriph kills. Things got a little rough during the fight (no referesher) but in the end we won. Vigieous, our thief, delivered the finishing blow: not sure if it’s myth or not, but I admit we were extremely lucky. Knightly Earring (my target) dropped, and also the Heavy Lance. Heavy Lance will go to one of our dragoons, I’ll inform the linkshell’s council soon.\n","title":"Knightly Earring ","type":"post"},{"content":"That was the only noteworthy event of today\u0026rsquo;s work. I arrived late (took 1 hour and 30 just to get there) and then during lunch break we moved again to the LITA to celebrate. We got a sort of necklace for her which she liked quite a lot, and we got time to have a toast and eat some cake. It took way more than I expected - I was back at the CISI at around 15. I managed to get more stuff done, and so I\u0026rsquo;m more or less on time with my work schedule.\nNo pictures of the event, no one took any.\n","date":"January 30, 2006","externalUrl":null,"permalink":"/2006/01/clarissas-birthday/","section":"Posts","summary":"That was the only noteworthy event of today’s work. I arrived late (took 1 hour and 30 just to get there) and then during lunch break we moved again to the LITA to celebrate. We got a sort of necklace for her which she liked quite a lot, and we got time to have a toast and eat some cake. It took way more than I expected - I was back at the CISI at around 15. I managed to get more stuff done, and so I’m more or less on time with my work schedule.\n","title":"Clarissa's birthday","type":"post"},{"content":"Work is progressing, although at slow rate. I\u0026rsquo;ve asked the person I wanted to commission the illustration work a sketch of one of the characters and at the same time I forwarded the descriptions of the various scenes. Estimated time frame is a month - which is reasonable for me. He said the sketch will be done by the end of the week: I\u0026rsquo;m waiting so I can see what kind of style he decided to suse and if I have some corrections to make.\nI admit I\u0026rsquo;m a little anxious to see something, the various failures in the past with finding someone to do the art that I will set my mind at rest only when I see something done.\n","date":"January 29, 2006","externalUrl":null,"permalink":"/2006/01/more-about-s.t.e.a.l./","section":"Posts","summary":"Work is progressing, although at slow rate. I’ve asked the person I wanted to commission the illustration work a sketch of one of the characters and at the same time I forwarded the descriptions of the various scenes. Estimated time frame is a month - which is reasonable for me. He said the sketch will be done by the end of the week: I’m waiting so I can see what kind of style he decided to suse and if I have some corrections to make.\n","title":"More about S.T.E.A.L.","type":"post"},{"content":"Today while working I got stuck in what probably is an intentional flaw of the software we\u0026rsquo;re using. When we scan Affymetrix\u0026rsquo;s GeneChips there are a number of files produced by the GeneChip Operating Software (GCOS in short) including raw acquisition images and various analyses. Now, a certain number of people need to use those data to work (including myself), but I don\u0026rsquo;t want people to fiddle on the scanner workstation unless they know what they\u0026rsquo;re doing. So I bought a network hard drive a week ago and I decided to sync the data from the workstation to the network drive. Affymetrix has a proprietary solution to access data in a centralized fashion, but it costs € 65,000, plus the MS SQL2000 Enterprise Edition license and not including the actual server machine! They also have a stand alone tool (Data Transfer Tool) but it doesn\u0026rsquo;t support unattended operations (obviously). I thought by copying over files and using one mode of operation of this software to transfer data to the other machines (some data are stored in a database, that\u0026rsquo;s why you can\u0026rsquo;t just copy the flles over).\nI was wrong because the software \u0026ldquo;detected\u0026rdquo; the type of files and refused to proceed further. I really wanted to put an unattended sync from the scanner to the network drive, but it\u0026rsquo;s impossible now. I need to manually make special archive files and then copy them over.\nPoor programming practice, or vested interests in selling the server class product?\n","date":"January 26, 2006","externalUrl":null,"permalink":"/2006/01/badly-written-software-or-policy/","section":"Posts","summary":"Today while working I got stuck in what probably is an intentional flaw of the software we’re using. When we scan Affymetrix’s GeneChips there are a number of files produced by the GeneChip Operating Software (GCOS in short) including raw acquisition images and various analyses. Now, a certain number of people need to use those data to work (including myself), but I don’t want people to fiddle on the scanner workstation unless they know what they’re doing. So I bought a network hard drive a week ago and I decided to sync the data from the workstation to the network drive. Affymetrix has a proprietary solution to access data in a centralized fashion, but it costs € 65,000, plus the MS SQL2000 Enterprise Edition license and not including the actual server machine! They also have a stand alone tool (Data Transfer Tool) but it doesn’t support unattended operations (obviously). I thought by copying over files and using one mode of operation of this software to transfer data to the other machines (some data are stored in a database, that’s why you can’t just copy the flles over).\n","title":"Badly written software, or policy?","type":"post"},{"content":"Well, it mostly seems that my cat has reached the end of its life. It\u0026rsquo;s being slowly consumed (apparently it\u0026rsquo;s not absorbing much of the food it eats) and it\u0026rsquo;s way too weak to keep on. Rather than seeing it dying of starvation, we asked the vet to end its life (on Friday, probably).\nIt\u0026rsquo;s odd\u0026hellip; I\u0026rsquo;ve seen a lot of animals die, many by my own hands (due to my past work - I\u0026rsquo;ve sworn never to do that again), but when it comes to my pet I can\u0026rsquo;t help being sad about it. I guess I grew attached to it, even if it was \u0026ldquo;just\u0026rdquo; a pet. Friday is going to be tough somehow on this aspect, everyone in the family is feeling sad to some extent. I hope I won\u0026rsquo;t see it in its last moments.\nUpdate: At 1.00 GMT+1, it passed away because of a respiratory crisis, even before the vet (called urgently on the phone) could come. I\u0026rsquo;ll just add its photo here\u0026hellip; taken years ago before this mess even started.\ngeneral/pucci 028.jpg\n","date":"January 25, 2006","externalUrl":null,"permalink":"/2006/01/of-life-and-pets/","section":"Posts","summary":"Well, it mostly seems that my cat has reached the end of its life. It’s being slowly consumed (apparently it’s not absorbing much of the food it eats) and it’s way too weak to keep on. Rather than seeing it dying of starvation, we asked the vet to end its life (on Friday, probably).\nIt’s odd… I’ve seen a lot of animals die, many by my own hands (due to my past work - I’ve sworn never to do that again), but when it comes to my pet I can’t help being sad about it. I guess I grew attached to it, even if it was “just” a pet. Friday is going to be tough somehow on this aspect, everyone in the family is feeling sad to some extent. I hope I won’t see it in its last moments.\n","title":"Of life and pets","type":"post"},{"content":"I finished it two days ago. It\u0026rsquo;s got to be the shortest RPG I\u0026rsquo;ve ever played: a week is definitely too little (and I played only in the evenings for a couple hours). The game system is good indeed, but the story sucks completely. I\u0026rsquo;ve rarely seen characters that are so badly developed, or not developed at all. It\u0026rsquo;s a shame because the game system is good.\nWild ARMs 3 had much better character development and was also longer. Oh well, let\u0026rsquo;s see what will happen with Wild ARMs - The Vth Vanguard\u0026hellip;\n","date":"January 25, 2006","externalUrl":null,"permalink":"/2006/01/the-end-of-wild-arms-4/","section":"Posts","summary":"I finished it two days ago. It’s got to be the shortest RPG I’ve ever played: a week is definitely too little (and I played only in the evenings for a couple hours). The game system is good indeed, but the story sucks completely. I’ve rarely seen characters that are so badly developed, or not developed at all. It’s a shame because the game system is good.\nWild ARMs 3 had much better character development and was also longer. Oh well, let’s see what will happen with Wild ARMs - The Vth Vanguard…\n","title":"The end of Wild ARMs 4","type":"post"},{"content":"I got this one last week. Now that I\u0026rsquo;ve been 20+ hours into it, I guess I\u0026rsquo;ll write down some impressions. First of all, I\u0026rsquo;m pleasantly surprised by the quality of the translation. XSeed has done a much better job than Agetec (who did Wild ARMs - Alter Code: F), and they preserved the voices and the opening song (even if redubbed).\nI like the game system, it\u0026rsquo;s fst enough and there are platform-like parts that help in breaking up the monotony of dungeon crawling and fighting. I\u0026rsquo;m not too impressed with the story, though. The characters are really 2D personality-wise - they don\u0026rsquo;t really have any depth and the plot seems hole-ridden so far.\nMore on this when I finish it.\n","date":"January 22, 2006","externalUrl":null,"permalink":"/2006/01/wild-arms-4/","section":"Posts","summary":"I got this one last week. Now that I’ve been 20+ hours into it, I guess I’ll write down some impressions. First of all, I’m pleasantly surprised by the quality of the translation. XSeed has done a much better job than Agetec (who did Wild ARMs - Alter Code: F), and they preserved the voices and the opening song (even if redubbed).\nI like the game system, it’s fst enough and there are platform-like parts that help in breaking up the monotony of dungeon crawling and fighting. I’m not too impressed with the story, though. The characters are really 2D personality-wise - they don’t really have any depth and the plot seems hole-ridden so far.\n","title":"Wild ARMs 4","type":"post"},{"content":"Now that the office is more or less in working order (if we exclude the lack of chairs) I thought I\u0026rsquo;d post something about it. I finally finished setting everything up (including the 250 Gb network drive) today, so I can finally resume my real work next week (that is, bioinformatic analysis). I plan on buying a cheap chair this weekend so I can get at least a place to sit: there are two chairs only for 6 stations.\nLast but not least, there are some pictures (taken with my cell phone, so the quality is low):\ngeneral/0118_124128.jpg An overview of the office.\ngeneral/0118_124105.jpgThe (still offline) AFFY2 workstation and my own computer, Quant.\ngeneral/0912_154843.jpgThe heart of the acquisition system, Affymetrix\u0026rsquo;s GeneChip Scanner (the box next to the computer) and the ATG-1 Dual Xeon acquisition station.\nI will post more later.\n","date":"January 20, 2006","externalUrl":null,"permalink":"/2006/01/office-take-2/","section":"Posts","summary":"Now that the office is more or less in working order (if we exclude the lack of chairs) I thought I’d post something about it. I finally finished setting everything up (including the 250 Gb network drive) today, so I can finally resume my real work next week (that is, bioinformatic analysis). I plan on buying a cheap chair this weekend so I can get at least a place to sit: there are two chairs only for 6 stations.\n","title":"Office, take 2","type":"post"},{"content":" I just got around to see the first two episodes of this anime, which is an animated version of TYPE-MOON\u0026rsquo;s H game (without the H aspects, luckily). So far I like it. Despite being from Studio DEEN, the animation quality is good (for now) and the story seems intriguing enough to keep on watching. Music is by Kenji Kawai and is also nice. Also, the opening theme (disillusion by Number 201) is quite catchy, and I\u0026rsquo;ll be looking forward to the single\u0026rsquo;s release (22th Jan).\n","date":"January 16, 2006","externalUrl":null,"permalink":"/2006/01/fate/stay-night/","section":"Posts","summary":" I just got around to see the first two episodes of this anime, which is an animated version of TYPE-MOON’s H game (without the H aspects, luckily). So far I like it. Despite being from Studio DEEN, the animation quality is good (for now) and the story seems intriguing enough to keep on watching. Music is by Kenji Kawai and is also nice. Also, the opening theme (disillusion by Number 201) is quite catchy, and I’ll be looking forward to the single’s release (22th Jan).\n","title":"Fate/stay night","type":"post"},{"content":"Finally today there was the (largely) anticipated move from the LITA to the CISI. I actually showed up at the CISI first, to do some research work, then after the lunch break I and a colleague went to the LITA to pack things up. We almost looked like robbers (and for sure got some funny looks from people as we moved to put things in the car): we had four computers, four monitors and keyboards, lots of cables, my notebooks, and more. It took an hour to pack things, and another 30 minutes to unpack them at the new location. That is, they\u0026rsquo;re in place but they\u0026rsquo;re not actually working - I\u0026rsquo;ll have to do that tomorrow (and I hope everything works).\n","date":"January 16, 2006","externalUrl":null,"permalink":"/2006/01/moved/","section":"Posts","summary":"Finally today there was the (largely) anticipated move from the LITA to the CISI. I actually showed up at the CISI first, to do some research work, then after the lunch break I and a colleague went to the LITA to pack things up. We almost looked like robbers (and for sure got some funny looks from people as we moved to put things in the car): we had four computers, four monitors and keyboards, lots of cables, my notebooks, and more. It took an hour to pack things, and another 30 minutes to unpack them at the new location. That is, they’re in place but they’re not actually working - I’ll have to do that tomorrow (and I hope everything works).\n","title":"Moved","type":"post"},{"content":"After about six months of inactivity, I finally got myself to write more (thanks also for WINE so I can use a dictionary on Linux), and this takes form of a new snapshot of the novel. Changes are mostly in the last part, and include some paragraphs adjusted and rewritten from scratch (I didn\u0026rsquo;t like them at all). Plans are to complete the next part of the chapter soon (more action packed). Completion level is 50%. You can find a link to the current snapshot in the sidebar.\n","date":"January 14, 2006","externalUrl":null,"permalink":"/2006/01/new-s.t.e.a.l.-snapshot/","section":"Posts","summary":"After about six months of inactivity, I finally got myself to write more (thanks also for WINE so I can use a dictionary on Linux), and this takes form of a new snapshot of the novel. Changes are mostly in the last part, and include some paragraphs adjusted and rewritten from scratch (I didn’t like them at all). Plans are to complete the next part of the chapter soon (more action packed). Completion level is 50%. You can find a link to the current snapshot in the sidebar.\n","title":"New S.T.E.A.L. snapshot","type":"post"},{"content":"I haven\u0026rsquo;t been able to write because I always end up extremely tired from work. Since I\u0026rsquo;m moving to the CISI next week, it looks like everyone needs me. I managed to study a bit, then I had to help a couple people with a protocol, then work on the firewall/router migration (we\u0026rsquo;re restructuring our Intranet once I move a few computers there) then help with a software, etc. And tomorrow looks the same. Guess I\u0026rsquo;ll have to bear with it.\n","date":"January 11, 2006","externalUrl":null,"permalink":"/2006/01/always-needed/","section":"Posts","summary":"I haven’t been able to write because I always end up extremely tired from work. Since I’m moving to the CISI next week, it looks like everyone needs me. I managed to study a bit, then I had to help a couple people with a protocol, then work on the firewall/router migration (we’re restructuring our Intranet once I move a few computers there) then help with a software, etc. And tomorrow looks the same. Guess I’ll have to bear with it.\n","title":"Always needed","type":"post"},{"content":"Today I thought I was going to move from my current location (LITA building, University of Milano ) to the new one, the CISI. However I didn\u0026rsquo;t think up that some stuff (including the arrival of 3 new people at our laboratory, Sarah, Guya and Alessandra) would have held me back. I won\u0026rsquo;t relocate till next Monday. In the mean time I spent the day testing out some procedures and creating a draft proposal for the new laboratory\u0026rsquo;s network structure, and getting the equipment to put that in place. I\u0026rsquo;ve had an overload of information and I\u0026rsquo;m really tired, for having just done my first day of work after the holidays. And it looks like I\u0026rsquo;ll be wanted by many people this week\u0026hellip;\nOn another note, I sent some more mails for the commission work. I hope to get some replies.\n","date":"January 9, 2006","externalUrl":null,"permalink":"/2006/01/moving-not-yet/","section":"Posts","summary":"Today I thought I was going to move from my current location (LITA building, University of Milano ) to the new one, the CISI. However I didn’t think up that some stuff (including the arrival of 3 new people at our laboratory, Sarah, Guya and Alessandra) would have held me back. I won’t relocate till next Monday. In the mean time I spent the day testing out some procedures and creating a draft proposal for the new laboratory’s network structure, and getting the equipment to put that in place. I’ve had an overload of information and I’m really tired, for having just done my first day of work after the holidays. And it looks like I’ll be wanted by many people this week…\n","title":"Moving? Not yet","type":"post"},{"content":"Yesterday I tried to run an electronic Italian-English dictionary I own. As I write my novel using LaTeX and I have an environment on Linux, I thought it would good to use WINE to read it. I was wrong. Wine has progressed immensely and the commercial offerings (for example CodeWeavers) are even capable of running Office in its latest incarnation: however they are totally useless in front of the extremely bad quality of those dictionaries (from a programming point of view). They only work in Windows because the underlying (crappy) environment can compensate for an equally crappy program. For now I\u0026rsquo;ll use an online dictionary I found. At least that only requires a browser.\n","date":"January 8, 2006","externalUrl":null,"permalink":"/2006/01/programming-quality/","section":"Posts","summary":"Yesterday I tried to run an electronic Italian-English dictionary I own. As I write my novel using LaTeX and I have an environment on Linux, I thought it would good to use WINE to read it. I was wrong. Wine has progressed immensely and the commercial offerings (for example CodeWeavers) are even capable of running Office in its latest incarnation: however they are totally useless in front of the extremely bad quality of those dictionaries (from a programming point of view). They only work in Windows because the underlying (crappy) environment can compensate for an equally crappy program. For now I’ll use an online dictionary I found. At least that only requires a browser.\n","title":"Programming quality","type":"post"},{"content":"Some things strike me as being really odd. Regarding the commission post I made: it\u0026rsquo;s not the first time I try doing this. After I realized that asking for free was not really going to help (because many people don\u0026rsquo;t have time, or the will to do such a project) I already tried in the past about offering money. And in the past I didn\u0026rsquo;t get any responses. Perhaps I chose the wrong channel of communication? I\u0026rsquo;m not sure. Perhaps people were too busy? A simple \u0026ldquo;no\u0026rdquo; would have been better. But I think it all boils down to the bad habits of people on the Internet. And having read around about Mark Shuttleworth (of Ubuntu fame) offering money to help the GIMP project and then being forced to withdraw it, perhaps I shouldn\u0026rsquo;t be so surprised. Nevertheless, I\u0026rsquo;ll keep on trying.\n","date":"January 7, 2006","externalUrl":null,"permalink":"/2006/01/money-oddities/","section":"Posts","summary":"Some things strike me as being really odd. Regarding the commission post I made: it’s not the first time I try doing this. After I realized that asking for free was not really going to help (because many people don’t have time, or the will to do such a project) I already tried in the past about offering money. And in the past I didn’t get any responses. Perhaps I chose the wrong channel of communication? I’m not sure. Perhaps people were too busy? A simple “no” would have been better. But I think it all boils down to the bad habits of people on the Internet. And having read around about Mark Shuttleworth (of Ubuntu fame) offering money to help the GIMP project and then being forced to withdraw it, perhaps I shouldn’t be so surprised. Nevertheless, I’ll keep on trying.\n","title":"Money oddities","type":"post"},{"content":"The few people who know me may have heard of one of my pet projects, S.T.E.A.L., whose draft PDF is available here. I\u0026rsquo;ve been trying for ages to get an illustrator to do some b/w art for it (a la Slayers), but always with bad results. I\u0026rsquo;ll be trying to commission it, now that I can afford it, let\u0026rsquo;s hope I can get some results done at least with money\u0026hellip;\n","date":"January 5, 2006","externalUrl":null,"permalink":"/2006/01/drawing-commissions/","section":"Posts","summary":"The few people who know me may have heard of one of my pet projects, S.T.E.A.L., whose draft PDF is available here. I’ve been trying for ages to get an illustrator to do some b/w art for it (a la Slayers), but always with bad results. I’ll be trying to commission it, now that I can afford it, let’s hope I can get some results done at least with money…\n","title":"Drawing commissions","type":"post"},{"content":"I\u0026rsquo;ve just wasted an expensive DVD+R dual layer thanks to some bugs in the burning program. My laptop could handle the burning fine (hopefully) but I couldn\u0026rsquo;t read the source DVD because of the crappy quality of the DVD reader inside (I had the same exact problem with my old laptop), and on my desktop (MDV 2006.0) k3b refuses to burn, and growisofs borks mid-way with a generic error, in any case the DVD is wasted, bah. Next time I\u0026rsquo;ll just move the ISO over to my laptop\u0026hellip;.\n","date":"January 5, 2006","externalUrl":null,"permalink":"/2006/01/dvd-burning/","section":"Posts","summary":"I’ve just wasted an expensive DVD+R dual layer thanks to some bugs in the burning program. My laptop could handle the burning fine (hopefully) but I couldn’t read the source DVD because of the crappy quality of the DVD reader inside (I had the same exact problem with my old laptop), and on my desktop (MDV 2006.0) k3b refuses to burn, and growisofs borks mid-way with a generic error, in any case the DVD is wasted, bah. Next time I’ll just move the ISO over to my laptop….\n","title":"DVD burning","type":"post"},{"content":"The two items in the title aren\u0026rsquo;t really related but they sum up today\u0026rsquo;s entry. My cat had to be visited by the vet, that diagnoesed renal insufficiency and strong dehydration. Something to be worry about, but it will be at lest kept under control soon. The second part of the entry deals with the fact that I\u0026rsquo;m trying to find a decent finance program that works under Linux (no thanks to any program on Windows, sorry): I tried KMyMoney but aside the fact that it doesn\u0026rsquo;t have any Italian template, it\u0026rsquo;s a little confusing. I\u0026rsquo;ll keep on looking for something similar that works under KDE.\n","date":"January 4, 2006","externalUrl":null,"permalink":"/2006/01/cats-and-finances/","section":"Posts","summary":"The two items in the title aren’t really related but they sum up today’s entry. My cat had to be visited by the vet, that diagnoesed renal insufficiency and strong dehydration. Something to be worry about, but it will be at lest kept under control soon. The second part of the entry deals with the fact that I’m trying to find a decent finance program that works under Linux (no thanks to any program on Windows, sorry): I tried KMyMoney but aside the fact that it doesn’t have any Italian template, it’s a little confusing. I’ll keep on looking for something similar that works under KDE.\n","title":"Cats and finances","type":"post"},{"content":"Recently my hosting service has been boasting service upgrades. However I didn\u0026rsquo;t see any changes in my control panel. So, I emailed them, and their reply was that it was valid only for customers signing up from November 9th (because they had set up new servers). However, I find it quite unfair, since I pay the same price as the people who will sign up, and get less.\nLooks like I\u0026rsquo;ll have to change hosting again in the future\u0026hellip;\n","date":"January 3, 2006","externalUrl":null,"permalink":"/2006/01/unfair-treatment/","section":"Posts","summary":"Recently my hosting service has been boasting service upgrades. However I didn’t see any changes in my control panel. So, I emailed them, and their reply was that it was valid only for customers signing up from November 9th (because they had set up new servers). However, I find it quite unfair, since I pay the same price as the people who will sign up, and get less.\nLooks like I’ll have to change hosting again in the future…\n","title":"Unfair treatment?","type":"post"},{"content":"I decided to get on FFXI this morning and I got \u0026ldquo;recruited\u0026rdquo; again for some Roc camping. Since I haven\u0026rsquo;t really helped with that thing recently, I decided to join the expedition. Luckily there was no competition, since people went either away or fell asleep (it was the heart of the night in the States, go figure). The nasty beast decided to appear only at the end of the window. It was a fast and rather plain fight, and no great rewards (crimson blade, vile elixir, reraiser) that even got lost because someone was too hasty in warping, bah. Next window will open tomorrow: not sure I will be there, though.\n","date":"January 2, 2006","externalUrl":null,"permalink":"/2006/01/roc-star...-yet-again/","section":"Posts","summary":"I decided to get on FFXI this morning and I got “recruited” again for some Roc camping. Since I haven’t really helped with that thing recently, I decided to join the expedition. Luckily there was no competition, since people went either away or fell asleep (it was the heart of the night in the States, go figure). The nasty beast decided to appear only at the end of the window. It was a fast and rather plain fight, and no great rewards (crimson blade, vile elixir, reraiser) that even got lost because someone was too hasty in warping, bah. Next window will open tomorrow: not sure I will be there, though.\n","title":"Roc Star... yet again","type":"post"},{"content":"And so it comes again. I personally didn\u0026rsquo;t want to celebrate, but I had some people over at home anyway. At least it was more or less calm. There were fireworks in the distance, and some landed up right in my terrace (no damage luckily). More or less, a decent night, though I still personally think that celebrations like that (with the exception being Carnival, which is worse) are more or less pointless. Well, mostly because I\u0026rsquo;ve seen some people even struggle to show that they would be celebrating.\nBut enough with the angry stuff. I wish a Happy New Year to whoever is reading this.\n","date":"January 1, 2006","externalUrl":null,"permalink":"/2006/01/new-year/","section":"Posts","summary":"And so it comes again. I personally didn’t want to celebrate, but I had some people over at home anyway. At least it was more or less calm. There were fireworks in the distance, and some landed up right in my terrace (no damage luckily). More or less, a decent night, though I still personally think that celebrations like that (with the exception being Carnival, which is worse) are more or less pointless. Well, mostly because I’ve seen some people even struggle to show that they would be celebrating.\n","title":"New Year","type":"post"},{"content":"I recently got myself a couple of new books, thanks to the folks at Archonia:\nThis is the first one, Sakura Taisen V Original \u0026amp; Format Collection. It\u0026rsquo;s like a very detailed encyclopedia on the game, including character profiles, sketches, interviews with the staff and the voice actors. It\u0026rsquo;s quite a thick book: I may think about scanning something in the future, but I\u0026rsquo;m not sure now. It\u0026rsquo;s nice to have such an addition in my collection, considering that books in Italy are impossible to find.\nT2 is a well known artist so I got it\u0026hellip; too bad I didn\u0026rsquo;t know it was full of H content, even though I have it filtered when browsing Archonia. I\u0026rsquo;ll send them a mail about it. Nice art, but mostly unviewable (almost vomit-inducing in my case).\n","date":"December 31, 2005","externalUrl":null,"permalink":"/2005/12/new-books/","section":"Posts","summary":"I recently got myself a couple of new books, thanks to the folks at Archonia:\nThis is the first one, Sakura Taisen V Original \u0026 Format Collection. It’s like a very detailed encyclopedia on the game, including character profiles, sketches, interviews with the staff and the voice actors. It’s quite a thick book: I may think about scanning something in the future, but I’m not sure now. It’s nice to have such an addition in my collection, considering that books in Italy are impossible to find.\n","title":"New books","type":"post"},{"content":"It\u0026rsquo;s up at last, though the header image is still missing. I\u0026rsquo;ll patch it up so I can use one I was provided (but that has text I\u0026rsquo;d like removed). This marks the return of dennogumi.org, in the form of a (mostly anime-oriented) blog, as there\u0026rsquo;s really no more demand for web pages that provide information (sadly). UPDATE: Oops, I forgot about link pages. I\u0026rsquo;ll have to ask Melissa to fix the logo.\n","date":"December 26, 2005","externalUrl":null,"permalink":"/2005/12/up-and-running/","section":"Posts","summary":"It’s up at last, though the header image is still missing. I’ll patch it up so I can use one I was provided (but that has text I’d like removed). This marks the return of dennogumi.org, in the form of a (mostly anime-oriented) blog, as there’s really no more demand for web pages that provide information (sadly). UPDATE: Oops, I forgot about link pages. I’ll have to ask Melissa to fix the logo.\n","title":"Up and running","type":"post"},{"content":" The beginning # dennogumi.org was originally created around the second half of 1999, to provide information on the Japanese anime series アキハバラ電脳組 （Akihabara Denno Gumi, better known with the title of \u0026ldquo;Cyber Team in Akihabara\u0026rdquo;), aired in Japan between 1998 and 1999. It eventually grew enough to be \u0026ldquo;fairly\u0026rdquo; popular in its own niche. In late 19991 the actual domain dennogumi.org was registered for the first time (that\u0026rsquo;s where the \u0026ldquo;on the web since 1999\u0026rdquo; slogan comes from).\nIn the early days, most changes that occurred to a (mostly static) web page like any other were updates or changes of hosting (free plans, then moving to a shared host).\nTurning point # As アキハバラ電脳組 didn\u0026rsquo;t have any sequels or anything, interest waned as years progressed (as well as lack of content to be added, despite the help of other people). Around 2003-2004 the web page was basically abandoned. It was around the same date that, after two (highly unsuccessful) reboot attempts, it lay without even an index (just an empty directory listing) until the end of 2005.\n2005 was the turning point in the history of dennogumi.org because (on December 2005) Wordpress was installed on the domain and the whole site rebooted as a semi-personal blog, with varying topics: anime, Free Software, science, and other musings. The first post was published on December 26th, 2005.\ndennogumi.org today # Since then, the presentation has been changed, but not the content. Compared to before, there has been a shift towards Free Software and other technical topics. So what you\u0026rsquo;ll find here are mostly views and comments from whatever floats my boat.\nThe domain itself had a troublesome history as it expired, was taken away and then recovered a few of years later. A hard drive crash destroyed all the mails with the data, too (talk about luck). The earliest record from the WayBack Machine traces back to 2001. The earliest DNS records point to 1999.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","externalUrl":null,"permalink":"/about/","section":"About dennogumi.org","summary":"The beginning # dennogumi.org was originally created around the second half of 1999, to provide information on the Japanese anime series アキハバラ電脳組 （Akihabara Denno Gumi, better known with the title of “Cyber Team in Akihabara”), aired in Japan between 1998 and 1999. It eventually grew enough to be “fairly” popular in its own niche. In late 19991 the actual domain dennogumi.org was registered for the first time (that’s where the “on the web since 1999” slogan comes from).\n","title":"About dennogumi.org","type":"page"},{"content":"I\u0026rsquo;m a former scientist. The rest is too boring to write here.\nFree Software # I happen to like Free (as in freedom) software. So I got involved in a bunch of projects like KDE and openSUSE. Sadly, my involvement in the past years hasn\u0026rsquo;t been what it used to be.\nOther FOSS projects # I like drive-by contributions because I can help other projects even though I may not have the energy for larger commitments. It\u0026rsquo;s not all of them, but my GitHub profile lists a few of the most notable ones.\n","externalUrl":null,"permalink":"/about/bio/","section":"About dennogumi.org","summary":"I’m a former scientist. The rest is too boring to write here.\nFree Software # I happen to like Free (as in freedom) software. So I got involved in a bunch of projects like KDE and openSUSE. Sadly, my involvement in the past years hasn’t been what it used to be.\nOther FOSS projects # I like drive-by contributions because I can help other projects even though I may not have the energy for larger commitments. It’s not all of them, but my GitHub profile lists a few of the most notable ones.\n","title":"Bio","type":"page"}]