Search Results: "spa"

12 February 2008

Erich Schubert: New flash, usability++

With the latest flash for Linux update, two of the biggest annoyances have disappeared. Yay for usability!It still sucks, and I'm only using it in rare cases by selectively loading Flash. I love FlashBlock, which replaces any flash crap with a 'Play' button. Now if we could only do the same for some of the Web 2.0/DHTML annoyances...[Note: it's not a particularly new version. r115 according to about:plugins. I was told it's like 3 months old. I just noticed the difference, maybe cause the Debian flash-installer package was just updated to this release, or because I use Flash so little. It was so unreliable for like ever that I wouldn't even start using any site that uses Flash for anything serious. Granted: I do use youtube, because there are some great Swing dancing clips there. But that only uses a tiny fragment of Flash but still has been killing my browser every now and then.][Update: I was misled by a clever Javascript that actually disabled the flash or shrank it or so when the menu popped up. E.g. the Toyota site http://www.toyota.com/corolla/ is still unusable unless you're using some flash blocker or do not have flash installed (apart from the flash assuming it were transparent, but it's rendered on all white). The menu still pops up under the flash, making it impossible to access many pages.]

11 February 2008

Andrew Pollock: [life] Second trip to the ER

I don't think the first trip ever made a mention in either of our blogs. Funny how an exhausting trip tends to stem the care factor to write about it afterwards... Anyway, Sarah was in a fair bit of pain last night when she went to bed, and despite taking 800mg of Ibuprofen, some amount of Oxycodone, and some sleeping tablets, she was up again under 2 hours later, in agony. The main concern was that the staph infection she'd apparently had in the incision a few weeks prior hadn't been kicked fully by the antibiotics, and was coming back. So off we trotted to Stanford's ER, getting there around 1am. Fortunately it was very quiet (not that it matters when you mention the magic words "chest pain") and Sarah got straight in. They did the usual battery of tests and decided to keep her in for observation, so I trundled off home for some sleep at about 5am. They told her she could go home at about 1:30pm. Apparently the problem was muscle spasms, which can happen in some people after having heart surgery (even this long after the surgery). The solution? Valium. The poor girl's going to rattle soon with all these pills. They did some blood work and there's no sign of the staph infection. Whatever pain medication they gave Sarah intravenously today made her extremely nauseous, and she was still concerned about the state of the incision around the area that had been weeping previously, so we trekked back in to Stanford this afternoon to see the cardiologist, who wasn't concerned about the incision at all. In fact, he said the surgical doctor had been a bit generous with pronouncing a staph infection in the incision two weeks previously, saying that the swab they took at the time probably just picked it up off Sarah's skin, where it's quite common to be found. So she may never have had a staph infection in the first place.

Julien Danjou: Holidays and projects

Long story short: I'm busy. These days are quite busy. I'm working (you know, I need to eat so I've a job), to the point that I have many vacation days to take. So I'll be in holidays and offline from friday for 10 days. I'm still working on awesome developement. Code base is quite good now, so I don't do 30 commits/day anymore, and update are less frequent. It's very nice that the users base is increasing every day, without polluting the mailing list and the BTS with bug reports and request for documentation. That means we at least achieve to do a not-so-bad code with a not-so-bad documentation. The feature requests list is still a bit long, but I think it will decrease in the next weeks. On a human side, that's the biggest project I ever managed and it's very pleasant to have so many users and contributors. I've some more project I'd like to work too. I plan to write a small git stats generator in Python when I'll have some more spare time. I'd also like to do some developement work around LDAP and Python for my servers, but I did not find the courage to do it neither the good library to handle LDAP object correctly (a DB_Object way would be good). I'm always following Debian developement with one eye, so I'm not totally out. I really hope I could to some bug squashing like I did with several Debian buddies 2 years ago for the etch release. Stay tuned.

10 February 2008

Benjamin Mako Hill: Goodbye AUB

Today, I orphaned AUB -- my very first Debian package and the first free software project whose maintenance I took over. I had been helping and doing work in Debian and the free software community for some time but AUB was the first package I uploaded into Debian with my own name in the maintainer field and with my key in the Debian keyring. AUB is a program for working with Usenet binaries. As late as 2002 perhaps, it was a pretty useful tool for a variety of things. Today, however, it doesn't seem to be useful for much more than indiscriminately downloading large amounts of porn and spam. The software is crusty and written in Perl 4 which, today, seems almost unforgivable. Like Usenet, AUB's day has come and gone. During my maintenance of the package, I ended up taking over upstream development and writing and integrating quite a few new features and patches. In fact, there still seem to be a few users! Unfortunately, I am not one them and I officially gave up on upstream maintenance a few months ago and contacted the submitters of all pending bug reports. Today I'm orphaning the Debian package and completely letting go. None of this is particularly noteworthy, I suppose. If AUB was ever important, it hasn't been for a long time. I think its worth mentioning because it's symbolic of the completion of the life cycle of a free software project that was important in my own growth. Languages, the world, and even I have moved on. In the process, I've grown hugely as a developer, programmer, and free software activist and advocate. Minor as it be, AUB played an important role in this whole process. If you are interested in taking over AUB, please let me know. Otherwise, I'm just as happy to let it disappear.

9 February 2008

John Goerzen: A Cloud Filesystem

A Slashdot question today about putting to use all the unused disk space on corporate desktops got me to thinking. Now, before I start, comments there raised valid points about performance, reliability, etc.

But let's say that we have a "cloud filesystem". This filesystem would, at its core, have one configurable parameter: how many copies of each block of data must exist in the cloud. Now, we add servers with disk space to the cloud. As we add servers, the amount of available space on the cloud increases, subject to having enough space for replication according to our parameters.

Then, say we say we want a minimum of 3 copies of each block replicated. Each write to the filesystem will then cause a write to at least 3 different servers. Now, what if one server goes down? If the cloud filesystem is short on space, we may be down to only 2 copies of some blocks until that server comes back up. Otherwise, space permitting, it can rebuild that third copy on other servers.

Now, has this been done before? As far as I can tell, no. Wouldn't it be sweet?

But there are some projects that are close. Most notably, GlusterFS. GlusterFS does all of the above, except the automated bits. You can have this 3 copy redundancy, but you have to manually tell it where each copy goes, manually reconfigure if a server goes offline, etc. Other options such as NBD, OpenAFS, GFS, DRBD, Lustre, GFS, etc. aren't really well-suited for this scenario for various reasons.

So, what does everyone think? Can this work? Has it been done outside of Google?

8 February 2008

Frans Pop: Crossing an apt proxy with a mirror

Earlier today I watched the presentation Jonathan Oxer's gave during LCA about Package caching solutions. Although it was certainly an interesting presentation and although I very much agree that my current local mirror is wasting a lot of diskspace and bandwidth, I'm still not going to switch from debmirror to any of the available caching solutions, because (unless I'm really missing something) none of them scratches my itch. My local mirror currently consists of five architectures (i386, amd64, hppa, sparc and s390) and only has unstable and testing. I use it for:
  1. (fast and convenient) updating of my systems
  2. doing Debian Installer builds and installation tests
  3. test builds of installation CDs (using debian-cd)
Now, the last one is somewhat hard (debian-cd uses hardlinks to packages on a local mirror instead of retrieving packages), so let's concentrate on the first two. Caching is great if you have a large number of machines – of the same architecture and that are all likely to need roughly the same packages – sitting behind the proxy: the first one triggers the download of the package and the rest gets it almost instantaneously. It is a lot less great if you have only one, maybe two systems per architecture: most of the time you'll still end up going down that (relatively) slow ADSL connection. An important reason why I have my mirror is so that when I do my daily updates for sid or run an installation test, the packages are already available locally. I really don't want to double or even treble the time needed for installation tests just because some required packages aren't yet available locally and need to be downloaded over that slow line. So, I have my partial mirror. Somewhat tuned (I exclude some ridiculously large debug packages for example, saving about 10GB), but still with a lot of junk^Wpackages on it I'll never ever use, especially for hppa, sparc and s390 as those systems only have fairly basic installations. Getting rid of that would significantly reduce my daily sync and allow me, for example, to also have a mirror of stable and oldstable, keep old versions of packages and probably still save a lot of diskspace. Wishlist What we should have is a hybrid solution: a program that will present itself as a proxy to clients, but is smart enough to pre-fetch new packages that are likely to be needed in a sync run, based on usage date from the the proxy and configuration settings. Some ideas for features/configuration options it could have: Possibly such an implementation could even be used on some of the lower tier Debian mirrors. Unfortunately, unlike some of my esteemed colleagues, I'm not able to just whip up something like this, so I'm condemned to wait and see if there's someone else who'd like to pick up this idea. I am of course more than willing to help develop this idea further and to test it. Now, if I've totally failed in my research and something like this already exists, a pointer in the right direction would be much appreciated.

Eddy Petrișor: forking privately in Debian

Joachim, the key is probably to implement patch support in srcinst and actually implement something nice which I think has nice applications.

It might be nice to combine srcinst with debian-xcontrol to obtain also customizable dependencies (e.g. no arts support).

I guess you'll be the best person to take over srcinst since:
  1. John Goerzen doesn't want to/can't continue maintaining it
  2. is written in Haskell and you know Haskell
  3. source is available for grabs from http://darcs.complete.org/srcinst/

The basic idea is to have another command[1] wrap aptitude/apt-get/srcinst and make sure it does the proper job, depending on the local configuration.


[1] let's say, the debtoo command - srcinst should remain the tool for clear 'from source installs'

Gunnar Wolf: cat STDERR rot13

Cannot help but laugh and share.
I've been triaging and trying to reproduce some oldish bugs on pkg-perl's packages. Some bugs are no longer there, some have to be forwarded upstream, and so on. Usual tasks, yes.
Until I stumbled with #406227. I just have to laugh and share! Hope nobody feels ashamed - The bug is the result of different people coding maybe under pressure and with quite different mindsets :)
For some reason I fail to understand, the submitter's test case (rot13 implemented over a HTTP proxy) is invoked in the report as ./rot13 2>/dev/null. Of course, when trying to debug a bug report, the first thing to do is not to ignore STDERR. So, off goes the 2>/dev/null. What happens next? 0 gwolf@mosca[2]/tmp$ perl ./rot13 &
[1] 4394
0 gwolf@mosca[3]/tmp$ GET -p http://localhost:8080/ http://www.debian.org/
Can't locate object method "filter" via package "UGGC::Cebkl::ObqlSvygre::fvzcyr=UNFU(0k604160)" (perhaps you forgot to load "UGGC::Cebkl::ObqlSvygre::fvzcyr=UNFU(0k604160)"?) at /usr/share/perl5/HTTP/Proxy/FilterStack.pm line 126.
500 EOF when chunk header expected
WTF... Well, at least the program name gives me a clue... Lets try to "decrypt" the error message... gwolf@mosca[4]/tmp$ echo 'UGGC::Cebkl::ObqlSvygre::fvzcyr=UNFU(0k604160)' rot13
HTTP::Proxy::BodyFilter::simple=HASH(0x604160)
hrm... How comes the filter is filtering its own code and only then refusing to find itself!? Ok, time to open up the manpage - Remember, I'm only group-maintaining this pacakge, I am not yet at all familiar with it! Ok, so the core of the filter is when the submitter states: my $proxy = new HTTP::Proxy();
$proxy->push_filter(response => new HTTP::Proxy::BodyFilter::simple(sub tr/a-zA-z/n-za-mN-ZA-M/; ));
While the manpage states it should be invoked as: my $filter = HTTP::Proxy::BodyFilter::simple->new( sub $ $_[1] =~ s/foo/bar/g; );
$proxy->push_filter( response => $filter );
Of course, once looking at it, the answer is simple: The submitter left out which element to act on in the anonymous function body - The $ $_[1] =~ part. Adding it makes gur svygre jbex nf rkcrpgrq... Err, sorry - makes the filter work as expected. Now, bonus points: For the non-Perlers out ther: How come we get the namespace translated as well? Oh, that's very simple: In Perl, as in Python (and concievably other languages I'm unaware of), the object is passed to any of its methods as the first argument. Functions in Perl receive their arguments via @_ (read: the default array). And, of course, the tr (regex-based transliteration) takes by default the first thing it sees - the object itself. And what happens when you apply a (string-oriented) regex to an object? Of course, it gets stringified - which, by default, in Perl means converting it to the closest possible description: "a hash reference blessed as an object of the class such-and-such at this memory location". That string gets worked on, and we get UGGC::Cebkl::ObqlSvygre::fvzcyr=UNFU(0k604160). This proxy does not die on very-very-short web pages, where the whole content fits on one iteration of the code (although it does not work correctly - the text remains unaltered, of course, as it was not worked on), but if the request spans several chunks, the second time the filter is called, it will be... just gibberish. Oh, and what about the extra $ (...) around $_[1]? Oh, simple: The string is passed as a scalar reference, so it can be modified in place. Yes, it's the Perl way of pass-by-reference instead of pass-by-value (the default behaviour): Of course the parameter is only passed as a value. Only that the value is incidentally a reference - but who cares? ;-) Anyway... Many oddities. I would implement the module in a completely different way, and it looks quite backwardish in my book. But then again, TIMTOWTDI.

Joachim Breitner: How to fork privately?

I am very fond of Jean-Yves Lefort s link-monitor-applet, which puts little bars in my panel that display the ping time to certain hosts. Very useful, especially since I m often using a shaky wireless connection.With the latest release, though, the author added an icon next to these bars. He argued that the small bars, if there are only few of them, are hard to hit with the mouse, and therefore added this icon as a usability improvement for less advanced users.But for me, this makes the applet almost unusable, as I just don t have the space left for a useless icon. Things are here proably worse because the icon is higher than wide, scales to the maximum size that fits the panel and my panel is vertical and slightly wider than the normal horizontal panel is wide.I asked the author to make this behaviour configurable or to hide the icon when there are more than three hosts to display (with patch included), but he wanted to stick to the icon. So what are my options? I could manually download and extract the source, apply the patch and build the package every time a new version is uploaded to Debian but shouldn t this be easier?If Debian were not 20 but 2 years old I assume that all sources would be in one big git/darcs/hg/whatever repository, with something like the SuSE build service, which would automatically build the packages, and I could make my system automatically track a branch of the real Debian with my patches added. But at the moment, this would be utopical.I could imagine creating something smilar that would track the uploads to debian and, if link-monior-applet is uploaded, tries to automatically build a package with my modification, providing this in an apt repository that has a high apt priority for me. Has anyone done that already, or tried it, or thought about that?

7 February 2008

Alastair McKinstry: Oops. pyblosxom strikes again.

So, those on Planet Debian may have noticed, I've moved my blog into git, which went fine. And 'git-cloned' it on the laptop for editing, which worked. And then 'git-checkout' on the server. Which didn't. Bang. All the modified times were updated. The solution, it appears, it "metadate". Which I'm implementing ASAP. UPDATE: The code for the plugin is not at the URL pointed to in sourceforge, but google says its here. Tags , ,

Alastair McKinstry: Fun Filenames

Ok, some interesting output from a build script of a nameless code I'm working on:
...
scanning lib[10].a ...
scanning lib[11].a ...
scanning lib[12].a ...
scanning lib[13].a ...
scanning lib[14].a ...
scanning lib[15].a ...
pgf90 -Wl,--start-group ./master.o -L. -l[1] -l[2] -l[3] -l[4] -l[5] -l[6] -l[7] -l[8] -l[9] -l[10] -l[11] -l[12] -l[13] -l[14] -l[15] -Wl,--end-group -llapack -lblas
./lib[2].a(cprep1.o)(.text+0x181d): In function  cprep1':
...
Next time, think of someone trying to find these interesting files. People using regexps, ok ? What do these 'libraries' contain, anyway ? Tags , ,

Alastair McKinstry: Preprocessor abuse : chapter 2 of lots.

Those who program C are used to seeing function / subroutine definitions in header files. Not so in Fortran, there people use the C pre-processor to put Header files in subroutine definitions. Don't try this at home, folks. Again, names changed to protect the afflicted ...
subroutine  funmame( param1,
	      param2, param3,
#ifdef FOO32
	     foo, bar,
#endif
	      param7, param8, 
#include "basarg.h"
	     )
Remarkably, basarg.h included:
	C Comment.
	param5, param6,
#ifdef SOMETHING
        param10, param20,
#endif
There were in fact dozens of parameters in basarg.h.. And even a higher.h that included basarg.h but had more parameters ... Tags , , ,

Alastair McKinstry: Comment-free code

Often looking through old code you find yourself wishing for more comments, or even more correct comments. Rarely, less comments. But looking at some code I'm debugging at the moment at work I found the following bizarre idiom (details changed to protect the afflicted) ...
#ifdef DOC
C  Some fortran comments.
C  Yes, ordinary comments, nothing fancy like preprocessor directives, but if you want
C  your code without a paragraph explaining what it does, you can just preprocess it
C  and remove it.
C 
C Perhaps they'd expected that their fellow developers would write essays in the
C source code that would make it hard to follow, but then, you'd still need to edit
C the full source code to debug and develop it, right?
C
#endif
Tags , , ,

Alastair McKinstry: Plan ahead.

Bollards being built in Dublin
Some workmen in Dublin, adding bollards to the Irish Financial Services Centre. Thanks to John Murphy for this photo. (P.S. For the confused, the Bollards are fixed, not removable. Their job appears to be to prevent people from parking where the van is ...) Tags

Alastair McKinstry: Back from Holidays

Chocolate lion Cormac and Caoimhe at a patisserie with Chocolate lion in Concarneau, Brittany
So, I'm back from Holidays, to find we now have a new Government in Ireland. (An unexpected choice of government, of which more later.) We were camping in Fouesnant, in Brittany; Family & Friends might like to see the holiday snaps here). Camping in France went well. With three children aged 7, 4 and 2, there is only so much you can expect from a family holiday. Like it or not, you have to mind the toddler fairly consistently, and the older kids would like your full attention too. This is a holiday ''for'' the kids; plan also a break ''from'' the kids later (a long-weekend, with kids at grandparents, for example). This was our first time camping abroad, and its well recommended. While we went touring with a camper van with the two older children two years ago, this is different in that we were at the campsite for almost two weeks: the kids got to meet and play with others in a way they couldn't before. Also, there were good facilities at the site in Fouesnant, and the swimming pools in particular were appreciated (Caveat emptor though: there were no lifeguards or supervision. We went off-peak, and there were apparently two accidents in the time we were there: a broken kneecap and chin when people came down the slides too soon after others and collided). It was the first time the children (a) had pocket money to spend, and (b) were able to walk to a (campsite) shop to spend it. Lessons were learnt in the finiteness of pocket money, especially by Caoimhe :-(. The weather was fairly good: two wet days (though not overly so, compared to what we're used to in Galway); enough to give the 'authentic camping experience'. And for the children especially, just warm enough. Long drives South were not an option with young kids, and we wanted to see Carnac and Brittany in general. We went touring to two places: Mont St. Michel, on the way down, Carnac, and locally around Quimper and Concarneau. At seven, Cormac is beginning to be old enough to enjoy this, but Sadhbh at 2 is too young, and easily aggravated. Caoimhe can appreciate some of it, such as the well recommended Breton museum in Quimper, seeing the local costumes and clothing is just her style at the moment. We're looking forward to going back when the kids are older, or we can enjoy touring on our own. The camp site is dominated by English / Dutch / Irish. It is still term-time in Britain and Ireland, which meant the children on the site was full of 2-4 year-olds, with a shortage of playmates for Cormac. Next time, synchronise with English school times, etc. We went during Cormacs term-time because it was much cheaper (1000 Euro) than high-season. If Cormac was having difficulty in school things would have been different, as it is, we had no qualms in doing so. Things will probably be different next year with Caoimhe also in school at the same time, and we would go later. Suffice it to say I think synchonisation of school timetables is a bad idea, as it has led to these huge price differentials and parents taking their kids from school. As a friend with experience of the French school system points out, they've spent the last 40 years desynchronising their timetables ... So would we go again, or buy our own tents, etc? possibly. The brochure for next year arrived already, with large discounts for booking early ... Tags , , , , , ,

Alastair McKinstry: Climate Challenge

So its the holidays. Have you played Climate Challenge yet? (via Micheal Bernstein at antipope.org). Tags ,

Alastair McKinstry: Christmas Logic

So, Christmas started at 4.30 AM this morning. After persuading the kids it was a false alarm (literally), we all managed to stay in bed again 'til 5. Then the chaos struck. Photos for the family available soon. But, its the children who turned out (surprise) to be less sleep deprived. Presents of new clothes and finger paints don't mix: who'd have thunk it? And in the afternoon, as the adults tried to sleep off the feasting, the kids notice that Santa is now at home asleep, not looking at who's naughty or nice ... Tags , ,

Alastair McKinstry: New domain name under Jabber?

I've changed the domain name of my blog, etc. from scealnetworks.com to sceal.ie for various reasons: its shorter, I'm doing almost no networking work these days, and I've (personally) no intention of becoming an multi-national corporation in the near future. Still got the old domain, though, and heres the question: does anyone know if its possbile to redirect Jabber XMPP IM from one domain to another (e.g. in a 301-style redirect?) And also, here's a new Technorati Profile. Tags , ,

Alastair McKinstry: The Curse of Oil

Jaldhar Vyas points to the rogues gallery of oil producing states and argues that Neoconservatism is good, well at least it gets rid of the dictators such as Saddam Hussein while it grabs the oil. As he ightly points out, we are researching new alternative energy sources, and just as importantly (or even more importantly) energy conservation. But we have been doing this for decades. Sooner or later we have to realize that the "Oil Crisis" isn't due to a shortage of energy sources: its due to deliberate politics to make us dependent on oil. Peak Oil is "only" a crisis for us consumers, dependent on oil to drive our cars, heat our houses, and supply our food. For oil companies, it means (1) they are shipping oil at a greater rate than ever before, (2) at higher demand than ever before, and (3) in circumstances where pesky politics like OPEC can't interfere and try and moderate the price down (I'm not arguing OPEC or cartels are good; its just that its long-term 'maximize the benefit for the oil producing nations' strategy interferes with oil companies shorter-term profit maximization). For the Oil Companies, its a good thing. In this context we have to see our current dependence on oil as the result of deliberate policy by the oil companies. The small filip that USanian governments have done towards alternative energy, such as funding Hydrogen fuel-cell research, nuclear power, etc. are so long-term, and so small in scale, that they have to be seen as deliberately not solving the problem. Thinking that research into alternative sources is good is gpoing to save us (disclaimer: as a scientist I think research is a good thing :-)) is missing the real problem. Its politics: the oil companies have simply been better at politics than the strugging alternatives; we need to recognize this, and fight for alternatives. When oil prices reach $100/barrel, and we struggle to pay rising food and energy bills, its because other have deliberately caused the crisis. Oil has often been called a Curse because of the effects 'Oil Wealth' have caused so many countries. They are not co-incidentally dictatorships; Saddam Hussein remained in power in Iraq for so long because it benefitted the West (see the weapons supplies to Iraq in the so-called "Iran-Contra" affair, for example). Ditto Saudi Arabia, remaining 'friends' of the USA despite its ties to 911. Overthrowing Saddam Hussein was about consolidating even more power in the Gulf than America had previously, not democracy. What was planned for Iraq was democracy in name only: all real power was already neutralised, with decisions to US benefit cemented in place before the parliament met: non-negotiable contracts already signed giving US companies control. This is straight imperialism, and cannot be considered democracy or a good thing. Tags , ,

Alastair McKinstry: Irish Elections 2007: Now What?

Well, the people have spoken, now the airwaves are full of puzzled politicans and pundits trying to decide what they said. The outcome was a suprise, especially in Galway West (where I live), for which I'm annoyed; as I said before, a poll would have been useful. Niall O'Brolch in, said in the last poll in March to be likely to take a seat, came fairly off the mark, unfortunately. Quick summary: The Irish Parliament (the D il) has 166 seats, so the majority is 83 (I seat goes to the Chair or Ceann Comhairle). In recent years, majorities of one or two seats are normal, so we all wait for the final seats to be decided before really knowing the outcome: The Bookmakers paid out for Bertie Ahern being the next Taoiseach by 9.30 AM yesterday, though technically the numbers could still add up for the alternative, Enda Kenny. We might not know until next week.

read more »

Tags , ,

Next.

Previous.