Owner: Rainer Feike techblog URL:http://www.feike.biz/weblog/ Join Date: Thu, 31 May 2007 07:28:30 -0500 Rating:0 Site Description: Rainer Feike observing trends in computer technologies and internet business Site statistics:Click here
Google Gears makes me wonder 2007-05-31 04:20:53 Today I read a lot about the new “GoogleGears
” project. And it makes
me wonder
what google is doing here. Google Gears is a mix of a runtime-environment and an API to develop applications that run online as well as offline.
At a first impression it reminds me for old battles like with “Lotus Notes” where one could synchronize online and offline data. Simple for EMails but horrible for i.e. documents and complicated database content.
So why is google joining this business? My only explanation is, that they want to support their online application market (like their google-docs and picassa) by adding strong offline and synchronization capabilities. Making web applications run offline in a browser is one more step away from a single-user desktop PC - and from the OS needed here.
With their runtime-environment, google adds like an apache, and a mySQL Server to your PC. To synchronize the data on your local PC with your host system, google suggest a online synchroni
What a systems analyst is doing 2007-05-28 08:16:30 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 Read more:doing
Anger about my new Lenovo Z61m 2007-05-23 11:21:20 I had my Samsung T10 now for three years, I was at all satisfied with the machine (put 1.5GB in it) but I wanted a Intel Duo CPU now - specially for eclipse development.
So I bought the new IBM Lenovo
Z61m with a Core2Duo T7200, 2×2GHz and 2 GB memory. And I am not really glad about that. Other than expected, the laptop is terrible slow. The identification with the fingerprint reader is close to be useless. Lot’s of annoying “free software” that’s pre-installed is pulling on my nerves - at all, I don’t know what the system is doing all the time (looking at the Task Manager tells that it’s idle). Another point that’s bad done is the WLAN installation with lot’s of tiers in the TCP/IP setup that do who ever knows what - but don’t establish stable network connections.
The WLAN requests “hang” very often. I.e. when browsing nothing happens until I load another page on another tab or in another browser. Now I am browsi
Microformat hCard for business purpose 2007-05-23 02:24:56 Some find it useful to publish business data as hCard microformat. So do I and here it comes:
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
Share This
MIMEMailPHP4 FAQ : Invalid argument supplied for foreach 2007-05-13 10:26:05 Invalid argument supplied for foreach in line 364
This is a PHP warning from MIMEMailPHP4 V2.1 when you try to attach a binary file and the given file is not found or not readable. Use the getLastErrorCode funtion after addBinaryFileAsAttachment() to catch and handle that error in your code before sending the mail.
You can also gracefully ignore that warning.
The project pages are here.
Share This
Read more:Invalid
MIMEMailPHP4 FAQ : using $mail->send(true); doesnt send anything 2007-05-13 07:35:05 In the examples of the zip packages the “send” method is called with parameter ‘true’. Sorry, this is misleading, the parameter’s name is “debug”. And if you set it to “true” you will just get the MIME code for the message, it will not be send.
Use $mail->send(); or $mail->send(false); to really send the message!
Share This
Read more:anything
Google - the knowledge and the power 2007-05-12 10:26:18 Google ist extending their power
in a very new way. They redefine searching in the internet by giving pages value depending on how many people visit the page, where they come from and how long they stay.
How do they do this? The key is their Analytics -Knowledge. Because Google-Analytics is the very best website analysis tool - best in content, best in drilling down, best in installation effort, best in cost, best in speed - everybody uses it. And because every webmaster is using Google-Analytics Google knows where the webusers go to.
By using simple statistics Google can relay on their knowledge by at least - let’s say 95%. They know how many websites exist, and they know how many websites are using Analytics. The rest is simple statistics.
So, while all the SEO’s are staring at the pagerank, Google is redesigning their search algorithm. Important is what attracts people, valuable is what keeps them staying a long time, sustaining is what makes them come back. It will be a Read more:Google
blog2phpCMS V 1.0.1 released 2007-05-11 11:37:43 The new version supports the “user” parameter now. That means, you can restrict the fetched posts from wordpress to special users. The documentation has been enlarged and the GPL licence is in the zip now.
Here is the link to the project’s pages
Have fun!
Share This
blog2phpCMS Open Source Project 2007-05-09 10:00:04 The blog2phpCMS plugin software allows you to use weblog systems content (currently only wordpress 2.x) in your phpCMS content files.
That is pretty useful because phpCMS is a rich-featured but lightweight CMS System, whereas a typical weblog system like wordpress is more diary-like and pretty easy to use for editors. Combining these two systems gives you a rich set of possibilities to keep a website with dynamic content up-to-date. And all of this without the need of too much technical know-how on the editor’s side.
Share This
Read more:Source
, Project
Google counts redirected links 2007-05-01 11:34:37 After I was registering for Google
’s sitemaps program, I was surprised that I found indirect links
to my pages in the external links index. As you know, the old “link:www….” syntax has been disabled by google (does not show all the database secrets anymore) cause of too much abuse by “who-knows-who’s”.
So, if you want to know, what sites are really linking in, you have to subscribe to the sitemaps program. I have lots of indirect links (links working with the http-redirect, for example for click-counters) to my open source projects in software catalogs. Never thought they would count anything. But surprise, they are in the google database.
Hot question: Do they count in PR calculation?
Share This
Programming in D - getting startet 2007-06-03 07:06:51 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 t Read more:Programming
, startet
New release V 2.1.1 of MIMEMailxPHP4_V2 2007-06-02 02:53:43 Minor bugs made a new release necessary. It’s basically kind of service release to make the usage of the package more easy.
I fixed the linefeeds in the example programs to be all DOS (”
”) linefeeds. So the problems with some FTP transfers should be solved now. And I fixed the PHP Warning (”Invalid argument supplied for foreach in line 364″) for empty attachment arrays.
The new version is absolutely compatible to all prior version. If you didn’t experience any problems, there is no need to upgrade!
Download of the software is possible here.
Share This
Multithreaded programming in D 2007-06-08 04:39:25 While in C++ there was no build-in threading support, D comes with a JAVA-like class “Thread”. So while in C/C++ you had to mingle around with threading libs like pthread or solaris-threads, in D you can leave that problem to phobos.
A simple example shows all the simplicity:
import std.c.time;
import std.stdio;
import std.thread;
int runThread(void *ptr)
{
printf("Thread %d startedn", cast(int)ptr);
sleep(10);
printf("Thread %d endedn", cast(int)ptr);
return 0;
}
int main()
{
Thread t1 = new Thread(&runThread, cast(void *)1);
t1.start();
sleep(2);
Thread t2 = new Thread(&runThread, cast(void *)2);
t2.start();
while ((t1.getState() == std.thread.Thread.TS.RUNNING)
|| (t2.getState() == std.thread.Thread.TS.RUNNING))
Thread.yield ();
printf("program readyn");
return 0;
}
That’s it. Save the code as ThreadTest.d, than compile with “gdc ThreadTest.d” and run a.out (or a.exe). What you get as output should
freebase - let the community build a global ontology 2007-06-08 03:15:24 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 sema Read more:community
Yahoo! at a loose end 2007-06-07 01:06:35 About the new Yahoo
! Panama API.
When I read the interview with Yahoo!’s Dan Broberg, Managing Director of Sales Technology on Alan’s Blog, I got a feeling that yahoo!’s running after Google.
For “advanced” support, we are not charging all that much, $2000 per month. This level provides our partners with more support, more dedicated Yahoo engineering resources should they need support. At the advanced and elite levels, we’ll make specific commitments regarding uptime, and provide our partners with in our product roadmap process.
They sell support for using their API - that’s not a 2.0 approach! That’s old IT business. A 2.0 approach would be to have a FAQ + a forum + a wiki + a developer blog - and all of that for free.
APRK: Google has taken a different approach. They don’t charge for support, but rather charge a nominal fee for each API action, 25c per thousand API tokens.
DB: We’re interested in best serving our advertisers, and we different
New bugfix release V 2.1.2 of MIMEMailxPHP4_V2 2007-06-13 02:19:44 A new bugfix release concerning compatibility. There was an issue, that inline html images (CID images) were not shown correctly in the thunderbird email client. This was caused by a wrong (but accepted by MS Outlook) MIME type in the MIME mixed-boundary.
Changed the multipart/mixed to multipart/related - now it works in all mail clients.
The BUG and FIX was reported by H. Borns. Thanks a lot!
The projects info page is here
Eine deutsche Version ist hier
Share This
ajax script tutorial - quick technology intro 2007-06-20 03:04:03 I love short stories to get started in a new technology. So here is one about ajax - the current hype on web platforms.
What is it for
Send requests asynchronous to your webserver and process the results within the current client-page-DOM without re-loading the whole page!
If you need special data in your webpage as response to a user action then use ajax. It is not meant for a whole Web GUI. If you use ajax for too much user navigation you will explore the two major drawbacks soon: The user can’t use the browser’s back button and search engines will ignore you (well, there are workarounds but those are bad browser dependent hacks).
The typical situation where ajax is useful is when you have two drop-down lists and the content of the second list depends on the selected entry of the first. I.e. “choose your cpu:” - first list contains manufacturers “Intel”, “AMD”, “IBM”, “Motorola”, second list contains processor mo Read more:script
, intro
Freebase invitations to give away 2007-06-30 07:27:25 I have 4 freebase alpha invitations left and would like to give them away to anyone who meets the “if you know anyone you’d characterize as a ‘data fanatic’ or a developer, please invite them to join” constraint
Please contact me or post a comment here.
I wrote about freebase earlier at freebase - let the community build a global ontology
Share This
Read more:Freebase
My First Drupal Site 2007-07-09 03:49:36 Yesterday I launched my first Drupal
project in alpha state.
It’s a project for a customer in the real-estate business and I selected Drupal as CMS because of it’s very well selection of extension modules and - sure - for it’s perfect team editing features.
Drupal is, like Plone, in the leading Tools area for high-end websites with dynamic content. A key-strength for my purpose was it’s possibility to assign different roles to editors with different tasks. So I can keep the power about i.e. the menu-structure but let a story writer do the business content.
Above these business reasons, I am glad to have my first PHP5 and MySQL 5 project now. All other projects I’m currently running are based on PHP4 and MySQL 4, so I hope to make new (good) experiences with this new versions. I have waited very long for triggers in MySQL - needed to do some projects in Oracle, just because of the availability of triggers. And I have heard a lot about the processing speed i Read more:First
Related Entries Plugin with WP 2.2 2007-07-18 06:31:59 When I tried to install WASABI’s nice related entries plugin on my new Wordpress site geekland it failed with the following error:
#1214 - The used table type doesn’t support FULLTEXT indexes
I am not sure if this is WP2.2 related - in the schema creation source I found no difference to 2.1 in the posts table - but I never had that problem with 2.1.
The solution is to convert the wp_posts table to ISAM (MyISAM) by issuing
ALTER TABLE `wp_posts` ENGINE = MYISAM
and after that re-issue the installation script of WASABI what does not more than:
alter table wp_posts add fulltext post_related (post_name, post_content)
Well, on my development system, the WP2.2 database was created in InnoDB format. and InnoDB does not support fulltext-search columns.
That’s all. Read more:Plugin
Espresso Machine for Take-Away 2007-07-31 09:06:36 My 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”. Read more:Espresso
, Machine
Running tons of development servers on one linux host 2007-08-05 12:22:49 I drive about 25 domains with different technologies like wordpress, drupal, b2evolution, lussumo vanilla, phpCMS etc. Most of that need a typical LAMP. That is a Linux, an Apache, a MySQL and a PHP. It’s common sense to have kind of test systems, systems where you can test your development work before bringing it up to production. For that I use one linux machine running OpenSuSE Linux 10.2 (basically some partitions on my laptop I use with a boot manager).
Goals of the development and testing environment
There are several goal to be met by my dev-env:
Having production-near environment (Tools, Versions, OS)
Having same code for testing as in production
Having production-like network structure
Having a permanent installation
How to setup lot’s of virtual servers
on the development host
My first and most important hint: Don’t use yast2 for setting up the virtual apache hosts. That module is still buggy. Use it only to set up apache the first time.
Prerequisites
I as
Five most important drupal modules 2007-08-26 04:39:18 Drupal ships with a lot of necessary modules like Blog, Forum, Taxonomy, Poll, Locale …
They do most necessary tasks when building a website. But some modules I frequently need are provided by third parties.
Here is my list of five important third-party modules when building a site with drupal:
CCK - The Content Construction Kit allows you create and customize UI fields that can be added to any content types (Example: When building a song review database you could add a field like “Best top-ten rating” to your song-review content type.).
Views - The views module provides a flexible method to control how lists of content (nodes) are presented. It is essentially a smart query builder that, given enough information, can build the proper query, execute it, and display the results - including but not limited to CCK fields (Example: Create a node that displays song title and best top-ten rating).
Google Analytics - sophisticated integration of google’s urchin trac
Started New Drupal Project 2007-08-29 14:00:55 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. Read more:Project
Intel C++ 10, OpenMP & OpenSuSE Linux 2007-08-31 00:53:42 As promised yesterday, I’ll try the OpenMP features of Intel
C++ 10.0 for Linux
today. Cause I’m lazy, I use a wide spread “Hello World” for OpenMP example, it is very simple and it’s only purpose is to demonstrate the basics of how to parallelize a code with OpenMP.
/***********************************************************
* FILE: omp_hello.c
* DESCRIPTION:
* OpenMP Example - Hello World - C/C++ Version
* In this simple example, the master thread
* forks a parallel region. All threads in the team obtain
* their unique thread number and print it. The master
* thread only prints the total number of threads. Two OpenMP
* library routines are used to obtain the number of threads
* and each thread's number.
* AUTHOR: Blaise Barney 5/99
* LAST REVISED: 04/06/05
************************************************************/
#include <omp.h>
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char **argv) {
int nthr
Intel C++ 10.0 for linux 2007-08-30 13:33:20 Get the most out of it
I like gcc very much but now I have a Intel
Core 2 Duo notebook, and I think it’s time to get the most out of it. That’s why I go for the Intel C++ 10.0 compiler today.
Intel provides a “free for non-commercial usage” download, that’s pretty nice and one more reason to give’em a try!
The other thing I am really interested in is the openMP integration. If you had troubles with pthreads you know why!
Start of my report
Go to the download page, confirm non-commercial agreement, register with email address, then start downloading the 45 MB package (in the IA32 version).
Untar the package and as root type
./install.sh
The installation went smooth, had to agree to several license agreements, answer some question (always took the default). Until suddenly:
Your platform :
architecture = i686
kernel = 2.6.18
glibc = glibc-2.5-25
operating system = unknown
This product is supported for
Drupal localization and string adjustment 2007-09-17 09:27:27 Sometimes when setting up a drupal site, the situation appears, that I need a “special translation” for a standard module. I.e. I need a blogging functionality - but I don’t want to call the system a “blog”.
That’s when I need a customized translation of the blogging module. This article is about how to customize drupal strings with the localization feature.
Find the strings to translate
What you need first the the GNU gettext package (it’s contained in every linux distro). From this package you need the program “xgettext”. This program is able to extract the strings from the module code that can be translated (if the module is programed very well, this should be all strings in the code).
Now go the the module’s location (usualy /modules/blog) and type:
xgettext.exe --keyword=t -L PHP blog.module
The L tells xgettext, that this code is PHP code, the keyword tells xgettext, that function “t()” is used for gettext tr Read more:Drupal
, adjustment
Offering professional Drupal service 2007-10-06 04:27:34 After some months work with the fabulous Drupal
system I have decided to offer professional
services for that CMS in Germany. Based on Drupal 5.x I have created four websites last months, one for a community in the real estate business, one for stock investors and two company sites.
I am really good in techniques like hooks, callbacks, templates and modularization from my business experience of the last years with C, C++, JAVA, PHP … on Unix and Windows. So it was pretty easy to get deep into Drupal (also thanks to my experiences with Wordpress and b2evolution as CMS’s). Drupal is fantastic.
Certainly, I will contribute my results (as far as allowed by my customers) back to the Drupal community as open source - and, if requested, I am willing to donate time and work to a German or international Drupal project. And to support the Drupal association with money, I will donate 5% of each Drupal related turnover (must check this against German tax laws first, probably I will ha
New Drupal company site on air 2007-11-13 01:33:43 Last 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() {