-
Posted: January 6th, 2009, 8:14am CET
pThe a href=http://gould.cx/ted/blog/Let_applications_be_applicationslast post from Ted Gould/a nails a pretty obvious problem on the GNOME desktop nowadays: the panel is broken.br /br /Not only because of the fact that is one of the remaining bits holding a dependency against ORBit. But also from the ui perspective. The panel is where we throw stuff when we don't know where to place it. The topic discussed in Ted's post is quite interesting, the abuse of the notification area. I kind of disagree that apps tend to use the notification area because is some sort of playground or innovation space or anything like that.br /br /I think applications are leaning towards a better window management handling that cannot be achieved with launchers or the task browser.br /br /Think about it for a moment, we have launchers, like the browser one. You launch your browser, and suddenly, you have to waste, I don't know... 200 pixels for a new task on the task bar? Plus the already wasted space of the launcher of course. Now your app turns out to be so nice, that people want to use it all the time, becoming a persistent app. Well, wasting 200 pixels for each window of your app seems a bit odd, so you end up using the notification area, or creating your own applet to manage your app.br /br /To me, it seems that we could perfectly merge launchers, applets and notifications. Think about it, remove the text from the task manager (which I think that is useless with the amount of windows that people handle nowadays) , allow iconification/minimize from there, allow notifications and rich interaction (showing the album cover for media players, custom context menus...). From the user perspective, this would remove a lot of redundancy.br /br /I think that a dock-like approach such as a href=https://launchpad.net/awnavant window navigator/anbsp; (with some GNOME HIG+usability+accesibility's sauce first of course) or a href=http://www.qdh.org.uk/wordpress/?p=242Karl Lattimers'/a toy as even would be a much simpler, uncluttered and usable option than our current box of entropy.br /a href=http://www.qdh.org.uk/wordpress/?p=242 /a/p
-
Posted: January 6th, 2009, 1:03am CET
pI#8217;ve been really bad at dealing with spam on this blog, but I just went through the posts from the last few months and cleaned things up. So if you#8217;ve made comments, you might actually see them now and maybe even see replies#8230;/p
-
Posted: January 5th, 2009, 11:45pm CET
pIt#8217;s been an exciting few weeks since my last post (well ok 6 weeks):/p
ul
liDRM KMS merged (woo-hoo!)/li
liWayland running on top of DRM KMS - had fun with Kristian on this one while we were both visiting Hillsboro for Intel meetings/li
lilots and lots of bug activity/li
/ul
pThe downside of the KMS merge is a boatload of new kernel bugs :p but that#8217;s to be expected. We still have quite a few 2D bugs open and those will start to migrate over to the kernel side as more and more people use the code. I#8217;ve got some cleanups to the libdrm doxygen markup as well, but nothing I#8217;m ready to push out (it seems there#8217;s always a more important bug or feature to work on so docs keep getting delayed, so dear lazyweb please write it for me etc etc)./p
pOn the home front things have been fun too; my new office (a shed in the back yard I#8217;ve been remodeling) is nearly ready to move in to, just a few more weekends worth of work to go. It#8217;s been a fun project, but I#8217;m really ready for it to be done now, since I need the space and freedom from distraction it should bring. The holidays were great as well. Our little family visited my parents for the week of Christmas and had a lot of fun with the clan (grandparents, great grandparents, aunts, uncles, cousins from all over came to visit). Then for new year#8217;s my sister finally got to visit us up here in Arcata./p
pWell anyway, back to herding PCI patches and fixing up the KMS bits./p
-
Posted: January 3rd, 2009, 7:20pm CET
pAfter a rather hectic holiday season, I returned momentarily to pending Geode X.org driver issues. The current status:/p
ul
liOn Debian, 2.10.1 is in Testing and Unstable, while 2.11.0 is in Experimental. For those who need 2.11.0 right away, the experimental package builds as-is using Lenny dependencies. For everyone else, I'll probably get around producing a proper backport once Lenny is released./li
liOn Ubuntu, 2.9.0-1ubuntu2.5 just entered Hardy-updates with cherry-picked fixes for DCC support on GX2/CS5535 hardware. Meanwhile, Intrepid has 2.10.1 and Jaunty has 2.11.0, with a backport of the later having been requested for Hardy-backports./li
/ul
pI'm especially interested in hearing from users of GX2/CS5535 hardware to see if these recent uploads finally fixed DDC probing for them or not. Just respond to relevant existing bugs or, if necessary, open new bugs to report any regression./p
-
Posted: January 1st, 2009, 1:13pm CET
Isabel was delivered this morning, at 11:54am, at 8lb13oz (4.07kg).br /br /I'll be slow on anything non-baby related for a while :)
-
Posted: December 30th, 2008, 5:10pm CET
pJust discovered trying to buy a mp3 from amazon.co.uk that they actually got a native linux downloader for their music available. I guess for most this is old news, but to me it came as a positive surprise to see this pop up on my system:br /
div id=attachment_943 class=wp-caption alignnonea href=http://blogs.gnome.org/uraeus/files/2008/12/amazon-linux-download.pngimg src=http://blogs.gnome.org/uraeus/files/2008/12/amazon-linux-download-300x223.png alt=Amazon MP3 downloader title=amazon-linux-download width=300 height=223 class=size-medium wp-image-943 //ap class=wp-caption-textAmazon MP3 downloader/p/div/p
pNow if only Amazon would dare be the first mainstream music store to start offering their music in Vorbis format img src=http://blogs.gnome.org/uraeus/wp-content/mu-plugins/tango-smilies/tango/face-smile.png alt=:) class=wp-smiley width=16 height=16 //p
-
Posted: December 30th, 2008, 1:14pm CET
I pushed our r6xx/r7xx bringup tool a href=http://cgit.freedesktop.org/mesa/r600_demo/r600_demo/a yesterday very late in the evening, while Alex pushed the according a href=http://cgit.freedesktop.org/mesa/drm/log/?h=r6xx-r7xx-supportDRM support/a. Of course, a href=http://www.phoronix.com/Phoronix/a posted a a href=http://www.phoronix.com/scan.php?page=articleamp;item=amd_r600_oss_3damp;num=1lengthy article/a about it directly after the push happened. Originally, I had planned to blog about it after dinner, but fell asleep after this exhausting day img src=http://p-stat.livejournal.com/img/mood/ibrad/biggrin.gif align=bottom /br /br /Now this is only a developer's tool, but if you are interested in experimenting with your newly acquired freedom, the a href=http://cgit.freedesktop.org/mesa/r600_demo/tree/READMEREADME/a describes what you have to do. I'll explain some parts of the inner working here - beware that this gets quite technical:br /br /br /The register names and values have mostly been autogenerated from the to-be-released documentation, the result is the rather lengthy (188kb) a href=http://cgit.freedesktop.org/mesa/r600_demo/tree/r600_reg_auto_r6xx.hr600_reg_auto_r6xx.h/a. Some additional registers had to be added by hand to a href=http://cgit.freedesktop.org/mesa/r600_demo/tree/r600_reg_r6xx.hr600_reg_r6xx.h/a, the hope is that we can eventually improve the documentation and parsing process, so that the need for manually added data is reduced. a href=http://cgit.freedesktop.org/mesa/r600_demo/tree/r600_reg_r7xx.hr600_reg_r7xx.h/a adds registers that are r7xx only, or changed from r6xx to r7xx. It's only 8k, which shows how close r6xx and r7xx are architecture wise.br /br /r600_demo sends commands directly to the DRM by the same means that is actually reserved for the Xserver, so don't expect it to behave nicely if the Xserver has to draw anything while r600_demo is running. Best don't start any X11 client on the same screen where r600_demo will run on.br /br /The rendering commands themselves are put together in a local buffer that is later submitted to the DRM. For convenience there is a set of macros + functions in a href=http://cgit.freedesktop.org/mesa/r600_demo/tree/r600_emit.hr600_emit.h/a, that use the interface defined in a href=http://cgit.freedesktop.org/mesa/r600_demo/tree/r600_hwapi.hr600_hwapi.h/a: E32(), EFLOAT(), PACK0(), PACK3(), which emit the 32bit integers, floats, Packet0 and Packet3 headers, respectively (see a href=http://www.x.org/docs/AMD/R5xx_Acceleration_v1.3.pdfr5xx Docs/a, page 24ff, what the PacketX commands actually mean - this part is largely similar to r6xx, just some Packet3 command numbers changed). EREG() and EREGFLOAT() emit packets that set one register exactly, and are the most often used macros.br /br /a href=http://cgit.freedesktop.org/mesa/r600_demo/tree/r600_init.cr600_init.c/a is probably the most interesting file - it contains code for initializing emand/em setup of the most important subsystems; thus the file is probably a misnomer.br /br /flush_cache() isn't really used ATM, because it turns out that Intel CPUs' memory writeback ordering is sufficient enough for caches to be flushed before the CP's registers are written - at least if there is a sequence point (e.g. function call) in between, otherwise the compiler might reorder. As the CP is written in the kernel only, this is trivially true.br /br /What turned out to be really necessary is flushing the GPU's caches before reusing them, especially the input caches (shader, vertices, attributes, textures), except for the ring buffer which apparently isn't cached. So far we only have a all-or-nothing solution, called cp_set_surface_sync() in r600_lib.c. That has to get more fine granular. flush_gpu_input_cache() is supposed to do similar, but is untested and most probably wrong in its current form. We don't do the flushing in any but the EXA tests so far, so you typically have to reset the engine before each test (see the README).br /br /a href=http://cgit.freedesktop.org/mesa/r600_demo/tree/r600_lib.cr600_lib.c/a contains helper routines of which most you shouldn't notice at all - except for the GPU state output you get at the end of each r600_demo run. Please note that the GPU state flags aren't understood very well at this time, just that if a lot of the state flags light up, something has gone haywire. And there are emtons/em of state flags...br /br /br /Now if you want to experiment with new rendering approaches, best read a href=http://cgit.freedesktop.org/mesa/r600_demo/tree/r600_triangles.cr600_triangles.c/a for how to render triangles and how to push coordinates with different resolution (be aware that only a few combinations work, more about that in a later blog, but floats always work). In a href=http://cgit.freedesktop.org/mesa/r600_demo/tree/r600_texture.cr600_texture.c/a you can learn how to setup and use a texture. And if you want to experiment with blending, you have to read a href=http://cgit.freedesktop.org/mesa/r600_demo/tree/r600_exa.cr600_exa.c/a - but be aware that this is the freshest code of all img src=http://p-stat.livejournal.com/img/mood/ibrad/dead.gif align=bottom /
-
Posted: December 30th, 2008, 11:23am CET
pI've started using a href=http://www.lua.orgLua/a some months ago, while looking for a more powerful way to configure ema href=http://awesome.naquadah.orgawesome/a/em. At this time, around March 2008, Lua seemed to be the best language to integrate inside the core system of emawesome/em./p
pI still think that Lua was a good choice, but after 8 months, it shows some important drawbacks./p
pI'll try to keep my explanation simple and to make you understand everything, even if you do not know Lua./p
pI refer here to Lua 5.1/p
h2Design flaws/h2
h3Length operator/h3
pLua has a length operator on its objects, known as em#/em. It can be used to get the size of various objects./p
blockquotepreturn #lol
3/p/blockquote
pThis operator works for table, string, etc… It's possible to define this operator by setting a em__len/em meta-method on a userdata value./p
pThe problem is that you cannot redefine it on string or table objects, see:/p
pregt; a = { hello, world }
gt; return #a
2
gt; setmetatable(a, { __len = function () return 18 end })
gt; return #a
2/pre
pIndeed, looking at the Lua core code:/p
pre case OP_LEN: {
const TValue *rb = RB(i);
switch (ttype(rb)) {
case LUA_TTABLE: {
setnvalue(ra, cast_num(luaH_getn(hvalue(rb))));
break;
}
case LUA_TSTRING: {
setnvalue(ra, cast_num(tsvalue(rb)-gt;len));
break;
}
default: { /* try metamethod */
Protect(
if (!call_binTM(L, rb, luaO_nilobject, ra, TM_LEN))
luaG_typeerror(L, rb, get length of);
)
}
}
continue;
}/pre
pYou clearly see that tables and strings always use the internal length operator, never the em__len/em meta-method./p
pThat's for me a design problem, which will cause more trouble. We'll see later./p
h3__index and __newindex metamethods/h3
pLua defines two useful metamethods, which are em__index/em and em__newindex/em. Both can be set on a table or any other object.
em__index/em will be called upon each read access to an undefined key on an object, and em__newindex/em upon each write access./p
pExample/p
pregt; a = {}
gt; setmetatable(a, { __index = myindexfunction, __newindex = mynewindexfunction }) -- function are not defined, this is just an example
gt; a[1] = hello -- This will call __newindex metamethod
gt; return a[2] -- This will call __index metamethods
gt; return a[1] -- This will NOT call __index/pre
pThe last line does not call em__index/em meta-method because ema[1]/em does exists. This is a problem when you want to use table as object, because sometimes you want to monitor access to the table elements./p
pThis can be easily worked around using a proxy system: you don't store things in the table you manipulate, but in another table./p
pregt; a = {}
gt; realtable = {}
gt; setmetatable(a, { __index = myindexfunction, __newindex = mynewindexfunction }) -- function are not defined, this is just an example/pre
pWhere meta-methods are something like:/p
prefunction myindexfunction(table, key)
return realtable[key]
end/pre
prefunction mynewindexfunction(table, key, value)
realtable[key] = value
end/pre
pThis way, our ema/em table will always be empty, and emrealtable/em will have the data. At every read or write access to ema/em, the meta-methods will be called. This is very convenient and widely used hack./p
pBut this has serious drawbacks: as we saw before, the length operator (em#/em) cannot be redefined on a table. That means em#a/em will always be 0, and you cannot get the table length anymore, except by defining another method or a special attribute./p
pAlso, Lua has several functions in the emtable/em library that are used to manipulate table in a easy way. The problem is that standard functions like emtable.insert/em or emtable.remove/em do raw accesses to the table. Meaning that if you do emtable.insert(a, 1, 1)/em it will insert the value 1 at the key 1 into ema/em, strongwithout/strong calling the em__newindex/em meta-methods, breaking all your beautiful object-oriented model./p
pAnother solution is to use a userdata object, like done in the Lua emnewproxy/em function (which is under-documented)./p
pThe problem is that it breaks all the other functions that are waiting for a table as argument, because they see a userdata, not a table. So this time emtable.insert/em is now more usable, which somehow fixes the problem, but not in the right way IMHO.
However, this allows to use the em__len/em meta-method./p
h2Development model/h2
pThe development model of Lua is, from my point of view, non-existent./p
pThere is no public version control system repository available, so there's no chance to really contribute to Lua. It seems only a defined set of people work on it and therefore, the development system is very closed to my eyes, in comparison of usual projects./p
h2Conclusion/h2
pI still think Lua is a good choice, because it is very easy to integrate into any C program, and to expand to fulfill your needs. However, some bad design choices were made, and the poor and closed development model chosen does not allow to have a good overview of the future of Lua./p
pThis has been a href=http://lua-users.org/lists/lua-l/2008-06/msg00407.htmlwell stated by the authors themselves/a./p
-
Posted: December 29th, 2008, 11:13pm CET
AMD today pushed the initial code to support acceleration on the r600/r700 range of GPUs.br /br /This consists of r6xx-r7xx-support branches in the drm, radeonhd and a new r600_demo repo.br /br /This code is really only for developers at this point but its great to see AMD finally get things lined up to allow this code to be released.br /br /I've only been barely involved in the r600 code so far, I wrote the original drm over a few days and handed it over to AMD to continue on with, as I wanted to concentrate on the kms work. Hopefully I can get some time to look at it over the next while (yeah right, new baby still not here).
-
Posted: December 29th, 2008, 6:08pm CET
pDon#8217;t usually bother commenting in my blog about wrong statements made in the mainstream trade press. But this being a slow period between Christmas and New Years I figured I point out why I think a href=http://news.cnet.com/openroad/?authorId=9728254#038;tag=mncol;txtMatt Asay seems to have no clue in this blog post/a. The quote in his article that made my facepalm was this one:br /
ibr /
The quot;rightquot; model seems to hearken back to an experiment Trolltech made at the end of last millennium. Trolltech used the GPL license for its code, but added a clause requiring commercial users to pay. This, of course, wasn#8217;t open source according to the OSI Definition, and Trolltech took heat for its position. But eight years later this is essentially the model followed by SugarCRM, Zimbra, MySQL, and others (including Red Hat, if you look closely at its business), though each company uses different means to get to this result.br /
/i/p
pFirst of all Trolltech did not require commercial users to pay, cause if they had done that then they had been in direct violation of the GPL. What Troll Tech did was offer the code under more standard commercial license in addition to the GPL, a license for which you had to pay. So only if you found the GPL unsuitable for your needs the option to pay to get another license came into play. That was absolutely open source according to the OSI definition and I don#8217;t think I ever heard anyone claiming otherwise. As for Trolltech taking heat for its position, I can#8217;t say I remember that happening either, although there was/is of course a lot of debate about using Qt for core parts of open source infrastructure due to it only being available under the GPL. To the degree that debate could be considered taking heat is was if anything some of the projects using Qt taking it (most notably KDE), not Troll Tech themselves, unless one is of the (weird) opinion that considering a library unsuitable/non-optimal for certain things due to its licensing its giving the library developer #8216;heat#8217;. /p
pI can only assume that Asay confuses the issue and is thinking about Trolltech#8217;s license precending their adoption of the GPL, which was a quasi open source license allowing cost free open source development on top of Qt, but which was not GPL compatible or OSI approved in any way or form./p
-
Posted: December 29th, 2008, 4:27pm CET
pTwo weeks ago a href=http://vizzzion.org/Sebastian Kügler/a, a href=http://www.kdedevelopers.org/blog/77Will Stephenson/a and Claudia Rauch from KDEnbsp; and a href=http://blogs.gnome.org/bolshDave Neary/a, a href=http://www.vuntz.net/journal/Vincent Untz/a and myself from GNOME had a two days meeting in Gran Canaria to have the first face to face meeting between the KDE and GNOME folks, the local team and the local government (a href=http://www.grancanaria.comCabildo de Gran Canaria/a).br /br /I won't go into the details of the meeting, besides, I want to point out how great the whole meeting was. The feeling with the KDE guys is just great, the local team is doing an outstanding job, the support and facilities provided by the Cabildo are just awesome.br /br /A sneak peak on the Auditorium rooms and nearby landscape:br /br /centera href=http://www.flickr.com/photos/arclnx/3120563040/ title=Auditorio Alfredo Krauss amp; Parque de la Musica by Alberto Ruiz, on Flickrimg src=http://farm4.static.flickr.com/3200/3120563040_2659d1578a.jpg alt=Auditorio Alfredo Krauss amp; Parque de la Musica width=500 height=142 //a/centerbr /br /centerbr /a href=http://www.flickr.com/photos/arclnx/3119186875/ title=GCDS09: Alfredo Krauss Auditorium by Alberto Ruiz, on Flickrimg src=http://farm4.static.flickr.com/3257/3119186875_3620129b71_m.jpg alt=GCDS09: Alfredo Krauss Auditorium width=240 height=180 //aa href=http://www.flickr.com/photos/arclnx/3119112555/ title=GCDS09: Alfredo Krauss Auditorium by Alberto Ruiz, on Flickrimg src=http://farm4.static.flickr.com/3262/3119112555_3be974fea5_m.jpg alt=GCDS09: Alfredo Krauss Auditorium width=240 height=180 //abr //centerbr /br /centerbr /a href=http://www.flickr.com/photos/arclnx/3119107573/ title=GCDS09: Alfredo Krauss Auditorium by Alberto Ruiz, on Flickrimg src=http://farm4.static.flickr.com/3227/3119107573_7291c35815_m.jpg alt=GCDS09: Alfredo Krauss Auditorium width=180 height=240 //aa href=http://www.flickr.com/photos/arclnx/3119876058/ title=GCDS09: Alfredo Krauss Auditorium by Alberto Ruiz, on Flickrimg src=http://farm4.static.flickr.com/3103/3119876058_37f05a05d0_m.jpg alt=GCDS09: Alfredo Krauss Auditorium width=240 height=180 //abr //centerbr /br /There's still a lot of work to do, but I'm pretty confident this is gonna be awesome.br //p
-
Posted: December 29th, 2008, 10:17am CET
So I sent a drm pull request that includes the kernel modesetting core + intel i915 driver supporting it.br /br /This is a major milestone for a project I started working on in a previous job, and I barely remember burning through the initial code for the initial prototype in a week of little sleep.br /br /To enable the code you need to set the CONFIG_DRM_I915_KMS, this isn't enabled by default, as we don't have a userspace that supports it available yet for general consumption. If you enable kms now, you will more than likely get a broken X for your trouble as the kernel drivers aren't compatible with having userspace drivers trample the hardware.br /br /So where is ATI at?br /br /although we are shipping radeon code in F10, the code is based on the TTM memory manager, which isn't really in an upstreamablebr /state in its current form. Hopefully a newer TTM codebase might become available that can be used upstream. If that doesn't happen, we might rearchitect the core memory manager code of the radeon system now that we have the API mostly proven. So I'm not sure when we will upstream it, it all depends on how much time I can work on it.br /br /Baby status: due today, no sign yet, will severely impact amount of time I spend on this stuff :)
-
Posted: December 29th, 2008, 1:07am CET
codebr /09:09 #dri-devel: lt; MostAwesomeDudegt; F*** yes! Got my LLVM backend to build! br //codebr /br /With these Corbin Simpson (MostAwesomeDude on IRC) today got his R300 LLVM shader backend to compile. You wonder what a LLVM shader backend is? Well, in the a href=http://cgit.freedesktop.org/mesa/mesa/log/?h=gallium-0.2gallium/a world shaders (both vertex and fragment) are translated into a hardware independent and shader independent format. This format will then be sent to LLVM to perform optimizations on them and, using a backend, turn it into a hardware dependend shader. Corbin is currently working on writing the vertex shader LLVM backend. But don't expect to much yet: br /br /codebr /09:43 #dri-devel: lt; mattst88gt; MostAwesomeDude, tell us more, what's it do, etc.br /09:45 #dri-devel: lt; MostAwesomeDudegt; mattst88: Segfault. br //codebr /br /For the full details read the a href=http://people.freedesktop.org/~cbrill/dri-log/index.php?page=dri-devel-2008-12-28.logIRC logs/a.
-
Posted: December 28th, 2008, 10:51pm CET
pWell, things aren#8217;t turning out quite the way we planned this week./p
pFor one, I was planning to spend some time in the new little holiday house my parents bought at the seaside. My mother was making sure there was going to be internet for me to be able to work from there, and she somehow#8230; forgot. And even as a high-paid consultant for one of Flanders#8217; two biggest providers, her waiting time for getting net installed is 7 weeks./p
pThat also means I get to see a lot less of Kristien than planned. She#8217;s busy all day in a theme park that used to be called #8216;de Meli#8217;, by sheer coincidence a mere kilometer from my parents#8217; holiday house, entertaining the young children of Flanders dropping by for Ketnet Freeze./p
pMeanwhile, this week I finally had my neurologist appointment. I have a strange oversensitivity in the left part of my body that isn#8217;t quite painful but not pleasant either. I#8217;ve been having it for over half a year now, thinking it was related to my tooth infection. Clearly it isn#8217;t since the tooth infection was removed three months ago - along with the tooth. The oversensitivity has made it hard for me sometimes to stay seated at work, which might explain to people reading this my various creative moments in seating during meetings./p
pWhile the doctor was hammering various parts of my body, he noticed a lump in my pants pocket. #8216;What#8217;s that ?#8217; #8216;My wallet.#8217; #8216;That big ?#8217; #8216;Uh, yeah ?#8217; #8216;Is it always there ? All day long ? Even while working ? Do you work sitting down ?#8217; #8216;Yes, yes, yes, and yes.#8217; Yes, I always put my wallet in my pants pocket, mostly not to lose it, but also because the wallet contains a keycard which is the only way to get back into the office after I went to the toilet. #8216;I wouldn#8217;t recommend always having your wallet there. The nerves to the areas you are complaining about are right below where your wallet now is.#8217;/p
pSo, first, initial diagnose - walletitis. Obviously it might be completely unrelated, so further analysis is necessary. So I got House#8217;s favourite exam - the famous MRI ! I had it on second Christmas day, at 20:00. Amazing that there#8217;s still so many people in a hospital on second Christmas day and a Friday evening./p
pThe MRI was mildly disappointing, though the checklist I had to complete to make sure I had no metally things in my body was a bit daunting. In the end you start doubting if you really did not get any kind of surgery that might be problematic for this exam. I had to get undressed, lie on a board, and was told not to move at all. She gave me some headphones for the noise, and told me it would take 20 minutes. Then she slid me in, and I started counting. I almost fell asleep a couple of times, because there is really nothing you can do in there and I didn#8217;t want to think about anything important because I wanted to keep counting. I got slid back out as I reached 961. Possibly my idea of a second is wildly off./p
pThe next scan is in a month, I#8217;ve been threatened with injections of tracer fluid for that one, I hope it won#8217;t be necessary./p
pMeanwhile, I was also fighting off a cold. Pretty annoying, because it meant that I basically wasn#8217;t able to get anything done of all the things I was planning to get done in this #8216;long weekend#8217;. It#8217;s just too hard to think with a head full of snot and a buzz in your head./p
pYesterday was the hardest day though - I woke up at 6 with a splitting headache. Got some Dafalgan, went back to sleep, woke up again two hours later, still with a headache. Took Dafalgan all through the day, went to sleep early, woke up, still with a headache. Today was a bit better, only took three, and hopefully tomorrow I will be all rested again. Just in time for work#8230;/p
pHere#8217;s to making the last day of the year a lot better than these past few ones! We will have some friends coming over, and I#8217;ve been putting together a 6 course menu that I will prepare for them - pretty much on my own, since Kristien has few days off and wants to do nothing at all on the last day of the year, and I very much intend to make her wish come true. And besides, we paid enough for this great new open kitchen, I want to put it to good use#8230;/p
-
Posted: December 28th, 2008, 11:57am CET
pMore than half a year ago I got a new computer for the living room, as quiet as possible, with an ATI 2400 based card. It took some tweaking to get X working, including using the #8220;new#8221; radeonhd driver, and learning enough about how XRandr works to cook up a href=https://thomas.apestaart.org/thomas/trac/browser/patches/xf86-video-radeonhda simple one-line patch/a to get my card detected correctly and allow me to use multiple screens (I wanted to write Xinerama but apparently that#8217;s not the cool word to use anymore)./p
pAn X driver patch is only one step removed on the geek ladder from kernel patching, right ?/p
pAnyway, as a good open source citizen I submitted this patch in the correct location, got some followup questions to try my card with HDMI attached, lugged my computer across the room to the TV, did the testing, sent the info, and assumed my patch would make it in, and forgot all about it./p
pYesterday I did an upgrade, got a new X, and restarted, and I only had one screen working after booting. After scratching my had a little and relearning xrandr, I vaguely recalled me doing this patch half a year before, and checked if it was still valid. Seems it didn#8217;t land yet, sigh./p
pI know we#8217;re all busy in open source, but a one line patch verified by hand by someone owning the card to work, should be a no-brainer, right ? I#8217;ll repoke the relevant people and get it in this time./p
pI do have to say though it#8217;s definately an improvement to have the whole X tree be split up, and to be able to take just one module, find a problem, create a one-line patch, and rebuild just the rpm package for that driver, instead of having to rebuild all of X for a simple change./p
pFor those of you who happen to have Fedora 9 and the exact same card (GeCube ATI Radeon HD 2400Pro, with one VGA, one DVI, and one HDMI output), you can get the package from my a href=http://thomas.apestaart.org/pkg/fedora/9/i386/Fedora 9 repository/a./p
-
Posted: December 27th, 2008, 1:43am CET
pMy daughter bought me a a href=http://www.bigredbee.com/BeeLine.htmBeeLine TX/a
radio direction finding beacon for Christmas. The plan is to mount it inside
the payload bay of various rockets so that I can find them after launch.
This uses a PIC 16F688 processor and a CC1050 transmitter and sends
FM-encoded beeps and Morse code ident strings. It#8217;s tiny and runs for a long
time off a Li-Po battery./p
pThe BeeLine TX came pre-programmed to transmit at 433.920MHz and ident as
#8216;KD7SQG#8217;. I wanted to move it to 440.700MHz and ident as #8216;KD7SQG ROCKET#8217;,
but the configuration utility provided was Windows-only./p
pFortunately, Greg Clark, the person behind
a href=http://www.bigredbee.comBig Red Bee/a, released the source
code for the firmware under the GPLv2 and provided full schematics as well./p
pI was able to read through the code and construct a simplistic programming
utility, also released under the GPLv2 and available via git as
a href=http://keithp.com/git?p=beelinetx.git;a=summarybeelinetx/a.
It doesn#8217;t do much yet, just allows the configuration of the frequency and
transmitted message string./p
pI#8217;d like to thank Greg for building the BeeLine TX, making the sources and
schematics available and also for answering questions over email about some
subtle aspects of the frequency calibration./p
pNow to wait for the weather to clear and go take it flying./p
-
Posted: December 26th, 2008, 1:35am CET
Therefore, I'll want to listen to a href=http://www.bbc.co.uk/fivelive/5 Live/a tomorrow lunch time, when I'm in France, but United play Stoke.br /br /This is more a little for me, but could be useful for other expats :)br /br /1. Create a Socks5 proxy:br /spanssh -D 9999 your.remote.host/spanbr /br /2. Build the a href=http://tsocks.sourceforge.net/tsocks/a librarybr /br /3. Create a tsocks.conf file:br /spanserver = 127.0.0.1/spanbr /spanserver_port = 9999/spanbr /spanserver_type = 5/spanbr /br /4. Launch a (simple) player with proxy support:br /spanTSOCKS_CONF_FILE=`pwd`/tsocks.conf LD_PRELOAD=`pwd`/libtsocks.so.1.8 mplayer -playlist http://www.bbc.co.uk/fivelive/live/live.asx/spanbr /br /Voila. See also a href=http://bugzilla.gnome.org/show_bug.cgi?id=505456Bug 505456/a.
-
Posted: December 24th, 2008, 1:52pm CET
pThe file systems/inet is of relatively low importance these days - now that everyone in linux world is using #8220;evdev#8221;. But still some people are using other OSes, some are using older X, so#8230;/p
pAnyway, yesterday I made a huge commit consolidating a lot of common mappings into nav_common section. As a part of that job some mappings were changed to make the behavior #8220;univorm#8221;. I32 is always mapped to XF86WWW, I02 is mapped to XF86HomePage (in some kbds they were swapped). XF86Refresh is replaced by XF86Reload everywhere (I could not find the real difference - and people used them randomly)./p
pIf you are using #8220;kbd#8221; driver with some media keyboard - I kindly ask you to check new version of the file from git and report all the breakages#8230;/p
-
Posted: December 24th, 2008, 6:01am CET
I've been enjoying the a href=http://snowpocalypse.com/snowpocalypse/a. The first few days were pretty fun, as with an inch or two you could bike quite well in it, yet the streets were almost empty of cars. Except for crazies who insist on passing you under any circumstance, and with minimal room to spare. Still, mostly of the time it was good, and people got a kick out of me on the brompton in the snow. Some hippies stopped, got out of their car, and asked to take a picture of me to quot;document their dayquot;. Sure, no problem. Then they asked if I was carrying a piece, and I was amused to find that despite selling out I can be mistaken for the kind of person who would smoke a bowl with strangers in broad daylight.br /br /centerimg src=http://www.anholt.net/~anholt/brompton-snow.jpg alt= /br /font size=-1Biking in the snow.br /Scaled down picture so you can't tell that my camera is angry about the soaking it got this summer/./font/centerbr /br /By Sunday morning, though, biking was pretty much out. 3quot; of snow or so was more than I could successfully plow through, so walking and biking were about tied in the mile or so I did getting home, and the walking was a lot less comical. So I've been walking and taking the bus/MAX since. Everybody I know is stir-crazy, frustrated by the snow, and yet I think I've been out of the house more than I usually am.br /br /br /
-
Posted: December 24th, 2008, 12:42am CET
I a href=http://www.burtonini.com/blog/life/old-fart-2008-11-26-15-00?showcomments=yeshaven't received/a my a href=http://flickr.com/photos/diegoe/3078330318/stickers/a yet.