Search Results: "cas"

22 October 2008

Clint Adams: MDE, KDE, ODE, CDE, DSA, goose, badger, snake

In the olden days, things were a bit simpler. Oh, things were far from perfect; we didn't all have the same levels of access. We all had access to the machine with the ftp archive master, but Only a few people had access to the mailing list server, and only a few people had root (though not all of them were German). I actually had root on a couple of buildds until some guy named Ryan Murray appeared out of nowhere and disabled my accounts. I remember wondering, at the time, who he was and how he had gotten root on everything. As the years went by, the disparity grew. Like the lie told by the illuminati of post-9/11 thinking, things need to be kept safe, so access started to be less of an entitlement and more of a needs-only privilege. It just so happens that you don't need to do anything. However, the people who actually deserve the access can provide alternate services for you in case you want to try something you don't deserve access to. Of course it won't be as good, and if it breaks you may be called an impatient ingrate if you complain. Then if you want something else, you are asked to justify it. It is extremely condescending for a power-hungry, power-hoarding person to demand to know why someone should have access to something. The two main factors in gaining power are such a craving and cronyism, and if you remember that power is relative, you can see why a power-hungry person would not wish to participate in an egalitarian society, and why anarchy is unstable and falls easily to syndicalism. Back on the bus, we now have more layers of access, and thus we end up with more classes of people. As people and machines multiple, there are more opportunities to deny people access to machines, and more instances in which one could inquire why someone needed access to something. In this new Enlightenment, it is not just the power-mad asking the question, but also some hangers-on and other people who do nothing useful. There was some overlap of the two groups. Like everything else that doesn't get struck down violently and immediately, these attitudes become the standard, and people insist that any other choice would lead to instantaneous destruction of the universe. Look at how Anthony Towns redefined the meaning of experimental to work around a technical shortcoming. Now, instead of acknowledging the fact that there's a major deficiency in the release process that makes it inconvenient to upload packages to unstable during a freeze, and trying to fix it, we all mostly misuse experimental. Now we couldn't log into ftp-master, and we couldn't log into half the other machines either, but we could always upload. Even when the release team was giving us the bad advice not to upload, we could still do it. This vexed them, so the privileged ftp-team granted the privileged release team additional privileges. Can you guess what they were? I don't think I could. It's practically unfathomable to me. The release team can block a developer's right to upload. This is the fundamental building block of the whole kit and caboodle. Everything is predicated on this basic action, and their new privilege is the power to take that away from us. Yet this was greeted with very little objection, probably because of the people involved and vague promises of well-meaning and non-misuse. However, there is a simple axiom which applies to all of this:
If you impede me doing something I want to do, you are an asshole.
So now we can still upload (except when a bribe-loving ftpmaster is being petty or when the release team is expediting a transition) and we can still vote, and we can log into a machine or two. We're running low on powers to take away. Maybe we could create an even lower class of citizen, some kind of undermaintainer without any voting rights. Whee. DM was born. Instead of fixing the problems of class inequality, we created another class. Fantastic. Why stop there? Why not create more? Clearly nobody wants to work toward an egalitarian culture, so we might as well make it like a game where you can hop from level to level. Then you can go to society parties and brag that you are a DVMRP-Q White Belt Green Stripe with a concentration in Taiwanese Bug Reporting, and that after a 6-month wait you can make a lateral move to second-chair cantor of Der Process under the wavy waves. As always, making the constructive suggestion to take things in the exact opposite direction will be called out as unconstructive.

Jeff Licquia: HDTV Still Not Ready Yet

So you put off buying a high-def TV for years, because you weren’t sure they had gotten all the standards right. You recently gave in, thinking that the coming shut-off of analog broadcast TV in February meant that they had to have their technology figured out by now. Of course, you were wrong:
CableCARD devices have generally supported only one-way access to cable systems, but their long, winding journey toward full two-way communications is finally coming to an end. Panasonic has announced that it is at last shipping new HDTVs enabled with tru2way technology to the two US markets where they can actually be used.
So what’s the main thing you’re supposed to get with tru2way?
This means that you can walk out of a retail store with a tru2way-enabled HDTV, plug it in at home, and have immediate access to basic features like an on-screen guide and on-demand content.
In other words, we are just now starting to see HDTVs that can just plug into the cable jack and work, without an add-on cable box and all the limitations that implies, right? Well, not really.
All tru2way-compatible devices will have a CableCARD slot built into them to facilitate the decryption of protected content, though details are still sketchy as to how this system will work with devices like PVRs. Physical CableCARDs will apparently not be needed to access basic two-way services and non-encrypted channels.
Meaning that, in order to get anything you can’t get already with broadcast TV (”non-encrypted”), you still need a cable company tech to come out and install the CableCARD. And they don’t know how all of this will integrate with the new video recorders like TiVo. Why is this so hard? It’s producer paranoia. If they don’t play these games, you might watch some show for free, or share it so others can watch it for free, instead of… well, watching it for free live. And you might cut the commercials out, instead of… cutting the commercials out by getting up for more chips during the commercial breaks. (But that’s stealing, so you shouldn’t do that either.) Our family keeps edging closer to deciding to get a HDTV. But then I see stuff like this, and notice that the old tube TV still works fine…

21 October 2008

Matthew Palmer: Load Balancing FTP Servers

While it's a protocol we all love to hate, and wish it would go away and die a quiet death, sometimes someone has a good reason for supporting FTP. (In my case, it's usually because that reason has a lot of money to provide to my employer). But what if you want your FTP servers load balanced (because downtime is for suckers)? Obviously, you need to have some sort of shared filesystem behind all your load balanced FTP servers, but that's a rant for another day (but let me just say: if you're running GFS, especially on a busy site, may $DEITY have mercy on your soul). Because of the silly random port games that FTP likes to play, it's not a trivial job to load balance an FTP service amongst multiple hosts. You can't just throw a round-robin on port 21 and hope to get anything useful going. Ironically, while "active" FTP is a pain in the arse for most people, it's a lot easier to load balance, because the initial connection comes in on a well-known port which can be load-balanced, while all the other "random" connections are server-initiated and your standard routing/NATing/whatever you're doing for outgoing connectivity should be able to handle it. However, passive FTP is a bigger pain. The problem is pretty simple to understand -- the FTP client will want to connect to a high port on the "virtual" (load-balanced) IP, and without serious traffic sniffing, your load balancer won't be able to map that incoming connection on port 54321 to the real server that actually wanted the connection. The solution, thankfully, is fairly straightforward. You allocate a range of high ports (maybe a thousand or so) to each real server, with a different port range for each real server. You then tell the load balancer to send all traffic for each range of ports to the corresponding real server, and then configure that real server to put all it's passive connections into that port range (I'm fairly sure most FTP servers can support that bit of config). So, unfortunately, you can no longer disallow FTP support on the basis that you can't load balance it. No shortage of other reasons, though.

Ben Hutchings: For those who care about firmware

Some drivers in Linux include "firmware" - code that runs on the device the driver deals with, not the main processors in the system. Most of this is in a binary or equivalent form, which is probably not the form that it was originally written in. This makes it non-free by Debian's standards, an issue which has led to much argument around previous releases and has blown up once again. The good news is that kernel developers are making a continuing effort to separate this from the driver code. I've collected together the patches that do this and written 2 of my own, which appear to cover all the remaining sourceless firmware. But I was only able to test one of these drivers (radeon) - the rest is up to you. Affected drivers
DriverHardware which requires firmwareBug reportChange made
cassiniSun "Cassini" Ethernet controllers with "Neptune" PHY498631removed
dabusbBayCom DAB-USB radio receivers502663moved to firmware-dabusb
e100Intel PRO/100 Ethernet controllers with PCI revision 8, 9, 15 or 16 or built into ICH6 or ICH7 (LAN-on-motherboard)494308moved to firmware-e100
kawethKawasaki LSI USB Ethernet controllers502665removed
mgaMatrox G200, G400, G450(?) and G550 graphics controllers, 3D acceleration only502666moved to firmware-matrox
qla1280QLogic QLA1XXX SCSI controllers502667moved to firmware-qlogic
r128ATI Rage 128 graphics controllers, 3D acceleration only494007moved to firmware-ati
starfireAdaptec DuraLAN aka Starfire Ethernet controllers501152moved to firmware-adaptec
tehutiTehuti Ethernet controllers501153moved to firmware-tehuti
typhoon3Com Typhoon (3CR990) Ethernet controllers502669moved to firmware-3com
whiteheatConnectTech WhiteHEAT USB serial adapters502668removed
How to test
  1. Download and install the linux-source package from http://people.debian.org/~benh/firmware-removal/. There is a signed .changes file there that you can use to verify the package.
  2. Build and install a kernel from that source (you should probably use make-kpkg).
  3. Boot the kernel. Check that the driver fails cleanly: it should not crash, and there should be a useful error message in /var/log/messages
  4. Download and install the relevant firmware package, if available. These are available from the same place as the linux-source package.
  5. Reboot or reload the driver. Check that the driver is now working.
  6. Add your results to the bug report as shown above.
Firmware that is removed Do you depend on the drivers for which I have removed the firmware? Do you have contacts with the vendors who might be able to help relicence it? Please send mail to the bug report. Update I checked my email and found a response from ConnectTech; the WhiteHEAT firmware will probably be clear to package in firmware-nonfree. There is no need for anyone else to contact them.

20 October 2008

Kapil Paranjape: Going for a spin

When a sphere (globe or ball) is turned about its centre a number of times, there is at least one point that starts and ends at the same place. This a consequence of the algebraic statment that a 3x3 orthogonal matrix with determinant has 1 as an eigenvector with eigenvalue 1. One of my students recently asked me for a geometric proof and I came up with the following construction. (Of which I am evidently quite proud!) We begin by making a more precise statement of the above proposition. Let a, b, c, ..., z be a succession of points on the sphere and A, B, C, ..., Z be a sucession of rotations; where A is a rotation about the axis through a, B a rotation about the axis through b and so on. We will show how to find a point on the sphere so that the combined effect of these rotations is a rotation about the axis through that point. It is enough to show how this can be done for two successive rotations since the rest of the argument/construction follows by induction/recursion. So we restrict ourselves to the simpler case of two points a and b on the sphere and two rotations A and B respectively about the axes through these points. Let me introduce some elementary notions and results. The term "great circle" is used for the circle obtained by cutting a sphere with a plane passing through the centre of the sphere; any two points on the sphere lie on a (common) great circle. The term "antipode of a point p" denotes a point q that is diametrically opposite to the given point p; the axis through a point also passes through its antipode. Two points on the sphere that are not antipodal lie on a unique great circle, whereas the antipode of p lies on every great circle through p. Consider the point c which goes to the point b under the rotation A and cb be the great circle containing these two points. Let d denote a point on bc that lies halfway between b and c. There are two such points which are antipodes; pick any one. Let ad be the great circle containing a and d. Similarly, let e be the point which a goes to under the rotation B and ae be the great circle containing these two points. Let f denote a point on ae that lies halfway between a and e; let bf denote the great circle which contains b and f. A point g (and its antipode) where the great circle ad meets the great circle bf is fixed under the combination of the two rotations. In fact, the result of the rotation A followed by the rotation B is a rotation G about the axis through the point g. The proof that this construction works relies on the following description of a rotation X of a sphere about the axis through a point x on the sphere. Let y be any other point and z be its image under the rotation. As above let t be the point halfway between y and z on the great circle containing these two points. The rotation X is obtained as a succession of two reflections; first a reflection in the plane containing the x, t and the centre of the sphere and second a reflection in the plane containing x, z and the centre of the sphere. One can see this by noting that the composite of two reflections is indeed a rotation; moreover, a rotation that fixes x is uniquely determined by what it does to y. We use the above description to write the composite of A and B as succession of four reflections through planes as follows: the plane containing d, a and the centre of the sphere; the plane containing b, a and the centre of the sphere; the plane containing a, b and the centre of the sphere; the plane containing f, b and the centre of the sphere The two reflections in the middle cancel each other out. We are then left with the composite of two reflections. Clearly, the points that lie on the fixed plane of each of these reflections are fixed by this composite rotation. This intersection is an axis of the sphere through the point g.

Decklin Foster: And yet I swear this oath

There was a lot of political talk last week in the US about this guy "Joe the Plumber". I'm really quite mystified by the (lack of) Democratic response to this one; it seems like a perfect opportunity for the Dems to explain what their ideals actually mean, after years of complete inarticulacy. The Republican party, and conservatives in general, have somehow successfully sold their platform of, as Robert Reich brilliantly put it on the Daily Show last week, "socialism for the rich and capitalism for everyone else", to poor but socially-conservative citizens for quite some time. They've convinced people to vote against their economic self-interest, and cut taxes on the rich instead of themselves. Is voting for policies that directly benefit you less necessarily bad? I don't think so. In many cases, selflessness and altruism are better in the long run. Conservative economic policies speak to a sense of right and wrong that give people a feeling of purpose, and so an incentive to create: this is mine, I made it, you can't take it away. In a theoretical sense, leaving more wealth in the hands of the rich should "trickle down" to society in general, by providing more capital, and thus creating jobs, etc. However, I do not believe that this is why Americans, specifically, tend to support conservative economic policy. The USA has this idea of the "American Dream", pulling yourself up by your bootstraps, if you will, and striking it rich through hard work and character. It's advantageous for conservatives to sell this idea because it makes people think "tax the rich? What if I get rich?", which is a sort of enlightened self-interest, arguably. And it gets poor people to vote for them. What makes this "plumber" thing interesting to me is that is should demonstrate where this approach ought to fall down, logically and emotionally. But it does not. Here is the problem. A working stiff who earns "five figures", such as myself, generally makes that money by going to an employer every day, performing some services for them, and then drawing a paycheck. Where this money comes from is abstracted away (this is the marvelous thing we call "business"). Let's say you want to sell the "American Dream" to this person. They get their paycheck every week, and there's a chunk taken out of it by Uncle Sam. Maybe they're saving up to start a business, or go to college, etc. They sure could do it faster if taxes weren't so high. So you remind them this: when you do strike it rich (since this is America, where anyone can strike it rich), do you want those taxes to be even greater? This story contains a lie of omission, probably the greatest lie ever told in US politics, and one that has almost universally succeeded as far back as I can remember. And that is: when you do make that jump to where our hypothetical Joe is, making just over a quarter-million dollars, that it's not going to look any different. You'll get your paycheck from some abstracted source, just like before, but more will be taken out unless we stop raising taxes on those higher income brackets. There will be some node higher up in the tree for that wealth to "trickle down" from; you could say it's implied, even, that wealth is created at the root and destroyed at the leaves. What's wrong here? Simple: a self-employed plumber does not have a paycheck, except maybe to him/herself for accounting purposes. They collect their income in the form of payments from customers. They don't have an abstraction: they hire more labor and become the abstraction. If their customers have no money, the abstraction leaks, their employees have to be laid off (and then can no longer afford plumbing services themselves). The success of the plumber depends as much on how many people are able to pay them as it does on his costs (such as taxes). We want to make sure those customers can still pay. This is, in theory terms, the idea of demand-side or Keynesian economics. (Not really exactly. I took about two econ courses. But bear with me for a moment.) Now, you can argue demand-side vs. what we would call supply-side economics, which is the idea that no, first you have to stop taxing Joe so he can hire people so they have money to go buy things, for ages. People have made whole careers out of it. I am not here to do that. What I am here to wonder out loud is: why is this argument not happening, now, in our public sphere? Even if only as a small plot point in one Presidential campaign? There are very good arguments for both sides (I agree with the Keynesians, myself), and they should be what this debate is about, not digging up dirt on some guy whose real name, horrors, might not be "Joe" or protests about all those you-know-what poor people getting "government giveaways" that are disturbingly close to racism in my opinion. When I turn on talk radio I hear zombies, unable to string together any thought more complicated than "Democrat == higher taxes on everyone" (which would be depressing even if the claim were true). It begins to get unsettling when you understand your opponent's argument, and yet watch them completely unable to articulate it. When they deal with this by appealing to fear and thought-killing sound bites, it gets alarming. Obama has backpedaled whenever the whole issue has come up. In the last debate, he was saved by merely shutting up and letting out enough rope for McCain to hang himself. Not very inspiring. As a result I hear repetitions of Obama's phrase "spread the wealth around" constantly met on the airwaves with... silence. He won't touch it, and honestly, I can't blame him for not wanting to fan the flames of class warfare with only two more weeks left to stick it out. But I don't understand why, and why a single person on the left hasn't had the faith that this idea can be discussed in our society. I think that, whichever side you are rooting for (and yeah, I am for the Democrats), the Democrats should have won this point readily. Not to belabor the point, but it really amazes me that they have not. It wouldn't have taken much. Here's what you do: go to Wherever, OH with your crack PR team and find several of "Joe the Plumber"s customers. Interview them all. A few of them are, in this economy, going to be really hurting. If you're lucky: Remember that Joe owes taxes to the IRS. Very possibly, someone owes Joe money! That would be a coup. You just put them in front of the media and the whole thing sells itself. Mary needs to make these repairs... if only her tax credit were larger... etc. This would not settle the argument, by any means, especially not for political junkies. But it would begin it. We could talk about policy, whether one way of "spreading" things will result in more wealth to spread than another, instead of red-baiting. I feel a bit ripped off that we haven't even gotten that much. The theory part is pretty much irrelevant to most people; that's fine. But they deserve context. I can only assume that my ("my") party is still either terrified or stupid. I hope winning the Presidency changes that somewhat. That whole right and wrong, purpose, "noble cause" thing, right? Right, guys?

Michal Čihař: Gammu test version 1.21.90

I just published new Gammu testing version. Major changes are in handling some special Nokia responses, handling of Siemens phonebook entries and introduction of automatic testing using CDash on http://cdash.cihar.com/index.php?project=Gammu. Full list of changes: You can download from usual place: http://cihar.com/gammu/, Debian users will find packages in experimental soon.

John Goerzen: Tabor's Centennial

You know you've got a bunch of Mennonites together when the pastor spontaneously asks the church to sing "Jesus Loves Me" while the children walk up for their children's story. And, without music, everybody spontaneously breaks into beautiful 4-part harmony. It must be genetic or something.

It was a day of beautiful singing of hymns a week ago for Tabor Mennonite Church's centennial. It's hard to write about that weekend, in fact -- it was such a nice experience.

Sunday ended with opening the box sealed in the church's cornerstone back in 1965 when the current building was built. Rudy Schmidt, the person that sealed it up back then, was on hand to open it back up. They took out the stone and removed the box. Before the box was opened, Rudy told a story:

Back in 1965, I was the one to solder this box shut. While I was doing this, all of a sudden I smelled burning from inside. I figured I must have caught something inside on fire. I asked Jake Koehn (another person on the building committee) what to do. Jake said, "Nobody will ever see it again, just put it in." So let's open it!


I think Rudy has been wondering all these years whether he set it on fire or not.

The box was opened, and other than a few scorch marks on an envelope, was completely intact and in good shape. There was a copy of a local newspaper from 1965 with a headline about Goldwater, copies of programs of dedication for the new building and parsonage, a Bible, copies of the church constitution, and all sorts of other interesting things. To that we will add a copy of our centennial book (which I helped develop), CDs with recordings of our centennial activities, programs from the centennial celebration, and photos of the weekend.

Earlier on Sunday, we had a long but good worship service with sermons from two former pastors. The choir sang, including a song commissioned for the occasion by Larry Nickel. We got applause after that one (which happens occasionally, but not regularly, in our church). All the living former pastors, and the widow of one of them, served communion as well.

The service ended with the congregation singing the "Mennonite Anthem". I think it was the most beautiful singing of that song I've ever heard. We had 352 people in church that day, and it seemed that not one person was going to let the moment go by without singing.

Saturday had started off with outdoor activities in the church park. There was old-fashioned soap making, remembering how church members used to store fat all year, then get together to make soap for use in their homes and to donate to the needy. There was rope making, wool spinning, and rides for the children. Under the tent, we had some great music the local Greenhorns band, and the former pastors all shared some memories and stories about their time here.

On Saturday evening, we had a meal and a drama -- and managed to somehow fit 321 people into the church basement for the meal. We think that's a record! The drama was written for the occasion by one of our members. John Gaeddert, a pastor here in the early 1970s, has become an expert wood carver in his spare time. He had carved a piece for us to celebrate the occasion, and presented it during the drama. That fit right in, because the drama was called "Bring Your Own Hedgepost" -- back in the early days of the church, each member was supposed to do just that so they would have a place to tie their horses.

Friday night was a lecture by James Juhnke about our first paster, P. H. Richert, who was pastor for nearly 40 years. Quite entertaining and interesting.

I think the highlight of the weekend for me was getting to talk to some of the former pastors I never knew well. I had a few minutes to chat with John Gaeddert. I introduced myself, and he said, "Oh! I don't think I've met you, but I've heard your name a few times this weekend. You're on the centennial committee, right?" Yes indeed. I was born after he left this church, but he knew my grandparents -- which means he also knows exactly where we live. John and his wife Mary are both such warm and friendly people that it feels like I've known them much longer than a few days!

I got to chat with Jim Schrag too. He was pastor at Tabor until I was about 5 or 6. He didn't remember me specifically, but he was also interesting to talk with. He was one of the people that worked on a detailed history book in 1983 for the church's 75th anniversary. He told me that he processed most of the black and white photos for that book in a darkroom in his basement. I hadn't known that -- and mentioned I had found all those photos in the church archives and had scanned them all in. Jim requested a copy.

Terah found Lenore Waltner, wife of former pastor James Waltner, who passed away about a year ago. James had started his career as a pastor at Tabor, and ended it at College Mennonite Church in Goshen, IN, where Terah grew up. So she knew him, but I didn't. Terah introduced herself to Lenore, who seemed quite excited to make this sort of family connection!

And Brenda Martin Hurst, another former pastor, found Terah and introduced herself. Terah said that Brenda said something like, "Hi, I'm Brenda, and I don't think I know you!" These pastors all want to get to know everybody, I think!

MJ Ray: your country continues to turn into Big Brother

Just received this comment from Jimmy Kaplowitz over in the US: “yuck, your country continues to turn into Big Brother: BBC News: Giant database plan ‘Orwellian’” Hell, yeah. That’s a reason why my support for the party is so weak at the moment. I’ve been working and writing against this since ST@ND and the Regulation of Investigatory Powers Act, which we were told was essential for crime-fighting, but actually helps gov.uk spy on parents making school place applications. Currently, I’m telling people Gov.UK Consults on Forced ISP Snooping: Please Say NO. If anyone has any doubt that the database state will be abused, look at some examples of Labour’s “terrorists” (at least, they had supposedly anti-terror measures used against them) since 2001:-
  1. Wolfie, an 82-year-old peace-campaigning heckler at a Labour conference
  2. Indymedia
  3. a Frenchman in Suffolk who downloaded the Anarchists’ Cookbook
  4. an Algerian pilot
  5. the country of Iceland
and that’s ignoring gov.uk’s frequent data leaks. Noodles replied: “There’s a quote somewhere that goes along the lines of “If the Tory policy is looking sane compared to what you’re doing, you’re doing it wrong” that’s been applied to the Labour fascist state stuff.” Our terrorism measures are a joke, with loopholes that gov.uk can drive a truck through. They should be repealed and clearly-limited ones enacted, shouldn’t they?

18 October 2008

Uwe Hermann: Homeless Bones - Golden Grain

Here's a great country-folk-rock style tune for your enjoyment... Song: Homeless Bones - Golden Grain (2:30 min, 2.3 MB)
License: CC-by-nc-sa 2.5
Source: archive.org
Purchase from: ?

17 October 2008

Joey Hess: relative dates in html

One of html's deficiencies is that it doesn't have a tag to mark up a date. If html had such a tag, then browsers could display dates using your time zone, and in whatever format you like. Rather than in some random time zone, that is often not even shown, and some random format. My fav way to see a date is as relative date, such as "two days ago". With a mouseover so I can see the exact, absolute date in the rare case I need it. It's possible to combine some javascript with html, so that, if javascript is available, a nicely formatted relative date is displayed. And with no javascript, an plain old absolute date is shown. Perhaps the cleanest way to do it is using html like this, combined with javascript that fires on page load, parses the date and replaces it with something nicer:
<span class="date">Fri Oct 17 16:17:02 2008 (EDT)</span>
But you might want to avoid using the ugly machine-parseable date, since it will still display in any situation where javascript isn't available. To do that, I added an attribute containing the machine-parseable date. I chose to use the "title" attribute, so as a bonus you can hover over it to get a popup with the raw date.
<span class="date" title="Fri Oct 17 16:17:02 2008 (EDT)">Friday afternoon, October 17th</span>
So, relatively clean html out of the way, now we just need some javascript to munge in the relative dates. There are various examples out there. The best one, requires the prototype framework. I try to stay away from javascript frameworks, since I'm not a javascript programmer, and since I dislike page loads pulling in thousands of lines of irrelevant code. So I came up with my own more bare metal implementation, which handles both types of html above. You can see it in action on my website, or by enabling the relativedate plugin on your own ikiwiki. (This code is in the public domain, but do note that I'm not a javascript programmer, really.)
var dateElements;
window.onload = getDates;
function getDates()  
    dateElements = getElementsByClass('date');
    for (var i = 0; i < dateElements.length; i++)  
        var elt = dateElements[i];
        var title = elt.attributes.title;
        var d = new Date(title ? title.value : elt.innerHTML);
        if (! isNaN(d))  
            dateElements[i].date=d;
            elt.title=elt.innerHTML;
         
     
    showDates();
 
function showDates()  
    for (var i = 0; i < dateElements.length; i++)  
        var elt = dateElements[i];
        var d = elt.date;
        if (! isNaN(d))  
            elt.innerHTML=relativeDate(d);
         
     
    setTimeout(showDates,30000); // keep updating every 30s
 
function getElementsByClass(cls, node, tag)  
        if (document.getElementsByClass)
                return document.getElementsByClass(cls, node, tag);
        if (! node) node = document;
        if (! tag) tag = '*';
        var ret = new Array();
        var pattern = new RegExp("(^ \\s)"+cls+"(\\s $)");
        var els = node.getElementsByTagName(tag);
        for (i = 0; i < els.length; i++)  
                if ( pattern.test(els[i].className) )  
                        ret.push(els[i]);
                 
         
        return ret;
 
var timeUnits = new Array;
timeUnits['minute'] = 60;
timeUnits['hour'] = timeUnits['minute'] * 60;
timeUnits['day'] = timeUnits['hour'] * 24;
timeUnits['month'] = timeUnits['day'] * 30;
timeUnits['year'] = timeUnits['day'] * 364;
var timeUnitOrder = ['year', 'month', 'day', 'hour', 'minute'];
function relativeDate(date)  
    var now = new Date();
    var offset = date.getTime() - now.getTime();
    var seconds = Math.round(Math.abs(offset) / 1000);
    var ret = "";
    var shown = 0;
    for (i = 0; i < timeUnitOrder.length; i++)  
        var unit = timeUnitOrder[i];
        if (seconds >= timeUnits[unit])  
            var num = Math.floor(seconds / timeUnits[unit]);
            seconds -= num * timeUnits[unit];
            if (ret)
                ret += "and ";
            ret += num + " " + unit + (num > 1 ? "s" : "") + " ";
            if (++shown == 2)
                break;
         
        else if (shown)
            break;
     
    if (! ret)
        ret = "less than a minute "
    return ret + (offset < 0 ? "ago" : "from now");
 

Russell Coker: The Next Miserable Failure?

Until very recently I thought that it would be almost impossible to get someone worse than George W Bush as the leader of any significant country. Unfortunately it seems that I was wrong and John McCain and Sarah Palin promise more of the economic, regulatory, and military disasters that are the trademarks of the US Republican party (or at least the dominant Neo-Con branch). Here are some links about John McCain: Here’s a good summary of the racial issues in the current US presidential campaign (This is Your Nation on White Privilege) [1]. The Obama campaign is highlighting the connection between John McCain and Charles Keating [2]. McCain was one of the senators helping Keating while his bank (the Lincoln Savings and Loan Association) was going under. In the end 20,000 people lost their savings and the US taxpayers ended up losing $120,000,000,000. Frank Rich has written an article for the New York Times about the racist attacks on Barack Obama [5]. The current actions of the McCain campaign only barely stop short of calling for an assassination. The South Florida Times has an interesting article about the McCain family’s history of slave ownership [7]. Now John McCain is not responsible for the actions of his great-great-grandfather in owning slaves, and there’s nothing wrong with having black relatives who are the descendants of some of those slaves (even though there is doubt about whether the female slaves were legally adults or even consented to the sex acts in question). But he should be honest about it. Denying having non-white relatives in the face of the facts seems to be strong evidence of racism. It is however understandable that John doesn’t want to discuss the fact that some of his relatives have announced plans to vote against him. Rolling Stone magazine published an interesting article about John McCain’s history as a spoiled brat in the navy [10]. It seems that if your father is an admiral you can ignore orders, crash planes, and basically do whatever you like. It also reveals that John was broken by the Viet Cong torturers and provided the name of his ship, the number of raids he had flown, his squadron number and the target of his final raid. I’m not going to criticise John for breaking under torture - I think that the assessment of wing commander John Dramesi (who was tortured by the same Viet Cong torturers but didn’t break) should be accepted. John Dramesi says that McCain “wasn’t exceptional one way or the other” while in captivity. However McCain’s use of his former POW status in propaganda is quite dishonest. John McCain is also documented as having described his wife as a “cunt” and a “trollop“. Here are some links about Sarah Palin: Former US Army Brigadier General (retired) Janis L. Karpinski writes about Sarah Palin [3], it’s interesting to hear what an intelligent female soldier has to say about her. One thing that I found noteworthy was the repeated references to “murdering” wild animals, shooting at a defenseless animal is of course quite different from shooting at a person who can shoot back (and different again from commanding an army). Janis also makes reference to Sarah setting the feminist cause back decades - I think that is what Sarah desires though. Also Janis points out the emotional problems for which pit bull terriers are known. There are many claims that Sarah is a “Maverick” and has a record of opposing corruption. This article in the Village Voice documents some of her corrupt activities - including having her home built for free in exchange for assigning the contract to build the Wasilia ice-hocky rink [4]. Thomas L. Friedman has written an article about Palin’s Kind of Patriotism [6]. According to Sarah it’s not patriotic to pay taxes, it seems to me that encouraging citizens to disobey the law should disqualify her from being elected without all the other issues. Thomas notes that Sarah is promoting the interests of Saudi Arabia by prolonging the US dependence on oil imports. The Huffington Post has an interesting article about Sarah Palin’s church [8]. It’s strange how little notice has been taken of Sarah’s former pastor who stated that people who didn’t vote for Bush were likely to go to hell. The Times has an article about “Troopergate”, some of Sarah Palin’s other corrupt practices, and the role of her husband as a shadow governor [9]. Update: Corrected URL [6].

David Welton: Programmer Fuel

I can't stand the taste of coffee - neither American, nor Italian - it all tastes like dirt to me. Programmer Fuel However, I too occasionally need a kick to keep me going even when I'm tired, and I've found just the thing here in Austria. Red Bull is the most famous Austrian "caffeine/energy drink", but they also have a variety of similar products, which sell at lower prices. Recently, I noticed that you can even get the stuff in 1.5 liter bottles, rather than the more expensive 1/4 liter cans. Be careful though: I had a bit too much the other day, and my wife had to detach me from the ceiling. If I had a good head for business, I'd find a way to make money exporting the stuff. At a bit more than a Euro per liter, it's way cheaper than expensive cans of Red Bull.

Jaldhar Vyas: Plumbing the Depths

Wow this Joe the Plumber phenomenon really seems to have Democrats spooked as they are now scrambling to find any possible dirt on the guy who dared to question Dear Leader. One might think people with a solid 6-10% lead wouldn't need to be so desperate but Adam is probably well aware of the Democratic partys penchant of snatching defeat from the jaws of victory. A lot of these progressive types are still nursing resentment for the "swiftboating" of John Kerry and wary that it will happen again so todays strategy is pre-emptive douchebaggery before Karl Roves evil minions can sully the pristine reputation of their fair candidate. What they don't realize is that calling Kerry an America hating traitor worked because there was reasonable evidence that he threw his medals away, and made speeches denouncing his country which are typical of acts people associate in their minds with America hating traitors. The 527s exaggerated but the exaggeration would not have worked if there was not an element of truth behind it. Now no one is disputing that Obama actually did make the "share the wealth" remark. Whether the person he said it to is a republican plant or some other sort of nogoodnik is immaterial. Obama is a redistributionist and that is precisely the reason why liberals want to him to be president. And how pathetic is the "dirt"? He owes backtaxes? Gee I wonder why someone who already owes money would be apprehensive about having to pay more? A lot of people owe money at one time or another and even have liens placed as a result. Perhaps it is relevant to mention that for someone in public office (like oh, say, Charles Rangel who I'm sure Adam will discuss in his next post.) but for a private citizen? Isn't that one of the "chilling effects on free speech" we were going to be subjected to in Bush's America? The other one one was how is not a real plumber. Apparently he is not licensed but, sit down for this one, it is actually possible to do work without a piece of paper from the government. Really! I've seen it happen. Is it always a good idea to ignore licensing regulations? Well they often serve to protect the public from malpractice but then again they often prop up cartels. Here in the NY/NJ area plenty of people of all political persuasions seem to be willing to take the risk of hiring unlicensed plumbers and other tradesmen because at the end of the day, it's the, you know plumbing, that makes you a plumber nothing else. And none of this has any bearing on Obamas policies or what they mean for America. So if you like socialism and think its what America needs, feel free to make the case to the voters and perhaps they will agree with you or perhaps not. But stop with with the ad hominems against people who point that out.

16 October 2008

Adam Rosi-Kessel: Joe the Plumber isn t a plumber?

I haven’t been blogging this election at all recently — there are enough folks out there saying just about everything that should be said (and lots that shouldn’t), but I couldn’t let this little tidbit slip by without mention.Via the TaxProf blog: Also, the Trademark Blog notes the flurry of related domain name registrations. Technorati Tags: , , , ,

Cyril Brulebois: Programming 3D apps 101

Learnt today: Don t use printf() debugging within 3D applications. At least, not with \n. Some figures follow. First case
while (!viewer.done ())
 
  viewer.frame ();
  printf(".");
  /*   */
 
Gives roughly 75 FPS. Second case
while (!viewer.done ())
 
  viewer.frame ();
  printf(".\n");
  /*   */
 
Now gives roughly 35 FPS. What Yes, >50% performance hit due to newlines. By the way, the OpenSceneGraph 3D framework is very pleasant to work with, and pretty well documented. Could almost make coding in C++ enjoyable. Almost.

Petr Rockai: adept 3.0 beta 4

I have released fourth beta of Adept today. For the unaware, Adept is an APT front-end for KDE: it lets you install, remove, upgrade software and such your Debian and Kubuntu boxes (and maybe on some other Debian derivatives, too). Changes since Beta 2 Since I have done beta 3 somewhat in a hurry, I have regressed the installer component badly — to point of complete unusability. However un-sound software engineering practice, the deep freeze for Kubuntu Intrepid hits today, so I have released beta 4 in rapid succession. Other than the regression fix, I have mostly reworked the paging implementation in the installer — however, the report of complete installer rewrite (hi Jonathan) is somewhat exaggerated. Sadly, the KPageWidget we have been using before turns out to be completely unsuitable for the job, so a quick rewrite probably fixed more issues than it caused (and this seems to be confirmed by early testing feedback). Moreover, this beta got a bunch of improvements to the search, including package name hits, a set of cosmetic improvements (button icons, nicer sidebar, etc.) and a button to run software-properties-kde from the Sources tab (works on Intrepid, but sadly breaks on Debian for now… will fix later. Need time, need sleep.) Where to get I have prepared binary packages. These should be now part of Debian Sid (unstable) and also of Kubuntu Intrepid. You should be able to get the new version from your distribution:
apt-get install adept
Again, as with beta 2, there is no Hardy backport, since my time is tight. If anyone is willing to do a backport please drop me a note: I will gladly publish installation instructions. Heroes of Beta 4 Jobs for Beta 5, RC and Final Mostly just testing and reporting bugs. I currently plan a beta 5 with a few fixes that have started accumulating since beta 4 already (mostly one-liner fixes with minimal risk of regressions). After that, an RC is in order and a final release (finally…). Notifier is not included. Kubuntu has an independent sort of notifier now, I believe. Maybe I’ll find time to reconcile it in 3.1 or so. Moreover, I assume that a beta 4 or a very minorly patched beta 4 will become part of Kubuntu Intrepid — there should be no major roadblocks left, so I hope everything will bode well for Intrepid. I assume that whatever becomes 3.0 final will be eventually included in Intrepid updates. And then, plans should be set forth for 3.1… Known issues The about dialog still says beta 2. Bummer. Please try to note in your reports that this is actually a beta 4 that you are using. I’ll make sure beta 5 fixes that — but it might be another week till then, or so. The Intrepid version should have that fixed, thanks to Jonathan Thomas (again).

Biella Coleman: Geeks and the Other Sex, again

I know this is on Planet already BUT I need to keep it for my own records on hacker humor (I have a chapter on this in my book) and well, it is good enough to have it show up 2x:
I occasionally send quotes that make me smile to Joey, but this time I can’t resist circulating it more widely… >
> Marek Vasut (1):
> i2c/tps65010: Vibrator hookup to gpiolib Guys, I know we geeks aren’t known for our sex-life, but do we have to
make it so obvious? (Linus Torvalds)

Biella Coleman: Geeks and the Other Sex, again

I know this is on Planet already BUT I need to keep it for my own records on hacker humor (I have a chapter on this in my book) and well, it is good enough to have it show up 2x:
I occasionally send quotes that make me smile to Joey, but this time I can’t resist circulating it more widely… >
> Marek Vasut (1):
> i2c/tps65010: Vibrator hookup to gpiolib Guys, I know we geeks aren’t known for our sex-life, but do we have to
make it so obvious? (Linus Torvalds)

Adrian von Bidder: Geeks and the other sex?

I occasionally send quotes that make me smile to Joey, but this time I can't resist circulating it more widely...
> 
> Marek Vasut (1):
>       i2c/tps65010: Vibrator hookup to gpiolib
Guys, I know we geeks aren't known for our sex-life, but do we have to 
make it so obvious?
(Linus Torvalds)

Next.

Previous.