Older blog entries for wspace (starting at number 24)

If you *are* using indentation, why use XML?

The example by Linus:

    # This is an example
    myhost.com
        passwd Make1Up
        timeout 50

yourhost.com passwd Crappy4You timeout 0

instead of

    <!-- This is an example -->
    <host>myhost.com
       <passwd>Make1Up</passwd>
       <timeout>50</timeout>
    </host>

<host>yourhost.org <passwd>Crappy4You</passwd> <timeout>0</timeout> </host>

Agreed, much more readable. And parsing is no problem.

But the XML example is not using attributes, and his readable version doesn't have something like it either. The order of elements in a list is significant in XML; the order of attributes is not (it is a *set* of attributes). And you need to have 1 root element in XML.

I have been thinking a bit about it but I am still not sure what a good readable format would look like.

Perhaps

    # This is an example
    host protocol=http [myhost.com]
        passwd 
            type=secure 
            date=112503 
            [Make1Up\=nice]
        timeout 50

Every line has to start with an element, unless it is an attribute or text content of an element.
Attributes have an =.
Text content goes inside square braces, and may be on the same line as the "last" attribute.
Indentation of elements gives the tree structure: top down + indentation corresponds to the root-left-right traversal of the data tree.

But this format does not make clear that the order of attributes is irrelevant. So I am not happy with it yet.

12 Nov 2003 (updated 12 Nov 2003 at 14:12 UTC) »
A solution for spam

How to avoid spam?  A solution is to only open emails
from people that are on your contacts list.  But then
it will be impossible for people to contact you if
they are not on the contact list.

To get on your contact list people have to register their email address at your homepage. To avoid spammers from registering, they also have to recognize a word displayed by a picture, and type it in. There are tools for generating such pictures automatically from a dictionary.

This is the only real solution I can think of. And it will not be difficult to write a CGI script in Python that can handle the registration. I wonder if it has been done already, do you know?

Hey, the word-in-a-picture recognizing thing is also a solution for "blogspam", or guestbook spam.

Look at www.blogshares.com, a site for trading virtual
stocks in blogs. I managed to get this "blog"
registered there, via some trick I forgot in one
of my earlier postings here (they want you to link to
them, once or so).

I don't get it. I did not write here anything for over
a month. And still there are peeps trading my shares
there. While there are others with active blogs and
*huge* share value that don't see much trade. Weird.

mikehearn: You mention
a) High level programming languages are a good thing.
b) C is *the* language for sharing code on linux/OSX/cygwin/solaris/etc.
In the case of Python a lot of time is put into wrapping C libraries. Indeed I believe this is the wrong way to do it. I also believe the other way around is possible, but very hard perhaps, and expensive. Instead of wrapping C libraries: translate Python to C and use the C compilers.

How was your holiday? Hope it was as good as mine! We stayed home, no going to faraway places this year, just enjoying the garden and home.

A friend claimed it would not be possible to do something like a roguelike via CGI. So I did a fun little project during holidays:

http://wspace.sourceforge.net/cgi-bin/webrogue/play.py?name=TestMe&pw=test&action=rest

You can get the source and some notes and a Tkinter GUI for it at

http://sourceforge.net/project/showfiles.php?group_id=72532&release_id=181250

Biggest problem was not the software design but getting CGI to work. The permission issues drove me nuts. It turned out that after creating a new db you have to wait a while before you can use it. Geez.

Unfortunately I am not a webserver wizard so my friend was right it is too slow. But it *is* fast enough with Apache running on my local machine.

If I can find somebody who can improve the performance (perhaps host it?), then it would be fun to add multiplayer and other things. The architecture is simple so adding stuff is not difficult.

There are so much people blogging now that I started to use an RSS aggregator to check what's new. I then moved all the blog URIs that supplied RSS to another subdirectory in my bookmarks (called favorites in Internet Explorer). After a while I realized that I don't use these bookmarks anymore since I read their blog via the RSS aggregator (I use effnews). I only use blog bookmarks for blogs that don't have RSS (or broken RSS :-) And I think more people are doing it this way.

So, if you have a blog, and you want to stay in people's bookmarks, don't RSS.

Heh.

7 Jun 2003 (updated 7 Jun 2003 at 15:08 UTC) »
Beta Education in The Netherlands and other small Western Europe countries

In my Dutch newspaper: "Multinationals complain about not enough beta scientists". Or something like that, difficult to translate. In newspaper headers they put as little words as possible, making it very hard to translate it to another language with as little words.

I don't know very much about all tech sciences, but I do know something about the computing science situation here in The Netherlands, because of my job. The situation with computing science here is worrying indeed. There are not much students doing CS at the university, it should be at least about 2 times more, year in year out. Surrounding big countries like Germany and France have twice as many students (in percentage) and they still could use some more. Why is the number of students choosing computing science here so small? Just because it is difficult? That could be the case but that would be very bad, it would mean the students are just too lazy, which does not correspond with my optimistic view.

How about prospects for the students? I feel this is the reason. If you get your M.Sc. in CS here and find a job then you will make a lot less money than if you have a M.Sc. in one of the management "sciences" or economy or even psychology, so called "gamma" sciences. It doesn't really matter what your major is. Just get a M.Sc., and as long as it is not too technical you can get a manager or salesman job and get paid a lot more. If however your education is beta, you will never have more than about 60.000 euros a year to spend, no matter how good you are. Unless you switch to a management job, showing "exceptional communication skills" and other "skills" like that. And 60k is really exceptional. The average is about 30k. Try to support a family with 30k a year. For managers and salesmen their "salary" is only part of their income, they often make more money with under-the-table-money, stock options and other extras. So the difference in expected income between beta and gamma is even much bigger than outlined here.

So it is no wonder there are not many people choosing a beta study. And the big companies (here that is Shell, Unilever, OCE, Philips, ...) used to have no problems with it. They just get more people from India and Eastern Europe and Russia and China and other poor countries. Everybody has to speak English anyway. It takes a little more time to learn English for somebody from India, which is a totally different language zone, than for somebody speaking a germanic language already, like Dutch. But look at my writings: I feel the English sucks, in style and in grammar. Believe it or not, where I work they think my English is good. So maybe it isn't such a problem after all to hire people from other language zones. At least for beta jobs.

But now these companies are getting "worried", the article says. They are afraid they will find themselves in "an unfit knowledge ecosystem". Or however you translate that. And of course they blame the government. Yeah riight. Like a government in a small country like The Netherlands can do anything about it.

Big successful software gets developed in the USA and UK, where everybody speaks English natively. Big European projects often fail because of the bad English education of the participants. This makes communicating with your coworkers really hard and often crazy. You should see the emails I get from people in France or Italy. I'd prefer them to write in their own language and then I'd use a dictionary to understand what they write. And what they write won't look so silly so it would be easier to take it serious. As it is now, you *know* they use the wrong word so a dictionary doesn't help. You have to guess.
Come to think of it, is there even one big successful European software project?

Attracting people to some kind of education is subject to (job) market workings. Like many things in this society. I think the solution to the looming future undereducation in beta science here is simple to solve. But I don't think it will happen. It's the money, stupid.

Paris

Visited Paris for some work, software design and building a prototype. Although they probably won't like it it is my intention to keep everything open source. It's a prototype anyway.

And home

I think I have some hayfever allergic reaction. Swollen inside of nose, sore throat and I feel shaky. Does not feel like high fever though. Probably caused by keeping the windows open in the hotel room. And to make matters worse, the French closed the highway leading back to my country on my trip home yesterday. So the trip took a couple of hours longer, I have seen some wayward French villages, and dozens of annoying traffic lights that make you stop for nothing.

Back home now I am sniffing and coughing but happy to see our family again, and doing something quiet and easy like watching the telly and see our man in Paris go to the Roland Garros tennis final (!), and catching up on my favorite internet readings:

And tons of others. Ah, RSS feeds.

Family life

Our son (2 and 1/2 month old) is now able to turn his head when he is lying flat on his back. He is usually looking right and it seems independent of what there is to see. You would think that is because of the design of his bedroom, but that is not the case: his bed is on wheels and we turn it 180 degrees now and then. And it is only a couple of weeks ago that he gave us his first smile.
I think it is truely amazing to see him grow. And how. Babies can do some things already instinctively, like closing their eyes when you splatter water on their faces. And cry for food of course :-) But it is really hard to imagine the things going on in his head to become even a small kid.

Oh, I am boring again for people without kids. I know so well, happened to me all the time only about a year ago: I really got very bored when people were talking about the kids.
I will tell you what: It's FUN TO HAVE A BABY!!!

Back to computing

I finally finished a report about our project, the telecom test-case I wrote about earlier. I think I put down some good reasons to start adopting the REST architecture. In my current job I have to do a lot more writing in English instead of writing in a programming language, or writing commercial stuff in Dutch, like I used to. Writing in English is hard if you are Dutch, like me! And it has to be scientific, whatever that means. But I see so much trash in the computing science world, I can not believe my eyes. Fortunately there are gems also. That is why I switched from being a moneymaker to being a scientist. It's a severe drain of money, or how do you say that in English? I am even not a real scientist yet, I only received a M.Sc. in computing science recently. You need a Ph.D. to call yourself a real scientist here. So that is what I am working on. Pray for me.

REST

REST seems like a good idea. It is the architecture of the internet. Not that the internet was designed with it, REST has been identified much later by Roy Fielding. Some people claim that the internet is such a success because of REST. But is it? Perhaps an even better internet is possible. I like the idea of an architecture developed by evolution. But to my opinion evolution theories are not made for cases with just one species with one member.

There is a component based telecom application we need a prototype for, and REST seems just the ticket. I will give it a try. Base a design on URIs, HTTP and XML. No method calls, no CORBA or SOAP issues to deal with, just "calling" URIs and receiving XML. A big part of the design will be developing a good XML vocabulary if there is not an existing one that is good to use. So, that will make me have to learn HTTP, because I really can't stand it when I don't know much about something that seems important and I have to use it. They say one of the good things about REST is that the "HTTP gives you authentication, authorization and encryption". But I know almost nothing about how they work. They do not seem to be things programmers have to deal with much, but rather web server configuration things? I really don't want to keep some application running as a webserver, or be faced with the weird unix cron things I try to avoid, if even I have permission for such things at my ISP. I know how to do CGI programming, but would it be possible to add HTTP authentication etc. myself, or do I have to bother my ISP for that? Can anybody recommend a nice writing about HTTP? Hmm, I keep forgetting nobody reads these things, so I am going to look for a usenet group where you can ask such things.

15 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!