RDFa Editor Presentation

No Gravatar

I just finished my final presentation as the finishing-line for my studies in computer science. I wrote about the inclusion of a RDFa-Editor in a blogsystem, where a user can include semantic annotations in their posts. The goal was to create a tool for editors that would enable them to enrich the posts they make with individual semantic markup. Its mainly focused on usability and is based on the WYMeditor and two servlets. It should be easily portable and perhaps this can be an inspiration for CMS-vendors, so normal people without domain-knowledge (in RDF and Ontologies) will be able to post semantic markup for their contents.

The presentation is made with the flash-tool of prezzi.com and is completely in GERMAN. You can find it shared here. Let it first load the media before you go on watching. If you experience lags, you can download the more smoothly runningoffline-exe-file.

If someone needs a translation, I might invest the hour of work doing so (just post a comment). This is the presentation … click on the forward button to move forwards, in the downloaded version you’ll find the forwards/backwards-butons in the lower right corner and can also use standard powerpoint-presentors:

I hope you like the idea - and I hope that the semantic web world gets more usable for “usual people”, otherwise it might not come to reality for many more years. If you’re interested in the thesis, let me know.

Learning to Code - You Really Want to be a Programmer?

No Gravatar

There is a lot that you can do wrong. A lot that I did wrong and that took its time. But after all I think I made it. So here are some simple rules that you should follow if you’re trying to become someone who touches keyboards a lot:

Have a goal. If you just want to be a programmer but don’t know anything that you’d like to program, you’ll have problems keeping yourself motivated. Going into a certain direction of technology is a good idea too, so you know what you can concentrate on.

Just do it. (In fact, this statement is the best you can do in any situation of life.) Every time that you’ll write code, you’ll learn something new that will get you closer to your target.

Never miss an opportunity to code. If you have a project where you’re working / studying, try to take responsibility for some functional piece of software. Documentation or user-testing won’t get you further.

Use an IDE. I began with writing java code in a text editor, compiled it by hand and did so for some time, because I thought “Eclipse looks … complex”. It was an error that cost me soo much time. Embrace all help that you can get, if its an IDE, a build tool or whatever tools you’re friends and colleagues use. They all save time, and thats the stuff life is made of.

Don’t forget to use a console too. There are a lot of graphical things out there that want to make you move the mouse more and the keyboard, but often there are no better solutions than just using the command line. Don’t be afraid of it, you’ll have to learn all the commands sooner or later anyways.

Make a list of skills & experiences that you’d like to have. Making your first objects, Unit-testing, working with threads, building a gui, parsing some HTML or XML, getting data into a database or out of it, using the twitter API, building a website, writing a firefox-plugin; HTTP, HTML, CSS, JavaScript, Flash, (a lot more Web-Technologies), Frameworks of all kinds … write down what you think would be useful whenever you meet something new you want to learn … and then make it some kind of long-term-To-Do-List.

Don’t think too much about inheritance, interfaces, reflection, … you can first live without that or just use it by-the-book and will understand what they do soon.

There’s no magic involved. Just code. Like in JUnit, I somehow thought it would verify that my code has no errors if I just configure it correctly - plain wrong, no magic inside! You have to write code that checks everything in your other code. I also thought Struts2 would make websites by magic - again, just code. There’s nothing visible that you don’t code, its just makes just need very few code to get those websites running.

Framework is a signal word. Its means “Software that makes something easier for you”, but you should be aware that you’ll need to invest some time to learn how to use it. Framework should give you a positive feeling, when you hear it, like “I’m here to help you!”. Again, no magic involved. Usually ;-)

Ask. Use online forums, ask friends or people you work with. Google can’t always help (but don’t ask question that Google can answer easily). There is so much that could be known about technology, that noone knows everything (especially when you don’t have your master in computer sciences and 10 years of field-experience). Just accept that and also accept if others don’t have all your knowledge.

Teach. If someone asks you and you know a solution, then help him. Assume he didn’t understand something basic that you know and be sure that you teach it so he can solve the same task again later on. Never just give someone the code, they won’t gain anything from that.

Find someone to learn with. Someone who is the same stupid guy like you and also doesn’t know how to do that complicated stuff. Where one brain gets stuck, two often find a solution and both learn. Working together on a project is a great way to learn. Just make sure the other person keeps up with you, or vice versa.

Never stop learning. Technology evolves with lightspeed, new languages appear, new technology is invented. If you’re involved with computers, you’ll probably be one of the most-learning-and-training persons of the world. Never assume you’re ready to “just do work”. Where would be the fun then?

Get tech feeds. Or follow twitter-users who have the smae interests that you have. From time to time, there will be interesting articles that will teach you good new stuff.

Don’t be afraid to buy books or magazines. Its not always cheap , but if it saves you time learning you should just spend that little money. You’ll get that money back with your skills later.

Get your head around this object-orientation-thingy. Don’t use GOTO. Don’t put the whole code in the main-method. Classes are just there to produce objects and objects are nothing more than some fields and methods in one instance. If you write a main-method, produce an object that does that work from there. Objects can be tested nicely and are more useful.

Its not just coding. Software design, team management, data structures, design patterns, team-collaboration, algorithms, time management are all with you at that party. And much more. And don’t you ever forget your social skills. They might be the most important after all. Even programmers need friends ;-)

Be careful with your coffeine comsumption. A programmer is a person who converts coffee to code, after all. If you still want to code, connect with me on Twitter. What do you think I missed? Do you have more hints for the newbies? What was not ever told YOU, that you should have known from the start? Just add a comment …

Cyborg is possible

No Gravatar

Another video that demonstrates a human enhancing device that could be called an exoskeleton (the second half of the video is more interesting where they show the lifting abilities and the trial-and-error-skeletons they used before):

The possibilites of this thing should not be shown by the “pilot” lifting heavy stuff but by letting a disabled man walk. I mean what would Steven Hawking get constructed if that worked? If they show that to work, I understand that as a successful technology. Well by the way, it again shows that sci-fi films might be correct after all (think of the film Aliens and their lifting-exoskeletons).

Increasing Speed: Evolution of Lifetime

No Gravatar

We are living in exponential times. Science works much faster than ever. New technology that helps us managing our life in a more comfortable and quicker way gets developed every day. The world population cooperates over the internet. People are confronted with more and more information every day. Social bookmaring services and twitter gives us 1000 interesting links to watch every day. This might either mean information overload or adaption of the brain. Will we cope this stream of information and be hyperintelligent or will we just waste our time watching useless information making us inproductive?

Just in case you didn’t see this video before, take the 5 minutes of time and watch it. Its really impressive.


Did You Know? from Amybeth on Vimeo.

Reblog this post [with Zemanta]

Auto-Enrich blogposts with Zemanta and Web 3.0

No Gravatar
Image for use in basic articles dealing with p...Image via Wikipedia

Listening to technology-podcasts on the german Handelsblatt.com-website, I heard about Zemanta. It is a service that uses a firefox-plugin to read out your blogged text and parsing it for “words they know”. They present you links, tags and images to embed in your blog post, showing you links to wikipedia-articles and pictures fitting the content. Just after finishing this sentence, the sidebar that gets embedded in my webbackend of wordpress refreshes. Whoa! I got 5 links for the first sentence and I just included them all. I also included a pic you see floating right.

This is what many people think the semantic web or Web 3.0 to be. And in a way, it is. The use of Web 3.0 (the term in my understanding encapsulates user-generated-content as in Web 2.0 and the semantic web) in blogging seems logical to me as blogging the one of the most public displays of Web 2.0. This firefox-plugin makes it much easier to generate interesting articles and IF it doesn’t break my blog frontend, I’ll definitely use it in every post from here on. But back to the functions:

semantic web think tankImage by pshab via Flickr

You can press an update-button and your content gets scanned again. New pictures appear and new links can be included. Just realized that most links are Wikipedia ones, but some (like the firefox-plugin-link or the Zemanta-link at the top) are also directed at other “well-known” resources. You can search for a term you put into a searchbar and get links, content and new pics. I tried “semantic web” for example. You can drag-and-drop pictures into the content-pane, and it gets easily included.

We’re standing on the edge of Web 3.0. I don’t think that this here is all that Web 3.0 is about, but I think its a great application that can be called “Web 3.0″-ly. If you would like to use this ff-plugin too, just go to their website and install it. You’ll have to agree to their TOS, that basically says “don’t change anything our plugin includes” and “we need access to the text you write” and “you are in charge for your content and all content you get from us as we show you the license”. So now I hope this post doesn’t get destroyed by some bad constructed CSS on my side. Fire and forget - or do you have any comments, iThoughts or fears about this plugin? You may also comment in german.

Reblog this post [with Zemanta]

Google Scholar and BibTeX

No Gravatar

If you’re making citations in a scientific document and use LaTeX for building it, you might have trouble finding the correct BibTeX-citations. Google Scholar is the tool you need in this case. Here you can search all the literature you might use.

If you have logged in with your google-account, you’ll find a bibliography-manager in the Scholar-preferences. Here you can choose to add links to all found literature that lets you export BibTeX, EndNote or whatever format you need.

Have fun citing!

Qimaya - Makers of the Semantic Web?

No Gravatar

Hello, dear friends of “The Semantic Web”. I hope you don’t mind if I’m a bit sacrastic about this. I just got a tweet to this article, stating that the semantic web is soon developed and ready to be bought - or used, or something like this.

The article and several others that I found are saying all the same - they were busy explaining what the meaning of the word semantic is and how the human brain organizes information - and some other buzzwords also appear. They say they use neuronal nets to simulate the human brains way to connect words to semantics and that they are ready to sell it to us. They tell us that they found a way to make this n-net work with linear complexity (lowering the processing speed to “only” 20% [someone might see that this is not logical] ) and that every site in the semantic web just gets connected to every other when we use their technology - how this should look is shown in a small video where they take some text about a mac evangelist and show us how their remarkable someware does some pretty AJAX-effects. They tell us that it will find applications that fit the context of what we read and relevant text too - from anywhere on the net! They tell that it’s good for SEO (which I doubt - when every information is connected semantically, SEO is plain dead because only the content would be important) and they tell us its an innovative revolution.

Something that is not told is how we should buy this technology, sometimes its said that everyone will be able to use the new technology in their portal, but most of the time I got the feeling that you’ll need to but a licenced software to use it. They also don’t tell us what a server we’ll need, and how much bandwidth and hardware-capacity … this might be relevant if we’re simulating a human brain or if we’re trying to know where every written word on the internet is located, and in which context.

After all, I would be very happy to see that miraculous beta-version and test it. If it does, what you say, I’ll gratefully update this post and help you test that revolution. But till that happens, I’ll take Qimaya for the guys that sell the thing everyone’s talking about to the people who don’t understand its just selling freezers to eskimos.

You seem to be using an unsafe, outdated browser. Click here to install the world's fastest and safest browser for free! X