Search Results: "spa"

28 March 2009

Matthew Garrett

"Open"Solaris. Especially ironic given that there's a 2-clause BSD implementation out there already.

27 March 2009

Gunnar Wolf: La seguridad en c mputo: Con qu se come?

TitleLa seguridad en c mputo: Con qu se come?
Publication TypeMagazine Article
Year of Publication2009
AuthorsWolf, Gunnar
MagazineSoftware Gur
FrequencyQuarterly
Issue Number23
Pagination47
Date Published02/2009
Type of ArticleColumn
ISSN1870-0888
Key WordsSeguridad
Citation Key1928
Export

Gunnar Wolf: C mo ense ar a los programadores del futuro?

Title C mo ense ar a los programadores del futuro?
Publication TypeMagazine Article
Year of Publication2008
AuthorsGunnar, Wolf.
MagazineSoftware Gur
Issue Number22
Pagination64
Date Published11/2008
Type of ArticleColumn
ISSN1870-0888
Key Wordsense anza, paradigmas, motivaci n, autodidacta
Citation Key1927
Export

Gunnar Wolf: Coordinaci n de esfuerzos en grupos de desarrollo e integraci n de Software Libre

TitleCoordinaci n de esfuerzos en grupos de desarrollo e integraci n de Software Libre
Publication TypeMagazine Article
Year of Publication2008
AuthorsGunnar, Wolf.
MagazineSoftware Gur
FrequencyQuarterly
Issue Number21
Pagination62-63
Date Published08/2008
Type of ArticleColumn
ISSN1870-0888
Key WordsSoftware libre, comunidad, organizaci n
Citation Key1926
Export

Gunnar Wolf: La metaprogramaci n y los lenguajes din micos

TitleLa metaprogramaci n y los lenguajes din micos
Publication TypeWeb Article
Year of Publication2008
AuthorsGunnar, Wolf.
Access Date2009/03/27
Key WordsMetaprogramaci n, Ruby, programaci n
AbstractLa metaprogramaci n es una t cnica muy poderosa, y muy socorrida en el terreno de los lenguajes din micos. Puede llevarnos a reducir muy fuertemente el total de c digo que escribimos - Y lo que es mucho m s importante, a minimizar la cantidad de c digo repetido innecesariamente. Nos lleva claramente a aumentar la calidad y mantenibilidad de nuestro c digo.
URLhttp://www.sg.com.mx/content/view/718/1/
Citation Key1925
Export

26 March 2009

Holger Levsen: Ada Lovelace naming scheme

Two days ago I read about the Ada Lovelace day, which was an event were men and women were asked to blog about the women in technology which made an impact on them, in an effort to present girls (and women) all over the world with female role models in technology.

In similar though more personal motivation I choose my machine naming scheme at home two years ago: my (virtual) machines at home are named after women who made a difference, mostly in IT, but also some in more general science. Even though this list is not 100% in the spirit of pointing out the one woman who made a personal difference to one self, I thought I share my list, as I found it very interesting to learn about these great women myself.

goldberg is named after Adele Goldberg, who pioneered the smalltalk programming language in the 70s. According to a sympathetic annecdote she refused to show the system to Steve Jobs and only did so after her superiors ordered her to do so. Thats were Apple got many ideas which made them famous for being innovative...

goldwasser is named after Shafi Goldwasser, who is a RSA professor at MIT, doing research in complexity theory, cryptography and computational number theory. She is the co-inventor of zero-knowledge proofs.

lovelace is named after Ada Lovelace, and is widely recognized as the first programmer, who wrote a program (something that manipulated symbols according to rules) for a machine which has not even been build at that time. Of course, some men on this planet object to her being the first programmer, as work by women is always insignificant... </irony or maybe sarcasm>

bunten is named afer Danielle Bunten Berry, who was a game designer and programmer best known for the games M.U.L.E. and Seven Cities of Gold.

holberton is named after Betty Holberton, who was one of the six original programmers of ENIAC, the first general-purpose electronic digital computer, during and after World War II.

hopper is named after Grace Hopper who wrote the first compiler ever, the A compiler. She was also heavily involved in creating COBOL and standardizing COBOL and FORTRAN.

koller is named after Daphne Koller who does AI research at MIT and who seems to behind the idea of bayesian machine learning, which you might know from your spam filters... (I can only state her involvement in bayesian learning so vaguely as I'm basically clueless about the topic :)

leveson is named after Nancy Leveson who is also an MIT professior and is an expert in systems and software safety.

Last but not least I like to remark that none of the women above is even nearly covered with what I wrote here or what is written in wikipedia, which I used as my main source for this blog post. It's simple impossible to sum up one life that brief and be close to accurate.

And then there is another group of women whose achievements are noteworthy as well and who choose to present themselves on that webpage to show others that Debian is not a mens club. Thank you (a lot) for that and for your other contributions to Debian! If you want to learn more about these giants, I recommend this talk. Guess who's achievements I admire most in this group ;-)

Somewhat unrelated I wish to shout cheers to Yvonne, who tought me many things and who died six years ago today. You will also not be forgotten, though the pain is mostly gone now (well, it's gone, except for days like today). Thank you, among other stuff, for teaching me to celebrate and cheer every day, even if not everything is cheerful. Wenn die Nacht am tiefsten, ist der Tag am n chsten! :-)

Rapha&#235;l Hertzog: Flights for Debconf

I have booked my flights for Debconf9 in July. I will arrive in Madrid on July 23th at 10:30 from Lyon Saint-Exup ry (LYS-MAD, flight AF5891) and I will leave on July 31th at 17:40 (MAD-LYS, flight AF5892). I plan to use the train to go to C ceres but it s too early to buy tickets on renfe.es. I also have no idea how far the train station is (from the airport) but it looks like I will have several hours transit time anyway. There aren t so many trains for C ceres. The train tickets will likely cost around 30 EUR each. I m glad that I can attend again this year. I m sure it will be very productive. At least concerning dpkg it will be good to meet Guillem Jover IRL. Partagez cet article / Share This

25 March 2009

Pablo Lorenzzoni: FISL10 Subscriptions and Call for Papers Opened

One of the largest FLOSS events in the world, FISL (International Free Software Forum in english) subscriptions are already being accepted. They also already called for papers! They re calling this year s a special edition since they expect to reach 10-thousand attendees (last year exceeded 7-thousand)... this is pretty big if you ask me. As usual, it will take place at Porto Alegre, and is scheduled from June 24th to 27th. I think we can expect the usual activities (Programming Arena, Interesting Workshops, FLOSS shows, Great Speakers, Brazilian Government), but I think the special edition is not just due to the number of attendees. What surprises are being cooked by the Organization Committee is just something we ll have to wait and see :-) See you there!

Alastair McKinstry: Compulsory Patent Education

While everybody agrees the current patenting system (especially software patents) is broken, there is little agreement about what to do about it. Many would like to return to some earlier state "when patents worked properly". So here is a proposal, not necessarily a magic bullet, but a step. The point of patents is/was to make a process "patently clear". Anyone who has read modern patents knows they are anything but clear: they are written in legalese, and engineers and inventors are recommended not to read them: it is both pointless, and dangerous: dangerous, because wilfully infringing patents triples the damages awarded compared to just being ignorant. In other words, you are unlikely to realise that you are infringing a patent (it is so poorly worded) and will accidentally infringe it, earning extra penalties for you diligence in checking. So the solution: Explicitly make patents something "a person with ordinary skill in the art" shall be expected to have read.

read more

Tags ,

24 March 2009

Adeodato Sim : Microblogging

I ll take chance now that microblogging seems to be fashionable in Debian to comment this. Luk did create a while ago an Identi.ca account to send updates about his work on Debian, eg. updated chroots for goetz (official alpha buildd) . I ve created an account for myself, and intend to send there the same kind of Debian-related updates let s see how it goes. We ve also talked about setting up one for the release team as a whole, but we ll see about that. Relatedly, now that I m a tircd user and Twitter lives now on my Irssi (thanks, Decklin!), I can say it ll be easier to update my account there, which I ve had for a while. It ll be personal stuff, mainly, i.e. not intersect with the Identi.ca one. P.S.: Apologies for today s post in Spanish in Planet Debian. I realized right after Planet software had fetched it, and albeit I removed it from the feed I send to planet immediately, Planet seemed not to pick up the removal.

John Goerzen: Review: David Copperfield

I finished reading David Copperfield on the Kindle a few days ago. This is a review of the novel, not the Kindle. I m not an English major, and so I m not going to pretend to be one. I m not going to discuss what themes the book touches on, what category it fits in, or generally dissect it to the point where it s more monotonous than fun. I read the book because I wanted to, not because I had to write a paper about it. I must say, first of all, that this has got to be one of the best books I ve ever read. The vivid descriptions of the characters were just fun to read. One particularly meek man was described like this: He was so extremely conciliatory in his manner that he seemed to apologize to the very newspaper for taking the liberty of reading it. Some of the scenes in the novel are amazingly vivid and memorable. The hilarious and tense scene towards the end where one of the main villains is taken down was one, and of course just about every scene involving David s aunt is too. Dickens is a master of suspense. He does it through subtle premonitions in the book. You might not even really notice them as you re reading. But it sure had an effect on me: I had trouble putting the book down, and stayed up later than I should have on more than one night to keep reading another chapter or three. Like any good book, this one left me to think even after I was done reading it, and left me wanting to read it again. Right now. There are some practical downsides to it, though. It was written in the 1850s, and some of the vocabulary and British legal, business, and monetary discussions are strange to a modern American audience. Nevertheless, with the exception of the particularly verbose Mr. Micawber, you can probably make it through without a dictionary, though one will be handy. I read it on the Kindle, which integrates a dictionary and makes it very easy to look up words. I learned that a nosegay is a bouquet of showy flowers. And that Mr. Micawber was fond of using words obsolete since the 17th century, according to the Kindle. If you remember that pecuniary emoluments refers to a salary, you ll be doing OK. The other thing that occasionally bugged me was that the narrator (David) would comment on some sort of gesture, or comment that wasn t very direct, and then say something like, But she didn t need to be more explicit, because I understood the meaning perfectly. Well, sometimes I didn t. Though I usually figured it out after a bit. I was never quite sure if Dickens was being intentionally needling to the reader, or if an 1850s British reader would have figured out the meaning perfectly well. But that was part of the fun of it, I think.

Sandro Tosi: Reportbug 4.0 is born

I've just uploaded reportbug 4.0 in Sid (wait for the usual replication delay to have it on your machine). There are several changes in it (sadly, always too few than what I wanted):
I hope you'll be satisfied by that; sadly not all the promises are respected, let's hope we can deal with them in the next periods.Link

Jeff Bailey: A set of thoughts

Showtime, synergy!



Josselin Mouette: Dear lazyweb,

Due to the repeated tendency of our friends of the MPAA beloved government to create laws that turn computer and Internet users into criminals, I m considering to shutdown any kind of non-encrypted communications that I initiate from France. Therefore, I m looking for cheap dedicated hosting in an Internet-friendly country, in a way similar to what we have here with OVH or Iliad. My requirements are: I m fine with blades, but not with virtual hosting. Suggestions are welcome. I m currently considering hosting solutions in the Netherlands, but I d appreciate some advice.

23 March 2009

Daniel Burrows: Sometimes, tools are useful.

I generally try not to get caught up in writing auxiliary tools for my free software projects. My experience in the past has been that given how little spare time I have each week, a tool that takes more than an hour or two to write quickly ends up becoming a time sink that prevents me from making progress on the main project. But occasionally it's worth the effort. screenshot I spent the last couple weeks putting together a tool to extract information about a dependency search from a log trace of aptitude's resolver. The search is displayed in a log interface that shows both the steps of the search in order, and the tree structure of the search. It took a long time to write, but after working with it for just a few hours, I was able to track down the bugs in the resolver modifications I was trying to write; without a tool like this, it would have taken a lot of painful grepping through log files to get all the information I needed. In other news, the resolver now stores the choices it has made as a single set of choices, instead of using two different sets for the two types of choices it can make. There's no user-visible change (although I did fix another performance problem that affected safe-upgrade), but this will pave the way for adding more types of choices in a cleaner way: in particular, the resolver should get explicit support for package replacements in the near future. The code for this is available in the tools directory of aptitude's experimental Mercurial repository, http://hg.debian.org/hg/aptitude/post-lenny. When I get around to merging it this with the main repository, it will also be available at http://hg.debian.org/hg/aptitude/head.
A brief digression regarding the implementation language The tool is implemented in Haskell, a decision that I'm not sure was the right one. Haskell's data model was perfect for this task: having algebraic datatypes allows me to precisely represent cases where parts of the structure can't be inferred from the log file, or can only be inferred incompletely. And of course there are the other well-known benefits of Haskell (pure, a strong type system, good support for higher-order programming, etc). But all those benefits were wiped out by the time I spent fighting the runtime. The thing is, Haskell is a lazy language. In theory, this means that it never evaluates anything you don't need and that you can work with arbitrarily large (even infinite) values and only allocate the parts you actually use. In practice, this means that you have to pay excruciatingly close attention to every single expression you write, or as soon as you run your program on non-trivial input, it will either run very slowly, eat all your memory, die with a stack overflow, or all of the above. Oh, and did I mention that laziness means that you can't have a runtime debugger, that trace statements are mostly-useless, because your program doesn't run in any predictable order, and that it's impossible to get backtraces when there's a fatal error? I think if I were doing this over again, I'd use O'Caml. I'm less familiar with it and its syntax is clunkier, but I have used it productively in the past and it provides the core stuff I wanted from Haskell (functional programming with algebraic datatypes). If someone could make a language that was pure, had Haskell's nice syntax and type features, but was also strict, and that had decent tool support and development resources, I think I'd be in nerd heaven.

Adeodato Sim : Five films (#4)

Wow, long time without one of these posts. I actually have material that will have to wait for the next issue already!

Julian Andres Klode: Change has come to python-apt - aka 0.7.9 released


With version 0.7.9 change has come to python-apt, and I will tell you now what the new stuff is about: 1. Introduction of the documentation As you may know, python-apt 0.7.8 s only documentation was available from the source code and to some parts from the docstrings. This changed in python-apt 0.7.9~exp2, when I introduced a complete documentation written in reStructuredText, and generated using Sphinx. This documentation has even improved in the final 0.7.9 release, and I will push it to the online mirror at http://apt.alioth.debian.org/python-apt-doc/ soon (it currently still has 0.7.9~exp2). 2. Graphical Progress The module apt.progress.gtk2 provides widgets for Python GTK+ coders, allowing them to easily build graphical applications interacting directly with apt. I am still looking for someone to write a apt.progress.qt4 module, if no one wants to do this, I will do it myself. 3. Enhanced apt.debfile module A lot of code has been merged from gdebi, now allowing to do a large set of operations on local .deb files. For example, you can now install these packages. This module is also the first module to follow PEP8 naming conventions (lowercase_with_underscores), the others will be adapted at a later point. 4. Complete code cleanup I have worked on cleaning up the whole code, fixing white space problems, and more. Ben Finney was very helpful, I merged some of his patches for whitespace. I also fixed several other problems related to PEP8 conformance. Previously the PEP8 checking tool (see documentation) found about possible 964 issues, this has been reduced to 7 (-957), but these 7 issues are simply the usage of has_key() at locations where it can t be avoided [interfacing with TagSection objects], i.e. they are false positives. 5. Introduction of apt.package.Version In python-apt 0.7.9 I am introducing a new class apt.package.Version. This class provides access to various attributes of a version, like the record, the version number, the origin and even allows you to fetch the corresponding source code. But one of the best things about it is that it is sortable, allowing you to write:
print 'Highest bash version:', max(apt.Cache()['bash'].versions)
This makes it very clear that you can build really cool applications with it. The various candidate*() and installed*() methods of apt.Package objects haven been deprecated, and you should use the Version() objects available via Package.installed or Package.candidate properties. Summary All in all, the python-apt 0.7.9 is a big step forward. It is one of the largest releases in the history of python-apt and provides various new features to make developing easier. With all the code cleanups, and the documentation, you should be able to find everything you need; if not please report a bug. When we are asked Can we do this with python-apt? , we can finally say: Yes we can! Posted in Debian

Jaldhar Vyas: New Laptop

Today is my 38th birthday. (Chronologically that is. It was on Thursday by tithi.) As a present I got an Acer Extensa EX 4630-3922 laptop. I added an extra 2GB of RAM to the listed configuration and still managed to spend less than $500. It came with Windows Vista but shrinking that to a minimum and installing Linux (Kubuntu Intrepid) on it was completely uneventful. Now the next step will be to learn about Xen or KVM (Who's winning these days?) so I can add Debian Lenny and RHEL 5.2 to the mix. The only complaint I have so far is the anemic battery life which barely reaches 2.5 hours though perhaps that might improve with a bit of tweaking.

22 March 2009

Amaya Rodrigo: The Drunk Geishas



Drunkest Geisha of them all



The Drunk Geishas have proofed to be very a rebellious anti Mac OSX users female guerrilla group. Here is one of its newest members, who after having been fired only last monday at the Internet News Paper she was a SysAdm at, became sick with fustration and joined the first women-only terrorist group she came across, which also fit her somewhat, because she was a geek who never liked Mac users very much, anyway.

21 March 2009

Sean Finney: saving, escaping, and restoring positional parameters in a POSIX shell

and now for something completely different... sometimes in a shell script you need to do stuff that modifies the positional parameters ($@, $1, $2, etc) from the cmdline, usually via the builtin shift, maybe from using getopt(1) or similar. for example, it's quite common to see the following in a shell script that parses cmdline flags with getopt
# parse cmdline options with getopt
TEMP= getopt -o h123 -n $0 -- "$@" 
if [ $? != 0 ] ; then usage >&2 ; exit 1 ; fi
# overwrites $@ with getopt-generated/sanitized arguments
eval set -- "$TEMP"
# destructively iterates across $@
while true; do
  case "$1" in
        -h)
          # handle option h
          shift
        ;;
        ...
        --)
          shift
          break
        ;;
      esac
...
done

but sometimes you want to be able to restore the original positional parameters later, or otherwise quote them in a manner where they can be passed along to another script/function, log them, embed them in a string/file, etc. you can't always just stash them in another variable to use that later, because "$@" has a special meaning to the shell that can't otherwise be reproduced with another variable. one way you could try to store/save them would be to save the original copy of $@ and use eval set -- later on to change it back to the saved variable. using a slightly simplified version of the above:
#!/bin/sh
# save the cmdline
saved="$@"
echo original command line, $# arguments: "$@"
while test -n "$*"; do echo arg: "$1"; shift; done
echo mangled command line, $# arguments: "$@"
# restore the cmdline
eval set -- "$saved"
echo restored command line, $# arguments: "$@"
while test -n "$*"; do echo arg: "$1"; shift; done

and at first glance, it seems to work:
rangda[/home/sean] ./bad.sh one two three
original command line, 3 arguments: one two three
arg: one
arg: two
arg: three
mangled command line, 0 arguments:
restored command line, 3 arguments: one two three
arg: one
arg: two
arg: three

but you may run into problems when some parameters have spaces, or quotes:
rangda[/home/sean] ./bad.sh "1: one" "2: two"
original command line, 2 arguments: 1: one 2: two
arg: 1: one
arg: 2: two
mangled command line, 0 arguments:
restored command line, 4 arguments: 1: one 2: two
arg: 1:
arg: one
arg: 2:
arg: two
rangda[/home/sean] ./bad.sh "one's one"
original command line, 1 arguments: one's one
arg: one's one
mangled command line, 0 arguments:
./bad.sh: eval: line 12: unexpected EOF while looking for matching  ''

or worse, shell meta characters:
rangda[/home/sean] ./bad.sh 'i wonder what  pwd  would do'
original command line, 1 arguments: i wonder what  pwd  would do
arg: i wonder what  pwd  would do
mangled command line, 0 arguments:
restored command line, 6 arguments: i wonder what /home/sean would do
arg: i
arg: wonder
arg: what
arg: /home/sean
arg: would
arg: do

the solution is to build up the saved value a bit more manually, single-quoting each parameter (which should prevent any unintended side effects of space/quotes/metacharacters), and escaping existing single quotes inside of parameters.
# escape any single quotes in an argument
quote() 
  echo "$1"   sed -e "s,','\\\\'',g"
 
# save up a properly quoted/escaped version of "$@"
for arg in "$@"; do
  saved="$ saved:+$saved  '$(quote "$arg")'"
done
echo original command line, $# arguments: "$@"
while test -n "$*"; do echo arg: "$1"; shift; done
echo mangled command line, $# arguments: "$@"
# restore the cmdline
eval set -- "$saved"
echo restored command line, $# arguments: "$@"
while test -n "$*"; do echo arg: "$1"; shift; done

let's see how it behaves:
rangda[/home/sean] ./good.sh "1 one" "2: two"
original command line, 2 arguments: 1 one 2: two
arg: 1 one
arg: 2: two
mangled command line, 0 arguments:
restored command line, 2 arguments: 1 one 2: two
arg: 1 one
arg: 2: two
rangda[/home/sean] ./good.sh "one's one"
original command line, 1 arguments: one's one
arg: one's one
mangled command line, 0 arguments:
restored command line, 1 arguments: one's one
arg: one's one
rangda[/home/sean] ./good.sh 'i wonder what  pwd  would do'
original command line, 1 arguments: i wonder what  pwd  would do
arg: i wonder what  pwd  would do
mangled command line, 0 arguments:
restored command line, 1 arguments: i wonder what  pwd  would do
arg: i wonder what  pwd  would do

while not entirely pretty, it does to do the trick. i'd be interested to know if anyone has a better way of doing this (or if there are hidden problems in what i've posted above).

Next.

Previous.