programming

What's a proper programming language for Semantic Web reasoning?

As I already mentioned, the internet is one big database. But how much is the information worth? Obviously not all the information on the internet is true and not all information is worth to be taken into consideration by solving problems. As I see it, the Semantic Web is still in its child shoes. New technologies and ideas come up, each and every day. The progress of structuring date using W3C recommendations has just begun. That allows to make more and more data being read- and understoodable by machines. But in the end, intelligent software (e.g. agents) has to do some kind of reasoning to solve their given problems. The software has to decide on its own, which information is worth to be taken into consideration and which information isn't. Moreover, the software has to decide how to use the given data. Logic Programming is one way to go. Lot's of (semantic web related) artificial intelligent and search problems could be solved by Logic Programming technologies such as Answer Set Programming (ASP). The simpleness and elegancy of ASP may perfectly fit to Semantic Web tasks, such as information collection and interpretation from standardized Semantic Web knowledge bases or intelligent software design. Does there already exist some languages that fulfills this description? Does there exist logic programming languages that are able to be used with modern Semantic Web technologies, such as XML, RDF and OWL? Yes it does.....

Managing courses and providing a registration System

The registration system should offer a specified number of courses and a limited number of possible registrations. The system has to ensure that no further registrations are possible if the places are limited. It should be possible to integrate the system into an existing website, including adaptions concerning layout and design. The registration process is limited to a specific time and registered users should be able to change their registrations. The users should be able to log on and view as well as change their current registrations. The backend should provide facilities to add and remove users and should offer registration lists which could be used to check attendance. In addition, collected e-mail addresses could be used to inform audience on time or location change. The technology used should be widespread and easy to use. It should be used for a Website for company fairs (www.discovery.jku.at) and is therefore used only occasionally. It is of major importance that the system is easy to use and to maintain because the organizing team of the fair and also the maintaining team of the website change a lot. The existing infrastructure is an Apache server and a mysql database which ideally should be used for this project as well. Nevertheless, other open source technologies could be integrated.

Using Git DVCS (distributed version control system) and GitHub to effectively collaborate on an open-source software project

While collaboratively working together on an open-source project (which aims to provide a fresh web app framework in this concrete case) and moves at a fast pace it conseqeuntly turned out that using the standard approach of centralized VCS for it soon hit its limits. Therefore, we jointly decided in the community to switch to a decentralized one, namely Git. This DVCS was originally developed by Linus Torvalds for managing the development of the Linux kernel. Its main concept basically is that everybody has his/her own complete "clone" of the code repository. So there isn't a single centralized code repository as in the structure/architecture of Subversion, but a number of decentralized ones. As a consequence Git was also developed to have very powerful and convenient capabilities of merging branches of code repository clones. This feature which is also one of Git's biggest strengths shall be described and explained in more detail. Git's basic usage is mainly command line based and can especially in the beginning pose quite a steep learning curve on new users. So it should be given a short introduction to Git's main concepts and concrete usages as well. Another very nice companion to Git is the Git code repositories hosting site/service GitHub (github.com) which can make using Git simpler and furthermore improve collaborative development processes and tasks of a programming/development project. This shall also be presented and explained.

Setting up a Subversion repository and corresponding Trac app on a (Debian/Apache) server

So the basic problem here is how to best work together productively in a programming/development project and the question which are good tools providing capabilities to potentially support and improve this. One such tool is a version control systems (VCS) which basically helps to keep the code and especially its progress under (version) control in a code repository (transparently). A specific such VCS is Subversion (a.k.a. SVN). This is at the time one of the most popular and up-to-date systems of its kind (i.e., centralized VCS). Its basic slogan is "CVS done right" (which consequently can be seen as Subversion's indirect predecessor system). There are many tools available to work with Subversion from a client/user perspective like stand-alone client apps, integration in editors, e.g., via special plugins or also complete integration in a full-blown IDE (integrated development environment). Now, what's up to do is to actually setup a Subversion system on a server and to create a code repository for a programming/development project. In this case a Debian-based OS with an Apache Web server is chosen as infrastructure. Additionally a Trac app should be installed which among other things offers nice and convenient Web visualization of the code repository (and its progress) to users. When all this is in place users can take the benefits of using Subversion for version control of the code of the project.

Pages

Subscribe to programming