New version: PictureScreensaver 1.2

The new version of PictureScreensaver is now released. I have released the source code too.

Check the program page.

A difficult question for a Frenchman

My interests

I’m a quite stereotypic guy who likes everything about computers and language. Computers are a big part of my life and I don’t know what else I would do if without a computer. I do not play computer games (nor video games) because I think of the computer as a tool. Often when I use a computer I’m rather surfing the Internet or programming. Programming is my passion. When I’m surfing I try to find free tutorials or material so that I can learn new things. Languages for example.I like the structure of languages. Grammar is fun, as well as the origin of words. My vocabulary in those languages I know or am learning is yet restricted. I think that I would learn a languages at least twice as fast as a normal person if I went to the country where they are speaking it. Anyway if you would see me somewhere I’m probably carrying a book of grammar or maybe dictionary just to let the time pass.I know Swedish, Danish, English, German, Spanish and Italian. At least most of the grammar.I do not only like the structure of natural languages. I like the structure of programming languages too. The first language I learned was C#.  I convinced myself to read a book last summer and have quickly become the best in my class at school.

Dark secret

I came across this article in some newsletter I was going to delete. The article is about “techies”, as they call them in the article. Many of those carry a hidden “burden”. They have Asperger’s Syndrome (AS). AS is a autism spectrum disorder that estimated 1 per 100 child has. It is the mildest form of autism. A person who has Asperger’s has normal cognitive and verbal skills like other “normal” persons but finds it very difficult when it comes to being social. This is because it is hard for him to interpret body language and then emotions. Allthough they are aware of emotions and “state of mind” they may not even notice if someone is sad but doesn’t show it directly. i.e. when crying. The intelligence of a person with AS is either avarage or over the normal. The most known effect of the disorder is that people with AS has some kind of special interest. It can be anything from trains to something odd like cash machines. There is one interest that is very common in this group, computers. All kinds of technology. Everyone gets really good at that they are interested in and knows everything that is about his area of interest. Sometimes it’s just like there’s nothing else in the world. In spite of being good at learning things they want it’s not easy to force them to learn something they are not intereted in. Many of history’s geniouses is said to have had Asperger’s. To name a few Isaac Newton and Albert Einstein, and of course the geek himself, Bill Gates. A person with AS is often refered to as an “Aspie”, but it’s not an official term.Now, to return to the subject. The situation of working people that has AS is hard. They don’t get the attention they need as a minority with social difficulties. They don’t know how to tell other people about their difficulties because they don’t know how they will react and treat them later on. You can read the whole article at http://www.computerworld.com/action/article.do?command=printArticleBasic&articleId=9072119
I have Asperger’s . Life is not easy but I’m proud of being who I am. Yesterday was the Autism Awareness Day (Wednesday 2nd of April). There are many blogs about it here on WordPress. Here’s one of them. http://mammaren.wordpress.com/2008/04/01/autism-awareness-month-begins-with-aspergers/

BNF and EBNF

When you are describing a context-free grammar such as the syntax of a formal language e.g. a programming language when you are constructing a compiler, you most commonly use the so called Backus-Naur form (usually just called BNF).
BNF was invented by John Backus, who developed FORTRAN, when he needed to express the grammar of ALGOL.
It was then only recognized as Backus Normal Form but after the Danish programmer Peter Naur had made some changes to it the meaning of N was changed to Naur. BNF consists of terminals, nonterminals and some metasymbols which you write expressions, called production, that maps your grammar. Terminals are literals (like ‘a’, ‘b’, ‘c’, ‘1′, ‘3′, ‘4′, ‘!’) and nonterminals are composed by terminals and other nonterminals.
Literal = '1' | '2' | 'a' | '-'.

 

Nonterminal = {Literal}.

 

In the productions above the elements 1, 2, a, - are terminals and Literal, Nonterminal nonterminals.
The conventions used when naming terminals are that they are capitalized and nonterminals not.
With BNF you can do recursions and other things by using different metasymbols. Following are the most common ones from both standard BNF and the Extended BNF.
{}  Repeat 0 or more times
 ()  Grouping
[]  Optional element
 |   Or
 <>  Encloses nonterminals (used in EBNF)   

Here is an example using all elements and some others too.

(* a simple program in EBNF − Wikipedia *)
program = 'PROGRAM' , white space , identifier , white space ,
           'BEGIN' , white space ,
           { assignment , ";" , white space } ,
           'END.' ;
identifier = alphabetic character , { alphabetic character | digit } ;
number = [ "-" ] , digit , { digit } ;
string = ‘”‘ , { all characters − ‘”‘ } , ‘”‘ ;
assignment = identifier , “:=” , ( number | identifier | string ) ;
alphabetic character = “A” | “B” | “C” | “D” | “E” | “F” | “G”
                     | “H” | “I” | “J” | “K” | “L” | “M” | “N”
                     | “O” | “P” | “Q” | “R” | “S” | “T” | “U”
                     | “V” | “W” | “X” | “Y” | “Z” ;
digit = “0″ | “1″ | “2″ | “3″ | “4″ | “5″ | “6″ | “7″ | “8″ | “9″ ;
white space = ? white space characters ? ;
all characters = ? all visible characters ? ;

 

With this grammar you can parse text that is syntactically correct with the grammar. For example this code:

PROGRAM DEMO1
BEGIN
  A0:=3;
  B:=45;
  H:=-100023;
  C:=A;
  D123:=B34A;
  BABOON:=GIRAFFE;
  TEXT:="Hello world!";
END.

There are some good engines available on the market, both commercial and free. I have tried GOLD Parser Generator, a free grammar parser engine where you can build grammars and later port them so that you can use them in your own programming projects.

Why am I interested in this? Lexical parsers are a very interesting and also important piece in compilators. Almost every parser uses BNF. I am planning to construct my own compiler in the future so this will come in handy.

Rammstein - Mein Herz Brennt

The German “Tanz-metall” band Rammstein is one of my favorite bands. This is one of their best songs according to me.
The theme of this song is nightmares. I like the music and the lyrics. It always gives me an adrenaline kick.

 Lyrics with translation

There are better recordings. But I like this one the most.

Oswald Bates

He says things he can’t understand. He’s in jail. Will he be released? Nah. Don’t think so.

Swedish language

This is a brief presentation of my mothertongue.

The Swedish language is a North Germanic language spoken primarly in Sweden and some parts of Finland. It has its origin in Old Norse, like Danish, Norwegian and Icelandic.

The Swedish language is closely related to Danish and they are both classed as East Scandinavian languages. The other languages are West Scandinavian. A person who speaks Swedish can communicate with people that are speaking Norwegian and with some difficulties even Danish-speakers. Due its influences from Low German during the Hansa trading era it has, like the Danish language, borrowed a lot of words. However, the pronounciation and spelling of these words differs a lot. The pronunciation is more similar to Norwegian (nynorsk) and it retains many other North Germanic features you find in the for example Icelandic (very close to Old Norse).

Influences

Many words come directly from Old Norse, but some are mainly borrowed from other languages, like German, Latin, Greek and of course English.

Structure

Swedish is less inflected than for example German and Icelandic, and similar to the other Scandinavian languages. It has two genders (or four) and no grammatical cases (older definition is Nominative and Genitive). The definiteness is marked by adding suffixes complemented by eithert definite or indefinite article in some cases. The same principles occur in Danish and Norwegian.

Declensions

These are two examples of declensions of words in the two existing genders in Swedish. The plurals may differ but the singular pattern usually stay the same. These are not the only declensions. There are five declensions,

Common

en vacker kvinna - a beautiful woman
den vackra kvinnan - the beautful woman
flera vackra kvinnor - many beautiful women
de vackra kvinnorna - the beautiful women

Articles en (a) and den (the/it) and suffix -n /-en are typical features of the common gender.

Neuter

ett stort hus - a big house
det stora huset - the big house
flera stora hus - many big houses
de stora husen - the big houses

Articles ett (a) and det (the/it) and suffix -et are typical features of the neuter gender.

Verbs

Verbs are also quite simple because there is just one form in each tense. These forms must of course be accompanied with a personal pronoun.

att springa - to run

Present: spinger - run/runs/is running
Preterite: sprang - ran
Past: har sprungit - have/has run
Future: kommer att/ska springa - will/ist going to run

There are other conjugations and compound tenses but this example is just to show you so you get an idea of how it is working.

This was a short introduction to the Swedish language. There are of course much more, but this shows that it is not a hard language to learn.

You find more here: http://en.wikipedia.org/wiki/Swedish_language.

Cheers!

xkcd

Here’s a webcomic about things I like!

http://xkcd.com/

Essentialists explainations on languages

I googled around the Internet and by accident I found a really funny page on languages. The page is full of quotes on languages. I really enjoyed reading them. Here’s some of my favorites!

Italian is essentially English with vowels added to the ends of words.
Lombard is essentially Italian with vowels removed from the ends of words.
Ergo, Lombard is essentially English.

–And Rosta/Marco Cimarosti

Italian is what happened when Romans tried to learn Latin and said “screw it.”

–Charles Lavergne

French is essentially Latin spoken by a drunken Roman soldier.

–Elliotte Rusty Harold

All Romance languages are essentially the same. Except French.

–Andreas Johansson

Swiss German is German spoken with a Swedish accent.

–Frann Michel

Swedish is essentially the strangest dialect of Dutch I ever heard.

–Christophe Grandsire

Swedish, Norwegian and Danish are actually the same language. It’s just that the Norwegians can’t spell it, and the Danes can’t pronounce it.

–Chlewey

Danish is essentially Swedish spoken while eating porridge.

–Peter Landgren

Old English is essentially mispronounced Modern English spoken while wearing armor and carrying a roundshield and sword.

–Dan Seriff

English is essentially bad Dutch with outrageously pronounced French and Latin vocabulary.

–Eugene Holman

English is essentially Norse as spoken by a gang of French thugs.

–Benct Philip Jonsson

You’ll find more on: http://mercury.ccil.org/~cowan/essential.html

Next Page »