Add this blog to Del.icio.us, Digg or Furl | Create Watchlist for this blog

Archive for the ‘business’ Category

New Drupal company site on air

Tuesday, November 13th, 2007

Website der proxiss GmbH MünchenLast weeks I was working on a new Drupal driven company site. This time I wanted to create my theme from scratch (calles “ANewCompany”) and wanted to use heavy taxonomy for cross linking.
The site is on air now and promises professional web2.0 programming (German).

On the site I use following modules:

Blog, Book, Forum, Poll - for content creation
Comment, Contact - for visitor interaction
Drupal - for site registry
Locale - for string translation and adjustment
Menu, Path - for site navigation
Taxonomy - for cross linking and navigation
Search - for site wide full text search
Statistics - for access statistics
Akismet - for spam protection
Comment mail - for admin notifications
Service links - for social network linking
TinyMCE - as wysiwyg editor
Views - for some data mining and block representation
Fivestar, Voting API - for content voting

I developed a new page.tpl.php template where I’ve foreseen the regions as follows

  function ANewCompany_regions() {
      return array(
	  'header' => t ('header'),
          'content_top' => t('content top'),
          'content' => t('content'),
          'sidebar_left' => t('sidebar left'),
          'sidebar_right' => t('sidebar right'),
          'content_bottom' => t('content bottom'),
          'footer' => t('footer'),
          'super_footer' => t('super footer')
      );
  }


For the sidebars I use a table-less floating CSS layer concept for reasons i.e. stated here.
In my template.php file I overwrite theme_links for primary_links (to achieve rounded tabs as primary navigation) and the book navigation theme_book_navigation($node) to make it more nice. Special theming for blog and book content is done by node-blog.tpl.php and node-book.tpl.php files.

Next days I will working on a generalization of the theme to contribute it to the drupal theme repository.

Started New Drupal Project

Wednesday, August 29th, 2007

I’ve started a new Drupal project in the DAX Investment business. It’s kind of “pre-alpha” but it’s already a very interesting project from a technology view. It will contain blocks with high dynamical image content as well as stock quotes. So I will need to look somewhat deeper to caching technology and AJAX.
It will also contain community features like blogs and a forum, so there’s also lot of work to do with taxonomy.
I’ll keep you informed.

Espresso Machine for Take-Away

Tuesday, July 31st, 2007

Espresso MachineMy current favorite is a mini espresso (Italian coffee) machine. It comes with a typical can and a build in electro oven. It’s about 15 cm x 15 cm with 25 cm height and has everything to breed the Italian kind of coffee.

It is able to cook the coffee and keep it warm (not to long - or else it’s getting a bitter taste), so everything I need for long programming nights :-)

The manufacturer is called “Splendida”.

freebase - let the community build a global ontology

Friday, June 8th, 2007

With the help of Thomas I got invited to the freebase alpha program. In a short sentence I would say, that freebase is the semantic extension of wikipedia. That means, that freebase does not only have “objects” like wikipedia, it additionally has a hierarchy for these objects, relations between the objects, and common object attributes.

I.e. freebase “knows”: Austria is a country, Vienna is a city. A city is contained in a country - for Vienna, Vienna is contained in Austria. In Austria the main language is german. Goes what lanuage is spoken in Vienna…
freebase knows it! Got the point?

So, setting up the “Ontology” on freebase is a little bit like object oriented analysis. And it is a huge job to do for all the world’s knowledge!

Like Tim O’Reilly wrote:

But hopefully, this narrative will give you a sense of what Metaweb is reaching for: a wikipedia like system for building the semantic web. But unlike the W3C approach to the semantic web, which starts with controlled ontologies, Metaweb adopts a folksonomy approach, in which people can add new categories (much like tags), in a messy sprawl of potentially overlapping assertions.

It is possibly the advantage of freebase to have this messy sprawl of assertions - and with this sprawl the support of all the editors of the “collective intelligence“. The other (MIT) approach is very academic (surprise, surprise) and hard to follow (RDF, GRDDL, SPARQL, ITL, Microformats…). They spend a lot of work in the representation of an ontology - but it seems to be time just to start, to define some interweavings. Who is actually using DublinCore now?

When the collection of data is done, all the relations are set, how can we use the freebase?

freebase offers an open and free-of-charge API (MQL (like JSON) via HTTP) to use the data under common creative license where ever you want.

Questions:

  • freebase is driven by the company Metaweb, what happens to the data when something happens to Metaweb, i.e. getting bought by Google?
  • when lot’s of pages rely on the freebase service, how will they pay the traffic costs?

Programming in D - getting startet

Sunday, June 3rd, 2007

I am programming in C/C++ for more then 15 years now. I took a look at JAVA, programmed some applications for 5 years now. But I am not so enthusiastic with JAVA, I find it kind of childish - it never stepped out of that web application area (in my opinion). No question, JAVA is bad for system programming - and no question too, there are some better choices today for business legacy system than JAVA.
I think the programming world is moving to the component side (away from the one-for-all approach, but independent from the infrastructure system for now). So what I looked for is a modern language to program fast, system-near components. And I found D.

If you search for information D is a terrible name
Try “D” in google and you will get some billions of results. Too bad, we need a web-catalog for this topic, but start with wikipedia for a first try. You will find that …

D is imperative, object-oriented, and metaprogramming
In short, that means that D knows objects and templates.

Continue with “Hello World”
The usual hello world is pretty simple and pretty close to C:

import std.stdio; // writefln() needs this module
int main(char[][] args)
{
writefln("Hello World!");
}

As you see, the include “stdio.h” has been replaced by a import std.stdio (looks like we have a package-like concept here now). And the printf() is writefln() today.

But you need a D compiler now
So start with the dgcc project. They deliver for all major (and some minor) plattforms. Install the compiler, save the code from above as test.d then compile like “gdc test.d”. As result you get the well known a.out executable (or a.exe under windows).
Run a.out and you will get:

Hello World!
Error: AssertError Failure test.d(5)

That’s because you didn’t return from your main function, so D is more severe than C. Insert a return 0; after the writefln() line and you’re done.

Next post will start with a serious application: A TCP/IP server in D.

What a systems analyst is doing

Monday, May 28th, 2007

I call myself a freelance IT consultant, in a brighter light I offer my service as “systems analyst”. But what exactly is the job of a systems analyst? I try to describe the tasks from a practical point of view:

The core challenges are

  • Listen to the customer
  • Translate for the technicans
  • Design and pre-document the system on different detail levels

Do not mix up the analyst with the architect or the technical designer! Imagine there is an interface to a stock exchange involved: The analyst says what data the application needs from the interface, the architect says how the data is retrieved (i.e. MQ, http, triarch…) and the technical designer says how the data is stored in classes (or what ever data model you use).

The core qualifications for this are

  • Communication skills: Ability to ask and listen, and to read between the lines
  • Business knowledge: Deep knowledge about the business field of the application and the business processes of your customer
  • Methodological skills: Have a good command of formal documentation methods like SA, OOA, UML
  • IT skills: Good knowledge of IT possibilities, specially about the customers legacy systems
  • Soft skills: Be friendly, courteously and of course have an analytical mind

The most difficult task in systems analysis is understanding what the customer expects. In practice I found, that the average customer has no in deep imagination of what the resulting system should do. It’s more of a general spec like “the system should support the purchase department”. Your task is it now to define the systems requirements exactly, you can not be fuzzy like the customer.
This is why you have to understand the business field of the application.

When you start examining the current business process of your customer you will have to talk to a lot of employees. Employees usually don’t like changes but your task is it to define a computer system to streamline their job. If the stuff that’s working on your business process is rejecting you, you can never design a useful system.
That is one aspect why you need good communication skills.

When you have your plan at least and start to write it down you have to adhere to the rules of the selected method. You can not invent your own kind of specification language, because if you do, you’d need a lot of your budget to explain your language. From my practice I can tell that computer staff usually doesn’t like business staff, that means you won’t find mercy here. When you draw application data models you are not free in your syntax, you have to use your customer’s standards. And if your customer is not a tiny company, he will use industry-standards like i.e. UML.
That is why you need excellent methodological skills

The job of a systems analyst is it to define the capabilities and behavior of an IT system, considering environmental constraints, considering business processes, considering methodological guidelines, considering the users capabilities. Design the system and communicate it on different detail levels to the customer’s executives, to customer’s staff and to the staff thats doing the implementation.

So far?

Microformat hCard for business purpose

Wednesday, May 23rd, 2007

Some find it useful to publish business data as hCard microformat. So do I and here it comes:

photo
Rainer Feike

Freelance Consultant
Ludwig-Thoma-Weg 11 A

82065 Baierbrunn

Germany

I hide my email address here to not become a major spam victim. But It’s easy to guess :-)

Verfügbarkeit ab August 2007

Thursday, April 26th, 2007

Voraussichtlich ab August 2007 bin ich für Projekte in München und Umgebung verfügbar.
UPDATE: Es wird eher Dezember.