Foonsearch

Hoi RGJ,

Ben met updater bezig. Wat mij opviel is dat het aantal pink records (816.062) veel meer is dan vroeger (681.515) van de cdfoon 07-03-2008.

Ik kijk nu alleen naar de categorieën CAR08=reparatie+onderhoud, CAR10=stalling en CAR20=verhuur. Er zijn 360 van zulke bedrijven. Wat ook opvalt is dat er weinig url’s en emailadressen in staan. Ik ga ze proberen aan te vullen. Ik heb ook naar campings (“CAM10”) gekeken. Er zijn 1865 campings in Nederland en zelfs twee adressen in België , namelijk “Molenzijdseheide Camping|03214633929” en “Dennenbad Verblijfs-Recreatiepark|Kempensedreef|24 B-2900|03246631607”.

Het is veel gemakkelijker om eerst met kleine sample van de data aan de gang te gaan. Je hebt 479.337 caravans in Nederland ( http://www.kampeerzaken.nl/article.php/gebruikte-caravans-kampeerders-110609 ).

Indien je totaal aantal caravans deelt door het aantal “stallingbedrijven” (479.337/360=1331) krijg je m.i. een veel te groot aantal caravans per bedrijf. Punten die ik niet voldoende meegenomen heb, waarom dus 1331 veel te hoog is:

  1. Thuis stallen;
  2. Buitenland;
  3. Niet alle (professionele) stallingsbedrijven staan in de Cdfoon;
  4. Stille stalling (= boerenschuur waar caravans in worden opgeslagen).

Het is dus moeilijk om generieke info te gaan matchen naar specifieke bedrijven.

De hartelijke groet Jan Marco

Hoi RGJ,

Ik heb nu QuteCom op beide internet verbinden draaien. Ik kan op de ene peer het (orginele) programma ook compileren en linken op een native quart-core Vista systeem. Komende periode ga ik 1 voor 1 de dll’s vervangen door de orginele source code in het hoofdprogramma te zetten. Elke keer checken of het programma nog goed werkt. Ik heb ook twee webcam’s werkend aangesloten. Indien alle dll’s weg zijn dan de verkregen source in SqlYog gaan hangen.

De hartelijke groet Jan Marco

Hoi RGJ,

Ik heb vmware afgelopen weekend aan de praat gekregen met Ubuntu 9.10 (64 bits) en VMware-Workstation-Full-7.0.0-203739.x86_64[1].

Gewoon de instructie van onderstaande links uitvoeren:
https://help.ubuntu.com/community/VMware
https://help.ubuntu.com/community/VMware/Workstation

Geen andere tar-ball patches installeren.

Mijn (i7) systeem werkt nu erg stabiel. Bij het Filesystem geen ext4 gebruikt, maar ext3.

Ik heb wel een probleem met Windows 7 als ik die in Wmware draai, want scherm gaat ‘flikkeren’. Full screen geeft meer problemen dan kleiner gedefinieerd scherm. Zou iets met schermroutines en interrupt tijden kunnen liggen of refresh rates?

De hartelijke groet Jan Marco

P.S. Ik ben nu bezig om data te spiegelen met robocopy.

Hoi RGJ,

Ben met een andere aanpak bezig. Heb eerst bugs bij SQLyog ingediend. Zie ook http://www.webyog.com/forums/index.php?showtopic=5021 en http://www.webyog.com/forums/index.php?showtopic=5045 Eerste hebben ze opgelost, tweede gaan ze binnen enkele weken doen.

Het is mij gisteren gelukt om het hoofdprogramma van Qutecom (QT gedeelte) afzonderlijk te compileren en de andere onderdelen als lib mee te linken.

Mijn doel op korte termijn is om Qutecom lib files met SQLyog mee te laten linken en de VOIP aanroepen in QT (presentation) routines naar SQLyog om te zetten. Aanname hierbij: Indien ik alle (VOIP) aanroepen heb gepoord dan zou ik ook van QT gedeelte af moeten zijn.

De hartelijke groet Jan Marco

Hoi RGJ,

Ik kan nu (een redelijke recente) Qutecom- en Chrome-versie compileren en linken en dus ook aanpassen. Beiden hebben wel andere omgevingen nodig. Het is redelijk geprutst om het werkend te krijgen.

Afgelopen vier dagen druk bezig geweest om Openoffice te compileren, omdat ik SQLYog wil mergen met Openoffice-Calc. Calc is een Excel ‘look a like’. Zie ook de compilatie handleiding : Building on Windows - Apache OpenOffice Wiki
Het lukte mij niet goed om met Visual C++ 2008 express versie te compileren. Deed wel wat, alleen had ik het gevoel dat niet alles goed geconfigureerd was, dus met de gewone vs2005 aan de gang gegaan. Ik krijg nu een foutmelding dat niet alle deel projecten in de source OOo_3.2.0_src_core.tar.bz2 zitten, dus nu via SVN de rest binnen gehaald.

Ik wil SQLYog anders gebruiken dan bedoeld is, want ik wil kunnen browsen op 5 miljoen records in de subscriber tabel. De Subscriber tabel is te groot om totaal in memory in te lezen en dan crasht SQLYog. M.i. moet je alleen de records die je wilt browsen uit de database halen. Belangrijk is ook om goede record filter te maken, waarbij je de record die je wilt bellen gemakkelijk kan vinden.

De hartelijke groet Jan Marco

Hoi RGJ,

Het is mij nu net gelukt om Openoffice te compileren/linken na vier dagen hard werken. Openoffice heeft een Excel variant (Calc). Zie ook ( Apache OpenOffice Calc ). Ik probeer dat te mergen met SQLyog. Chrome en Qutecom heb ik ook al zo ver dat ik ze kan compileren en linken. Ik gebruik voor elk programma een virtual XP machine. Alleen voor Qutecom gebruik in een native Vista computer, want de ‘Logitec webcam’ werkt niet onder Ubuntu (64 bits) Linux. Goedkope Webcam werkt wel, echter quart core Vista-PC is ook sneller met compileren dan gevirtualiseerde i7-systeem.

Ik ga QT uit Qutecom slopen door op plaatsen waar de onderliggende lagen wordt aangeroepen, printf in te bouwen. Indien je protocol (registratie, stun, etc) goed hebt dan direct omzetten naar SQLyog interface.

De hartelijke groet Jan Marco

Hoi RGJ,

Ik ben twee dagen bezig geweest om wget-1.12.tar.gz in vs2005 te compileren. Je hebt ook source code van libiconv-1.13.1.tar.gz en libidn-1.18.tar.gz nodig om het geheel te kunnen compileren. Er zit ook het ntlm protocol in, zie ook The NTLM Authentication Protocol and Security Support Provider voor de detail van dat protocol.

Ook een port voor gnutls zit er in, echter heb ik niet gebruikt, want ik heb het aan de openssl dll’s gekoppeld. Gewoon de adressen van de gebruikte routines in wget uitladen met GetProcAdress(). Ik ga nu testen of het goed werkt voor ftp, http en https.

Ik ga hierna de wget code in mijn schedule code inbouwen. De schedule code werkt met mysql en worker threads pool om de (test)task te schedulen.

De hartelijke groet Jan Marco

Hoi RGJ,

Het is mij gelukt om alle functionaliteit van wget-1.12.tar.gz om te zetten van .c naar .cpp en alles in 1 file van 155.528 source regels te doen. Ik heb deze code nu al in mijn schedule code gehangen, tevens met de service code (=demon programma). Volgende week ga ik de demon in elkaar knutselen.

In Wget kan je ook een subproces aanmaken, door het in ‘background’ te laten draaien. Als je 20 backgroundprocessen hebt opgestart werkte mijn virtual-XP-pc niet meer zo lekker. Beter is om maar 1 subproces te hebben met een lager (batch) prioriteit en de “wget-workerthreads” onder deze subproces te laten hangen.

Wget werkt al en is beschikbaar. Wat is je toegevoegde waarde in deze?
In mijn beeld roep je Wget niet als blackbox (als executabel) aan en kijkt waar ‘het schip strand’, maar integreer je het met de rest.

De hartelijke groet Jan Marco

Hoi RGJ,

Ik probeerde het demon programma te installeren als service op Vista, echter dat werkte niet door User Account Control (UAC). Ik heb met veel projecten zitten knutselen waarbij soms een deel werkte wat ik weer niet met de source code kon compileren, echter het Project A Quick-Start Guide of Process Mandatory Level Checking and Self-elevation under UAC - CodeProject ziet er uit dat ik dat kan gebruiken. Het geeft een http://techrepublic.com.com/i/tr/cms/contentPics/6142875_E.gif window, hierop moet je op “Allow” klikken. Het programma geeft dan aan “The process is running as administrator”. Het zou erg goed zijn als je deze window automatisch de “Allow” button toestuurt. De demon moet in mijn beeld gewoon alles kunnen doen zonder gezeur van handmatige handelingen.

Ik probeer nu met de Bottom-up methode om het te gaan opbouwen op 5 Windows platforms, namelijk:

  • XP;
  • Vista 32 en 64 bits;
  • Window7 32 en 64 bits: Heb ik nog wel een probleem mee omdat het scherm nog erg flikkert in Vmware. Ik denk om met hardware te gaan schuiven of een ppc op window7 erbij te gaan kopen.

De hartelijke groet Jan Marco

Hoi RGJ,

Vanaf vandaag zou Ubuntu 10.04 Long Term Support uitkomen. Ik ga mijn gespiegelde systemen hiermee upgraden. Ook de nieuwste vmware. Ik krijg bij Window7 bij huidige versie veel scherm ‘geflikker’. Indien ik vmware niet werkbaar aan de praat krijg ga ik over op native (nieuwe) window7-32bits-ppc en een dual boot windows7-64 bits omgeving op te bouwen.

Het is mij vandaag gelukt om UAC plug-in - NSIS in Vista te compileren. Ik zag ook een andere plugin, namelijk AccessControl plug-in - NSIS Ik ga proberen om de nullsoft installer in 1 file te stoppen en in het demon programma inbouwen.

De “software stack” ziet er denkbeeldig zo uit:
7: Scheduler;
6: Installer;
5: Wget;
4: TCP/UDP routines;
3: Database routines;
2: Demon/Service routines;
1: Pthreads (worker threads concept);
0: Error routines.

Als je naar de verschillende componenten kijkt (bijvoorbeeld Wget) bestaat de code uit verschillende lagen. Van error handling tot interprocess communication als je in Wget in background laat draaien. De code moet je m.i. gaan clusteren naar de verschillende aspecten en natuurlijk gaan standaardiseren. Bijvoorbeeld eerst de errors naar een error database sturen, indien database engine niet werkt dan automatisch naar een error file sturen. Lukt dat niet dan de error naar de Event log op de windowshost sturen.

Om een ‘file’ te halen met Wget start je een workerthread op. Je zal de code van Wget ook moeten veranderen als je in het “workerthread concept” denkt. In de lussen zal je de conditie moeten zetten waarbij aangegeven wordt of the workerthread gevraagd is om te ‘stoppen’. Je kan er ook voor kiezen om een extra procedure in de lus te zetten. Wil de workerthread stoppen dan stopt hij als hij in deze procedure komt. Op derde niveau wordt actief de workerthread gestopt. Nadeel is dan wel dat je dan in het exception gedeelte de openstaande zaken moet sluiten. Denk aan files, unloaden van geladen DLL’s, ect. Wat ik nog niet gemaakt heb is om de workerthreads onder andere processen te hangen met het aanmaken van “remote threads”. Ik zal dan ook inter process communication technieken moeten uitzoeken en begrijpen. Indien mij dat lukt zit je m.i. op het niveau dat in Google Chrome is uitgewerkt.

De hartelijke groet Jan Marco

Hoi RGJ,

Windows7 werkt nu goed op VMware-Workstation-Full-7.0.1-227600.x86_64[1] en ubuntu-10.04-desktop-amd64.iso Alleen is bij mijn deze vmware versie buggy op voorgenoemde Ubuntu versie.

Ik heb nu de wget en de installer van nullsoft helemaal omgezet in het 1 files concept. Nu ben ik bezig om de MySQL client code in libmysql.cpp onder te brengen. Hierna alle code in de scheduler hangen door een include van de files. Ik zal proberen om met UAC plug-in - NSIS template demon te installeren op alle uit te rollen platformen.

Ik ben nog aan het uitzoeken of http://www.smprocess.com/ niet de grafische interface zou kunnen worden om de tasks van de scheduler te laten tonen. Gewoon proberen of het in ´SQLyog´ ingebouwd kan worden.

De hartelijke groet Jan Marco

Hoi RGJ,

Ik heb twee programs ‘gemaakt’ voipe.exe (GUI) en foonsearchd.exe (demon = service programma in windows). Voor de GUI-code heb ik SQLyog gebruikt. Ze veranderen zo vaak dat het geen zin heeft om aldoor mee te gaan met hun wijzigingen. Mijn doel is niet om een interface voor MySQL te maken, echter mijn doel is om databasesynchronisatie applicaties/routines te maken, die vanuit de database-GUI gestart, gestopt, of op ‘hold kunnen zettten’ en bewaakt kunnen worden, waarmee je ook nog kan bellen via VOIP m.b.v. een “telefoonboekje”.

Om een goed stabiel en robust programma te maken moet je m.i. zoveel mogelijk OS-technieken uitbuiten(, zoals threadpool concept, mutex/semaphore techniek, meerdere processen gebruiken, etc.). Google Chome doet dat namelijk ook.

Iemand die aangeeft om dat hij iets gaat uitleggen hoe je met meerdere processen kan werken: Remote Threads Basics. Part 1 - CodeProject Tekening geeft m.i. goed aan hoe het werkt. De processen hebben bepaalde prioriteit (Real time, batch, etc.). De onderliggende threads in een process hebben ook weer prioriteit classes. Het voordeel van zo’n concept is dat je database synchonisatie in een proces kan laten draaien met een lagere prioriteit classe. Denk hierbij aan ‘batch classe’.

Het demon programma is nog ‘leeg’ programma dat ik wil testen dat het op de verschillende Windows platforms (Xp, Vista, Windows7 (32|64-bits)) kan installeren en kan laten werken. Als het goed werkt en stabiel is dan meer code onder de workerthreads gaan hangen.

De hartelijke groet Jan Marco

Hoi RGJ,

Het is mij net gelukt om code van mysqlclient, installer, wget en de scheduler code te integreren in foonsearchd.exe. Ik ga nu de main()'s van de verschillende programma’s eerst testen en daarna samenvoegen tot één hoofdprogramma, door de parameters bij de commando (wget, installer) uit mysql te gaan lezen.

De hartelijke groet Jan Marco

Hoi RGJ,

Ik ben begonnen om SQLyog om te vormen tot het ‘1 file’ concept. Eigenlijk is het concept dat je in het main programma alle source(s) gaat includen. Alle conflicten in de source komen dan gemakkelijk ‘boven water’.

De installer code(NSIS) is best wel mooi. Zie ook Introduction to NSIS voor de functionaliteit. Er is ook best veel voorbeeld installer code beschikbaar. Als voorbeeld Silent database import installer - NSIS Ik moet nog nadenken hoe je het beste het kan vormgeven. Ik wil liever zo weinig mogelijk dll’s, dus meer functionaliteit in een dll zetten die je gaat gebruiken.

Ik ben ook bezig om (NSIS) voorbeelden van internet te verzamelen om zo een goede installer script te kunnen maken met het UAC concept.

De hartelijke groet Jan Marco

Hoi RGJ,

Het is mij net gelukt om de SQLYog code ‘om te zetten’. Ik kan nu gemakkelijker deze code integreren met mijn andere source code.

Ik ga nu de source van de dll’s proberen te compileren. Ze gebruiken ook HTMLayout.dll, welke te vinden is op http://www.terrainformatica.com/htmlayout/main.whtm

Ik heb ook een 64 bits Windows7 ppc gekocht. Ik zie dat het niet direct goed compileert. Dit kan ook aan de (Visual Studio) patches liggen, want die heb ik nog niet geinstalleerd.

De hartelijke groet Jan Marco

Hoi RGJ,

Het is mij net gelukt om de demon op windows7 64 bits te draaien. Ik moet de dll’s (UAC en openssl) die hij gebruikt nog wel in een 64 bit-versie compileren. De 64-bit compiler errors die in de GUI voorkomen, heb ik in eerste instantie in het forum van SQLYog aangekaart.

De hartelijke groet Jan Marco

Hoi RGJ,

Ik ben druk bezig geweest om SQLYog op 64 bits werkend te krijgen. Het grootste gedeelte werkt al. Ik heb nog wat problemen om de DLL ‘SciLexer.dll’ om te zetten, een rip van deze DLL wordt gebruikt in de Query window van SQLYog om de voorgedefineerde SQL syntax te ‘formateren’.

De hartelijke groet Jan Marco

Hoi RGJ,

Het is mij gelukt om de GUI (SQLyog) in 64 bits te draaien. Ik moest zelf aan de gang, omdat het project ‘al maar’ afhankelijkheden aangeeft. Alle source heb in geinclude behalve HTMLayout.dll, want dat is m.i. geen open source code.

De hartelijke groet Jan Marco

Hoi RGJ,

Een SIP artikel wat erg goede rating heeft gekregen van de lezers: Introduction to SIP for Java, C#, and VB Developers - CodeProject

Na veel gepruts heb ik de GUI (SQLYog) in 64 bits draaien. Het werkt m.i. nu wel goed stabiel.

Ik ben nu bezig om ‘logging’ te standaardiseren over de verschillende programma onderdelen heen,

De hartelijke groet Jan Marco

Hoi RGJ,

Ik heb zonder zichtbare problemen de oude 32 bit openssl dll’s van vijf jaar geleden vervangen door de laatste versie 1.0.0a. De 64 bit versie van de openssl dll’s had ik in het verleden nooit gebruikt, maar het werkt nu ook bij de X64 Visual Studio compilatie. Deze dll’s worden in de source alleen voor Wget gebruikt.

Ik ga nu de Wget code file en de installer code file ‘leeg halen’ en onderbrengen naar de verschillende aspecten, zoals ‘logging’, ‘ftp’, ‘http’, ‘openssl’, ‘scheduler’, etc.

Van weekend naar het ftp aspect kijken. De abort() en exit() commando’s er uit halen en voorbereiden op workerthread concept, waarbij je in de lussen een extra test variabele zet die aangeeft of de workerthread aan is gegeven om te moeten stoppen. Ik ga ook de ftp file’s al hashen bij het downloaden. Wat tijdwinst oplevert als de file erg groot is.

De hartelijke groet Jan Marco