Direkt zum Hauptbereich

Posts

Introduction to Design Patterns (2): The Singleton

The Singleton The Singleton design pattern can be seen as a special case of a Lazy Getter . Indeed, the Lazy Getter is the basic construct of a Singleton. Additional, the Singleton does not use a member variable, but a global (static) variable, so that any call to the class would return the same variable. Why is this useful? Just imagine, You are developing an e-mail application with an address book function. Hence an address book can contain a lot of contacs, stored somehow in a data file that maybe need to be loaded by an SQLite database, this can take a few moments on initial data access. So when a user opens the address book the first time, the Laze Gette will cteate the address book object and load the contacts from SQLite. Now it is not that difficult to imagine, that the user may opens more than one e-mail window and writes some e-mails in those windows and every e-mail window is using the address book. To avoid multiple timespans for initially loading the contacts for each

Introduction to Design Patterns (1): The Lazy Getter

The Laze Getter pattern Example for Java Example for Lazarus and language hint The term "Lazy Getter" refers to the Java vocabular, where a Getter is a method, that returns a feedback value or object. And lazy means, that the effect of this Getter method is somehow delayed. Some more precise, it is delayed until one need it. But what do we need? An object, of course! So we need an instantiation of an object delayed. or maybe we don't need this object at all and this is, why we are using a Lazy Getter. To save resources, it is inevitable to not create the maybe required object at startup. But of course we need to create it, when it is needed. To reach this, the Lazy Getter method is used as a synonyme for the late created object in the source code. This method does nothing else than looking, if the object is created - if yes, then return it - or not - then create and return it. That's all. A simple basic pattern. Example for Java: // somewhere you have de

CREATE DATABASE via ODBC

When using ODBC, there are some facts to be considered. One of these facts is good to know when one is about to create a new database with an ODBC connection. General you should avoid ODBC if possible. But in some cases this is not possible because ODBC is still the only connection you have. This can happen if you use (for example) Mircrosoft Access to connect to a MySQL Server or a similar scenario. If you already worked successfully with data on that kind of connection, but now you have to create a database, there will occur a problem. Oh the existing connection you usually will have no success when trying to create a database because you maybe dont have the privilege. But even if you have, there will occur a problem.

The dark Side of Data Analytics

Meanwhile I am working as a data analyst for an industry company. One part of my job is to research production processes and reducing defects on the products to avoid them. Unfortunately during analysis with decision trees and logistic regression models a correlation very often is given, though a causality in many cases doesn't exist. And even if a causality exists, I have to consider the direction to avoid mistaking cause and impact. All these considerations are known under the term "Business Understanding". If you don't have the business understanding for your job, data mining and more simply analytics can get misleading very fast. Business Understanding an its spread Nearly every company that uses analytics and data mining has a strong concern in using the insights proper, because a wrong used information can cause bad consequences. This issue is that present in the heads of many managers, that they attach a lot of importance to business understanding. Th

Unsolvable Windows Problems #1 - If you can' start the spooler service

A recent case of unusual computer problem induced me to write this post. Background A freind asked me because he had a computer problem that even an expert couldn't solve and he recommended to re-install Windows to solve the problem. Hence this friend of mine was a entrepreneur and he needed his computer every day, he din't want to re-install Windows and all the applications he uses every day. Not to mention the costs of the re-installation of his service-software. So I agreed to have a look at the problem. The problem itself The problem was, that he couldn't print anymore, though it was still possible seven days ago and he (of course) didn't change anything on the system. The first thing was, that I tried to print. I got an error, that the spooler service was not started. So I tried to start the spooler service, but this didn't work. Everytime I tried to start the spooler service, I got the error message "Windows Error 0x800706b9 - Not enough resource

Text Mining 1 - The problem of propositional logic and natural languages

Natural Language Processing (NLP) is becoming more and more important. It is used to determine the meaning of something written (by a human being). And this is the reason, why it becomes more and more important. Because every day millions of humans write. They write comments on products they ordered, they write comments on facebook, the write their blog. Of course the industry wants their opinion about products, songs, ideas and everything else - just look at Facebook. Opinions are money. There is just (at least) one problem: How to catch this money in form of opinions? That's where Natural Language Processing is used. The first thing needed to process a (natural) language is a Parser. Most parsers process synthetic languagses such as programming languages and they have a defined syntax and a logical semantic. If the author of source code disregards the defined syntax or semantic, the parser will abort processing the code and throw an error. So the author of the code has to keep

Eisberg FileSync

Eisberg FileSync 2.1 BETA online Currently I finished a new Version of "Eisberg FileSync". But until further tests, it will be a BETA-Version and only for 64-bit systems. New Features: Multi-Sync in Arctos Traybar Fast Sync (synchrnize fast without creating any profiles) Download Links: 64 Bit application Eisberg FileSync 2.1 x64 BETA 32 Bit application Eisberg FileSync 2.1 x86 BETA