Search Results: "will"

21 June 2006

Josselin Mouette: python-support 0.3

Yesterday, a new version of python-support has been uploaded. It now supports extensions in a way compatible with the stupid idea of building them for several versions at once (which is now, unfortunately, the policy). Furthermore, it allows to do it without cluttering the control file with incomprehensible (and unparseable) XC-Foo-Bar fields. You just need to set up a debian/pyversions file containing the list of supported versions, and, if you want to use dh_python for dependency generation, a debian/pycompat. Thanks a lot to Rapha l Hertzog for finding elegant solutions and introducing them in dh_python.

Joey Hess is complaining about the way things are handled in debhelper, and from his point of view this is perfectly understandable. We've all sucked on this matter, and we could uselessly argue about who is responsible for the mess, but the harm is already done. dh_python has become even more complicated than it already was, and now requires a supplementary helper script depending on the packaging tool. Fortunately we've managed to make it not too complicated for package maintainers, and Marc Dequ nes' work on cdbs will do a lot in that matter.

Update: I removed any references about Andreas Barth's complaints on Planet Debian. Anyone encountering issues with python-support is welcome to report them in the BTS, which is the right place to track them.

Jos Parrella: CNSL 2 Caracas

I flooded the Planet just by upgrading WordPress. So this weekend it’s happening in Caracas. The National Free Software Congress (CNSL) arrives to the capital in the second edition of the only nation-wide Free Software event. It will take place on Colegio Universitario de Caracas, in La Floresta, near the Indian Embassy, France Square and other nice landmarks of the city. The event is promoted by GLoVE, a national NGO which is currently organizing the CNSL and hosting several Linux User Groups (the whole list here in spanish, follow the links) including CHASLUG, the Free Software Users Group for the Young. I’m part of the group, but it’s currently run by three guys under 18. As in FLISOL Caracas, this will be a themed event featuring two days of conferences, keynote speakers, workgroups, expositions, installation festival and security related events. The first day is aimed to Free Software in Society, including presentations from government officials related to recent activities towards the Country migration. As Enrico pointed it in debconf-discuss and debian-project, some recent activities have been turning stronger the Free Software migration process in Venezuela. The announcement from the Department of Science and Technology of the mass capacitation of the citizens in the usage of computers featuring the Gnome Desktop Environment took everyone by surprise. Numbers are varying, being the more conservative around 400.000 people having their first computer relationship with Free Software, GNU/Linux and Gnome. Distribution? I haven’t see it yet, but most likely it will be Debian (the whole Department is using Debian) Saturday will also feature some conferences from community members about their experience on Free Software usage and how they can change the way people communicate and act with each other, specially noting the nationwide speech from Octavio Rossell about Free Software and GNU/Linux and the interesting presentation from Efra m M rquez-Arreaza on Business Models. Finally, on saturday, renowned economist Felipe P rez-Mart will be presenting his work Game Theory Applied to the Free Software Development Model. Sunday will be a hands-on day, like in FLISOL Caracas. The main speeches focus on development, featuring experienced programmers on PHP, Perl and Mono presenting Web and Desktop development tendencies in those programming languages. We will also feature an Ajax presentation and three workgroups about Linux Distributions, Web Development and Free Software and Education. On special guests, CNSL Caracas is proud to announce the visit of two fellow partners from IEEE Colombia: Erika Luque and Jeffrey Borb n from the District University of Bogot , and the special conference from Rafael N ez, who was apprehended in Miami, FL (US) for the massive attack of 679 servers in 2001, one of whom was the Air Force Training System in Colorado. He was also accused of attacking the Department of Defense servers and stealing confidential data from NASA. He made seven months of prision in Denver after declaring himself guilty of all charges and having the Judge to look on evidence of his work against child pornography with the Venezuelan CICPC. (more info in spanish) On the security side, Sunday will host the second Key Signing Party (guidelines in spanish here) and the first CACert assurance in Venezuela. We made the first KSP in CNSL Aragua (where I had the opportunity to speak about Debian and make a hands-on session on Marvelous Debian) with about 10 people. This time we’re aiming to something between 25 and 50 people. This is the first event promoting security culture in our Country and hopefully it will have a warm welcome in the public. Caracas will also be the inflexion point of the Congress, which will now travel to the Eastern part of the Country, usually forgotten by all the hacktivists in Venezuela. In states Sucre, Monagas and Bol var people is ready to have their first contact with free software through this Congress and hopefully next year the Congress will have a venue in each state of the Country (including the two most inhabited by natives, Delta Amacura and Amazonas) If you’re in Caracas, you’re welcome to pass by after registering (it’s free as in who cares) and if you’re not, you’re welcome to listen to the streaming that will be announced here. See you there!

Jos Parrella: FLISOL Caracas: Ending

The Latin American Infest finally ended yesterday. In Caracas, it was a week of hard work with people of the Science and Technology Department and the IT Office (government offices) but the event in Caracas ended succesfully. It was a world-class event featuring renowned keynote speakers who spoke about Web Development using Frameworks (featuring TurboGears, Rails and Catalyst) and software development paradigms migration from privative platforms to GNU/Linux (Gambas and Mono). Other talks included basic security in Debian GNU/Linux and a speak about electronic signature security by an officer of the Venezuelan Government CA. We had a speak about Clusters, hosted by a female member of the Venezuelan Free Software Community and Debian User, and a speak about Free Software in the Venezuelan Education, by a 16-year-old Venezuelan GNU/Linux user and a willing Debian Maintainer. Of course, the Installation Festival took place in the Knowledge Square, in the Auditorium Building Lobby, with the extraordinary support of the Venezuelan Free Software Users Community. Debian GNU/Linux Sarge netinst and CD1 was distributed (several hundreds) as well as Knoppix and Ubuntu Hoary. Ernesto Hern ndez-Novich (maintainer) and me wore Debian T-Shirts on Saturday, and he made a great speech about the Project, named “Debian is inexorable“. We had demonstrations of Linux on a Mac Mini, using XGl and presenting several applications, as well as Debian running Enlightenment on an old Presario 1246 laptop. I would like to thank all the speakers and the attendees for making of FLISOL Caracas a great event. More information about FLISOL Caracas is in my blog and the homepage (spanish). Pics are here.

Jos Parrella: Flying MEX

Yesterday I booked a flight with TACA from Caracas to MEX, via SJO. I’m flying on May 12th. (so hopefully I can arrive for Debian Day) and returning on May 25th., in the same flight. The flight is gonna take 6 hours from Caracas. Ana (from Debian Venezuela) will be flying with me in the return flight.Nos vemos en Mexico!

Jos Parrella: Shame, shame

I was at a client today when I remembered that David was due to arrive to Caracas circa 1430, so I called him to his brand-new-venezuelan-GSM-cellphone and I found out that he was in problems. In big, dark, awful problems. As I told in previous posts, he went to San Crist bal (near the border with Colombia) to visit his girl and know the city. He departed from Caracas in a bus on Friday night and arrived on Saturday morning. He spent the whole weekend there, and in Monday he was due to leave San Crist bal through the Mayor Buenaventura Vivas Military Airbase, in a civilian airplane. He arrived just on time for his flight, rushing to take the plane on time, and he was stopped by two so-called Inmigration Officials who demanded to see his passport. He recently got a new one from the Passport Office in Mexico City, so he had a brand new passport with the Venezuelan Entry Stamp (Mexicans don’t need a visa to enter Venezuela)
ONIDEX, the National Office for Inmigration. Praised for lots of people for fighting against Passport Corruption, kidnaps people in San Cristobal. The Officials told him that his passport was a fake, and they told him that, from this time on, he was under arrest. They made him leave the Airport quickly and took him in a civilian vehicle with no identifications. They started the trip to San Crist bal City (1 hour away from the Airport in a very scary road) and they kept telling him that his passport was fake (they claimed that the Passport didn’t have the watermarks, and stuff) Soon their position changed and a common practice in Venezuelan officials started: extorsion. They told him that there were “several ways to fix the problem”, and asked him what was in his backpack (which had a laptop, but he denied it): they were demanding money, and David wasn’t prone to do that.
National Guard. Doesn’t have a /proc/clue about anything. They drove David to the Inmigration Office in San Crist bal and told him that they “made” some tests to the passport and they determined that the passport was fake. They told David that their “Commander” told they that he should be deported into Colombia, since he was a “very important member of a Cartel that they were willing to capture”
DISIP: the Venezuelan Political Police. They were helpful in this episode, but they’re not angels. Finally, hours after that charade of Officials telling him funny laws, stupid suppositions and wanting him to give them money, they left David in the Bus Terminal in San Crist bal, where he was able to talk to Ana, from Debian Venezuela, which picked him up and went back to the Airport. The two “Officials” weren’t there anymore, and he had a last problem with the National Guard which had stupid suppositions about his trip, and stuff (this is common, but at least it’s not illegal) before he was able to get into the plane. Being in Caracas, I was really worried. Between Ana, my mother and me we were able to move several people to check David status in the Airport (my mother called four members of the Venezuelan FAA, I called the Venezuelan CIA and Ana called the Vicechancellor) and this probably saved David’s life and money, since the “Officials” might have been scared by the movement of people caring about David. He’s safe now, back in Caracas, in home. He has all his stuff and his health is OK (yet he was scared when he arrived, which I fully understand) Why am I writing this post? I’m really concerned about what happened to David, and I want to make a public statement on this. Somehow, we venezuelans got used to this kind of practices in our Country. Probably 40 years of pseudo-democracy with messy governors helped, maybe it’s a matter of education and culture. I don’t really care about this, but I do care about what they’re doing with the people in my Country. Today, President Chavez declared that a dance against corruption was going to start. I think it’s the fourth time he’s making something about corruption, and he’s failing. There’s a gang of people in San Cristobal, Mr. President, who tries to rob and scare the visitors. They should be in jail. They arrested somebody illegally. It’s forbidden in our Constitution to arrest somebody without having proofs to do it (we have one of the best Constitutions in the World, experts say, but we don’t have people who obey it). If you’re going to arrest an alien, you need to have a Public Prosecutor in place, writing down a legal document and guaranteeing the safety of the detained. This people should be in jail.
Stop Corruption! Though, as my mother later said to David, two awful Venezuelan people kidnapped David, but probably twenty Venezuelan people quickly acted to find out what was happening. We might be a Third World Country, but we use to be able to get out of our problems by our own. And, hell it’s rewarding. I want to apologize in the name of all venezuelans to David and to make a clear statement against corruption: we venezuelan won’t tolerate more corruption. We’ve grown between that, buying places in a line to get our National ID Card, paying one million bolivares to get a Passport appointment. We’re sick of this. This is not the great Venezuela we live in. Please, losers, shoot yourselves. Or eat rat poison, whichever makes less stains.

Jos Parrella: FLISOL Caracas

The Latin American Free Software Install Party (FLISOL) will take place in 12 countries of the continent, including Cuba, and featuring Argentina and Colombia. In Venezuela, it’s happening in ten cities in several regions of the Country, including Los Andes, Los Llanos, the Central Region and the Paraguan Peninsula. I’m organizing the event in Caracas, which already has a webpage (in spanish) FLISOL will take place on March 25th, a Saturday, but in several cities of Venezuela we will have a two-day event. In Caracas, it will happen on Friday and Saturday. We will feature hands-on workshops and demonstrations (featuring a Debian GNU/Linux hands-on workshop), a Keysigning Party (it won’t be massive, though) and a Web Frameworks and Application Servers Forum, featuring Rails, Catalyst, J2EE, and Zope. I expected David to be in Caracas for the FLISOL, but he’s gonna travel to San Crist bal to participate in their FLISOL. I don’t expect a big attendance to the event (the Auditorium of the Science and Technology Ministry, the main sponsor, has capacity for circa 200 people) but I hope it becomes a fresh event, different from those we’re used to. This will be, also, a good preparation for the World Forum on Free Knowledge, the National Free Software Congress and the DebConf. I hope the main topic on the FLISOL will be the recent, terrible, awful, and completely disgusting Ubuntu security flaw.

Jos Parrella: Thoughts about DPL Election

As I see it, there are three positions: Yes, someone already told it: is that time of the year again. This small and insignificant fact (the DPL election) can shock the entire Debian Community. This kind of stuff makes us the fun, social and rewarding Debian Community some people claim we should be. The people who only cares about developing will keep working disregarding all the social conflicts. So most people won’t take much care about the Election, pick up a candidate, vote and keep working
It says: Welcome - Bolivarian Revolutionary Government of the Merida State David has more than one week in Venezuela. I’m gladly offering him accomodation in my house, bandwidth and all the support he needs for the next twenty years. We spent a weekend in Merida (which is in the Venezuelan Andes) in some Free Software Workshops and the rest of the week we have been working in several migration projects in the Company I’m working with. We have setup g33k!, a small server in my room running Debian (and Cherokee and Jaws) just for fun and testing. He’s leaving to San Crist bal (the capital of a state in the border with Colombia) on Friday and I should be finishing my semester as well. The next big Free Software event in Venezuela is the Latin American Infest. See you there!

Adeodato Sim : Yay, bzr gives me enough rope to hang myself

I definitely like being given enough rope to hang myself. Life wouldn’t be fun without the challenge of trying to hang myself increasingly less often over the years. And Bazaar-NG has shown me today some of the good rope it can give, and I’m happy. This is about the annoyance that is, at least for me, having to type bzr diff -r 12344:12345 to get the diff introduced in revision 12345, instead of just bzr diff -r 12345 or similar. This happens on other VCSs, like CVS, Subversion, and Bazaar (or so I hear). For Subversion (as an anecdote), five months ago (January) I found out on IRC (thanks, peterS) that a -c option had been added to svn diff which did precisely that (commited 3 months before, in October). An improvment that would be released in version 1.4, due in about a month or so now (but six when I first heard about it, and nine after being implemented). For Bazaar-NG, it’s been today the day I’ve got annoyed enough by this issue (while peeking here, btw) as to search if there had been any discussion on this issue, and I found this six-month old bug. It seemed a bit dead, so I gave my opinion about the issue, and discussion seems to have started again. The good part comes now, though. I’m sure the bzr developers will give a solution to this problem: maybe sooner, maybe later; maybe the one I liked most, maybe not. But, the important thing for me is that I have, within hours of having felt frustrated, a solution that works for me: a plugin that wraps the diff command and interprets “-r N” the way I want. It may make the bzr authors shake their head (or not :P), but I certainly feel grateful for them having given me the possibility of doing it, and of being my responsibility whether to continue to use it in the future. Oh, you can find the crak here. Surprisingly compact. (Update: well, not that much anymore after reimplementing it in a non-dumb way.) NP: Paolo Conte, Via con me

20 June 2006

Roland Mas: Free as in freelance

It’s official: I’m going to be on extended unpaid leave from my employer starting on the 22nd of June, for at least a year. I’ve been a part-time free software freelance for two years and a half, and I think now is a good time to grow that activity. Also, since I was hired almost seven years ago, the company grew (well, “was assimilated” is more like it) from about fifteen people (small start-up) to more than two hundred thousand (France T l com / Orange, you may have heard of them), and the growth pains haven’t quite subsided yet. So I hope I’ll get a breath of fresh air, at least, in case my venture goes flop and I go back to FT next year. So yeah, I’ll be freelancing on everything I can, but my initial focus will probably stay on Gforge, Debian and related topics. Feel free to browse my Gnurandal website and contact me if you’re looking for someone. I’m based in France, but if the job can’t be done via Internet, I’d be happy to fly to all sorts of places.

Martin F. Krafft: GPG keys expire

Today is 2006-06-20, and five years ago I created the GnuPG key pair that I have been using ever since. Possibly due to ignorance, I chose a key validity of one year and consequently stuck with that policy. Thus, every year on 20 June, I have to renew my master (signing) key and generate a new encryption key. And every year, on the days following 20 June, I will get several dozens (if not hundreds) of emails telling me that my key has expired, written by those who write emails faster than it takes to check for availability of the new key. Finally, my key now has hundreds of expired signatures, because it's GPG's default to expire signatures along with the master key. This year, I took a step back and reassessed the choice. The result is that I am not expiring my master key anymore, but I will continue to provide a new encryption key every year, which will be valid for just a little more than a year. Here are the reasons I found why you'd ever expire the master key:
  • the key is intended to be used only for a limited amount of time. This is not the case for me.
  • in case of loss of control and lack of revocation certificate, the key will eventually become unusable. First, I have a revocation certificate, and second, if I lose control over the key it should mean that someone figured out my passphrase, so could just extend the livetime of the key anyway.
And here are the reasons for the encryption keys:
  • if you do lose control over your key, all's lost anyway.
  • if an attacker manages to crack one key, s/he can only read communication of the year during which I used the key, but no past or future communication.
As always, I'd love to hear your input, and I'll post relevant follow-ups. In the mean time, please make sure you refresh my key:
gpg --keyserver subkeys.pgp.net --recv-key 330c4a75
wget -qO- http://people.debian.org/~madduck/gpg/330c4a75.asc.gz \
    zcat   gpg --import
(Note: you can always get my latest key from the above URL) You may also want to consider running gpg --refresh-keys from cron. I suggest doing so on a ghost copy of your keyring though and then to merge from there, or else you'll experience locking problems when trying to use the keyring at the same time.

Uwe Hermann: On destroying data

The Known Plaintext blog has a pretty interesting high-level article called Ten Commandments of Data Destruction, which gives some advice on how to handle destruction of data on hard drives or USB thumb drives (e.g. if you want to sell them on eBay)... While most of the stuff is good advice, there's one thing in there which is certainly not a good idea: "format your hard drive before giving it to the recycler"! That will usually not help at all! Don't ever think that formatting will really erase your data! Using simple, and widely-available tools everybody could restore data from such a formatted drive, even without requiring any costly equipment. If you absolutely must sell or give away an old hard drive (physical destruction is always better!), wipe it with a Gutmann-style tool, such as wipe(1), or shred(1). Oh, and apply the tools to the raw partitions (e.g. /dev/hda) after booting from a live CD. Wiping single files on a mounted file system might not yield the expected results on some (journalled) file systems, because they are caching stuff etc... The follow-up article presents some further ideas, e.g. an acid bath for your hard drive. It also mentions that simply breaking the read/write head or the motor of the disk might not suffice, forensics labs could replace those parts successfully... David Bianco makes a very good point about data on company laptops (especially so if you consider the alarmingly high rate of "laptop theft, xxx million data records lost"-type news stories): "don't put the freakin' data on the laptop in the first place!". (via Jesse Kornblum)

Joey Hess: on forking debhelper

Forking debhelper is apparently so much fun that everyone is doing it. Of course, Ubuntu continues to make changes to debhelper with no regard to the possible consequences, no matter how often I point out that this is a dreadful idea. Today I noticed (it's not like they bother to tell me) that they have added a dh_iconcache command to it, so presumably various Ubuntu packages cannot build with Debian's version of debhelper, and if I decide to add a different dh_iconcache command to it, things might build but incorrectly. To add to the fun, the version of debhelper in Debian unstable is now forked from what I guess I have to consider the "upstream" debhelper, since it got NMUed. This fork modifies dh_python in ways that, if I decide I don't like, I will have to either painfully carry forward or break a lot of stuff to get rid of. The reason it was NMUed is because I'm not interested in debhelper being in the middle of the senseless conflict between python-central and python-support. (It's a good time to be a perl user BTW. TMTOWTDI?) All this is not very much motivation for me to continue to work on this stuff, but we'll see I guess.

Wouter Verhelst: GTK+-2.0 on armeb

Sometimes, dependencies on Debian can be an insane horror. The current version of perl on armeb is 5.8.7-8. More recent versions aren't built because they're caught up in some dep-waits: I've now prioritized all of perl, db4.4, java-gcj-compat, and gcj-4.0. Boy, what a mess did I make. Update: ... and gcj-4.0 requires libgtk2.0-dev. Argl. Update 2: ... okay, I was confused. The issue is not as described above, since even the version of perl in oldstable is recent enough for defoma's needs. The problem is that the xorg source package is not showing up in the armeb archive, for some reason. Need to prod a few people... Update 3: ... aba fixed it; xorg should now show up in armeb, and has been prioritized. Hopefully, "everything" will build now. I don't know what the issue was, but it is fixed. Thanks, Andreas! (oh, and I promise I'll stop updating now :-)

Dirk Eddelbuettel: UseR! 2006 presentation

A quick note to mention that the slides from my talk at last week's UseR! 2006 conference in Vienna are on my website. My presentation introduces and briefly discusses fifteen different ways to 'use R' in Quantian. Roughly bucketed into four categories (classic, graphical, web-based and programmatically), these approaches cover the spectrum from the well-known to newer and promising interfaces. And of course all run 'as is' directly off a self-configuring and directly bootable Quantian dvd or iso image. Once again, thanks to the organizers in Vienna who mounted yet another conference that was both fun, informative and packed with excellent talks. It also drew even more R users and developers than before -- almost twice the number of participants and presentations than in 2004. It looks like we will meet next year in Boston for a North American UseR!, followed by Munich in 2008.

Gunnar Wolf: Fractional sleep

How cool is this?
if pid=fork
  while true
    puts "# Time.now.sec : I'm the slow # Process.pid , parent of # pid "
    sleep 1
  end
else
  while true
    puts "# Time.now.sec : I'm the fast # Process.pid , child of # Process.ppid "
    sleep 1.0/3
  end
end
What do I get?
18: I'm the fast 9900, child of 9899
18: I'm the slow 9899, parent of 9900
18: I'm the fast 9900, child of 9899
19: I'm the fast 9900, child of 9899
19: I'm the slow 9899, parent of 9900
19: I'm the fast 9900, child of 9899
19: I'm the fast 9900, child of 9899
20: I'm the fast 9900, child of 9899
20: I'm the slow 9899, parent of 9900
20: I'm the fast 9900, child of 9899
20: I'm the fast 9900, child of 9899
And for those of you not familiar with sleep(3), what is so cool about this? Simple: The prototype for sleep in almost any language is:
#include
unsigned int sleep(unsigned int seconds);
(note the unsigned int part?)
Even the Perl documentation clearly says, being compliant with the rest of the world:
For delays of finer granularity than one second, you may use Perl's "syscall" interface to access setitimer(2) if your system supports it, or else see "select" above.
The Time::HiRes module (from CPAN, and starting from Perl 5.8 part of the standard distribution) may also help.
But... Well, in this case I just loved the Ruby way: If it does not hurt to cause surprises, then don't cause them! Keep a simple, portable definition, that will work with seconds or with fractions! Why not?

Gintautas Miliauskas: Localization coordination for Debian #2

I sent a new revision of the suggested translation storage API to the mailing list, addressing all the shortcomings that have been pointed out. Hopefully it will not change much any more and I can start working on an implementation this week. My plan is to first produce a very simple pickle-based implementation of the API. This should be relatively quick to build and would highlight the weak points of the API. I think that this can be finished this week. After that (and possibly revisions to the API) comes the important part: writing a nice wrapper for the existing pofile class. This should not take too long either, another week at most (especially since my exams would already be over). When a .po-based implementation is in place, the fun starts. I'd then like to try to have another application that concurrently uses Pootle's backend storage (currently po-based). Another week of work.

19 June 2006

Lars Wirzenius: Debian: Packaging tutorial (again)

I gave my Debian packaging tutorial today. The Computer Science department of the University of Helsinki provided the space (a classroom with networking), for which I hereby offer grateful thanks. There were fourteen students, and everyone made a package out of my hello world program (especially written for this tutorial). The slides used my liwc package as an example, and during the talk I noticed a couple of problems, which promptly resulted in a bug report. Excellent! Nobody wanted to do a victory dance, people are too shy. I've now given this tutorial twice: once for three of my friends privately, and once for a larger group. It only covers the very basics of creating packages, and there's much more to learn. Some day I might do a second part, and cover things like maintainer scripts, advanced dependencies, debhelper, pbuilder, and piuparts (the last three were only briefly touched upon today). I might be willing to do the first part again, if there's enough interest. Not very soon, though, teaching is surprisingly exhausting and time-consuming. However, if you'd be interested, please do mail me (at liw@iki.fi).

Carlos Villegas: D1:State-of-the-art in the boot process and promising hotspots (SoC2006)

Finally the first deliverable (D1) is ready for revision here. It can be modified according to comments and extended if it is considered that some subject should be further investigated. Besides, some hotspots were identified and, as stated in the proposal it is time to implement some of them. At least the 5 more promising for the second deliverable. Comments about the order will be appreciated.

Together with this 5 hotspots, the second deliverable will deal with the evolution of the boot process in Debian: from woody to sid. Already, initial results were presented through this blog during the last week concerning boot times from woody, sarge and etch.

18 June 2006

David Pashley: Markable InputStreams

Java has a nice IO subsystem. In particular, it has been designed such that input streams can optionally support a feature where a programmer can mark a position in the stream and at a later stage return to that point to read the data again. Programmers can check for this support by calling InputStream.markSupported(). Unfortunately I've had the need for this support, but I haven't managed to find a stream which supports this. Not even ByteArrayInputStream sees to support it. Fortunately it's fairly trivial to wrap an InputStream in another class which will add this support. Here is my quick adaptor, which seems to work for most cases.
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
public class MarkableInputStream extends InputStream  
    private InputStream inputstream;
    private int maxpos = 0;
    private int curpos = 0;
    private int mark = 0;
    private ArrayList<Integer> buffer = new ArrayList<Integer>();
    public MarkableInputStream(InputStream is)  
        inputstream = is;
     
    @Override
    public int read() throws IOException  
        int data;
        if(curpos == maxpos)  
            data = inputstream.read();
            buffer.add(data); maxpos++;curpos++;
          else  
            data = buffer.get(curpos++);
         
        return data;
     
    @Override
    public synchronized void mark(int readlimit)  
        mark = curpos;
     
    @Override
    public boolean markSupported()  
        return true;
     
    @Override
    public synchronized void reset() throws IOException  
        curpos = mark;
     
 
You can use it like:
if (!istream.markSupported())  
   istream = new MarkableInputStream(istream);
 
This could probably be improved on, most notably by not using an ArrayList. I'm not sure what performance penalty that adds. It should be possible to use a normal array as the readlimit parameter to mark() says how many bytes the stream should record before throwing old data away in favour of new input. The class above will record all data from the start of the stream, so could result in a significant amount of memory usage. Hope you find it useful.

Ben Armstrong: Geek father

Being Father's Day today gives me pause to consider Debian Jr., a project for kids. The goal was to make Debian the OS kids prefer to use. I wanted my own kids to grow up enjoying using a system that puts the fewest barriers in the way to learning about how computers work, and to making computers work for them. It's nearly six years later now: enough time for my second youngest to grow from a toddler to an eight-year-old girl, for my youngest girl to be born and put to the test the lower limit of our "for kids from 0 to 99" slogan, for our boy in the middle to grow from a preschooler to a preteen, and for the two oldest girls to turn into teenagers. Perhaps by the time we have grandkids, Debian Jr. will finally be "done". In that time, our kids have gone from using a VT-420 attached to my Pentium 100, exploring commands using the "magic" tab-key at the bash prompt, playing with words and letters in pico, to playing 3D games and creating artwork in the Gimp on the family Sempron 3300+. And through it all, they've remained happy and proud to use Linux, which none of their friends have. They have become, I believe, more firmly grounded and comfortable with computing than they might have been using a system "dumbed down" for kids. To all the Debian using fathers out there today, Happy Father's Day! May you and your kids' lives be enriched as you share in the finest OS in the world.

Next.

Previous.