Search Results: "will"

9 November 2007

Ben Armstrong: Debian-eeepc: the ideal mobile text editing device realized

The search for the ideal mobile text editing device is over. While the price was well over my original budget, we’ve since gone ahead and splurged on two new Eee PCs: one for me, one for my wife. In the end, I think it will be worth it because these systems are capable of far more than just editing text. Now comes the challenging part. Xandros is the default OS and we want Debian on it instead. I have started supplementing the system with packages from Etch and Etch-backports using apt pinning, but already I have noticed some cracks beginning to develop: with pure Xandros, an SD card was automounted when it was inserted. Now it fails. Also, the Network utility no longer launches. I can work around these glitches for now, but it is plain that in the long term this Xandros/Etch hybrid is going to be more grief than it is worth. To that end, enter Debian-eeepc. Building on the work started by timbobsteve and drawing from the collective experience of the Eeeuser.com community we will make a debian-live cd + debian-installer to install Debian (as pure as possible—obviously the kernel is going to be our most contentious issue) on the device. So stay tuned for more articles on that work-in-progress. And how does my new toy shape up for mobile text editing so far? I’m delighted! For starters, this article was drafted on the bus home from work. The keyboard, while small, is still quite usable for touch-typing, the display is crisp and bright, and the size is just perfect for the cramped quarters of a public transit bus seat. But beyond just editing text, I have loaded up the system with all of the tools that go around it: subversion, git, ruby, gcc, meld, etc. I’ll be able to manage a fair amount of development on the bus, with the exception being really large builds that will continue to be done on remote build systems.

Christian Perrier: Bug #450000

I don't have the BTS handy right now, but bug #450000 was reported this week. At the current rate, it means that bug #500000 should come out around Oct 21st 2008. So, who will win the 500000th bug contest?

Simon Richter: Hacking, soon.

The plan for tomorrow includes possibly breaking my computer by soldering the JTAG connector onto the CPU board. Then there will be much debugging of mISDN drivers, and hopefully some rejoicing when I find out what makes the kernel hang on loading the layer 1 driver. This will also be an excellent opportunity to clean up my desk to make space for the soldering iron, and to build another Internet router in case anything goes wrong.

Russell Coker: SecureCon Lecture

On Thursday at Secure Con [1] I gave a lecture about SE Linux that went according to plan, and they gave me a nice bottle of Penfolds Shiraz afterwards (thanks to the sponsors). During my lecture I announced my plan to run the hands-on training session over the net. The idea is that the Debian and CentOS images from jailtime.org with minor modifications will be put online somewhere for anyone to download. Anyone can then run the images on their own Xen server, go through the exercises, and ask questions on IRC at the same time. If you are interested in such training then please indicate in a comment what times would be good for the IRC discussion. Note that I’m only available between 7AM and 10PM starts in time zone +1100 (that is 20:00 to 11:00UTC for the starting time), the finishing time would be two hours later - and it would be possible to do the training in multiple sessions. One interesting thing was that at the end the moderator of the session offered a box of lollies to the first person who could tell him my user-name (which was included in ls output on one of the slides). Afterwards I was in idle conversation with some delegates and the topic of the Mac Mini [2] machines came up. Those machines are smaller than the Cobalt Qube (that I have in the past lugged around for portable SE Linux demonstrations), quite powerful (1G of RAM with an 80G hard drive seems to be the minimum for buying new at the moment), and they have keyboard and video ports which is often more convenient than sys-admin by serial port. I am now patiently waiting for Intel-based Mac Mini’s to start selling cheaply on eBay. Such a machine with 1G of RAM would make a nice SE Linux demo machine, I could run at least 7 Xen DomU’s for different users! Of course a second-hand laptop would do just as well, but laptops seem to hold their value better than most other machines. One thing that disappointed me was the small turn-out for the conference dinner. It seemed that as there was a gap in the program between the official end of the conference at 5PM and dinner at 6PM most people decided to go home. One thing to note for future events is that leaving gaps in this way is probably a bad idea. Maybe if they had said “drinks at the restaurant from 5PM and dinner at 6PM” then the turn-out would have been better.

Biella Coleman: Tokyo around the corner

So this Sunday I am off to Japan along with a few other members of my department for a week long visit. I am going to attend a conference being hosted by the Interfaculty Initiative in Information Studies at the University of Tokyo. The number of faculty members housed under this initiative is simply impressive and I look forward to meeting many of them and learning how they are conceptualizing and moving forward with the interdisciplinary study of digital society. I have not had much time to think about the trip outside of 1) how do I get to my hotel 2) preparing for my presentation but I will have a little free time on Tuesday, Thursday morning, Sunday morning and a few evenings to see some sights and see some people. With the help of Junichi and others, we are organizing a gathering with Debian developers as well as the local and some visiting Creative Commons folks on Wed night, the 14th of November. Do come around if you are there and interested (and you can leave me a comment or email me at biellaATnyuDOTedu too. While I basically am going to be like-a-lemming and follow my colleagues who have made some plans, if you think there is something Not To Be Missed in Tokyo, do leave a shout out in my comments or ping me via email. I would appreciate it!

8 November 2007

MJ Ray: Current Issues / Petition against NHS primary care use of high-cost phone numbers

I have signed http://petitions.pm.gov.uk/NGN-use-by-GPs/ because calling your local doctor should be a local-rate call.  Also, most calls-included telephone packages don't include those 084 and 087 numbers.

In February 2008, 0870 numbers will change from being revenue-sharing to costing most users money.  It will be interesting to see whether 0870-using doctors change their phone numbers and inconvenience their patients further.  (My company is changing to an 0844 for extra services and we have 01 and 07 numbers for specific tasks.)  I think recent new users like Milton surgery have been using 084.

MJ Ray: Mozilla Firefox and IceWeasel

This follows last year's problems with Mozilla packages. FTP.mozilla.org now has a (Not-?)Firefox 2.0.0.9 "compiled with branding, logos and talkback removed" according to John O'Duinn's Soapbox - download non-automated en-US free-software builds. Is this really free? What does it mean for Debian's Iceweasel and GNU's Iceweasel if so? I guess the GNU one will keep going, to avoid the auto-installation of non-free plugins, but it might allow more work to be shared.

Ian Wienand: Shared memory on Linux

You may have noticed a range of things mounted on a tmpfs file system.
$ mount   grep tmpfs
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs is actually more pervasive than it might appear. It was created to build a filesystem interface ontop of shared pages of RAM. This is useful because there are a number of ways to access shared RAM; notably SysV IPC Shared Memory (shmget, shmat, etc) and mmap of anonymous memory (MAP_ANONYMOUS). In order to have a consistent infrastructure implementing all of this the kernel abstracts RAM as a filesystem and your mapping as a file. To this end the tmpfs filesystem was created to present this abstraction. It deals with issues such as caching, security and the ability to swap pages in a consistent manner (i.e. using the same infrastructure every other file system does). Linux shared memory overview Overall, tmpfs is implemented in mm/shmem.c. In the initialisation function the file system is mounted internally by the kernel with vfs_kern_mount so it is always around. It gets fairly complicated because it has to keep track of swapped out pages and the general complexity that come with implementing a full filesystem. As described above, there are several distinct ways to get access to this file system. tmpfs: more than meets the eye! Update: hopefully a little clearer, thanks to Helge Bahmann for comments.

7 November 2007

David Welton: YUI Compressor

One of the things I love about programming is that you are always learning new things. You have to learn new things to keep up. One of the benefits of using the Plotr Javascript library for the language popularity stats I did is that instead of having to download separate images for each statistic, a user just fetches the library once and then a few small bits of data for each chart, which is probably a net savings, especially when I start to add more statistics. However, Plotr, plus its various supporting libraries, is fairly hefty, so I needed to find a way to compress it. One of the helpful people on the freenode IRC network's #javascript channel pointed me at Yahoo's YUI Compressor, which is a nicely done project that squeezes quite a bit out of Javascript files. I would recommend it to anyone else who needs to pare down their production JS files to the bare minimum. Best of all, it's available under a very liberal open source license! Incidentally, over the course of the language stats project, I was surprised at how much helpful stuff Yahoo provides, first and foremost, a real API for their search engine, something that Google no longer has. Hopefully, it's a sign of better things to come for them (if for no other reason than to keep Google on their toes!). By the way, for those interested in the language stats project, I set up a forum with RSS feeds, where I will be posting updates, and accepting suggestions for further improvements.

Benjamin Mako Hill: Revealing Errors

Groups that campaign for free technology, like the Free Software Foundation and the Electronic Frontier Foundation, tend to be supported primarily by technologists. Both groups have struggled to communicate their messages to non-geeks. I have written an article and helped create a new weblog, both called Revealing Errors, that attempt to address a root cause of this issue in what I hope is both an insightful and entertainingly manner. Geeks support groups like the FSF and EFF because, as people who understand technology, they understand just how powerful technology is. Geeks know that control of our communication technologies is control over what we can say, who we can say it to, and how and when we can say it. In an increasingly technologically mediated age, control over technology is not only the power to control our actions; it is the power to limit our possible actions. Our freedom to our technology is our freedom, full stop. This message fails to resonate with non-geeks but it does not fail because non-geeks are happy to hand over their freedom. It fails to resonate simply because the vast majority of people do not understand that technology, and control over it, is powerful enough to impact their freedom. Most people fail to see the power because, quite simply, most people fail to see technology. While we all see the effects of technologies, the technologies themselves are frequently hidden. We see emails but not mail transport agents. We see text messages but not the mobile phone network. Before one can argue that such systems must be free, one must reveal their existence. Technologists are keenly aware of the existence of these systems. To everyone else, they are completely invisible. Marc Weisner of Xerox PARC cited eyeglasses as an ideal technology because, with spectacles, "you look at the world, not the eyeglasses." When technology works smoothly, its nature and effects are invisible. But technologies do not always work smoothly. A tiny fracture or a smudge on a lens renders glasses quite visible to the wearer indeed. Similarly, people see their MTAs when messages bounce. They see Windows on their ATM or phone when the system crashes. Technological errors are moments when usually invisible technology becomes visible. They are, in this sense, also an educational opportunity. /copyrighteous/images/blue_screen.jpg I have recently published an article in Media/Culture Journal from the University of Melbourne within a special issue called Error. If you are interested in learning more about what I'm trying to do or looking at some examples, please read the article. With support and ontributions from Aaron Swartz, I have also created a new weblog, Revealing Errors, that reveals errors that reveal technology by posting descriptions of errors with commentary on what the error reveals. I've posted a few examples there already and I will be updating it regularly. The goal is to help explain the power and influence of technology in the service of broadening the base of people who can get excited about freedom to technology. Eventually, I hope to be able to communicate this message to a less technical audience. With that said, I hope that even seasoned technologists will learn things about their technological environment through the analysis and interaction. I hope readers of this blog will subscribe to it and, if possible, comment on and contribute to the project as it moves forward.

Ross Burton: Today's Hot Hack

Today I got fed up of writing yet another GQueue and idle function to perform tasks incrementally in the background, with all of the bookkeeping that needs to be done. So, I wrote taku_idle_queue_add. Using it is simple, create a GQueue and then call taku_idle_queue_add, passing the queue and a callback function. When the queue has items in it, the callback gets called. Easy! Just remember not to return FALSE from the callback unless you are sure the queue will never be used again. I'd appreciate anyone who knows GSource programming in detail to review the code. Maybe I should even try and get this into Glib? NP: Cliqhop IDM, Soma.fm

Raphael Geissert: Your message to FOO awaits moderator approval..

After sending 785 reports I received three notification messages about my message awaiting moderator approval.


I find it curious that some lists aren't open for anyone to post but anyways used in the Maintainer field of some packages.

Here are the three emails I received:
Your message to Debian-arabic-packages awaits moderator approval
Your message to Pkg-icecast-devel awaits moderator approval
Your message to Pkg-dia-team awaits moderator approval


Besides that, people already started to react to the reports so it seems like my goal will be accomplished :)

6 November 2007

Steve Kemp: There's trouble blowing like a hurricane

xen-tools has just got a new command:
xen-resize-guest --hostname=foo.my.flat --increase=5Gb
That will take the existing guest foo.my.flat and magically resize the main disk image to be 5Gb larger. This works for LVM & loopback images, but not yet for users of EVMS. Whilst doing this job manually isn't terribly difficult it can be troublesome to perform all the steps in order without screwing up. Hence the new command. In other news I've managed to fix my broken greylisting implementation - so all the mails which were previously being queued upon klecker.debian.org should now be delivered/bounced. I believe the blame here was 50/50 me and exim's back-off behaviour, but I'll know better in the future. Remember me when you come to choose your next anti-spam service. It copes beautifully with a sustained delivery rate of 300-700 messages a minute when queues suddenly restart delivery ;) TODO: Catchup on mail. Implement message tagging for mutt to better keep track of items which are pending/claimed by me. Until we get RT.

Enrico Zini: axi-searchasyoutype

apt-xapian-index: search as you type I've recently posted: Note that I've rewritten all the old posts to only show the main code snippets: if you were put off by the large lumps of code, you may want to give it another go. Today I'll show how to implement a very attractive feature for a user interface: search as you type. The idea is that you don't need to press enter to fire up a query: instead, the results materialise in front of your eyes as you type them. The example I created uses curses, but the idea is good on any interactive user interface. The main thing to keep in mind with search as you type is that the last word is likely to be partially typed, unless maybe some timeout expired since the user's last keystroke. Xapian comes into help here, as it allows us to expand the partially typed word into an OR query with all the terms that start with it. This means that if we are typing, for example, "progr", we can turn the query into "program OR programmer OR programming OR programmed [...and so on...]". I won't show the UI code, except a simple input loop that triggers the query at every keystroke:
    def mainloop(self):
        while True:
            c = self.win.getch()
            self.line += chr(c)
            self.results.update(self.line)
The interesting part is in the update function. First we split the line in words and convert the words into a query:
        # Split the line in words
        args = self.splitline.split(line)
        # Convert the words into terms for the query
        terms = termsForSimpleQuery(args)
Then we expand the last word with all possible completions:
        # Since the last word can be partially typed, we add all words that
        # begin with the last one.
        terms.extend([x.term for x in db.allterms(args[-1])])
Now we can build the query. Of course you can add all other sorts of things to the query, for example a boolean expression of tag filter like in axi-query-pkgtype.py; Xapian will cope.
        # Build the query
        query = xapian.Query(xapian.Query.OP_OR, terms)
Finally the query. For bonus points you can do the adaptive cutoff trick to discard bad results. In my case, since I don't implement scrolling of results, I also limit them to what fits in the window:
        # Retrieve as many results as we can show
        mset = enquire.get_mset(0, self.size - 1)
Finally, draw the results on screen:
        # Redraw the window
        self.win.clear()
        # Header
        self.win.addstr(0, 0, "%i results found." % mset.get_matches_estimated(), curses.A_BOLD)
        # Results
        for y, m in enumerate(mset):
            # /var/lib/apt-xapian-index/README tells us that the Xapian document data
            # is the package name.
            name = m[xapian.MSET_DOCUMENT].get_data()
            # Get the package record out of the Apt cache, so we can retrieve the short
            # description
            pkg = cache[name]
            # Print the match, together with the short description
            self.win.addstr(y+1, 0, "%i%% %s - %s" % (m[xapian.MSET_PERCENT], name, pkg.summary))
        self.win.refresh()
That's it, try it out. You can use the wsvn interface to get to the full source code and the module it uses. You can see a similar technique working in goplay, where it is also integrated with an interactive tag filter.

Russell Coker: Xen for Training

I’m setting up a training environment based on Xen. The configuration will probably be of use to some people so I’m including it below the fold. Please let me know if you have any ideas for improvements. The interface for the user has the following documentation:
(more…)

Wouter Verhelst: Programming languages suck?

Bruno De Wolf blogs about programming languages. His statement: "all programming languages suck". Not sure whether I agree. But's let look at his arguments. In his words, a good programming language, among others, is readable by a guy who didn't write the original program and who doesn't know all the language details or libraries. Personally, I don't agree. Code readability, above all, depends on the programmer. Programming languages that impose structure can probably help, but it's possible to create unreadable code in any language—that doesn't need goto. Since I went to the 'karel de grote' institute of higher education, I learned quite a number of programming languages. Hairy code is possible with all of them. Unreadable code is easy with some of them, and some of those I do consider good programming languages. I guess my criteria are different: That's it, I guess. In my book, a programming language is a tool to get a job done. A good tool is flexible, not too unwieldly, and somewhat intuitive. Like a hammer. If you want to build a table, you probably need a hammer, among other things. The better the hammer, the more likely it is that you'll get a nice table. But even the best hammer won't get you a wonderfully crafted table if your carpenter sucks at his craft. And so it is with programming languages: it might help if you use a proper language, but any good programmer can write readable code in any programming language.

Christian Perrier: RWC: 2nd surprise en 1/4 finals

...and I like that one, as one may expect. With only 30% ball possession, France won against New Zealand. They transformed the very few occasions to score tries and finally, thanks to a magic inspiration by Fred Michalak, relayed by Yannick Jauzion, their last try made them win 20-18. The french defense was....close to heroic (179 tackles, whiles NZ tackled 36 times!), particularly at the end of the match, where the NZ bulldozer was trying to score one very last try. Not everything was perfect in this match (particularly a disaster in line-outs: I have never been fond of Rafael Ibanez, but it seems to be time for him to retire...), and only the courage made them win. I really wish I could have been in Cardiff to celebrate this. Champagne... So, rendez-vous to our English friends next week-end, in Stade de France. Given their match today, that will be though, again. Tomorrow, South-Africa-Fiji (yet another suprise?) and Argentina-Scotland. Eh, why not France-Argentina as final?

Christian Perrier: RWC: France punished by Argentina

France sank against Argentina tonight. Last time France played in Parc des Princes, they were crushed by South-Africa, 10 years ago. The same happened tonight with an impressive victory by Argentina against France. France dominated the first 20 minutes but Argentina's defense was heroic and strong. Certainly the best defense play of this entire world cup, in this match, with a great organization around mauls, an impressive scrum and explosive tackles. After being dominated 26 minutes long and anyway scoring a try an, Argentina had to resist 10 minutes before half time when France unsuccessfully attempted to score a try (which would probably have changed the match). I think I will have to review these 10 minutes again as this was a demonstration of defensive play. It is indeed not a surprise that Ibanez lost his nerves and got expelled at the very end of 1st half time. Sad end of career...very similar to Zidane's one, indeed. In second half time, seeing France being crushed so hard was sometimes saddening but Argentina played so wonderfully that we could just be admirative of that play. Again, their solidarity and defensive play made the difference and, 5 tries later, they finally logically beat France. The Argentinian team is really a great satisfaction of the world cup. Playing only with 18 players, they only half-missed one match: their semi-final against South-Africa. I think they now really deserve to play in the Tri-Nations tournament along with New Zealand, Australia and South-Africa: if that doesn't happen, I will really think that other southern hemisphere nations are just cowards..:-) What about France? Well, this is a really sad ending for that world cup. Finishing with two very bad matches is really worrying for the future of that team. There are many promising players in that team (such as Dusautoir, Szarzewski...) and they can probably rebuild something and we still be enthusiast about that sport in this country.

Christian Perrier: RWC: RSA-TON, or why I love rugby

If you hadn't the occasion to see RSA-TON, just look around for it, find if it is broadcasted at a later time and watch it. The Tonga team just had 10 minutes of weakness, with South-Africa scoring three tries. But they never gave up, scored two tries and finally ended up 25-30, winning the defensive bonus point and really worrying South-Africa. For sure, the repeated failures of RSA on penalties also helped for this scenario, but Tonga became the stars of this pool and Finau Maka is the star of Tonga..:-) The Bollaert stadium in Lens is more used to the fights of the local soccer team than high level rugby but they supported the Tonga team the very same way they support the "Sang et Or". I think that the Tonga players will remember that one. England can *really* worry.

Christian Perrier: RWC: One of the worst games of this World Cup

So, A completely non-existing French team lost against a....nearly completely non-existing English team. Too many bad decisions, too much bad kick play, too many lost balls....and even no luck (the English try...damn). The French team couldn't win with such poor play (even when they were leading by 9-8, we both were completely sure they would lose on a penalty kick). What's pretty sad is that England nearly showed nothing too and, therefore, both teams made this the worst match I've seen in that world cup. Hopefully, Argentina and South Africa will show some better play tomorrow. However, when I see this, I nearly regret that France eliminated New Zealand. The All Blacks could never have played as bad as France did and they would certainly have kicked out that boring English team. Definitely, I'll be South African or Argentinian next Sunday (I have a small preference for being Argentinian, indeed).

Next.

Previous.