Planet Debian
DebConf team: DebConf10 call for contributions (Posted by DebConf10 Talks Team)
The Debconf team is excited to announce that we are now accepting proposals for contributions to this year’s Debian conference! We invite you to submit proposals for how you would contribute until the deadline: May 1st, 2010, 23h59 UTC.
There are many ways you can contribute, you could present a technical paper, host a panel discussion, put on a tutorial, do a performance, an art installation, a debate, host a meeting (BoFs, or Birds of a Feather Session), or other possibilities that you devise. This year we are also accepting proposals for tracks—a thematic grouping around a particular subject, and people to coordinate those tracks. If you are looking for ideas of things that you could contribute, or have ideas for things that you would like to see happen at Debconf, have a look at the Contribution Brainstorm page.
DebConf talks will be broadcast live on the Internet where possible, unless otherwise requested. Videos of the talks will be published on the web along with the presentation slides and papers.
Step 1. Submit ProposalProposals should provide an overview of your proposed contribution, similar to an abstract, and be no more than 600 words. Since contributions can cover a range of issues, please describe what your proposal covers, be it political (Free Software, law, advocacy, access, etc.), technical (d-i, OpenPGP, etc.), social (Debian structures and groups). It’s okay to hit all three of these. Your proposal should also include some information on why you’re qualified to present, or coordinate this topic. For example, you can include links to posts you have made to Debian mailing lists or other material that indicates your qualifications. Proposals and their abstracts will be accepted until May 1st, 2010, 23h59 UTC.
To submit your proposal, go to http://debconf10.debconf.org/register.xhtml and register as an attendee. Once you are registered, there is a “Submit a proposal” link. You will see your proposal on the site. You can choose between different presentation types. If you are unsure what type you should use, please read our definitions first. If it’s not there for some reason, or you have questions, please contact us immediately.
Step 2. Committee ReviewThe review committee for this year will make its decision by May 1st, 2010. All correspondence will be done by email.
Step 3. Paper SubmissionLike last year, we are asking for papers to be submitted along with the presentations. A full paper is optional, however we strongly encourage you to submit one if possible as we intend to provide written information along with transcripts of the sessions for later viewing. Having written papers in advance will allow us to get translations done to help non-native-English speakers feel more comfortable with the topics presented. Papers are due by July 1st, 2010, and should cover the topic in reasonable depth (3 pages A4 text, plus pictures and diagrams). We will use LaTeX to typeset the proceedings. Please submit your paper formatted in LaTeX. Should you be unfamiliar with LaTeX earlier submission in plain text is also fine.
Step 4. Live PresentationLonger presentations may have a break in the middle and should include workshop items that directly involve the participants. If using slides or any other presentation, please consider that your audience will consist of people who use free software, and your choice of application to prepare and display the slides should reflect this if at all possible.
Fine Print Publication RightsDebconf requires non-exclusive publication rights to papers, presentations, and any additional handouts or audio/visual materials used in conjunction with the presentation. The authors have the freedom to pick a DFSG-free license for the papers themselves and retain all copyrights. The presentations will be recorded, and may be broadcast over the Internet. Any copies of the presentation will be made available under a license like the MIT/X11 license.
Failure to SubmitIn the event that a deadline is missed we reserve the right to revoke any offer to present.
Biella Coleman: Call for Contributions
It is a little later than we wanted but here it finally is: Debconf10 call for contributions. Do read as it has some new ideas, categories, and prospects. Also make sure to share with us on the brainstorming page.
David Bremner: Functional programming on the JVM
I'm collecting information (or at least links) about functional programming languages on the the JVM. I'm going to intentionally leave "functional programming language" undefined here, so that people can have fun debating :).
Functional Languages Languages with functional features Projects and rumours.There has been discussion about making the jhc target the jvm. They both start with 'j', so that is hopeful.
Java itself may (soon? eventually?) support closures
Marco Túlio Gontijo e Silva: Another interesting code using Template Haskell
While writing the post about performance, I got interested in Template Haskell, specially in the $(lift) construction. Investigating a little bit about it, I got to the following code:
{-# LANGUAGE TemplateHaskell #-}
import Language.Haskell.TH.Syntax
import X
main :: IO ()
main = print $(lift $ x)
With X.hs:
module X where import System.IO.Unsafe x :: Int x = read $ unsafePerformIO $ putStr "Number: " >> getLine
The result was a surprise to me. It asked for the number in compilation time.
$ ghc --make main [2 of 2] Compiling Main ( main.hs, main.o ) Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. Loading package base ... linking ... done. Loading package array-0.3.0.0 ... linking ... done. Loading package containers-0.3.0.0 ... linking ... done. Loading package pretty-1.0.1.1 ... linking ... done. Loading package template-haskell ... linking ... done. Number: 5 Linking main ... marcot@zezinho:~/codigo/haskell$ ./main 5
Biella Coleman: Training it up to Debconf
That’s right: I am taking the train uptown to my old romping ground, Columbia University, for Debconf10. I am supremely and superbly excited as I tend to really like these events, so much so, that I am also pretty involved with the organizing team.
For those on the edge of a decision, here are a few thoughts that might push you toward the edge of “f*ck yea, I am gonna go!”
So one important, one of the MOST important parts of the conf is the venue and Columbia University is a fantabulous venue. In fact, it is the only great venue, imho, in all of Manhattan so I was pretty thrilled (and relieved) to hear that it was secured.
It is an oasis in an otherwise bustling city. And better, a compact oasis where everything is nestled and close to each other, within like 3 minutes walking distance of each other. Even better is that the grounds and architecture are quite beautiful and charming. There are these majestic stairs, “the steps” where you can soak in the sun, great lawns for tossing a Frisbee, wonderful and smaller patches of lawn behind old school red brick buildings, and statutes, one of which is great for climbing on to sit and contemplate the day or night or just life, as I used to love to do. It is a great campus for staying up late and watching the sun rise. My fondest times was when the campus was blanketed under a mountain of snow, but it is pretty nice over the summer as well.
We have also secured an all night hack lab, which is a pretty essential touch.
We are also thinking beyond the venue, concocting and expanding ideas for contributions, a great day trip (that will likely not entail a bus but a beach, lots of Russians, roller coasters, and even baseball, oh and lots of NY Kitsch), and there are many other ideas swirling around. We are about to release the call for contributions so you will learn more, including some information on how to brainstorm with us, so be on the look out and remember to register if you’ve made your decision!
Marco Túlio Gontijo e Silva: Performance of IORef
I’ve tried to see how slower can ghc be compared to gcc in compiling a simple
imperative program. I’ve written this small test program in C:
/* loop.c */
#include
int
main(int argc, char **argv)
{
int i, j, k, t = 0;
for(i = 0; i < 1000; i++)
for(j = 0; j < 1000; j++)
for(k = 0; k < 1000; k++)
if(i * i + j * j + k * k % 7 == 0)
t++;
printf("%d\n", t);
return 0;
}
And a similar version in imperative Haskell, being as similar as possible to
the original C code:
-- loop.hs
import Control.Applicative
import Control.Monad
import Data.IORef
main :: IO ()
main
= do
i <- int
j <- int
k <- int
t <- int
for (i =: 0) (i <: 1000) (inc i)
$ for (j =: 0) (j <: 1000) (inc j)
$ for (k =: 0) (k <: 1000) (inc k)
$ do
i_ <- readIORef i
j_ <- readIORef j
k_ a -> IO ()
(=:) = writeIORef
( IORef a -> a -> IO Bool
i <: v = (< v) readIORef i
inc :: Enum a => IORef a -> IO ()
inc i = modifyIORef i succ
for :: IO () -> IO Bool -> IO () -> IO () -> IO ()
for preface condition step code
= preface >> for_ condition step code
for_ :: IO Bool -> IO () -> IO () -> IO ()
for_ condition step code
= condition >>= flip when (code >> step >> for_ condition step code)
A functional version:
-- functional.hs
main :: IO ()
main
= print
$ length
[i
| i <- [0 :: Int .. 999]
, j <- [0 .. 999]
, k <- [0 .. 999]
, i * i + j * j + k * k `mod` 7 == 0]
And a version using Template Haskell.
{-# LANGUAGE TemplateHaskell #-}
import Language.Haskell.TH.Syntax
main :: IO ()
main
= print
$ $(lift $ length
[i
| i <- [0 :: Int .. 999]
, j <- [0 .. 999]
, k <- [0 .. 999]
, i * i + j * j + k * k `mod` 7 == 0])
The results:
$ time gcc -O3 -o loop -Wall loop.c real 0m0.256s user 0m0.148s sys 0m0.040s $ time ./loop 143 real 0m13.652s user 0m11.629s sys 0m0.052s $ time ghc --make -O3 loop.hs real 0m0.209s user 0m0.160s sys 0m0.020s $ time ./loop 143 real 3m46.834s user 3m24.313s sys 0m0.712s $ time ghc --make -O3 functional.hs [1 of 1] Compiling Main ( functional.hs, functional.o ) Linking functional ... real 0m1.420s user 0m1.016s sys 0m0.220s $ time ./functional 143 real 1m29.057s user 1m25.809s sys 0m0.224s $ time ghc --make -O3 th.hs [1 of 1] Compiling Main ( th.hs, th.o ) Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. Loading package base ... linking ... done. Loading package array-0.3.0.0 ... linking ... done. Loading package containers-0.3.0.0 ... linking ... done. Loading package pretty-1.0.1.1 ... linking ... done. Loading package template-haskell ... linking ... done. real 90m54.226s user 87m32.024s sys 0m14.785s marcot@zezinho:~/codigo/haskell$ time ./th 143 real 0m0.005s user 0m0.000s sys 0m0.004s
The time to build the code with TH is not the best, but the execution time
surely is. Maybe we could use this technic to improve the execution time of all
of the codes, interpreting a part of the code in build time automaticly,
without user indication.
The results in a table:
Version Build time (s) Execution time (s) C 0.256 13.652 Imperative Haskell (IORefs) 0.209 136.834 Functional Haskell 1.420 89.057 Template Haskell 5454.226 0.005David Watson: 7 Day Photo Challenge - Day 1
I have challenged myself to take a photo every day this week starting today, I am doing this to force myself to spend less time working on my photos ( and to publish pictures more often). I generally spend too much time playing with photos and seldom actually put them online for any one to see.
Here is todays shot of a rose I took this afternoon.
I would love to have people join me in this challenge, so I have created a flickr group for it.
Joerg Jaspert: Vacation fun
As some people know, I had a vacation in February. Only very few knew that I was heading “down” to Taiwan. I was leaving Germany at the 8th and back here on the 24th of February. Yes, that neatly fit this years Chinese New Years parties.
Was at home for four days (and at work for one), after which I went off to this years Cebit. Until the day I arrived in Taiwan it looked like we do not have a booth there, but then everything changed while I was having a nice vacation. I really have to thank Alex here. Cebit was actually my task, but he jumped in and did all the preparatory work that was needed right in the time I started my vacation. Without that either my vacation would have been much different and less nice or we wouldn’t have had a booth.
I am back home since some days now, without any travel plans for the next few weeks/months to come. Though I wish I had a job (and private life) that would allow me to just go off again, ie. something I could do everywhere where there is net. Meh.
Of course I did take some pictures (more than 2500) and also some notes during the trip. And having a blog that one or two people read, I think I should bore you all with it. But hey, you can skip it if you want. :)
Yes, I should really take some time and work a bit on the pictures I took. Right now I only selected around seven hundred which I show off to people (and to link to from here), but they are basically just copies. While some are great in itself, many can need a bit of work here and there (cut out unimportant, blurry, colors, the usual stuff). And I also prepared multiple shots for HDR processing or to make a panorama view from, but thats something that takes time and has to wait. Just for the record, I think that this, this and this are very nice ones.
This is a public version of this text, so names and also various events and days have been cut out. Yes, people who know those in my pictures will know names, but thats no reason to feed the evil $searchengine caches more with hits for their names.
Flight down, 8 Feb.
Flight down from Frankfurt, using KLM so it went via Amsterdam and Bangkok (short Transit stop) to Taipei. The days before we had lots of snow and cold and all that stuff which tends to get flights cancelled, but I was lucky, none of that for me. The only slightly annoying thing was in Taipei, where KLM demonstrated how much a Business class “Priority luggage” sign is worth for them sometimes. We came in half an hour before schedule, but then had to wait an hour for our luggage (while all of economy luggage passed by). I think the business class “Priority” sign actually meant “Priority to wait”.
The food on the flight from AMS to BGK was good, having a “No Lactose Meal” actually tasting well. Can’t remember what it was, but better than the fish I got from BGK to TPE. Catering from Thai Airways, they do not know anything besides Fish when preparing “No lactose meal” and then they also manage to prepare it in the most boring way possible. Sad thing, but happened four times now, all the times I had catering prepared by them.
Other than those points, no trouble at all. Immigration was done in about 20 seconds, customs didn’t want to look at me, just the asians in front and behind me, all fine. Met my Travel Companion outside and off we got. First to the Taipei Main Station, where we got some food. Some rice (with a bit of meat) and red sauce, together with a soup. And a glass of tea, but that had an oily surface. Umm. Guess the cup wasn’t all that clean, we both skipped that.
Then I tried to get money from an ATM. First had to find one that actually wants my european credit card. And then, as usual when I travel offroad, I managed to forget my pin. Bah. Well, found an HSBC somewhere that actually takes my Maestro card, so at some point I got money (a pretty helpful thing, that is).
Wednesday, 10 Feb.
First night in a new Timezone which is 7 hours before my normal one. Makes my body think I should not be allowed to sleep much. So it only allowed me some two hours before I woke up again. It didn’t listen to any argument and didn’t care that it was all dark and night, so I couldn’t sleep more. Wellwell, got up at the same time as $TC then, we got some breakfast, egg/ham sandwich and tea. From there I set off and juggled my way through Taipei MRT over to YuanShan Station.
It is good for a visit of the Confucius Temple and also the Dalongdong Baoan Temple which is right beside it. Later on I got told there are much more impressive Confucius temples elsewhere, but it is still a good place to start off. And it just means I have one more reason for another visit.
After those two temples I moved over to the Taipei Fine Arts Museum. Took about an hour to go through that museum, which again made it pretty clear to me: Some people just have too much time and money. I do not even get the setup in the entry hall, even though it looks nice, and let’s not start about the rest they show there. Definitely not my thing, “Fine Arts”, nothing worth to waste money on, at least for me.
So I left there after just about an hour and fought the MRT again. This time it spit me out at the Taipei Zoo station and I went through that. Appearently the nice sunny weather let some animals have fun, and that all in public. Tssk. “Won’t someone please think of the children?!” :)
Otherwise it is a pretty big area with lots of animals. Not all of them seem to be in areas that (I think) are big enough for them, though I’m no expert in that. But it looked small for them.
Also, while I thought it pretty well visited, many people there, I bet for Taiwanese standards the zoo was nearly empty. At least looking at their preparations for queues, like in front of the koala house, they are used to deal with like 20 times the amount of people. I count me lucky that there haven’t been that many, else I would have needed to wait everywhere, which I hate. Queues are bad, mmmmmkay?
As I already mentioned, the weather that day was pretty nice. Mostly sunny, only few clouds and some 25 til 29 degrees. No rain. Now that’s a nice winter day.
Dinner was scheduled for 1800h, a Hot Pot session. 5 people in total. Appears you order the meat for the hot pots from the waiter and let them bring it, but all the additional stuff you get yourself. They have a big selection of vegetables, seafood, bread/cake like stuff and whatnot you can take. I first also went there and got a small dish with stuff. But stopped right then and let the Taiwanese do the rest. Better that way, they know it. And hey, we had been 5 and they got stuff for like 35 people. :) It was a nice 2 hour session, in which we had lots of different kinds of “additions” to the hotpot (two pots actually, one spicy and one not spicy). I know of some meats, some vegetables, but then there also was said to be duck bladder and some other organs which they couldn’t (or didn’t want to? :) ) name in english. Now, db sounds worse than it is, it doesn’t have a special taste and is mostly boring, I think. Of course, not liking seafood, I skipped on that, but about all the rest was nice. I like Hot Pot :)
After this session the other 3 left for various reasons and $TC and me had a nice walk around/through the University, before going back to $TCs place.
Thursday, 11 Feb
Had another short night as I only got to bed around 2AM, just to get up around 9AM. Additional fun that my body again insisted in being elsewhere, not accustomed to the timezone in Taiwan yet, waking me up a few times during the night.
Got an easypass for the MRT as that is a little better than buying a chip for every single trip and battled with MRT again, finally emerging at Danshui station. Sat a bit at the beach eating breakfast before finally starting a walk out to the “Fisherman”s Wharf”. It is some 4 kilometers to it, made out as a bicycle path, but I just walked. Visited Fort San Domingo on the way and then went all the way up in that Wharf area, another kilometer. Got me a nice peppermint ice tea, though it was a funny process to it. The salesperson didn’t speak english and my chinese is - well, limited is a too soft word to describe it. But it worked pretty well, with us pointing around on the menu and then the salesman showing me various additions, if I would want them. Like showing a milk bottle “Want milk in tea?”, showing sugar, …
At the bridge in that Wharf I was approached by some Asian people, asking me to take a picture of them in front of the bridge. Fine, did it, did it again in another setting and then, when done, they asked me where I am from. When I said Germany they thanked me in German which surprised me a little. :)
That is something funny anyways. Wherever I go, people look. They aren’t much used to someone my size. Kids are usually more direct with pointing, grinning and sometimes crossing my way on purpose, just saying hi (some kind of test of courage, I bet). Every now and then I also get asked if they can take a picture with me. Right now there are like 20 pictures of me (that I know of) all over Taiwan that I didn’t take, nor have. :)
Now, who here loves Spongebob? This is the country for you! The picture only shows one small table, you can find much much more. Same goes for Hello Kitty and other such stuff.
Dinner this day was initially planned to be at some place called Maokong, but then plans changed, as $TC and others that we should meet there needed to pack for the next day. So $TC and me “just” went to the Shilin Night Market. Right beside it is a big food plaza. Like a thousand square meters (or probably a few more, what do I know, I haven’t measured it, but it wasn’t all too big) having some hundred or more little kitchens where you can get a very broad mix of things. We had cold noodles with some slightly spicy sauce and then some fresh guava juice. Tasty tasty. Though noodles with chopsticks was something new, but it worked out well enough. Later I had a noodle soup, that was something more tricky, but in the end you just need to find the right trick.
After food we went through the night market. Well. Parts of it. It’s big. And its crowded. About the most crowded place I’ve been to. Heck, half of Taiwan was in that street area. :) Didn’t buy anything. The only stuff I thought interesting was a T-Shirt with a Taiwan map on it, but do try getting some in my size. Ha. Small asians. They say they have big sizes, but then its XL only (or a totally ugly color, brrr).
We finished early here, as the packing for the trip starting Friday right in the middle of the night still needed to be done, and getting up at 6AM you do not want to stay up too late. But it was nice there anyways.
Friday, 12 Feb
Got up early. I mean, early. 6 AM. ARGS. Not really my favorite thing to do, but as our plan said we have to get the HighSpeedRail to Kaohsiung at 7:42AM there wasn’t much else to do. Pretty nice train, lots of room to sit, even in second class. Don’t know business, but probably even more. And it looks fast, if I can trust the display it had we where going near 300km/h.
After arrival in Kaohsiung we went out to $TC’s place to get our luggage away, as it is annoying to move around with all the stuff. I got another easypass here, this time a lent one from $TC’s Mother. It’s fun, there are two MRT systems in Taiwan using the same technics, basically the one in Kaohsiung is built like the one in Taipei, using the same style of RFID cards (and chips for single trips). But they made them incompatible. One can not use a pass from Taipei in Kaohsiung and vice versa, for whatever reason. It’s not like the two cities are very far away from each other, it would actually make sense to be compatible, but that is probably what stops them doing it.
We took this Friday and also the Saturday to get around Kaohsiung, visiting several places. As the MRT in Kaohsiung has a different station design at every of its stations we did look at some of those too. Especially “Formosa Boulevard”, a station that has two points describing it best:
- it is largely oversized for the function it serves. I guess the people who build it only thought of the health of the passengers, who have to walk a marathon distance from one trainline to the other. It’s huge.
- it has a “Dome of Light” inside, which does look nice. I do have some more pictures of that Dome and whenever I find some time I should try making a nice panorama out of them, but not now.
Right outside one of the exits is a funny little cosmetic surgery. I only remember it thanks to the english name of the Doc, but somehow I don’t think it was chosen wisely: “Dr. Luck ….”. Aiik, you need be lucky to get out there looking better? Dr. Unlucky might not be good for you taking a wrong cut? … :) (Yes, I know, I’m crazy, don’t tell me. Ok, if you really want, queue up, you aren’t the first.)
At one point we went out to Sizihwan, where we walked to a ferry. Actually we tried renting bikes, but this little bike shop wasn’t prepared for a small german like me, not having bikes my size. (And no safe way to get the saddle of the smaller ones into a height I could start using the bike). So walk it was, not nice bike trip. Still ok, got to the ferry, got over to the other side and had a nice walk there to the/along the coast.
We bypassed multiple temples there, at one of which a great cite came up:
Temples in Taiwan are something like 7-eleven. They are everywhere.
I love it. And somehow it’s true, you can find one around each other corner, a little like those churches in Puebla, Mexico.
In the evening we had been out for a night market. The first one was pretty boring. While having been announced in the MRT station near it to be a night market for New Years things, we found it to be about empty and very boring, so we went over to another one nearby. Wasn’t as crowded as the Shilin one, and not as large, but nice. At the end of it had been a small game stand, where one could shoot balloons to get some price. I ended up getting the biggest available, as this isn’t really a challenge. How anyone can miss hitting a balloon there I don’t know. They are only like 3m away, not moving, you have clear view, and if you really need it even get a laser pointer on your gun. Anyways, was fun enough, I repeated shooting enough times to get the biggest available “Patrick” “doll” they had (a meter). Hrhr. Who likes Spongebob, eh? Speak up! :)
I got a few nice shots of the night skyline of Kaohsiung late one of those evenings, where we went to the Dream Mall and up into the “big wheel”. Also had some game spots there, but turns out I’m not as good throwing things at a target than I am shooting at them.
We also went out to a historical sugar refinery, looking around. Of course, this being Chinese New Years eve, there haven’t been that much people moving around, it was pretty empty. And the people working there all just waiting for their shift to end. But still got some pretty nice pictures from and around it. Also tasted a new kind of icecream (new for me that is), which actually has a kind of sand like feel. I like it. Like I actually liked most of the food, pretty much all the time. Of course everyone has things one does not like, but in general the food is great. Especially the largely different style compared to the european way of cooking. I ate lots of things I won’t ever touch here in Germany.
Sunday, 14 Feb; Monday 15 Feb
A nice two days some way out of Kaohsiung. Found out I am pretty good at losing various things: I got a bag full of 蓮霧 (Lián wù; Syzygium samarangense; wax apple, love apple, java apple, bellfruit, see the wikipedia page for more on it) and about an hour later I totally had lost track where it ended up. The same happened with a big bag of tissues I had bought. Somehow both of the bags got feet and ended up elsewhere without telling me.
That one evening we went out for Dinner, a big party of people. Was a place right beside the ocean, so yes, seafood. Oh yay, I don’t like that too much. Happy enough there must have been a conversation going on like “Hey people, this silly german doesn’t like seafood much, lets get one other option too”. So we had a plate with some cold chicken on. But I tried various of the seafood dishes too and liked some of them. Actually some I had tried in Germany at some point where I learned to hate them and now I liked them as I got them in Taiwan. People also seemed to think I am good at using chopsticks, though I think I am just fiddling around and be lucky when I get my stuff. But maybe it just means “Hey, it looks funny what you are doing. Keep going, we like to laugh. :) ).
We actually had been around this place a little earlier that day, taking a walk around it, drinking some tea, that type of thing. And got a set of nice bottles of fresh coconut juice. My first time i got it fresh, I think. But I also managed to lose track of it. I bet somewhere there is a party consisting of tissues, 蓮霧 (Lián wù) and a bottle of coconut juice, singing classic songs like “Strike, we escaped the german”…
Lunch the other day happened to be a big family meetup. Lots of people, lots of chatting, lots of fun (I think :) ). When we arrived it started out by about all of them trying to get me to sit down somewhere. And me bad impolite german not wanting to. But there was no way to escape, so finally they won and I sat, with a number of people around me, trying to chat with me. Which is actually hard work for both sides, but every now and then gets a good laugh. But my chinese is far far away from being useful for even a small meaningful sentence, so they had to activate their english knowledge, especially for the times $TC had been elsewhere and couldn’t help out translating. Somehow the job got done, they asked their questions and I hope they mostly understood my replies. Bad me, speaking too fast english sometimes. We had a nice lunch there, with the most notable part being the way I got called to it. It’s interesting how much you can say by just using body language and pointing. (Oh, of course food was very good too, but that fact is one you can take as a given, even if I don’t mention it again).
Later on a dice game started, and after a short explanation of the rules I joined in. Took only a little, but then I got the rules, its easy. I didn’t get any of the chatting that happened during the whole game, but it was very much fun and really insane (so would also fit DebConf very well) and nearly no times you do need words to understand what is going on. I like this game and they gave me a set of dices, so I “can train it” and come back to play again. Ha.
A bit after that dice game people unpacked some of the sweets I brought from Germany. One of them being spicy. Really nicely spicy, at least for the average Taiwanese. If you happen to have been at DebConf9 and also had the luck to be one of those I offered some chocolate or wine gum to, you know what I write about. The stuff here was slightly less spicy, but still more than enough to leave a nice impression. They had lots of - well - fun trying them out, gave a good set of laughter. And ordered more for next time. Uhoh, I already know which I will take with me, but then there have to be special preparations before testing. :)
I’ve also got invited to come back next year. Might be I haven’t made the worst impression. Well, lets see if I can take this up and if they still want me in a years time. At least my chinese should be much better by then, given another year of training. (Even if I find it actually hard to learn. For some reason its not easy for me to memorize language things, at least not chinese. Oh my, one year, I should have some 3 words more, I hope :) ).
In the evening, back in Kaohsiung, $TC also told me rules of a second dice game that I had seen some people playing. Also seems like fun if played with enough people.
Tuesday, 16th Feb
We started the trip by taking the train from Kaohsiung to Taitung. We had been a little late for it, had to run from the MRT to the train station. Silly me took that as an opportunity to fall down a set of stairs. Only to discover, when getting to the platform, that the Taiwan Railway wanted to give me a feeling of home, delaying the train. First by 31 minutes, later it got up to 43 minutes. Somehow felt like Deutsche Bahn, being late is also their best quality. When the train finally got in we saw that we had been lucky to have seats reserved, this train was full, lots of people moving around within Taiwan that day.
We got to Taitung all fine and had the Hotel send someone to pick us up at the train station, as it is a long way from the train station over to the Hotel. Got our room and left it pretty soon again to look around.
Spotted a funny little “Hello Kitty” car and got some food for lunch followed by a walk along the beach. Found some sculptures made of wood, where one of it seems to have some bad stomach problems…
Later on we had a nice and long walk through Taitung Forest Park. Took some time, got some nice pictures. It was getting dark when we got back into town, time for Dinner already. Yay, food.
Next day a train trip to Hualien was set, but only for the afternoon, so we had time to look around. We first went through the Peinan Cultural Park, but unfortunately
we had no dog to park there. After that we rented a scooter to get a little farther away from the train station. After getting some fuel for it we headed to “National Museum of Prehistory” (which was much more interesting than the Fine Arts one earlier) and later on just drove around some time. Just looking around, without a clear direction, simply for the look around. Was fun, but too short actually. But we had to head back at some point to catch our train over to Hualien. In Hualien we again got a Taxi to the Hotel. We left that soon after arriving, Hotel rooms are boring, and it was food time again anyways.
Only a little annoying, one of the few days we had rain and I can imagine something nicer than rain when I am outside. But somehow this damn weather doesn’t bother to stop raining when I go out.
Thursday, 18th Feb
A full day stay in Hualien, no Hotel change. “Just” a trip over to the Taroko Gorge.
Which is a very nice and impressive place to visit, sure too much for a single day, I definitely have to come back here. (Well, I have to come back for multiple other reasons, but this sure is one).
We took the bus to the first stop in that park, somewhere around the Leader Village Taroko. Probably a nice place for a night or ten.
There was a short trail we followed, getting some more pictures and impressions, but it didn’t take us long until we where back in a queue for a bus, this one going all the way up to the furthest away spot a bus goes to. There we had some lunch before we wanted to start walking around. Unfortunately (for my nose) we then passed by a place selling “Stinking Tofu”. Other customers there said that this is not the best available, but I got a taste of it. Don’t really need that version more often, even though its not as bad as it smells or the name suggests.
We walked a little there and I got some more pictures before we set off to climb the stairs to the “Hsiang-Te Temple of Taroko”.
Looking down from there we saw a lot of buses which was our sign to get back to the bus station, as the last bus was scheduled to get off somewhere at 3 in the afternoon. And as we didn’t have a Hotel place here it is pretty helpful to catch the bus. So we queued up once more and had a bus ride back to the train station. Next time there should definitely be a night or more in some Hotel somewhere there. On the way back we took a slight detour, having another time at the beach, not enjoying the weather which insisted on a little rain and lots of wind.
Friday, 19th Feb
This day saw us moving to Luodong, another place with a day of rain. Still, my gps log tells me we where moving around a lot, even though I do not have a single picture from the whole day. And as pictures are the main source of my memory … ups.
Well, I remember the rain, of course. I also remember that I got a steak at some place and that we bought various kinds of food (and tea and juice! :) ) on one of those markets, eating it in our Hotel room. (Rain is bad, mmmmmmmkay?!).
And there was some kind of park too, in which I got a funny little game. Oh well.
Saturday, 20th Feb
There is nothing nicer than starting a day with a fun bus trip in the morning. Going high up into the mountains. On a day where the clouds reach down to some level underground, more or less. Using very narrow streets and the usual mountain like narrow curves. While not being able to see far.
We got up to Taipingshan all fine but once there we had to wait for our room to be ready. So we took a walk around. Actually not a walk. More a climb. Being a mountain place, and those mountains never having heard of those nice invention called elevator or that other named escalator, people setup stairs. Millions of them.
Besides the stairs it is a very nice place to walk around. We took various of the trails through the area and besides me sometimes nearly falling down (damn slippery grounds) it was great.
At some point in the afternoon we got our room and also ate some instant noodles before taking another trail, one that took us some 2 hours. You should really take a look at all the pictures I took, as the few I link directly sure do not present this area right. Taipingshan starts at Picture 434 and continues up to Picture 634, but a good number of them is from the second day too.
Sunday, 21st Feb
Contrary to the day before there wasn’t a single cloud to spot. Ok, ok, there have been some, pictures proof it, but it was a nice sunny day. Nice start of the end of the trip through Taiwan (still one and a half day in Taipei to follow, but the trip around country is over).
Of course that meant taking a lot of pictures again,
and soon after breakfast we took the BongBong Train over over to the Maosing station. There are again a few prepared trails, most of which we took. We only skipped on the one going to the waterfalls, as it wouldn’t have fit into our schedule.
Got compensated with a pretty adventurous track with lots of nice sights following the old train tracks. Thanks to a number of landslides there is no train going anymore and thus it is a nice way to walk.
It is a 1500m long walk and sometimes you really have to be careful, but it provides many great views and is a really nice trail. Got a few hundred pictures, yay. Including a proof I’ve really been there. I hate pictures with me, really, they are just shit by default (maybe I shouldn’t be in them?), but in total I got 11 pictures that proof I was really there and not only sent a camera (four of those are included in that gallery I always link to).
We got back to the main place around noon and after Lunch we took the Bus back down to Ylan. The bus was scheduled to go at 15:30h, so we went to it fifteen minutes earlier. While we had a sunny day, clouds had started coming in at 15:00h, and at the time the bus started it was all white and there wasn’t much too see for the driver again.
But it turned out that this makes no difference. The driver must have a very prominent wish to die while taking his passengers with him. Or he is insane. Or has a very important appointment somewhere else. Whatever it is, he drove down, on narrow streets, very tight curves, not too much sight and all that with a speed thats incredible. Several times a part of our bus was out over the abyss. I found it pretty fun and all that, especially as it made for a set of very nice views all over the area, and appearently another passenger thought similar, but $TC did have quite the opposite of thoughts and did not feel all that great.
We arrived in Ylan one hour before schedule, which, on a 70km trip through mountain area should give a hint how it was. Took a minute off to regenerate and then we wanted to look around a bit. Having our luggage with us that is annoying so we tried to leave that at the train stations baggage service counter. Turns out the personell there is a bunch of crackmonkeys not following their own advertised opening times. Probably wanted to go home early, those lazy dolts. Fortunately the people at the ticket counter were better and exchanged our tickets and we took the Train back to Taipei a little earlier than initially planned.
Monday, 22nd Feb
Bad day for all those people who had a nice vacation during Chinese New Year, they had to get back to work. I didn’t have that problem and so went around Taipei a bit. Initially I had plans of going to some tourist spots, like the National Palace Museum or others, but then just skipped them all and just took a walk through various spots of Taipei. Basically just “Get out of MRT station XY, walk around”.
The GPS track later told me that I actually covered about 15 km that way, and my feet agreed to that. At some point I did bypass a “German Cuisine” restaurant, called “Zum Fass”. Don’t ask me how the food is there, I wasn’t in, but still had to grin a little when reading the menu.
In the evening we went out to get me some Tea to bring back to Germany. Well, some is some kind of understatement, it was lots, as much as I could pack. But good stuff, some of it is steaming right now right besides the keyboard here. Yummy.
Tuesday, 23rd Feb
As always, the worst day of any vacation. The day you have to leave and go back home. My flight was scheduled for 20:00h, so I took another half a day just looking around Taipei. Which made me even more jealous of those not having to get away, as I happened to pass by some preparations for the Lantern festival. Which happened only a few days after I got away. Next year I have to plan better and stay longer, what I saw on preparations, and that only at the Sun Yat-sen Memorial Hall definitely makes it worth it.
Timing in the afternoon was very tight, I actually got the last bus that was in time for my flight. Just one later would have created some trouble, my total time on the airport was something around 30 minutes before boarding started. Just enough to get the minimum needed amount of postcards written and off to boarding.
The flight back was boring. Food from TPE to BGK was a pretty good variation on “No lactose”, some noodles with stuff. Of course from BGK over to AMS it was fish again, same boring Thai Catering as usual. I was unable to sleep well on the flight. Somehow I woke up very often despite earplugs and eye mask. With all that I turned out to be half asleep when we arrived in Amsterdam and so I accidently took an opened half litre bottle of water with me through security. Funny, they didn’t spot it. Instead they decided to make a big fuss about my camera bag, asking me in detail what I have in there, supposedly trying to check if I know what I carry. And made an even bigger show of scanning it again. And that bad liquid that those idiotic stupid laws written by brainless monkeys from our governments forbid got no notice at all. Imagine what I could have done to air safety with it! Oh my.
Back in Germany my luggage got out first, so no waiting at all. I passed by work to leave some weight there (Hello boss, want some tea?) and went back home.
This was also my first trip where I had a noticable jetlag after coming back. For nearly a week my damn body insisted on being in Taiwans timezone, waking me up at times I should sleep, feeling tired when I should be awake. Tssk.
Conclusion of this trip: I will be back in Taiwan for sure. I don’t care if you take this as a promise or threat, but I will be back! :)
Lucas Nussbaum: RC bugs of the week
I just couldn’t resist… I joined the game, but did it the other way around.
I could only file 51 new FTBFS (Fail To Build From Source) bugs this time. Looks like Squeeze is getting closer!
I’ve also been doing rebuilds of Ubuntu lucid. There are currently 561 packages that fail to build from source in lucid/amd64, versus 430 in sid/amd64 (I will start rebuilding squeeze instead of sid after the freeze). Surprisingly, only 131 packages fail in both. I would have expected that number to be much higher.
The 51 new FTBFS bugs:
#573648: gnome-chemistry-utils: FTBFS: Nonexistent build-dependency: libgoffice-0-8-dev
#573649: …/api/package-list is no longer compressed
#573650: …/api/package-list is no longer compressed
#573651: virt-top: FTBFS: configure: error: Cannot find required OCaml package ‘extlib’
#573652: heartbeat: FTBFS: Nonexistent build-dependency: libcluster-glue-dev
#573653: abiword: FTBFS: Nonexistent build-dependency: libgoffice-0-8-dev
#573654: helium: FTBFS: Makefile: hGetLine: invalid argument (Invalid or incomplete multibyte or wide character)
#573655: mlton-cross: FTBFS: /bin/sh: wget: not found
#573656: pytest-xdist: FTBFS: ImportError: No module named setuptools
#573657: libfile-fu-perl: FTBFS: tests failed
#573658: libphysfs: FTBFS: docs/man/man3/PHYSFS_addToSearchPath.3: No such file or directory at /usr/bin/dh_installman line 127.
#573659: ecl: FTBFS: rm: cannot remove `/build/user-ecl_10.2.1-1-amd64-S2bazb/ecl-10.2.1/debian/ecl/usr/share/info/dir’: No such file or directory
#573660: …/api/package-list is no longer compressed
#573661: libdbix-class-schema-loader-perl: FTBFS: tests failed
#573662: …/api/package-list is no longer compressed
#573663: libthai: FTBFS: /usr/bin/install: cannot stat `./../doc/man/man3/th_render_text_tis.3′: No such file or directory
#573664: …/api/package-list is no longer compressed
#573665: hunspell-dict-ko: FTBFS: build hangs
#573666: plexus-active-collections: FTBFS: missing junit:junit:jar:debian
#573667: nuapplet: FTBFS: Can’t find gnutls library developpement files!
#573668: binutils-z80: FTBFS: /bin/sh: cannot open /build/user-binutils-z80_2.20-3-amd64-MwJBIl/binutils-z80-2.20/binutils-2.20.tar.bz2: No such file
#573669: keynav: FTBFS: keynav.c:799: error: too few arguments to function ‘xdo_mousemove’
#573670: moblin-panel-applications: FTBFS: moblin-netbook-launcher.c:1640: undefined reference to `mx_scroll_view_get_vscroll_bar’
#573671: tetradraw: FTBFS: /bin/bash: line 1: automake-1.7: command not found
#573672: beid: FTBFS: rm: cannot remove `_src/eidmw/bin/eidmw_*.qm’: No such file or directory
#573673: swfdec-gnome: FTBFS: Nonexistent build-dependency: libswfdec-0.8-dev
#573674: swfdec-mozilla: FTBFS: Nonexistent build-dependency: libswfdec-0.8-dev
#573675: jasmin-sable: FTBFS: Error: JAVA_HOME is not defined correctly.
#573676: corosync: FTBFS: `Depends’ field, reference to `libcorosync4′: error in version: version string is empty
#573677: banshee-extension-mirage: FTBFS: ./PlaylistGeneratorSource.cs(469,39): error CS0539: `Banshee.PlaybackController.IBasicPlaybackController.Next’ in explicit interface declaration is not a member of interface
#573678: gnucash: FTBFS: Nonexistent build-dependency: libgoffice-0-8-dev
#573679: libwx-perl: FTBFS: xvfb-run: error: Xvfb failed to start
#573680: …/api/package-list is no longer compressed
#573681: fso-usaged: FTBFS: fsobasics-2.0.vapi:110.2-110.84: error: `FsoFramework’ already contains a definition for `AsyncWorkerQueue’
#573682: libiscwt-java: FTBFS: Nonexistent build-dependency: libswt-gtk-3.4-java
#573683: nordugrid-arc-nox: FTBFS: ld: cannot find -larccrypto
#573684: cssc: FTBFS: rm: cannot remove `/build/user-cssc_1.2.0-1-amd64-XCK7aQ/cssc-1.2.0/debian/cssc/usr/share/info/dir*’: No such file or directory
#573685: django-threaded-multihost: FTBFS: distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse(’setuptools-hg’)
#573686: …/api/package-list is no longer compressed
#573687: davical: FTBFS: /bin/sh: phpdoc: not found
#573688: gauche-gtk: FTBFS: gauche-gtk.c:450: error: too few arguments to function ‘Scm_Apply’
#573689: quilt: FTBFS: tests failed
#573690: pyabiword: FTBFS: Nonexistent build-dependency: libgoffice-0-8-dev
#573691: flumotion: FTBFS: configure: error: You need at least version 2.0.1 of Twisted
#573692: libnet-dns-zone-parser-perl: FTBFS: tests failed
#573693: nip2: FTBFS: Nonexistent build-dependency: libgoffice-0-8-dev
#573694: hedgewars: FTBFS: Error: Illegal parameter: -Nu
#573695: epsilon: FTBFS: FAILED (skips=5, expectedFailures=1, errors=7, successes=229)
#573696: python-glpk: FTBFS: Unsatisfiable build-dependency: libglpk-dev(inst 4.43-1 ! <= wanted 4.38.999)
#573697: libnanoxml2-java: FTBFS: cp: cannot stat `/usr/share/doc/default-jdk-doc/api/package-list.gz’: No such file or directory
#573698: doxia-maven-plugin: FTBFS: Reason: Cannot find parent: org.apache.maven.doxia:doxia
Bernd Zeimetz: language based rewrites with lighttpd and mod magnet
lighttpd is web server with a fast growing user base. This howto shows how redirects can be done based on the language of the user's browser.
While migrating http://blog.credativ.com from Wordpress to Movable Type we decided to show the blog's welcome message in English or German depending on the language setting of the user's browser. Since one of the reasons for the switch to the new blog engine was that Movable Type creates static html pages we avoided cgi scripts or similar workarounds.
As we are using Lighttpd to serve all pages, the use of the mighty mod_magnet module was obviously the way to go for this task. It allows to control the request handling within Lighttpd by running Lua scripts which are allowed to modify most aspects of the way how a request is handled. So now http://blog.credativ.com/ is rewritten to the file with the proper language by using the help of the following Lua snippet:
lighty.env["uri.path"] = "/en/index.html"
lang = lighty.request['Accept-Language']
if (lang) then
if (string.sub(lang,1,2) == 'de') then
lighty.env["uri.path"] = "/de/index.html"
end
end
lighty.env["physical.rel-path"] = lighty.env["uri.path"]
lighty.env["physical.path"] = lighty.env["physical.doc-root"] .. lighty.env["physical.rel-path"]
Of course, the Lighttpd configuration must include mod_magnet. To actually rewrite any request to "/" the configuration must also include the following snippet:
$HTTP["url"] =~ "^/$" {
magnet.attract-physical-path-to = ( "/path/to/your/script.lua" )
}
mod_magnet caches the compiled script and executes it within the core of Lighttpd so it shouldn't introduce any noticeable delay in the delivery of your webpages.
Biella Coleman: Stuff I have been enjoying (a freaken lot)
So in the last week I have read some stuff, seen some presentations, and visited some sites that I have really loved, so here they are to share:
Trollcats (this will take my power point slides to a whole NEW level) and here is one for all the free software geeks, in particular.
I finally read Manuela Carneiro da Cunha fantastic Prickly Paradigm press book “Culture” and Culture: Traditional Knowledge and Intellectual Rights. If you don’t know jack about the thorny issues around indigenous knowledge an IPR, the first 2/3 provides a pretty darn good introduction rooted not only in an explanation of trade treaties, the limited repertoire available for indigenous groups to politically respond, but a great story about a specific frog that secretes a sticky film that basically F’s you up (if you let it seep in your open wounds). It is entertaining. The last 1/3 takes a far more theoretical turn and will be harder to understand for novices (it helps if you have like at least a BA, possibly MA in anthro, best if you have a PhD from her academic home, U of Chicago). It is there where she discusses the relationship between culture as “reflexive” (hey, peoples of the world, we have x, y, c culture) as lived unreflexively (the unconscious plane of norms that helps guide perception and action). I loved her theoretical somersaults whereby she explained how contradictions between the two are experienced as anything but a contradiction.
Ok so today I went to this conference Radars and Fences III (where I presented my anon/scientology talk for the first time 3 years ago!). I was not able to stay the whole day but I saw Ricardo Dominguez & Amy Sara Carroll from the Electronic Disturbance Theater present on the Transborder Immigrant Tool, which I knew about but did not know how infused it was in poetry, poetry that is, in fact, an integral part of its arsenal. Their presentation was fantastic and it reminds me the great political work being done at the interface of art and technology (and believe me, these 2 are rabble rousers. UCSD, who helped fund the project, are not all that happy they did and they also get not hate mail they get but the HATE mail).
Then I saw Laila El Haddad & Mushon Zer-Aviv present on an amazing project You are Not Here which is a bit hard to explain briefly but I will try (and their site introduces it as “an urban tourism mash-up. It takes place in the streets of one city and invites participants to become meta-tourists of another city.”
So basically there are two interlinked sites (NYC and Baghdad and Tel Aviv and Gaza) where you can be a tourist (though the physical place to follow the symbols are only in NYC and Tel Aviv). You need a map. You get a map. The map, once put up to the light shows two cities/places with symbols that indicate a special spot on the map. You find the physical spot, there is sticker or other sign with a phone number, you call, and you hear a story not about NYC or Tel Aviv (where you would physically go) but about Baghdad or Gaza and a story that pertains to the area of the map that overlaps where you are in NYC or Tel Aviv. We saw a bunch of examples and they were riveting and powerful.
Steve Kemp: You do know there are more guns in the country than there are in the city.
Lenny Backports
After a couple of days I've spotted a few things that don't work so well on Lenny:
- gtk-gnutella
-
gtk-gnutella is a client for a peer-to-peer filesharing system. Unfortunately the version of the client in Lenny dies on startup "This version is too old to connect".
- gimp
-
The graphics program, The Gimp, doesn't show a live preview when carrying out things such as colour desaturation.
Although not an insurmountable problem it is moderately annoying if you do such things often.
So I've placed backported packages online.
I expected to have to backport KVM, and I guess I realised I needed a new kernel to match too. So they're available in the kvm-hosting repository; take the kernel with "birthday" in its name - the other is more minimal and has no USB support, etc.
blog spam
Since I last reset the statistics the blog spam detector has reported, rejected, and refused just over half a million bogus comments.
It can and should do better.
I've been planning on overhauling this for some time; even to the extent of wondering if I can move the XML::RPC service into a C daemon with embedded lua/perl to do the actual analysis.
(Right now the whole service is Perl, but I'm a little suspicious of the XML::RPC library - my daemon dies at times and I don't understand why.)
I'd say "test suggestions welcome", but then I'd have to explain what is already done. If you're curious take a look at the code...
ObSubject: Hot Fuzz
Dirk Eddelbuettel: Rcpp 0.7.9
So a quick bug-fix release 0.7.9 is now in Debian and should be on CRAN shortly.
The full NEWS entry for this release follows:
0.7.9 2010-03-12
o Another small improvement to Windows build flags
o bugfix on 64 bit platforms. The traits classes (wrap_type_traits, etc)
used size_t when they needed to actually use unsigned int
o fixed pre gcc 4.3 compatibility. The trait class that was used to
identify if a type is convertible to another had too many false positives
on pre gcc 4.3 (no tr1 or c++0x features). fixed by implementing the
section 2.7 of "Modern C++ Design" book.
As always, even fuller details are in Rcpp Changelog page and the Rcpp page which also leads to the downloads, the browseable doxygen docs and zip files of doxygen output for the standard formats. A local directory has source and documentation too. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page
Update: First version number corrected to 0.7.8.
Debian News: Debian Project Leader Elections 2010
The nomination period for the Debian Project Leader Elections 2010 is over and we have 4 candidates this year:
- Stefano Zacchiroli [nomination mail]
- Wouter Verhelst [nomination mail]
- Charles Plessy [nomination mail]
- Margarita Manterola [nomination mail]
For the next 3 weeks, you can ask your questions and follow the debate in the debian-vote mailing list.
Russell Coker: CAL – Self-Serving and Useless
Brendan Scott linked to a couple of articles about CAL (the Copyright Agency Limited) [1]. I have previously written about CAL and the way that they charge organisations for the work of others without their consent [2]. My personal dispute with CAL is that they may be charging people to use my work, I have not given them permission to act on my behalf and will never do so. If they ever bill anyone for my work then it will be an act of piracy. The fact that the government through some bad legislation permitted them to do such things doesn’t prevent it from being piracy – you can’t disagree with this claim without supporting the past actions of China and other countries that have refrained from preventing factories from mass-producing unauthorised copies of software.
The first article concerns the fact that last year CAL paid more than $9,400,000 in salary to it’s employees (including $350,000 to it’s CEO) while it only paid $9,100,000 directly to the authors [3]. It also spent another $300,000 to send it’s executives to a junket in Barbados. It did give $76,000,000 to publishers “on the assumption that a proportion of this money will be returned to authors” – of course said publishers could have used the money to have holidays in Barbados. CAL doesn’t bother to check who ends up with shares of the $76,000,000 so it’s anyone’s guess where it ends up.
The second article is by James Bradley who is an author and director of CAL [4]. He claims that “much” of the $76,000,000 was distributed to authors, although I’m not sure how he would have any idea of how much it was – which is presumably why he used the word “much” instead of some other word with a clearer meaning such as “most“. He also notes that CAL invested $1,000,000 in “projects specifically designed to promote the development and dissemination of Australian writing“, which sounds nice until you consider the fact that none of the authors (apart from presumably the few who sit on the CAL board) had any say in the matter. Can I take a chunk of the $9,400,000 that is paid to CAL employees and invest it in something? If not then why not? If they can “invest” money that was owed to other people then why can’t I invest their salaries?
James also says “The issue of how well CAL serves rights-holders – and authors and artists in particular – is a vital one” which is remarkably silly. He is entirely ignoring the fact that some rights holders don’t want to be “served” by CAL at all. The fact that CAL can arbitrarily take money for other people’s work is an infringement on their rights. He further demonstrates his ignorance by saying “Without CAL and the licences we administer, users – educational institutions, government agencies and corporate organisations, to name just a few – would be required to seek permission every time they reproduced copyright material or run the risk of legal action for copyright infringement” – of course any educational institution can use Creative Commons licensed work [5].
I’ve previously written about the CK12 project to develop CC licensed text books for free use [6]. There’s no reason why the same thing can’t be done for university text books. In the discussion following Claudine Chionh’s LUV talk titled “Humanities computing, Drupal and What I did on my holidays” [7] it was suggested that it should be possible to gain credit towards a post-graduate degree based on work done to share information – this could mean setting up a Drupal site and populating the database or it could mean contributing to CC licensed text books. Let’s face it, a good CC text book will be read by many more people than the typical conference proceedings!
James says that CAL is used “Instead of having to track down individual rights-holders every time they want to reproduce copyright material“. The correct solution to this problem would be to change the copyright law such that if a reasonable attempt to discover the rights-holder fails then work is deemed to be in the public domain. The solution to the problem of tracking down rights-holders is not to deny them their rights entirely and grant CAL the right to sub-license their work!
He also makes the ridiculous claim “Whereas in the age of the physical book schools and universities could have bought fewer books and made up the difference by using photocopies, it is now possible for an organisation to buy a single set of digital materials and reproduce them ad infinitum” which implies that CAL is the only thing saving the profits of authors from unrestricted digital copying. Of course as CAL seems to have no active enforcement mechanisms and they apparently charge a per-student fee they really have no impact on the issue of a single licensed copy being potentially used a million times – extra use apparently won’t provide benefits to the author and use in excess of the licensing scheme won’t be penalised.
He asks the rhetorical question “After all, why go to the expense of creating a textbook (or some form of digital course materials) if you are going to sell only a half-dozen copies to state education departments“. The answer is obvious to anyone who has real-world experience with multiple licensing schemes – you can sell one single copy and make a profit if the price is high enough. The smart thing for the education departments to do would be to pool their resources and pay text book companies for writing CC licensed texts (or releasing previously published texts under the CC). The average author of a text book would probably be very happy to earn $100,000 for their work, the editorial process probably involves a similar amount of work. So if the government was to offer $300,000 for the entire rights to a text book then I’m sure that there would be more than a few publishers tendering for the contract.
According to the CIA World Fact Book there are 2,871,482 people in Australia aged 0-14 [8], that means about 205,000 per year level. CAL charges $16 for each primary and secondary student so the government is paying about $3,280,000 every year per year level. Even in year 12 the number of text books used is probably not more than 10, so it seems to me that if all the money paid to CAL by schools in a single year was instead used to fund Creative Commons licensed text books then the majority of the school system would be covered! The universities have a much wider range of text books but they also have higher CAL fees of $40 per student. After cutting off the waste of taxpayer money on CAL fees for schools that money could be invested in the production of CC licensed university text books.
- [1] http://brendanscott.wordpress.com/2010/03/10/james-bradley-responds-on-slattery-cal-article/
- [2] http://etbe.coker.com.au/2009/09/07/bad-but-appealing-copyright-arguments/
- [3] http://www.theaustralian.com.au/news/arts/copyright-staff-get-more-than-they-give-to-authors-and-artists/story-e6frg8n6-1225831556653
- [4] http://www.theaustralian.com.au/higher-education/opinion-analysis/licensing-body-copyright-agency-limited-has-lasting-value/story-e6frgcko-1225838858623
- [5] http://creativecommons.org/
- [6] http://etbe.coker.com.au/2009/08/29/free-k-12-text-books/
- [7] http://luv.asn.au/2010/03/02
- [8] https://www.cia.gov/library/publications/the-world-factbook/geos/as.html
Matt Brubeck: Discovering Urbit: Functional programming from scratch
C. Guy Yarvin is a “good friend” of Mencius Moldbug, a pseudonymous blogger known for iconoclastic novella-length essays on politics and history (and occasionally computer science). Guy recently published under his own name a novel project in language and systems design. His own writing about his work is entertaining but verbose (as Moldbug's readers might expect), so I will attempt to summarize it here.
Nock, Urbit, WattFirst there is Nock, “a tool for defining higher-level languages – comparable to the lambda calculus, but meant as foundational system software rather than foundational metamathematics.” Its primitives include positive integers with equality and increment operators, cons cells with car/cdr/cadr/etc., and a macro for convenient branching. Nock uses trees of integers to represent both code and data.
Next, Guy provides the rationale for Nock. In short, he asks how a planet-wide computing infrastructure (OS, networking, and languages) would look if designed from first priniciples for robustness and interoperability. The answer he proposes is Urbit: a URI-like namespace distributed globally via content-centric networking, with a feudal structure for top-level names and cryptographic identities. Urbit is a static functional namespace: it is both referentially transparent and monotonic (a name, once bound to a value, cannot be un- or re-bound).
Why does this require a new formal logic and a new programming language? In Urbit, all data and code are distributed via the global namespace. For interoperability, the code must have a standard format. Nock's minimal spec is meant to be an unambiguous, unchanging, totally standardized basis for computation in Urbit. Above it will be Watt, a self-hosting language that compiles to Nock. Urbit itself will be implemented in Watt, so Nock and Watt are designed to treat data as code using metacircular evaluation.
The codeA prototype implementation of Watt is on GitHub. It is not yet self-hosting; the current compiler is written in C. Watt is a functional language with static types called “molds” and a mechanism for explicit lazy evaluation. (I was suprised to find I had accidentally created an incompatible lazy dialect of Nock – despite its goal of unambiguous semantics – just by implementing it in Haskell.)
The code is not fully documented, but the repository contains draft specs for both Watt and Urbit. Beware: the syntax and terminology are a bit unconventional. Guy has offered a few exercises to help get started with Nock and Watt:
- The Nock challenge:
- Write a decrement operator in Nock, and an interpreter that can evaluate it.
- Basic Watt:
- Write an integer square root function in Watt.
- Advanced Watt:
- How would you write a function that tests whether molds A and B are orthogonal (no noun is in both A and B)? Or compatible (any noun in A is also in B)? Are these functions NP-complete? If so, how might one work around this in practice?
If you want to learn more, start with these problems. You can email your solutions to Guy.
Will it work?I find Urbit intellectually appealing; it is a simple and clean architecture that could potentially replace a lot of complex system software. But can we get there from here?
Guy imagines Urbit as the product of an ages-old Martian civilization:
Since Earth code is fifty years old, and Martian code is fifty million years old, Martian code has been evolving into a big ball of mud for a million times longer than Earth software. (And two million times longer than Windows.) …
Therefore, at some point in Martian history, some abject fsck of a Martian code-monkey must have said: fsck this entire fscking ball of mud. For lo, its defects cannot be summarized; for they exceed the global supply of bullet points; for numerous as the fishes in the sea, like the fishes in the sea they fsck, making more little fscking fishes. For lo, it is fscked, and a big ball of mud. And there is only one thing to do with it: obliterate the trunk, fire the developers, and hire a whole new fscking army of Martian code-monkeys to rewrite the entire fscking thing.
… This is the crucial inference we can draw about Mars: since the Martians had 50 million years to try, in the end they must have succeeded. The result: Martian code, as we know it today. Not enormous and horrible – tiny and diamond-perfect. Moreover, because it is tiny and diamond-perfect, it is perfectly stable and never changes or decays. It neither is a big ball of mud, nor tends to become one. It has achieved its final, permanent and excellent state.
Do Earthlings have the will to throw out the whole ball of mud and start from scratch? I doubt it. We can build Urbit but no one will come, unless it solves some problem radically better than current software. Moldbug thinks feudalism will produce better online reputation, but feudal reputation does not require feudal identity; it is not that much harder to build Moldbug's reputation system on Earth than on Mars. I still have not figured out the killer app that will get early adopters to switch to Urbit.
Luciano Bello: DebConf10 meme
I happy to announce that I bought the tickets, so…
To save on the price, the itinerary includes a couple of long waits:- AV88 EZE-BOG: 6h 30m
- Waiting at BOG: 10h 50m
- AV20 BOG-JFK: 5h 35m
- AV21 JFK-BOG: 6h 00m
- Waiting at BOG: 9h 10m
- AV87 BOG-EZE: 6h 15m
Summarizing, almost half of the trip is waiting… :P
|
ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้ |















