Search Results: "evo"

21 December 2005

Christian Perrier: DADVSI debates

The Web site of the French Parliament features the full transcription of the debates about the DADVSI bill. For those of you who can read French, I suggest you have a look at it. I suggest you look at the speech by M. Christian Paul who gives a very good argumentation about why this text is EVIL. In the text, "M. le Ministre", is Renaud Donnedieu de Vabre, the Ministry for Culture and Communication of the government headed by Dominique de Villepin (hey, we should tell these guys that the French revolution was over 200 years ago!).

Joey Hess: PhatNoise Music Manager

Why do prioprietary pieces of software often have names like the above? (Other examples: Macromedia Flash, Chipmunk Scripts Guestbook, Mojo Mail, PeopleSoft PeopleTools, Golden FTP Server Pro, Invision Power Board) A walk though the CVE lists will turn up hundreds of hilarious examples of similar names. It's easy to guess whether a given security hole in that list affects Debian based just on the form of the software name even if one has never heard of the program before. Even free software projects that seem to partake of a proprietary mindset show it in the names: Mozilla FireFox, OpenOffice, Mozilla Thunderbird. So different than w3m, vim, mutt. A whole pile of history, cultural, and, I imagine, linguistic difference. Even if at first saddled with such a name, many free software projects seem to evolve in the other direction: Debian Installer -> d-i, X Window System -> xorg. As someone who can't name software, I find this strangely fascinating.

15 December 2005

Ross Burton: EDS DBus vs CORBA

Ah, Novell have released an initial report comparing the DBus and CORBA ports of EDS. As the author of the DBus port, I should make some observations. The incorrect reporting of large numbers of contacts in a book view is very odd, and I've not seen that before. I'll try and replicate that locally, I did change some message limits so maybe they are being hit. Occassional dbus_g_proxy_cancel_call assertions are known to happen. I've a potential fix locally, but it requires a patch to DBus, which hasn't been committed yet. Now to the benchmarks. The primary optimisation target for my work has been in the book views, as these are the primary bottleneck in a real-world application. This is visible in Test 1, where the DBus port takes 17 seconds compared to 72 seconds for CORBA. A number of the optimisations I've made can be applied directly to the CORBA code too, and are currently sitting in Bugzilla. Test 2, calling e_book_get_contacts() is interesting. It may be that verbose mode is enabled in DBus, which has a serious performance impact on large messages (and this is a very large message). Alternatively this difference may simply be due the message bus, which adds a layer of IPC (and thus string copies) which CORBA doesn't have. As very few real-world applications (I'd say none) use this function (it blocks the interface unlike book views which are asynchronous), this isn't a very meaningful benchmark in the scheme of things. For the calendar, there has been no performance turning done at all. It's known that the calendar port to DBus isn't quite complete, and needs cleaning up and performance work.

Ross Burton: Contacts

We've just open-sourced Contacts, our light addressbook that uses Evolution Data Server as a backend. Although it was designed for handheld devices, its very usable on desktops too. Chris Lord, who wrote it in the summer whilst interning at Opened Hand, has more details and screenshots.

13 December 2005

Gunnar Wolf: DebConf6 in May - Why?

I see that plans start getting ready. Bubulle is coming, Wouter is not, and people will soon start getting their plans ready. I am quite excited about it! Of course, I need to devote more time to it, which is hard to me - but I will do it. Oaxtepec rules, you will _love_ the place. I went there again to spend a weekend with Nadezhda - Took some more photos, added them to the album. Debconf guys: Yes, I owe you a full report... It will come. Soon. Promise.
Anyway... I'm excited. Debian friends, Mexican interested friends: What are you waiting for? Join us! Register!
[update] Well, I published this entry, but then realized I wanted to answer to Wouter's question: Why in May? ;-)
First of all, weather: The weather is plainly better in May. Somewhat warmer... The rainy season starts in May/June, but believe me, you don't want to have your laptop out during Morelos State's well known thunderstorms!
Second, I fear of political instability. Next July we will be having our federal elections. We don't anticipate instability such as what we had in 1994 (which, please you all be quiet, didn't even mean violence in the streets), but still... It's better not to have Debconf too near the elections.
Third, prices - Most places are noticeably more expensive during Summer.
And, yes, I know some people will not be able to attend... I am sorry to learn you are one of them. Still, I'm sure some other people would not be able to make it in July.

Matthew Palmer: Diversity in Revision Control

Josselin Mouette has thrown down the gauntlet -- Subversion is the One True Revision Control System and we should all just Stop Worrying and Learn To Love The Handcuffs. In particular:
[...] just use subversion, and if you feel it's missing features, please contribute them. By standardizing on subversion, we lower the barrier for people wanting to contribute, instead of increasing it by asking them to install and understand new tools.
Quick thought experiment, Josselin: replace "subversion" with "Java". Or "Perl", or "C", or even "Python" or "Ruby". Or any other language. It doesn't matter which one. Even if the language you substitute is a good one, and one you happen to like, it's still a fairly obviously braindead idea -- that there can possibly be One True Programming Language for all problems, and that there can never be any improvement that can't be bolted into the existing OTPL. Revision control isn't so much different from programming languages. Different systems will provide different advantages and disadvantages. There's also incremental and revolutionary improvement that will take place over time -- machine code to symbolic to procedural to object oriented -- that can never take place within the established framework. I happen to really like the distributed model -- it reduces (though, naturally, cannot eliminate) the division between the Blessed and the Peons in a project (those with direct commit access vs. the rest of us). You can get disconnected operation for (almost) free. Also, despite the assertions contained in your article, the "barrier to entry", ironically, is actually lower with a good distributed RCS than with Subversion. The barrier isn't what you think, though -- sure, using an unfamiliar RCS is troublesome, but it's a lot less hassle than learning a new language, and people do that on occasion to hack on a particularly interesting problem. The real barrier to entry is forcing anyone who isn't blessed with direct access to The One And Only Repository to use inferior development support tools. "An example!" I hear you cry. Gladly. This morning (literally) I got enough of a handle on the internals of Ruby on Rails to actually track down a bug that was irritating the crap out of me. Being a good developer, I wanted to use revision control to track my changes. In the All Subversion, All The Time "utopia", that would involve getting an anonymous checkout, making a copy, hacking on the copy, then (when all was done) running diff -urN between the original and the copy, and sending it all upstream with a manually-created log message (assuming I could remember everything I'd done). You also need to manually remember (or encode it in your directory or something) the source of your tree, so upstream can merge it reliably (and compare it against other equivalent work that may have been done in the meantime). Doing it better, I could do an anonymous checkout, and then import it all into a new Subversion repository (or directory) of my very own, and hack on it in there. Benefit: revision control of my changes. But it's non-trivial to create a new repo and import everything into it, and there's still no automatic record made of the upstream source of my new repo. Wanting to make a second change is even worse -- I either have to make a whole new copy of my source tree (disk is cheap, but this is getting silly) or just keep forging ahead with changing my existing tree -- so this second set of changes can end up being dependent on the first (which is Not So Great if upstream don't merge your first patch). In the "new repo" scenario, you can branch from the root of your new repo and continue hacking on your newly created branch, which is a good start, but it's still icky. And good luck having the system track new commits from upstream while you're working, too. If the project was using a DRCS, in contrast, the problem would reduce to making a branch into your local archive, hacking (committing at will), updating with new upstream commits as you go along, and then publishing your changes to a public place for reintegration (or, in some cases, sending your changeset via e-mail). Oh, and before anyone starts screaming "if anyone can branch, it will encourage forking!", consider which is more likely to result in a permanent fork (rather than a temporary independent line of development): a local set of changes in a tarball or local subversion repo, both of which are hard for anyone else to collaborate on without major pain; or a branch in a simple-to-publish (or push) designed-to-be-shared DRCS archive, which automatically keeps all of your interesting metadata intact and coherent across archives, merges, time, and space (and possibly even dimensions). This utopia doesn't really exist, and is hampered by everybody having their own Pet DRCS, but the problem, I'm fairly sure, is transient, and my main point isn't even so much against the choice of Final Ultimate Solution, or even the problem space, but more about the attitude that everyone should get behind Any One System and stay there. I can't imagine the world of pain we'd be in if Josselin had posted his message a few years ago (but with s/subversion/CVS/i, naturally) and everyone had followed his advice -- can you imagine per-file changesets with no effective merge capability for the rest of eternity? <shudder />

11 December 2005

Jose Carlos Garcia Sogo: Social Network a.k.a. Web 2.0

There have been a lot of hype lately about Social Network or Web 2.0. Of course this is not anything new, but a translation of natural social relationships to the network. Haven't you ever showed your travel photos to your friends or family? Well, in an exercise of exhibitionism you can now show them to the World using a tool like Flickr. Yeah, you could show them before using your blog, which it is also a way of Social Network, but now you can see not only your friend's and family's photos, but a set of them made by people from all around the globe. At the same time, you can still publish your thoughts in your blog, and read other people's thoughts in these different Planets or using an RSS aggregator. Was blogging what started all this? Well, talking with a friend of mine the other day we realized that the impulse of publishing in people is amazing. Before blogs started to exist everyone wanted to have his own personal webpage in Internet. And the revolution was GeoCities. With it anybody could publish his homemade webpage... which usually was a webpage talking about a hobby, or the family, with different links, but few live content. People want to share... want to share experiences, photos, ideas, bookmarks, ... want to talk with friends and family, wherever they are, and this is why IM now (and VoIP in a near future) have had so great success. First half of the 21th century is going to be voyeurs epoch!

Philipp Kern: Another NM lost

I seriously tried to persuade Thomas Hood to revoke his withdrawal from NM, but he made it official now. According to him, both his current (formorer aka Alexander Wirt) and his former AM seem to have lost the AM correspondence with him. So we just lost another NM due to Debian’s bureaucracy. Normally he should have contacted the Front Desk to just get a new AM, but this already was his second.

1 December 2005

Daniel Burrows: Linguistic Contortions

I thought I had seen everything when it came to ways of resolving the problem of gender-specific pronouns in English. But on the way back from Wisconsin yesterday, I read a copy of David Brin's Sundiver (otherwise an interesting story) and was proved wrong.

Usually the problems you run into with English revolve around the pronoun he: its use in a gender-ambiguous context is disputed and there are various ways of avoiding it. The word man has similar problems, although it's a lot easier to find acceptable gender-neutral replacements. But in this story, Brin actually used man in situations where the person indicated was known to be female! This leads to such eye-popping lines as:
He took her arm and introduced her to Fagin and Jacob.

Sophonts, this is Helene deSilva, Confederacy Commandant here on Mercury, and my right-hand man. ...
And if that doesn't strike you as odd, here's my personal favorite:
Occasionally a man, male or female, would lean forward and peer at some detail on a screen, ...
Ow! I had to read that sentence three times before I was sure I hadn't mistaken the words.

28 November 2005

Sergio Talens-Oliag: La MaratOO'o 2.0.1

I've been all this weekend on the Computer Science Department Labs as the owner of the keys. We have celebrated for the second time this year a MaratOO'o, a work meeting to fix and review the Catalan translations of OpenOffice.org. Last February we had other meeting that was devoted to translation, but this time it has been more a review thing. The meeting has been organized by Softcatal , a non-profit organization devoted to promote the use of Catalan on the IT world. They do a lot of l10n work for a lot of Free Software projects and had developed a set of tools for translators, including a style guide, something I believe is really important and I miss from other l10n teams for other languages like Spanish. While I don't translate (I'm very bad at it), I belong to the organization because of jordim and jcorrius, as they convinced me to help them organize the previous MaratOO'o (for this one it was jordi the one that convinced me). I believe this second session was good, I have not seen a single .po file, but I've helped with the migration of services from the old Softcatal to a new one. They have a lot of things configured in weird ways and the migration has not been really planned (I don't understand why some services were moved this weekend when there were 30 people using them), but probably is not strange as it seems that none of the people with admin rights on the machines has worked as sysadmin and they don't care much a about it, so things seem to be done and left alone once they work, but for a migration like the one they are doing, with a lot of program upgrades, the configuration of each service has to be reviewed or things break easily. On the L10N front it seems that things went well, we had near 30 people translating during two days and that means that all the program localization has been reviewed and some of the help files have been translated also, so we will probably have a better Catalan langpack for OpenOffice.org soon and maybe the help files also will be available. I was going to include a photo on this post, but jordim told me he was going to use it on his blog, so use his bandwidth if you want to see the people that was on the lab before we left (I'm not there, as I'm the one that took the photo).

24 November 2005

Antti-Juhani Kaijanaho: Cally s War by John Ringo and Julie Cochrane

There’s a reason why I’m going through Baen’s pile of published books. He is the only publisher I know who gets ebooks, I mean really gets them. (Virtually?) all of his catalogue is available in ebook form – with no Digital Restrictions Management! – for a reasonable price, and quite a few are available for free in the Baen Free Library. You can read these books on the browser, or download them to your PDA, whatever works for you. Naturally, you can always buy a dead-tree version, instead. I figure, this publisher is worth the money I pour at him, and hence I pour it in quantity. This is my explanation for having expended six euros for the following ebook. Cally’s War by John Ringo and Julie Cochrane is a sequel to a four-book trilogy by the first author. The trilogy is heavy-duty military science fiction, telling an excellent version of the “aliens invade Earth” story. Cally’s War is set forty years later, and features a minor supporting character from the trilogy as the main character. By the start of the book, Cally is an assassin working for a secret society which wages a secret war against the galactic domination of the Darhel species. The plot of the book revolves around the threat of the secret society being exposed to the opposition, and Cally’s mission in this book is basic counterintelligence: find out the mole and destroy it. However, it would be wrong to think that this book tells an espionage story, or that the counterintelligence plot is integral to the book: the plot is weak, mainly serving as a thin connector between episodes involving Cally’s personal life, or the lack of it, and her sex life (from whose lack she does not suffer). This book, however, seems to suffer from the lack of an editor. There are good ideas, and the storytelling is okay, but to make a really good book, the authors should have regarded this version as the first draft to be thrown away – and rewritten the book completely. There is really no unity in the story, and several good themes worthy of exploration are just skimmed. It is obvious that Ringo did not contribute much prose to this book: the bad politics rants are conspicuosly absent. I think I would have enjoyed the book more had Ringo actually written more of the book, even if it meant suffering through new pro-Bush rhetorics. I suppose this book could work standalone, that is, it does not depend on the reader having read the previous books. On the other hand, there is very little that speaks for reading this book at all, except that it continues the story started in the four-book trilogy. I appreciated the story as a continuation of Cally’s arc, and some of the sex scenes were fun to read, but otherwise it left me wanting. I rate this book 4/10.

Andrew Pollock: [life] My E-3 visa experiences

I've already fielded enquiries from two people who have found my blog via Google, and given the 10,500 visas a year being issued, there's only going to be more, so in the interests of not spending too much time answering questions individually, I'm going to write a detailed account of things. Disclaimer: This article is not a replacement for doing your own homework. I expressly disclaim any responsibility for you getting your visa application denied, being cavity searched when you attempt to enter the US, or being sent to Guantanamo Bay. In particular, this information is subject to change, and as I'm not applying for a new visa every day, I'm not going to know about the changes. If you find something here that is blatantly wrong, or out of date, please let me know, but at the moment, I'm writing about my experiences. I'm undecided about maintaining a website devoted to capturing the state of the art in E-3 visa applications. If in doubt, spend the money (and I do mean spend, it's not a cheap phone call) and call the information line - 1902 941 641 - to speak to a human being, and ask all the questions. Resources What's the process? Your potential employer (sponsor) needs to file a Labor Condition Application (see the form here). At present, this form hasn't been brought up to date with respect to E-3 visas, it's the same form used for H1-B visas. Your employer needs to have written at the top of each page "E-3 - Australia - to be processed". This bit of handwriting is apparently key. You need to have the signed LCA in your hot little hand before you roll up at the US Consulate to apply for your visa. As for how long these take to be processed by the Department of Labor, the FAQ says a week for postal applications. From my experience, and the experience of a couple of other people I've spoken to, it takes anything up to about four weeks. Generally speaking, you do not have to concern yourself with the LCA process, unless for some reason, you're sweating on the LCA so you can apply for your visa. My personal opinion is that the whole process is so long, bureaucratic and unpredictable, that you really don't want to be making any firm plans based on any assumptions on when you think anything is going to happen. Start your planning from when you have been issued your visa, not when you expect you will be issued your visa. Once the LCA has been issued, your sponsor will send it to you along with a wad of paperwork, most of which you just take with you to the consulate. You can make an appointment online. Paperwork-wise, you need to take a completed DS-156 and a DS-157 if you are male between 16 and 45. These forms are available here. You can make an appointment online, the links to make an appointment at each of the US Consulates are also here. I found that the lead time to an appointment was around a month, so if you know the LCA application has been made, you can probably make the booking at the Consulate, so as to try and parallelise things a little bit. What do you need to take to the interview? You need to take your completed DS-156 and DS-157 forms. You need one for each person. So if you are the principal (i.e. the person being hired), you need a DS-156 for yourself, and your spouse, and whichever of you is male needs a DS-157. Bring the sponsor's offer letter too. You need a receipt for a non-refundable visa application fee. You need one receipt per person applying for a visa. You get these receipts by paying $130 per person at any Australia Post outlet. As the visa is non-immigrant, you need to be able show some sort of ongoing connection with Australia. If you own property here, and are planning to continue owning it while in the US, bring a rates notice. I don't know what else is useful to demonstrate an ongoing connection. Also bring a bank statement, as you need to demonstrate an ability to support yourself while in the US. Bring birth certificates and marriage certificates. Also bring a copy of your University transcript, and any assessments that your employer may have had done that state that you hold the equivalent of a US degree. I'm not sure how hard and fast the whole degree thing is. I have an incomplete degree and about 10 years of work experience. This was sufficient. I don't know how you'd go with absolutely no degree and lots of work experience. Finally, you need to bring two US-sized passport photos. These are 5cm x 5cm, which are not what your average passport photo is like if you go somewhere and ask for a passport photo. Processing takes about 3 days, although you get an indication on the day as to whether you are successful or not. If you don't want to come back to collect your passport with the visa in it, you need to leave sufficient stamped, self-addressed envelopes so that the Consulate can mail the passports back to you. It's a bit hazy as to what constitutes 3 days, but assume 3 full working days, plus whatever time it takes for the postage, so up to 5 working days. Good luck with your visa application. Let me know how it goes, and if this has been of assistance.

Erich Schubert: Wikipedia wasn't really new - so what is the difference?

Wikipedia wasn't really "new". Wikis have been around before. There were a dozen of encyclopedia attempts around (although maybe not using a wiki, and usually more focussed around a specific field of knowledge), there were huge collaboration applications. I think that Wikipedia just offered the right options for the users at the very right moment, when this "revolution" - people not using the web as a way to 'download' content as much, but to actually publish their very own stuff, taking over content production - was just kicking off, without being too fragmented yet. Today, you'll find dozen of "encyclopedias" for specific parts, who somewhat try to copy the success of Wikipedia, but which maybe was so successful because it didn't put up much restrictions on what it was to be used for... As for the "not new" part - take for example a look at DMOZ.org, which is for example used by Google as datasource for Directory.google.com. This has been around for years (since 1995?), 5 Million verified Links in there, 70k editors just to verify and organize the links (many just taking care of a small part like the links for their home town), and everybody can submit new links. I started being an editor when it had around 2 Million links, and "timed out" due to inactivity when it reached 3 Million. I have the impression (partially of course to the success of search robots like google, who have also "ruined" the directory business for e.g. Yahoo) that growth slowed down horribly the last years a lot. Although the level you could contribute wasn't that different from what e.g. Wikipedia offers. On the one hand it's a shame that great projects like DMOZ get so little attention, but on the other hand e.g. Wikipedia is fantastic, and I'm happy that many people have realized that they can be an active part of the web, not just a content consumer. That there is more to the web than to share music and access pr0n^Wcommercial websites.

22 November 2005

Ian Murdock: The writable web

Who says a web-based office suite doesn’t make sense? I’m writing this post in Writely, a web-based word processor that supports posting to weblogs (complete with preview mode) as well as real-time collaboration, basic document management, and several other very nice features. It even does auto-save, and there’s a spell checker too, complete with squiggly lines underneath misspelled words. I decided to give Writely a try after Steve Rubel explained how he uses it to draft blog posts, thinking it might make a nice alternative to the antiquated TEXTAREA widget that is, remarkably enough, still the primary interface for editing the web after all these years. Now that I’m using it, though, I’m beginning to see how it could grow into more than that, at least for me. Sure, it’s fairly simplistic, but it does all the basics reasonably well, so that’s actually a feature (Steve says: “Think of it as Microsoft Word for the Web - except with just the parts you need!”). Combine that with the ability to access my documents from any computer, as well as the collaboration facilities (which look interesting and appear to go above and beyond the heavyweight email-based collaboration features found in more traditional office suites, though I haven’t tried them yet), and I’m intrigued. Now, if there were only a Writely component I could include in other web applications, or maybe even graft in as a substitute for the TEXTAREAs on arbitrary webpages using some sort of Firefox extension or Greasemonkey script. I’d love to see support for the Open Document Format too, so I could use Writely as a sort of document store and pass documents between thin client and fat client seamlessly. Then we’d be getting into really intriguing territory. (While I’m at it, a way to pull down the templates and style sheets from my weblog for a true WYSIWYG editing experience would be very nice too. Heck, as long as we’re thinking outside the box, why not just allow me to edit the page directly?) (As I’m writing this, I can’t help but think of the Innovator’s Dilemma, i.e., market leaders continuing to stuff more and more features into products that fewer and fewer people actually need to fuel the relentless drive upmarket, opening themselves up to attacks from below by providers of “good enough” products..) Update: I couldn’t get the blog posting feature of Writely to work, so I ended up copying-and-pasting the HTML into Wordpress. Oh, well. On a brighter note, while I was fiddling with the blog posting feature, CNET News.com reported that Writely is adding support for the Open Document Format and intends to add support for PDF too. Suite!

Sam Hocevar: Suspicious Activity? Indeed

The Bad Plus I spent the whole weekend looking for a DRM-encumbered Sony CD so that I could check for myself whether my code was really being redistributed without permission. I eventually found one: Suspicious Activity?, by The Bad Plus. A rather enjoyable post-modern jazz album. I am rather lucky, it could have been C line Dion. As expected, installing the CD s custom player also installed a stealth aries.sys driver along with a few other interesting files such as $sys$DRMServer.exe, all hidden in a $sys$filesystem directory. I rapidly got rid of this cruft and started studying the really important file, ECDPlayerControl.ocx. It is the file Sebastian Porst and Matti Nikki found to be containing parts of mpglib, LAME, faad2, VLC... Suspicious Installer? Evidence that the DRMS code comes from VLC There are of course obvious similarities between some functions and structures of ECDPlayerControl.ocx and the ones in VLC s source. However, given how precise the implementation of a cryptographic protocol needs to be, the possibility that two separate implementations show many similarities must not be dismissed. The data structures and constant tables especially are likely to be identical. I think however that I found strong enough evidence that this is not the case here. The original drms.c was written by Jon on 01/05/04. I then hacked on that file on 01/18/04 and reorganised it, also replacing the reverse-engineered MD5 and AES functions with clean implementations, then Jon added DRMSv2 support on 05/05/04 and I reorganised the code again on 05/08/04. Some of these changes were specific to VLC (not in that they made the code unusable outside of VLC, but rather that they made it possible to use an external MD5 hash provider, for instance), so they were the bits I was looking for in ECDPlayerControl.ocx. For instance, Jon s original code had the following instruction:
p_acei[ 4 ] = 0x5476212A;
Since all bytes of this long word are comprised between 0x20 and 0x7f, it was later rewritten like this:
char p_secret1[] = "Tv!*";
This change makes the code more human-readable because many other secrets in the Apple DRMS protocol are ASCII strings. Also, I know how to look for binaries that use the string "Tv!*", but it takes me some more time to think of a way to find binaries that use 0x5476212A. And the Sony rootkit uses the following (only relevant lines shown):
 .text:100883B8   mov   cl, byte ptr ds:xxxxx+4 ; 0
 .text:100883C2   mov   eax, dword ptr ds:xxxxx ; "Tv!*"
 .text:100883C8   mov   [esp+70h+yyyyy], eax
 .text:100883DC   mov   [esp+7Ch+zzzzz], cl
The use of xxxxx+4 shows that ECDPlayerControl.ocx uses a string instead of a 32 bits integer to store the secret, disregarding the fact that the 5th character of the string (a null char) is never used. Another example: in this commit I reorganised the DoExtShuffle() function, merging FourthPass() and FifthPass() and discarding a structure allocated on the stack. What is important here is that DoExtShuffle() was built by a complex combination of choices, the main purpose of which being to reduce the size of the C functions:
 static void DoExtShuffle( uint32_t * p_bordel )
  
     uint32_t i_ret;
     i_ret = FirstPass( p_bordel );
     SecondPass( p_bordel, i_ret );
     ThirdPass( p_bordel );
     FourthPass( p_bordel );
  
Note how i_ret is not reused and could be merged into the p_bordel array, or maybe SecondPass() merged into FirstPass(). This choice is definitely a legacy of how the code evolved. And the Sony equivalent: a perfect match.
 .text:10089F3C xxxxx:
 .text:10089F3C   mov   ecx, esi
 .text:10089F3E   call  yyyyy
 .text:10089F43   push  eax
 .text:10089F44   mov   eax, esi
 .text:10089F46   call  zzzzz
 .text:10089F4B   add   esp, 4
 .text:10089F4E   call  ttttt
 .text:10089F53   call  uuuuu
After having studied the Sony code for a while, I have of course gathered dozens of such examples. But I also discovered a few new things. Where does the DRMS code come from? The code undoubtedly comes originally from VLC, but it has traveled a lot. I would be surpried if it came directly from VLC, as no other part of VLC is included with the rootkit. And although there are parts of FAAC in the Sony code and FAAC includes VLC s drms.c, the version currently in the FAAC CVS is horribly outdated. Sebastian Porst also noticed a few obvious differences between the Sony code and the version of drms.c present in VLC. The most obvious being this one:
 if( p_shuffle->i_version == 0x01000300 )
  
     DoExtShuffle( p_bordel );
  
Which became:
 .text:10089F2E   cmp   eax, 1000300h
 .text:10089F33   jz    short DoExtShuffle
 .text:10089F35   cmp   eax, 1000400h
 .text:10089F3A   jnz   short skip
 .text:10089F3C DoExtShuffle:
 .text:10089F3C   ...
 .text:10089F58 skip:
 .text:10089F58   ...
That 0x01000400 is a version check for 4th generation iPods firmwares. I also discovered at least 40 KB of new lookup tables that seem to be used for more buffer shuffling. At first I thought it was simply F4I s DRM implementation, but the shuffling calls are nested with iPod hardware information retrieval from our DRMS code, so they re really part of drms.c. Sony distributing a DRMSv3 descrambler? The only explanation I can think of is that someone took the VLC code, added support for an upcoming Apple DRMS format version and redistributed the software without letting the VLC authors know, probably violating the GPL (I only say that because I have not found the software yet, but I feel pretty safe in saying it). Since it is based on GPL software, I was already entitled to ask Sony for the source code of ECDPlayerControl.ocx. But as the copyright holder of a significant part of the software they counterfeited, maybe I have a greater chance of being heard. Not that it would be difficult to reverse-engineer it yet another time, but it would be awesome if the next opensource iTunes Music Store file player was contributed by Sony!

21 November 2005

Robert McQueen: When exactly is week 1 of 2006?

According to Jeff, I’ve become a smelly Nokia contractor (the reason he stayed with Luis instead of at Mako’s place in Boston, although I’m sure he was referring to Rob Taylor causing the smell). Part of this entails exchanging project schedules with various managers, where time is often talked about in terms of numbered weeks of the year, like: Foo task will be completed by week 42 of 2005. We ran into some problems with varying definitions of these numbers when exchanging schedules with people running on different platforms. Then we realised that even the software we’re using seems to have different ideas about what’s going on too… The result is a whole world of pain, and at best causes extreme confusion when we provide documents referring to both dates and week numbers which are inconsistent with each other in their minds, and at worst makes our managers think we’ll have things done a week sooner than we do. I’m not using Evolution at the moment for calendaring stuff, so I can manage if I remember to add one to all my 2006 week numbers when interacting with managers based on GtkCalendar and Planner, but this all seems to be horribly broken. I really don’t want to have to do this for the whole year.

20 November 2005

Jose Carlos Garcia Sogo: 20 years of MS Windows. 20 years of computers in my life.

One day like today, 20th November, 1985, Microsoft released its shiny new Windows 1.0 which was the first attempt to implement a graphical multi-task OS in a PC. Do you know how much it cost then? $100 for a license, more or less the same than a Windows XP license costs nowadays.

Microsoft logos. Old and new It is funny to see how things have evolved since then. Being 6 at that time, and PCs not being very common those days at home, I started using a computer at an age of 8 or so. It was an Amstrad PCW 8512, a TV box sized computer which integrated a green screen monitor, two "3" floppy bays and a 9-pin dot matrix printer. It was powered by a 8bit Z80 processor, running at 4MHz and had 512KB of RAM and no ROM at all. Main software was LocoScript, a powerful word processor. It could be controlled by drop down menus at a top toolbar, and initial screen was a file manager, in which you could manage those text files in the floppy you booted from or a floppy in the other bay. It had even support for some kind of multiuser support, as you could declare in each floppy up to 7 user areas, with area 0 being a common root. Also, it had support for limbo a place for deleted files. Although LocoScript didn't need a separate OS to work, CPW 8512 could also run CP/M OS, which added programming capabilities (Maillard BASIC) and support for spreadsheets and databases, along with some games as Batman. After using this system for a long time, my first PC was a 486, running the new Windows 3.1 and later 3.11 for Workgroups version. I even installed there a Windows 95 when it was released, and managed to create a partition in the only 170MB HDD it had to install a test copy of IBM's OS/2 Warp that came in a CD bundled with PC World magazine. Some time later my parents bought a Pentium 166MMX running Windows 95. I was 18 by then, it was 1997, Internet was starting to be widely spread and used, and after a couple of months at University I was installing my first Linux copy, which was a RedHat based version. During next three years I installed different distributions, as they were released with newer software and you could get them in a CD with a magazine. Installing Debian Slink and having an Internet connection available at my Student's Residence at the same time made me be able to participate in mailing lists, send bug reports and download upgrades. I discovered a new dimension in using Linux: collaboration.

19 November 2005

Todd Troxell: dumb asses

Found this under heading "What is a statement of verifiable fact" while browsing EFF's Legal Guide for Bloggers
A statement of verifiable fact is a statement that conveys a provably false factual assertion, such as someone has committed murder or has cheated on his spouse. To illustrate this point, consider the following excerpt from a court (Vogel v. Felice) considering the alleged defamatory statement that plaintiffs were the top-ranking 'Dumb Asses' on defendant's list of "Top Ten Dumb Asses":

A statement that the plaintiff is a "Dumb Ass," even first among "Dumb Asses," communicates no factual proposition susceptible of proof or refutation. It is true that "dumb" by itself can convey the relatively concrete meaning "lacking in intelligence." Even so, depending on context, it may convey a lack less of objectively assayable mental function than of such imponderable and debatable virtues as judgment or wisdom. Here defendant did not use "dumb" in isolation, but as part of the idiomatic phrase, "dumb ass." When applied to a whole human being, the term "ass" is a general expression of contempt essentially devoid of factual content. Adding the word "dumb" merely converts "contemptible person" to "contemptible fool." Plaintiffs were justifiably insulted by this epithet, but they failed entirely to show how it could be found to convey a provable factual proposition. ... If the meaning conveyed cannot by its nature be proved false, it cannot support a libel claim.

12 November 2005

Ian Murdock: The thin(ish) client revolution

David Berlind: “[P]icture a world where, instead of carrying a notebook computer with you everywhere you go, and instead of having power-drinking desktops in every corner of your house, all you have is a USB key that you take from one dirt cheap thin client to another. On that key is not just all of your personal data (that is stored in the cloud but replicated to your USB key for offline usage), but perhaps a small Web server and some applications, both of which are thin-client friendly.” I’m in complete agreement that the thin client/web application computing model is the wave of the future, and that the days of the fat client as the primary mechanism for monetizing software are numbered. However, I don’t buy into the notion that software-as-a-service displaces the traditional fat client entirely, for one very simple reason: It’s going to be a while yet before we have truly ubiquitous network connectivity. Sure, perhaps if you live in the San Francisco Bay area or in a similarly technology centric place, it’s easy to buy into the notion that it won’t be long before we’ll all be connected all the time. However, we can’t lose sight of the fact that a vast majority of the population doesn’t live in a world where technology billboards dominate the morning commute. Heck, my cell phone doesn’t even work when I visit my grandfather in rural Indiana—the notion of an omnipresent wifi fabric built from community hotspots is a long way off there, to put it mildly. And even when we do get to the day when we have ubiquitous connectivity, we’ll still want caching for optimization and replication to eliminate the single point of failure problem, not to mention the ability to retain control over our own digital lives. So, I view the thin vs. fat client juxtaposition as being not so much about user experience—AJAX has shown us that remarkably good user interfaces can be built on the web. It’ll be more about caching and data replication, two very important considerations in any distributed system. I think most people are missing that. David, as usual, appears to get it. My prediction: Applications will increasingly move to the web, so you’ll be able to get to your data anytime, anywhere, and from any connected device. No surprise there. But the majority of the time, when you’re using “your” client device (whether it’s a PC in your home or office or a handheld device or something that lives on a USB key and securely attaches to the network via some device that’s outside of your administrative control), you’ll still primarily interact with the web through a fat client of some sort. To be sure, the fat clients of the future will look a lot different from the fat clients of today. Hint: “Fat client” doesn’t have to mean “self-administered”. Perhaps the fat clients of the future are delivered on demand or via independently developed components that integrate into some larger framework. Perhaps it’s as simple as running a web server locally. But the fat client in whatever form will still be the primary interface the vast majority of the time. That’s why I don’t buy for a minute that Web 2.0 is yet another death knell for Microsoft. They’ve obviously got a great fat client story, and in case you haven’t noticed, they’ve just woken up to what’s going on around them. By the way, this is the area where I think Linux on the desktop could have the biggest impact—it won’t be about who has the better desktop or who can replicate the popular fat client applications of today in open source. It’ll be about who can mold Linux into the fat client framework of the future, seamlessly integrated with applications and services delivered via the web but open. If I were Microsoft’s competitors in this space, namely Google and Yahoo, I’d be spending a lot of time thinking about this. In today’s fat client world, Microsoft is between them and their customers more often than not, and if the past is any indication, they’ll be able to use this position to tremendous advantage.

Anand Kumria: Blogging with a phone

<p> Or '<a href="http://en.wikipedia.org/wiki/Moblog">mobloging</a>' for short. Basically it is using your mobile phone to add content to your blog. All very interesting, except when you get to the details. </p> <p> <a href="http://www.flamingspork.com/blog/">Stewart Smith</a> gave it a whirl ([<a title="first attempt" href="http://www.flamingspork.com/blog/?p=503">1</a>], [<a title="take two" href="http://www.flamingspork.com/blog/?p=504">2</a>]) with fairly predictable results. This is because the message you might receive is dependent on the phone manufacturer <em>and</em> the <aabr title="Multimedia Messaging Centre">MMC</abbr> does to your message. And that is before it might be mangled along the way via email. </p> <p> Basically most phones (or MMCs) will convert the content to either <a href="http://en.wikipedia.org/wiki/Base32">Base32</a> or, more commonly, <a href="http://en.wikipedia.org/wiki/Base64">Base64</a>. Generally the MMS is composed of only two parts, and then sent to an email address. From there you'll have to write something that takes the email and converts it into a blog entry. </p> <p> A while ago a friend of mine wanted to do the same, so I wrote some perl to do it for him. It seemed to work for him (with some tweaks) and it might be enough for you too. You can grab it <a title="Code to help with mobile blogging" href="http://www.progsoc.org/~wildfire/arch/projects/moblog--devo--1.0/">here</a> However you might find it simpler to use <a href="">GNU Arch</a> and register <code>http://www.progsoc.org/~wildfire/arch/projects/</code> and then browse in <code>wildfire@progsoc.org--projects/moblog</code>. </p>

Next.

Previous.