Foonsearch

NOS Teletekst 131:

 De afgelopen jaren is al vaak gevraagd 
 om zo'n knop,bijvoorbeeld door mensen  
 die op Facebook willen reageren op een 
 sterfgeval,maar de 'Vind ik leuk'-knop 
 daarvoor ongepast vinden.

Weerman,
Ik denk aan dat bericht geindentificeerd kan worden met hash code. Op bericht met je ceritificaat kan signen dat je “medeleven” toont met bericht. Nabestaanden kunnen via foondump checken wie persoon is, waarvan ze ‘bericht’ hebben gekregen.

De hartelijke groet Jan Marco

Hoi Weerman,

Ik ben aan het installeren van “Windows 8 pro (upgrade) op mijn vmware systeem. Werkt nog niet omdat ik van vanaf een draaiend geactiveerd (goed) systeem moet installeren.

Het installeren van Windows 10 pro (Volledige versie) lukt nog niet bij mij omdat Vmware die ik gebruik USB niet als een opstartschijf ziet. Ik zal met plopmanager aan de gang moeten. Of ik ga proberen om van USB-stick een CD-opstartschijf te maken. Laatste lijkt mij eenvoudiger.

In de IDE zou je ook de Microsoft (Express) compiler mee kunnen leveren. Voor ATL/MFC projecten zou ”WIN32GUI” kunnen gaan gebruiken.

Naast een C(++) compiler heb je m.i. ook kernel compiler programma nodig. Het lijkt mij handig om die er ook in bij te voegen.

Visual Studio Community: A free, fully-featured, and extensible IDE for creating modern applications for Windows, Android, and iOS, as well as web applications and cloud services.

Windows Driver Kit (WDK) 10 is integrated with Microsoft Visual Studio 2015 and Debugging Tools for Windows. This integrated environment gives you the tools you need to develop, build, package, deploy, test, and debug drivers. You can run many basic certification tests in the integrated environment.

Ben gelukkig van de afhankelijkheid met MFC/ATL af. Heb niet zo snel kunnen vinden of Visual Studio Community ook werkt met Windows Driver Kit (WDK) 10 bij Win7, Win8 en Win10.

Mogelijke dat je alternatieven voor Win7 en/of Win8 zou moeten kiezen:

  • Express for Windows: Provides the core tools for building compelling, innovative apps for Universal Windows Platform. Windows 10 is required.
  • Team Foundation Server 2015 Express: Free source-code-control, project-management, and team-collaboration platform.
  • Express for Web: Create standards-based, responsive websites, web APIs, or real-time online experiences using ASP.NET.

Google gebruikt Omaha voor Windows updaten van hun programma’s. Omaha zegt dat Express versie niet gebruikt kan worden omdat het afhankelijk is van MFC. Omdat ik MFC vervanger ”WIN32GUI” heb kan ik wel gebruik van de Visual Studio Express (2015) versie.

Omaha is the open-source version of Google Update, a program to install requested software and keep it up to date. The Google-branded version of Omaha is used to support software patching (both background updating, and on-demand update checks) for Google Chrome, Earth, and a variety of other Google products on Windows. We know that keeping software updated is both important and hard, and so by open-sourcing this project, our hope is that perhaps we can help others solve this problem. The open source build of Omaha is not hermetic. That means that several dependencies are needed to be resolved by hand in order to have a tree which can be built.

De source code van Omaha ga ik in 1 file zetten en onder de source stack met ”WIN32GUI” zetten. Klein gedeelte van de (Python) source zal ik ergens anders moeten sprokkelen of om gaan zetten in C(++).

Weerman, Mogelijk zie jij een andere combinatie van de Microsoft tools?

De hartelijke groet Jan Marco

[quote=“alkema_jm, post:455, topic:27”]
Het installeren van Windows 10 pro (Volledige versie) lukt nog niet bij mij omdat Vmware die ik gebruik USB niet als een opstartschijf ziet. [/quote]

Heb het ook in VMWare lopen maar dan via die Windows Insider-optie. Ben het alweer een beetje vergeten maar het ging geloof ik zo: je haalt de update naar Windows 10 op en via een ‘Optional conversion to ISO file format’ zeg je vervolgens tegen VMWare dat dat is wat er in je virtuele CD/DVD drive zit?

Het andere uiterste, minimale inspanning rondom het via script laten uitvoeren van de regel:

"vbc /nowarn /nologo /quiet /debug- " & fn & ".vb && " & fn & ".exe"

Weerman,

Bedankt voor je terugkoppeling.

Ik heb gisteren het GUI gedeelte van Omaha proberen te compileren in samenhang met WIN32GUI. Wat ik zie is verschillende string classes. Lijkt mij handig om 1 string class te gebruiken “CString_NoMFC”. Welke in WIN32GUI is gedefineerd, dus geen CStringA, CStringW, CStrBuf, CStrBufA, CStrBufW, CPath, etc. Als je er wel voor kiest om bijvoorbeeld CPath class te gaan definiëren dan laten wijzen naar “CString_NoMFC”.

Ben er nu achter wat void Ide::MakeIcon() doet. Het zet de icon in de taak-balk onderaan het scherm.
Zie ook:
Met drie Draw routines wordt de icon op scherm gezet:
Image li1 = CtrlCoreImg::DndData();
idraw.DrawRect(x, y, sz.cx, sz.cy, White); //linkse icon
mdraw.DrawRect(x, y, sz.cx, sz.cy, White); //middenste icon
idraw.DrawText(x + 2, y + 1, mp, font, Black); //rechtse icon: alle drie routines.

Ik wil graag icons bij de foondump record kunnen tonen. Zit nog te zoeken naar indeling van icons. Voorbeeld is Facebook.

De hartelijke groet Jan Marco

P.S. Het is mij niet geluk in mijn versie om CtrlCoreImg::DndData(); op te bouwen. Daarom ga ik in de orginele code in de Draw routines zoeken welke data hij gebruikt, waarna ik in de source code ga zoeken waar hij de gegevens weghaalt.

Hoi Weerman,

Vanmorgen gelukt om icon class ‘IdeImg’ weer aan de praat gekregen in ultimate++. Microsoft heeft ook (c++) icons gedefineerd, zie ook Class View and Object Browser Icons - Visual Studio 2015 | Microsoft Learn

Je kan met Get-icons-from-Exe-or-DLL-the-PE-way code de icon’s uit je PC halen. De icon’s die ik op mijn pc heb:


Ik ben nog zoekende hoe ik de icons kan identificeren. Denk aan MySQL tabel.

Ik ga nu op zoek naar de code die ik onder compiler switch heb gezet. Ik hoop dat dan de functionaliteit van Ultimate++ weer werkt, waarne ik code wil gaan aankoppelen. Denk hierbij ook aan blockchain en bitcoin source code.

De hartelijke groet Jan Marco

Hoi Jan Marco, herfst! De oogstmaand en eentje extra bijna om toch? Hoe sta je ervoor, ben je opgeschoten denk je? Ik krijg de indruk dat de fundering er nu is ;o)

Hoi Weerman,

Hoi Jan Marco, herfst! De oogstmaand en eentje extra bijna om toch? Hoe sta je ervoor, ben je opgeschoten denk je? Ik krijg de indruk dat de fundering er nu is ;o)

Gaat altijd langzamer als ik zelf zou willen. GUI programmeren is wel uitdaging, andere tak van sport aan het leren. Achteraf had ik beter eerst Ultimate++ in Visual studio project kunnen omzetten en vervolgstap dan omzetten naar UNICODE.

De komemde twee weken wil ik de Ultimate GUI aan de praat krijgen en daarin de verschillende source code die ik al heb gaan aankoppelen.
Vanmorgen Omaha voorbewerkt (128.000 regels source code). Omaha heeft veel raakvlak met NSIS-installer. Omaha is niet alleen installeren/updaten, maar zit ook crash-handler in.
De hartelijke groet Jan Marco

Hoi Weerman,

Ik heb deel van de logging aangezet van Ultimate++. Zit overal te zoeken in de code om het aan de praat te krijgen.

Ik denk dat ik hem even met compiler switch gaan terugzetten van Unicode naar ANSI.

De hartelijke groet Jan Marco

Hoi Weerman,

Net als bergbeklimmen, Omzetten naar ANSI werkt programma nog niet. Dus nu een ander pad gaan beklimmen.

Ga nu mijn “header set files” boven idewin.cpp in Ultimate++ zetten. In Ulitmate++ idewin.cpp ga ik gemeenschappelijk file “share.cpp” van Ultimate++ en Visual Studio laden. Code voor deze file “share.cpp” ga ik uit mijn poort “ultimate.cpp” halen. Als je dat doet geeft Ultimate++ compiler aan dat routine(s) al bestaan. Gooi je code uit specifieke file weg (die hij aangeeft). Daarna kijken of Ultimate++ nog werkt, zo ja dan doorgaan totdat “ultimate.cpp” leeg is.

Bovenstaande is mij net gelukt. Gehele morgen aan werk geweest om de conflicten in de code op te lossen.

Het is nu een eenvoudig klusje geworden :smile:

De hartelijke groet Jan Marco

Hoi Weerman,

Erg leuk nu, dat ik mijn omgeving goed heb staan. Ik kan nu in uiterste geval 390.000 source regels verschuiven van Visual Studio naar Ultimate++. Ik heb even als proef alle CreateWindow routines verschoven. Ik hoef niet alles te verschuiven, net zo veel als mijn versie van Ultimate++ gaat werken.

Vanmorgen kwam ik op idee dat het ook wel met de omgeving van de executable te maken kan hebben, dus de executable van mijn versie van Ultimate++ naast de officiële gezet. Nu zie ik dat mijn versie van het programma crasht. Ik denk dat hij de data niet laadt.

De hartelijke groet Jan Marco

Hoi Weerman,

Ben gisteren de hele dag bezig geweest om de routines van het hoofdprogramma uit mijn gesprokkelde file te halen en in een separate file te zetten. Vanuit deze routines (ide::routinenaam, 435 stuks, 17000 source regels) kan je ook andere programma’s in IDE programma hangen.

Ik zag de een van de ontwikkelaars van Ultimate++ een c++ “[Home_budget][1]” programma had gemaakt (voor zijn vrouw) om hun financiële positie bij te houden. Zie ook:

Over langere termijn wil ik de code van Chrome zo gaan aanpassen dat de transacties van ing.nl er bij gehaald kan worden. Cmake baalt dat het niet meer bij Chrome gebruikt wordt. Ik denk dat we make ultility in Ultimate kunnen maken , dat je Chrome gewoon kan compileren. Lijkt mij leuk om ook koppeling met database daarbij te gebruiken. Ik denk dat we ook statische analyse tools in de IDE kunnen gaan inbouwen.

Een project heeft verschillenden files die je kan editen en een (statische analyse) tool zet alle files in 1 file, haalt alle headers er uit en zet mijn header file set er boven. Wat ik nu opmerkelijk vind bij compileren in Ultimate is dat je naar fout kan springen in de source. Als ik een regel toevoeg in de file hij niet meer naar de juiste source regels wijst.

N.B. Ik zie in de source code van HomeBudget dat er Grid in zit. Ik heb ook andere grid versie, namelijk de Excel variant van Ultimate. Deze versie scrolt erg snel.

Voorgaande heeft m.i. twee componenten in zich.
1: Voorkeur om in 1 habitat te blijven.
2: Code is moeilijk te vinden. Het wordt niet goed gelinkt aan andere code. N.B. Ik kwam om de code van HomeBudget meer per toeval.

Ik ga vandaag proberen om Ultimate++ met Fossil (versie control programma), Wget en ‘Nullsoft (NSIS) Installer’ te integreren.

De hartelijke groet Jan Marco

N.S. Ultimate++ is een erg mooi programma. Als ik executabel download wordt er aangegeven dat niet vaak gedownload wordt. Ik denk dat de denkfout van Ultimate is om in alleen hun concept te denken. Als je het ook in Visual studio kan compileren, gaan ontwikkelaars gemakkelijker er mee aan de gang om iets aan te passen. Lijkt beetje op Mircosoft WIndows mentaliteit. Start knop is niet nodig dus laten wij hem weg…
[1]: http://www.digitalsoftware.pl/dgs.php?file=files/Home%20Budget/home_budget_1.00_src.7z

Hoi Weerman,

Ik zie dat Home_budget wel onder examples staat, blijkbaar over het hoofd gezien.

Ik heb nu geshared code onder Ultimate++ en Visual Studio staan. Ultimate werkt, Visual Studio nog niet. Ik kan gewoon gaan inbouwen. Ik ga komende tijd wel code verplaatsten naar shared code. Zal tijdstip komen dat mijn beide versies gaan werken :grinning:

De hartelijke groet Jan Marco

P.S. Wat gisteren veel tijd kostte is dat ik iedere keer (tussentijds) moest checken of nog werkt.

Hoi Weerman,

Complexiteit van Ultimate++ zit m.i. eerst in het grote aantal source regels, dus in begin gefocust om het “om te zetten”. Problemen onder compiler switch zetten, en later uit te zoeken. Gisteren daarmee begonnen en naar het fenomeen “Serialization” gekeken.

De hartelijke groet Jan Marco

Hoi Weerman,

Vandaag druk bezig geweest waar Ultimate++ fout gaat. Ik zie dat hij projectnaam.cfg wil inladen. Heb ide.cfg gekopieerd naar projectnaam.cfg , echter mijn versie crasht. Verder uitzoeken hoe je execetable en configfile in Ultimate kan aanmaken.

De hartelijke groet Jan Marco

Hoi Weerman,

Vacantie om. Drie programma’s proberen om te zetten. Excel grid en Keepass heb ik in twee varianten (wel of geen MFC). MFC versies werken, niet MFC (WIN32GUI versie) moet ik uitzoeken waar het fout gaat.

Bij Ultimate++ GUI werkt origineel wel, echter mijn versie zit nog fout in. Probeer dit op te lossen door “foute code” van het origineel onder het gemeenschappelijk deel te schuiven.

Volgende week beginnen om omgeving te verbeteren. Kabels van mijn twee internetverbindingen doortrekken en stroom aanleggen in extra kamertje bij mij.

De hartelijke groet Jan Marco

Hoi Weerman,

Ben nog aan het zwoegen om Ultimate++ onder Visual Studio 2010 aan de praat te krijgen. Gisteren 186 Ultimate++ header files op vaste plek gezet. Ultimate++ en mijn versie hebben nu zelfde ide.h file. Momenteel bezig om source die nu gemeenschappelijk is weg te mikken uit mijn 1-file-versie.

De hartelijke groet Jan Marco

Hoi Weerman,

Het is mij net gelukt om Ultimate++ aan de praat te krijgen. Ik wil de rest in gaan bouwen in de Ultimate++ GUI. Ik ga nu beter testen en de connectie naar Fossil gaan maken. Ik kan nu volgende stap uitvoeren om het in Unicode mode te gaan compileren.

De hartelijke groet Jan Marco

Hoi Weerman,

Het is mij gelukt om Ultimate++ met Unicode optie te compileren en te executeren. Had verwacht dat het een moeilijkere klus zou zijn. Opzich vind ik de omzetting om Ultimate++ te kunnen compileren onder visual studio wel een “zware bevalling”. Het was net bergbeklimmen. Soms was niet “mogelijk” om verder te klimmen dan weer terug naar basiskamp (= “backup terugzetten”) om een andere route te de klim weer in te zetten.

Wel zie ik dat sommige karakters iets lager staan en daarbij zijn afgekapt. Mogelijk dat iets met rendering en/of font te maken hebben i.r.t. het compileren met Unicode optie. Zie ook Package (8) kolom in:

Meer (dan IDE) code van Ultimate++ staat op github .
Interessant vind ik ultimatepp/uppbox/MakeInstall at master · ultimatepp/ultimatepp · GitHub om een executabel programmatisch te maken.

Ik ga nu kijken naar hoe een configuratiefile aangemaakt kan worden. Daarna ga ik kijken waar hij de files weg haalt en wegschrijft. Om versiebeheertool Fossil er tussen te zetten.

Ik opteer naar twee versiebeheertools. Fossil wil ik intern gebruiken, omdat het alles in 1 file in het SQLite formaat opslaat. Deze file kan je gemakkelijk in blobveld van (MySQL) database zetten. De externe versiebeheertool is ook GIT omdat GIT haast iedereen gebruikt. Dus om files te halen van andere projecten of als je GIT systeem hebt kan je dan vanuit Fossil het GIT systeem synchroniseren.

Daarbij is het ook belangrijk welke strings hij opbouwt om aan de compiler te geven. Ik kan nu in Visual Studio (2010) de Ultimate++ IDE compileren en executeren. Als ik met de gecompileerde versie de originele Ultimate++ source code weer compileer en link, dan mist hij routines met linken. Dit komt mogelijk dat hij niet dezelfde compiler switches gebruikt.

Over langere termijn is m.i. een goede doel om de source code integratie automatisch te maken. Dit zorgt voor dat je sneller functionaliteiten kan inbouwen en weer verwijderen. Time to Market is daarbij een belangrijk aspect.

Doel makkelijk gesteld, echter de weg er naar toe is stuk moeilijker. Eerste stap zou het kijken naar een goede statisch (C++) analysis tool kunnen zijn. N.B. Doel om auto’s zonder menselijke bestuurder te kunnen laten rijden is makkelijk geformuleerd. Het realiseren van deze doel is men momenteel stevig mee bezig. Men zet steeds kleine stapjes voorwaarts.

Om in https://www.ing.nl/particulier/index.html automatisch in te loggen en alle info in eigen database te stoppen is het m.i. handig om Chrome als project in Ultimate++ onder te brengen.

Ik heb verschillende GUI programma’s.

  • Ultimate++;
  • WIN32GUI;
  • Sqlyog;
  • KeePass;
  • Npackd;
  • Swish;
  • UgExel;
  • QT.

Ik heb naar The Chromium Embedded Framework gekeken. Wel leuk om het Duitse accent te horen. Ze spreken over twee typen processen namelijk browser-proces met onderliggende (child) rendering-procesen per unieke combinatie scheme (ftp, ssh, http, https, etc) en domein (www.ah.nl, www.kpn.com, etc). Ik denk dat bovenstaande GUI programma’s ook wel in de Chrome indeling zou kunnen stoppen. Denk aan dat je Excel grid (UgExel en Sqlyog) in Chrome inbouwt.

Ik denk dat Ultimate++ goede kapstok is om mee te beginnen. Hierin versiebeheertool (Fossil) inbouwen om meer in ‘control’ te komen. Daarna kijken of ik met Ultimate++ Chrome kan compileren. Het project Cmake is niet blij dat Chrome hun niet meer gebruikt om Chrome te compileren. Ik denk dat heel veel mensen blij zouden zijn als je programma download en met simpele “Set main package” en klikt “Chrome” aan en als het dan automatisch compileert zonder fouten worden ze blij van.

Ander punt is dat je remote zou moeten kunnen compileren. Omdat de compiler in Ultimate++ wordt aangestuurd en ik ook al de ssh routines heb zou het mogelijk moeten zijn om dit te verwezelijken.

  1. Via ssh files naar andere computer kunnen sturen en dan remote kunnen compileren, waarna je de resultaten weer terug krijgt via SSH.

  2. Je geheel project in Fossil formaat, wat 1 file is, via ssh naar remote computer kan sturen. Remote computer compileert het (Fossil) project en stuurt het resultaat weer terug via SSH.

Met bovenstaande kan je realiseren dat bepaalde code op bepaalde infrastructuur wel of niet werkt. Je zou het ook kunnen certificeren dat het voldoet aan een bepaalde norm. N.B. Je weet dan van te voren dat iets op bepaalde platform werkt. Ik begrijp eigenlijk niet waarom TNO daar niet op is gekomen… TNO keuringrapport op source code. Blijkbaar zien zij de mogelijkheden niet in een opgaande IT markt.

De hartelijke groet Jan Marco

Hoi Weerman,

Mijn logging routine werkte niet goed. Ik maak van een routine naam een file logging naam. In CPP kan je ook “::” karakters in een routine naam hebben (bv. “Upp::SaveFile”), daarom werkte het niet goed.

Ik ga nu beginnen met het integreren van Ultimate++ en Fossil (versiebeheertool).

Eerste stap is om de code van beide programma’s onder dezelfde source code stack werkend te krijgen.
Daarna ga ik programma’s koppelen. Als je file in Ultimate++ load, dan eerst in Fossil kijken of de file aanwezig is, zo nee dan de file van het filesysteem in Fossil gaan “inchecken”. Als je file in Ultimate++ saved dan in Fossil de file gaan opslaan (“inchecken”). Indien het in Fossil zit kan je in principe ook met anderen samenwerken. Anderen leveren dan wijzigingen op de code die ik dan wel of niet kan accepteren.

De (weekends) van de komende twee maanden wil ik nadruk leggen op het integreren van de code die ik al heb. De code gaan hangen in de grafische interface van Ultimate++.

De hartelijke groet Jan Marco