Recent Content

Meine Zertifikate: 汉语水平考试(HSK)一级和二级

posted on

Inzwischen steht mein Kopf eher schon beim nächsten Test. Trotzdem wollte ich noch von meinen Prüfungen im September abschließend berichten:

Mein Gefühl hat sich bestätigt, ich habe beide Prüfungen bestanden. HSK1 sogar ohne Fehler. Die Ergebnisse waren ab dem 16. Oktober online einsehbar. Hierzu kann man sich einfach mit den persönlichen Zugangsdaten auf der Seite anmelden über die der Test auch gebucht wurde und sieht dann die Ergebnisse oder man kann auch ohne Login dort die Ergebnisse abfragen, wenn man seinen Namen und die Admission-Ticket-Nummer eingibt. Am 9. November war es dann soweit und ich konnte auch meine Zertifikate im Konfuzius Institut München abholen.

汉语水平考试(HSK)一级和二级

posted on

Letzten Sonntag habe ich mein Chinesisch testen lassen. Ich hatte mich zu den Prüfungen HSK 1 und HSK 2 angemeldet. Ursprünglich wollte ich nur die niedrigste Stufe HSK 1 schreiben und meldete mich entsprechend an. In der Vorbereitung merkte ich jedoch schnell, dass die Anforderungen hierfür nicht so hoch waren wie ich dachte. Zwar gab es noch ein paar Vokabeln, die ich nicht kannte, aber im Großen und Ganzen hatten wir den Stoff längst im Unterricht behandelt.

Dann laß ich beim Konfuzius Institus München, dass es auch möglich ist sich für zwei benachbarte Prüfungslevel gleichzeitig anzumelden. Die Prüfungszeiten sind so geplant, dass dies geht. Das klang gut: für HSK 1 konnte ich mich eh nicht mehr abmelden und ich könnte parallel versuchen, ob ich nicht schon die nächste Stufe schaffe. Gedacht getan, ich meldete mich auch hierfür an.

Meine Vorbereitung habe ich entsprechend auf die 300 Wörter/Zeichen des HSK 2 ausgedehnt und mich mit der erweiterten Gramatik beschäftigt. Ich fühlte mich bis zum Tag davor recht gut vorbereitet. Dann allerdings machte ich Probeaufgaben zum HSK 2 und war nicht mehr ganz so sicher. Die Sprache in den Höraufgaben war doch deutlich schneller als ich es gewohnt war. Die Beispiele in den Textaufgaben teilweise schwer verständlich für mich. Nach der Auswertung der Probeaufgaben dachte ich: okay, es könnte doch knapp werden.

Sonntag begann mein Prüfungstag zuerst mit HSK 2 um 10:00 Uhr, Prüfungsdauer etwa eine Stunde. In der Prüfung kam dann schnell das gute Gefühl zurück. Die Audiotexte waren langsamer und besser verständlich als das was ich von den Probeaufgaben kannte. Bei den meisten Aufgaben bin ich ziemlich sicher, dass ich sie richtig gelöst habe. Die Antwort ist fast immer eine Multiple-Choice-Auswahl und die falschen Möglichkeiten waren meist eindeutig falsch – mir schienen keine Gemeinheiten eingebaut. Auch die Textaufgaben habe ich ganz gut verstanden.

Am Nachmittag stand dann noch HSK 1 an. Diese Prüfung dauert nur etwa eine Dreiviertelstunde. Nach der guten Erfahrung im schwereren Niveau hatte ich keine Sorgen vor dieser Prüfung. So war es dann auch: Ich habe diese wirklich als sehr einfach empfunden. Ich hätte mich wohl geärgert, wenn ich nicht auch an HSK 2 versucht hätte. Jetzt muss ich etwa einen Monat warten, dann kann ich meine Ergebnisse abrufen.

La razón porque yo aprendo el chino

posted on

Cuando hablo con otros estudiantes de idiomas, es una pregunta muy común. También en los libros de aprender otra lengua siempre hay un capítulo en el que se habla de las lenguas que se habla y porque se las aprende.

Yo siempre nota que la lengua que tiene más impresión a la persona de enfrente es el chino. Para la mayoría de personas aquí en Europa todavía parece algo imposible para aprender. Piensen que se tiene que ser un genio ya si se lo intenta. La verdad es diferente, no es tan complicado. Pero es otro tema, quizás escriba de eso en otro momento.

Lo más especial normalmente es la razón de aprender el chino. En general es nota en las clases que cada lengua tiene un público diferente. Por ejemplo mis compañeros en las clases de neerlandés lo aprendieron porque son artistas y quisieron trabajar en Ámsterdam o porque tuvieron novio neerlandés. Al contrario en las clases de español una razón muy común es el turismo. España es un destino de vacaciones muy popular.

Si alguien me pregunta por qué aprendo el chino normalmente sólo contesto que es por la escritura. Eso es verdad, pero no es la verdad completa. Claro que los signos chinos son bonitos y a mí me gustan también. Pero la belleza no es mi razón. Hay algo diferente que tiene que ver con los signos también.

Todo ya empezó en el año 1996. Fui el año en que me inscribí a la universidad de Stuttgart. Por mis estudios allí estuve en la biblioteca universitaria cada unos días. No sólo me interesaban los libros de las ciencias físicas (mi asignatura en aquella ocasión) pero también los de informática. En esa sección de la biblioteca había un libro en dos tomos: Unicode Standard: Worldwide Character Encoding, Version 1.0.

Suena aburridísimo, ¿no? Pero no para mí. En nuestros días es el estándar habitual para ser capaz de representar todos los idiomas en los ordenadores al mismo tiempo. Es un presupuesto para que WhatsApp funciona sin problemas y sin límites en todo el mundo. Pero entonces fue muy moderno. La realidad en 1996 fue que se tuve que seleccionar una «code page» (página de código) en la instalación de Windows. Después se pudo escribir bien en una región del mundo, pero no fue posible escribir en lenguas muy distintas en el mismo ordenador.

Los dos tomos del estándar Unicode contienen casi sólo tablas de carácteres y un número que represente ese carácter en el ordenador porque dentro de un ordenador sólo hay números. Además, había unas páginas en que se habló de los problemas adicionales en producir software plurilingüe. Depende de la escritura se escribe en direcciones diferentes, hay espacio entre palabras y se cambia la línea sólo allí o se puede cambiar la línea a cualquier posición, es posible que letras cambian su aspecto en función de la posición dentro una palabra o dependiente de las letras vecinas y mucho más. Eso me desengañó que producir software para el mundo no sólo requiere traducir todos los textos, se tiene que considerar mucho más.

Probablemente si tú vives en Europa ya notaste algunas de eses problemas: software en que la semana empieza el domingo (en vez de lunes), en que una dirección requiere que se inserta un estado o números de teléfono que tienen que tener exactamente diez cifras. Probablemente el software estaba producido en los E.E.U.U. Para estadounidenses todo eso parece normal, no piensan que pueda ser diferente en otro país.

Yo quise ser diferente, especialmente hoy trabajando en el sector informático profesionalmente. No es posible evitar todos los problemas, pero quiero que considere lo más posible. Por eso a mí me parece que tengo que trabajar con el software que yo produzco y con software en general en idiomas diferentes. Por eso yo busqué una lengua muy distinto, para practicar pensar de software en una forma muy diferente. Y eso es el aspecto de que yo hablo cuando digo que mi razón para aprender el chino es la escritura.

Planeando el semestre que viene

posted on

Solo hay unas pocas clases más antes del fin del semestre en mi escuela de la noche. Por eso pienso mucho como continuaré el semestre que viene. En general últimamente he notado cada vez más que quiero aprender con más velocidad.

Esto noto especialmente en portugués y chino. Actualmente puedo seguir en las clases sin practicar en casa. No me parece bien. A mí me parece importante conseguir un nivel comunicativo lo más rápido que posible. Si se tiene ese nivel se aprende una lengua casi sin hacer nada, solo se tiene que hablar con amigos y personas interesantes.

En portugués una solución se ha resultado automáticamente. La escuela Volkshochschule no ofrece un curso a continuación del actual. Ya en este curso solo somos el mínimo de estudiantes. Por eso hace unas semanas hablamos en la clase como podíamos continuar. Buscamos curso adecuado para cada estudiante. Para mí significa que voy a omitir las clases del último quinto del libro actual y ya voy a empezar las clases de B1. Espero que sea nueva motivación para mí. No creo que tenga problemas porque ya aprendí todas las palabras del libro en el invierno y no es mucho gramática que aún no sé. Voy a repasarla antes del semestre nuevo en octubre.

Más difícil es el planeamento en chino. Los cursos tienen velocidades diferentes pero en el programa de la escuela no se informan sobre ese aspecto. Por eso hablé con mi profesora, mi escuela actual y el Instituto Confucio. Afortunadamente todos entendieron muy bien y me ayudaron mucho. Por eso ahora tengo unas opciones para elegir. Básicamente tengo que decir si quiero omitir clases o no y con que velocidad quiero continuar. Si cambiaré la escuela también tendré que cambiar el libro. Por eso ya empecé a praticar con el otro libro también. Pero todavía no he decidido que haré. Depende de la programación final en las escuelas. Aún no sé los días de todos los cursos.

De una u otra forma no tendré clases normales en agosto. Por eso para ese mes me inscribí a un curso intensivo de arender japonés. Espero que aprenda algunos principios básicos de esta lengua que siempre me ha interesado.

Learn You a Haskell for Great Good

posted on

This is the first book on Haskell, that really made me want to read it. I had it with me as an e-book on my vacations. I couldn't stop reading it before I finished. It is a very good introduction to the basics of the Haskell programming language. It even contains an understandable explanation of the infamous monads. (Side note: they are a very simple concept, and you shouldn't fear them.)

For me this book was the right amount of introduction to get me started. Everything else I think I will be able to learn while using the language.

The book is available in print at your preferred book shop, or can be read online and free of charge.

Links to resources

Benutzt du Clojure in der Arbeit?

posted on

Wenn ich auf ein Meetup gehe, lautet die erste Frage immer „was machst du so?“. Beginnt das typische Gespräch hingegen mit „benutzt du Clojure in der Arbeit?”, bin ich auf der :clojureD in Berlin gelandet.

Am 24. Februar war ich auf meiner ersten Clojure-Konferenz. Nach einem Treffen der Munich Clojurians war das erst mein zweites Zusammentreffen mit anderen, die der Begeisterung dieser Programmiersprache erlegen sind.

Es war ein tolles Erlebnis. Auf keiner Konferenz bisher hatte ich so den Eindruck, dass alle einfach ein rießen Interesse an Softwareentwicklung haben und alle dafür brennen neue Gedankenanstöße aufzunehmen. Keiner der einfach nur seine Arbeit erledigt bekommen will. Ich hatte das Gefühl wirklich unter den Besten zu sein, die es in meinem Beruf gibt.

Wie schade, dass anscheinend trotzdem das Potential der Sprache so oft noch nicht genutzt wird. Obwohl ich im Cognicast oft genug auch schon die andere Seite gehört habe: Firmen, die darüber klagen zu wenige Clojure-Entwickler zu finden. Die Antwort auf der :clojureD war leider öfters: „nein, in der Arbeit nutze ich kein Clojure“.

Progresso nas minhas línguas

posted on

Uma vez por ano reviso que aprendi nas minhas aulas de línguas. O mais notável este ano é que comecei a aprender Português em Agosto. Durante quatro semanas, eu tinha 36 horas de aulas intensivas. Gostei muito de aprender uma língua nova. É bem aprender algo mais fácil que o chinês. Lamentavelmente não posso continuar assim. Por um lado porque não há ensino intensivo depois de os capítulos de verão. Por outro lado também tenho aulas no chinês e espanhol durante o semestre.

No espanhol fiz o exame DELE B2. Suponho passei todas as partes mas até agora não tenho nenhum resultado. Espero que me comuniquem-o no Janeiro. Segundo o meu sentimento tive menos problemas que no nível B1 um ano e meio atrás. Especialmente foi mais fácil entender todos os textos na parte compreensão oral.

Também continuei as minhas aulas de chinês. Todo é um pouco mias lento. O idioma não é semelhante com os idiomas europeus e se tem de aprender as letras também. Apesar disso gosto de aprender esta língua cada vez mais. Começo a reconhecer letras e palavras no meu quotidiano.

Provavelmente este texto contem muitos erros. É a minha primeira vez que escreve um artículo português para a internet. Mas o mais importante para mim é provar expressar algumas coisas básicas na minha língua nova.

Feliz ano novo!

Getting Safari Books Online

posted on

I like the books from O'Reilly. For many years I've seen the ad on the backside advertising Safari. Sure, I checked out what this is, but I wasn't really interested to have a digital copy for a limited amount of time. I already had the print version.

I love to read real books made of paper. I use highlighters and add notes, while reading. I make the book mine. And after finishing the book, I can place it on my bookshelf, to show the books I like to others. This doesn't work with my Tolino e-book reader. While I have this device, I still buy most books as a paper copy.

Some days ago, I heard of Safari again on a podcast. I thought, that at least I should check it out. It's not only O'Reilly books anymore and it includes videos and other podcasts as well. There is a free 10 days trial, so I did not have to invest more than some of my time.

It didn't take long and I was captivated by Safari. I noticed how cool it is to checkout nearly any computer book I am normally reading. Curious about something? I can just log in and start reading. It didn't take long, that I had a regular, payed subscription …

The price? It's quite expensive. I have to pay around 40 € per month (including VAT). I saw several people on the net comparing this to about two e-books a month. This comparison doesn't work for me: I still want to read paper books. For me Safari is a tool to fossick for new content.

Another big down-side of Safari is, that you have to read it on the web, or with an Android or iOS app. This limits the user to read on devices with a screen not optimized for reading. You cannot read using an e-book reader with an e-ink display and much less weight per screen size.

For the moment I am still enjoying the service as a big index to books I might been interested in. To bad, that there is no offer for people using it and buying the books at the same time. As a Safari subscriber I'd like to get a discount on the books I buy. Or they could offer some free days for every bought paper book.

Link

Reactive Programming with RxJava

posted on

RxJava is an implementation of “Reactive Extensions” (Rx) in Java. But what is this? Originally Rx are an implementation of Microsoft to address the increasing complexity of software. It is a model to build large scale asynchronous service architectures.

Another company that has to be mentioned is Netflix: they implemented the Rx in Java which resulted in RxJava.

On the programming side Rx looks very similar to how streams (java.util.stream.Stream) work. The main difference in my opinion is that streams are pull and lazy. They produce only as much data as someone is reading from them. RxJava on the other side is more push style. The source of data is pushing events through a pipe of operators similar to what you know from streams (filter(), map(), and so on) to the sink. And as I know from this book, Java streams are the wrong tool to parallelize anything that is not CPU bound–like network requests. There reason for this is, that (parallel) streams are executed on a thread pool that is shared with several other features of Java. This thread pools is limited to have only that many workers as the system has CPU cores. Therefore this pool gets exhausted very soon, when threads in it get blocked by I/O operations. Any thread waiting for an I/O operation effectively results in a processor core not used by your program.

RxJava on the other hand is not limited to a fixed thread pool. Any source (Observable) and sink (Subscriber) of data can be bound declaratively to user defined Schedulers. As well as Rx favours a model in which I/O operations are done asynchronously and non-blocking. Therefore resulting in a need for much fewer threads. In a traditional model of using one thread per network connection, threads become very soon the first thing that limits scalability.

What is really great about this book

The best part of this book for me were the reflections on Relational Database Access in chapter 5. While as a developer you might be tempted to convert everything to the reactive model, this part of the book shows where it doesn't make sense to do so.

By converting the access to your relational database to an asynchronous model you won't gain anything. Whatever you are doing on the client side, let's say for example your PostgreSQL will run all of your concurrent requests in different processes. This results in a noticeable limit on the number of parallel queries you're able to run. You cannot lift this limit by becoming asynchronous on the client side.

Links to the book

ZooKeeper, Distributed Process Coordination

posted on

ZooKeeper is a component that facilitates building distributed applications. It is:

The data managed by ZooKeeper is presented in a file system like manner with directories and files whose names get separated by slashes (/). The difference to a file system is, that you can store information in the directories as well. Or seen differently: directories are files at the same time. Based on this simple abstraction, users of ZooKeeper can implement things like leader election in a cluster of software instances.

The book by Flavio Junqueira and Benjamin Reed

The book is written by two experts of ZooKeeper, that know how it works internally and what are the pitfalls in which the users can trap. Flavio Junqueria is one of the ZooKeeper's contributors. Benjamin Reed helped to start ZooKeeper.

I was reading the book, because I is the basis for other distributed software systems I made myself familiar with the last months, including Akka and Mesos. I always think, that it's a good idea to know at least one layer below the layer I am actually using. I allows me to understand better what I'm doing and how to do it right.

The book starts by giving an overview of the concepts and basics used by ZooKeeper. It introduces an example master-worker application, that is implemented using different languages afterwards:

Other topics discussed in the book are:

I think, that this book is a highly valuable resource for anybody working with ZooKeeper either directly or indirectly by using some other software, that uses it.

Links to the book


Unless otherwise credited all material Creative Commons License by Matthias Wimmer