Search

Archives

Pages

Op mijn desktop:

Suggesties, commentaar, ... (klik of schrijf zelf:)e-mail webgang

Private

Laatste titels:

Gambas 3.12

Uitzending do 18:00 ** April 2nd, 2020 by wim.webgang **

Gambas 2019 overzicht

Al een paar weken aangekondigd, de Gambas 2019 special. We installeren tijdens de tune van het programma de versie Gambas 3.9 op een iets oudere Linux distributie, zodat we een beetje kunnen vergelijken met de hier besproken recentere versie. Dat installeren duurde maar een paar minuutjes (vanuit het softwarebeheer “Yast” op openSUSE).

In januari 2019 kon je een artikel vinden van Benoit Minisini op de Franse linuxfr.org website. Het artikel sijpelde door naar hier omdat er naar verwezen wordt op de documentatiewebsite van Gambas op gambas.sourceforge.net. Het kan beschouwd worden als een vervolg voor een stukje dat hij schreef in 2012 naar aanleiding van het verschijnen van Gambas 3.3, en dat ook op die site te vinden is. Ps: Sinds eind 2019 is Gambas aan versie 3.14.x., de zogenaamde versie “Pi”.

Gambas 3.12

Gambas is een programmeertaal die object oriented werkt en gebaseerd is op een basic-achtige interpreteerder. En het is ook een volledige IDE of programmeeromgeving met ondermeer een compiler, een interpreteerder, een verzameling van modules die complementair gebruikt kunnen worden, en een geïntegreerde programmeeromgeving. Het geheel wordt verspreid onder de GNU GPL v2 licentie.

Een nieuwe compiler

De grootste verandering bij de stap naar versie 3.12 is het afscheid van de oude compiler, die gebaseerd was op LLVM.
De API van LLVM voor het maken van code is een aantal jaar geleden veranderd van versie LLVM 3.5 naar LLVM 3.6. Hoewel het cijfer een kleine versiesprong aangeeft, blijkt LLVM 3.6 niet compatibel met de vorige versie, wat mogelijk de programmeur van Gambas ooit frustreerde, een probleem waar hij nu definitief van verlost wil zijn.

De nieuwe compiler is van het type “in vliegende vlucht” of in het Engels “on the fly” of ook wel “Just In Time”, met de bekende JIT afkorting.

De compiler vertaalt de bytcode van Gambas (in C) tijdens het uitvoeren, en gebruikt vervolgens de compiler van het systeem (meestal gcc of clang) om verder te vertalen naar de uiteindelijke machinetaal. Vladimir Makarov van de programmeertaal Ruby moet ongeveer dezelfde ideeën gehad hebben, en die zijn toegepast in versie 2.6.0 van de programmeertaal Ruby. (www.ruby-lang.org/en/news/2018/12/25/ruby-2-6-0-released/).

Deze methode heeft een nadeel: ze is trager dan de vroegere compiler. Maar ze heeft het grote voordeel niet afhankelijk te zijn van de API van de soms minder betrouwbare aanwezige C compilers. In tegenstelling tot de vroegere compiler neemt de programmeertaal nu de zaak helemaal in eigen handen. Meer nog, er kunnen nu bepaalde testen uitgeschakeld worden om aan snelheid te winnen. Maar daarbij stijgt dan het risico op het crashen van het programma, bijvoorbeeld door een onmogelijke deling door nul.

Door het gebruik van de nieuwe compiler doken er kleine probleempjes op na het verschijnen van 3.12, maar die werden de daaropvolgende weken snel gerepareerd in versies 2.12.1 en 3.12.2.

Webapplicatie met grafische interface

Een andere grote ontwikkeling van Gambas 3 is de mogelijkheid om web-applicaties te maken vanuit de programmeeromgeving, alsof je een klassiek desktop programma maakt.

Nieuwe component en gebruik van de programmeeromgeving

Die nieuwe mogelijkheid is gebaseerd op een nieuwe component “gb.web.form”, die kan omgaan met javascript notering, JSON formaten en URL methodes. Met “gb.web.form” krijg je een extra form, de WebForm. Dit type van Forms dient om de grafische schermen te definiëren die in je webapplicatie gebruikt gaan worden. Ze kunnen overeen komen met klassieke html pagina’s of dialoogvensters. De component biedt dan verschillende grafische controle-elementen om te gebruiken op je Form.

(hier een voorbeeld van zo’n form: op linuxfr.org)

Werking

Het principe van een webapplicatie verschilt grondig van een typische “Modale” toepassing. De webapplicatie wordt gecompileerd tot een cgi script dat daarna draait op de server, en niet op de desktop van de gebruiker.
De browser van de gebruiker dient als interface, een soort grafische terminal. Html wordt de beschrijvig van de interface.
Er wordt zo weinig mogelijk javascript gebruikt. De handelingen van de gebruiker worden onder de vorm van http/xml requests naar het programma op de server gestuurd. Die antwoordt met de nodige javascript code om de pagina te verversen. De toestand van de grafische interface van de gebruiker wordt bewaard in de sessie van de browser. Dat is natuurlijk veel trager dan webapps die voornamelijk in de browser draaien, en het biedt minder mogelijkheden, maar het werkt toch vrij goed.

(een voorbeeld van zo’n form op linuxfr.org)

Voor gambas ontwikkelaars heeft dat bovendien het voordeel dat ze kunnen werken voor een platform dat verschilt van hun eigen Linux computer, denk aan collega unix-achtige Mac, waar spijtig genoeg geen gambas op draait.

Welkom, Git

Er zijn ook wijzigingen in de ontwikkeling, het programmeren van gambas zelf. De programmeurs van gambas zijn overgeschakeld van het subversion systeem van Sourceforge op het Git broncodebeheer systeem. De referentieversie van de ontwikkelaars vind je nu op gitlab.com.
De hoofdontwikkelaar gebruikte een jaar en een half git om het te proberen, en hij vindt het krachtiger, sneller, gemakkelijker, en betrouwbaarder. Er is letterlijk niets tegen in te brengen.

Ook de mailinglist is overgebracht van SourceForge naar een prive-server die door een gambas gebruiker beheerd wordt.
Het systeem om foutmelding te beheren, de bug-list, wordt al langer beheerd met een eigen programma dat in gambas geschreven is, en draait op de server van de werkgever van de hoofdprogrammeur.
Nu zit enkel de hoofdwebsite nog op SourceForge, maar ook daar zal verandering in komen.

Nieuwe systemen

Er zijn naast GNU/Linux op x86 steeds meer andere systemen waarop gambas compileren al lukt :
FreeBSD
NetBSD
GNU/kFreeBSD
Cygwin

(maar dat betekent niet dat de hele IDE daarop draait zoals op Linux)

En de hardware breidt uit naar ARM, ARM64, PowerPC64. (Raspberry pi!)

Er werden ook aanpassingen gedaan voor Hurd.
Read the rest of this entry »

Lift ^ | Lift v | Comments Off

Thuiswerktips voor programmeurs

Uitzending do 18:00 ** March 26th, 2020 by wim.webgang **

Zie video van zijn (Linux Foundation) thuiswerkplek.

https://itsfoss.com/torvalds-remote-work-advice

… rechtopstaande werkend aan hoge tafel. Maar hijzelf staat niet op de grond. Hij staat op een lopende band. Die zet hij heel traag, zodat hij wandelend kan werken.

Of er ook een biertje bijhoort na het werk zegt hij er niet bij …

Lift ^ | Lift v | Comments Off

Computermodel covid-19

Uitzending do 18:00 ** March 19th, 2020 by wim.webgang **

Het team van het Imperial College onderzocht infectie en overlijdensgetallen van de epidemie in China/Korea/Italie en stak die in een epidemisch simulatie model…

Ook het vervolg van de berekening van het computermodel voor de verspreiding van corona in de VS is interessant. Na de eerste maatregelen en het verminderen van de besmetting, en het weer opheffen van de maatregelen, zal er een volgende golf van besmettingen opsteken, en zullen de maatregelen terug verstrengd ingevoerd moeten worden, en zo een paar keer. Dat is logisch aangezien je door het afremmen maar een klein deel van de bevolking hebt blootgesteld. Pas als rond de 80 procent ermee in aanraking kwam kan je gerust achteroverleunen….

Jeremy C. Young op twitter:
https://i.imgur.com/pbWycWU.png
https://i.imgur.com/RmYPLxu.png

Muziek
18:19:29.799 sleepinghills – Muffled
18:30:48.951 intertec – Magic moment
18:39:13.881 stazin – eccentrics
18:58:17.117 Psilocybines – ADM-Belgium

Lift ^ | Lift v | Comments Off

uitzending nog onderweg…

Uitzending do 18:00 ** February 27th, 2020 by wim.webgang **

Lift ^ | Lift v | Comments Off

Tekenmarathon

Uitzending do 18:00 ** February 20th, 2020 by wim.webgang **

(nee niet de bloedzuigers)

Live uitzending vanuit de Academie van Antwerpen waar de tekenmatathon on/off doorgaat.

Een ruimte met echo met serieuze latency…

Lift ^ | Lift v | Comments Off

Reis rond de wereld

Uitzending do 18:00 ** January 30th, 2020 by wim.webgang **

LDraw deel 2: Reis rond de wereld

In 1996 startte er een grappig project om twee lego mannetjes de wereld rond te laten reizen, van AFOL naar AFOL zei de aankondiging. Volgens wikipedia staat dat voor Adult Fan of Lego, die hebben dus een eigen afkorting. In ieder geval zouden de mannetjes met de post reizen. Ze kregen ook een naam: Jill en Gary.
Het concept was dat die elke keer bij een Lego fan aankwamen, en opgesteld werden in of op een creatie van die euh AFOL. Die creatie heeft trouwens ook een afkorting, MOC (My Own Creation). Daar kon dan een foto van gemaakt worden, waarna de mannetjes konden doorreizen naar de volgende “AFOL”.

(Minifig World Tour: http://lego.sparre-andersen.dk/Transport/Minifig_World_Tour/index.en.html)

Van iedere creatie zou dan documentatie verzameld worden voor een community ideeënboek. Daarvoor moesten ze ook een bouwplan voorzien om hun creatie na te bouwen, en daarvoor werd LDraw aangeraden. Daarmee kreeg LDraw heel wat aandacht en verspreiding, en dus nieuwe gebruikers.

Ook anderen begonnen verder te bouwen op het LDraw formaat, dat zo een de facto standaard werd. Diezelfde periode bracht Steve Bliss een programma uit met de bescheiden naam LDraw-Add-on. Het was een hulpprogramma om de bestanden van LDraw te beheren en om LDRaw commando’s te geven.

Kortom, de toekomst van LDraw als snel groeiend platform zag er veelbelovend uit. Tot James Jessiman in de zomer van 1997 plots sterft aan complicaties van een griep. Hij was 26.

Vrienden van James hielden een memorial, en zijn werk speelde daar een belangrijke rol in. Ze besloten alles te doen om zijn werk verder te zetten.

bron: LDraw History

Lift ^ | Lift v | Comments Off

Bosvruchten en kunstige bouwblokjes van kunstof

Uitzending do 18:00 ** January 23rd, 2020 by wim.webgang **

MagPi 12
Raspberry pi magazine januari-februari; een greep uit de inhoud, met ondermeer Scratch Conference in UK, raspberry pi projecten als hergebruik van een professionele plotter en de Raspberry pi in de keuken, bv om een espresso machine of waterkoker te sturen.
Voor andere projecten kan je een kunstofdoosje kopen met nopjes bovenop om op verder te bouwen; of zelf je behuizing bouwen met die blokjes.
En als je een behuizing met speelgoed blokjes gemaakt hebt voor je raspberry pi, kan je het ontwerp of de bouwinstructies daarvan delen met LDraw.

Aflevering 1: James Jessiman

In 1995 heeft een jonge gast, James Jessiman, een DOS programma uitgebracht om 3D modellen te maken van bouwsels met kunststof bouwblokjes uit Denemarken. Het programma heette LDraw, en moest op de commandolijn bediend worden met ingetypte commando’s, zo’n beetje als bij de eerste CAD/CAM programma’s. Hij had evenveel tijd besteed aan het ontwerpen van de bestanden waarin de beschrijving van de blokjes en modellen opgeslagen werden, als aan het programma om ermee te werken. Net zoals een goed ontwerp de sterkte uitmaakt van de lego blokjes, en dat ontwerp eigenlijk het lego systeem uitmaakt, ontwikkelde hij een heel model, een heel digitaal systeem.
Hij had het bedoeld als een open systeem, dat in de toekomst uitgebreid kon worden. Daarom moest het bestandsformaat flexibel en uitbreidbaar zijn. Dat bleek achteraf belangrijk werk en een cruciale beslissing geweest te zijn.

Hij had er dus ook een hulpprogramma bij gemaakt, LEdit, om zelf blokjes bij te maken. Want oorspronkelijke waren er maar 3 blokjes voorzien, het vierkante blokje van 2 op 2, het tussenmaat blokje van 2 op 3, en het typische langwerpige steentje van 2 op 4 nopjes.

Lift ^ | Lift v | Comments Off

20 jaar programmeren, 19 jaar Fosdem

Uitzending do 18:00, i-nieuws 6 na 6 ** January 16th, 2020 by wim.webgang **

https://medium.com/@ssg/how-is-computer-programming-different-today-than-20-years-ago-9d0154d1b6ce

Dit jaar Fosdem met tegehanger offdem

Irc Brug met riot: https://about.riot.im/

privacy camp rond technologie en activisme https://www.privacycamp.eu

-
-

Lift ^ | Lift v | Comments Off

Marketing irritatie: Web Push notification

Uitzending do 18:00 ** January 9th, 2020 by wim.webgang **

Don’t push me!
Dé marketingirritatie van 2020 zijn de opduikende berichten van websites waar je NIET op aan het surfen bent.

De marketingwereld heeft een nieuw successvol speeltje: Web Push notification. Marketingjongens sturen berichten naar je browser, die het weergeeft in een opkomend venstertje. Hoe kan iemand zomaar een reklamebericht naar je browser sturen en waarom laat die dat dan zien?
Ah het is een dienst ..

Muziek
18:13:37.739 Gloomer – Belgium Is A Beautiful City
18:19:24.126 Gloomer – e-Gloomy-nations – In My World
18:27:05.256 A A Aalto – Focus
18:34:10.62 parasit – fa ir
18:42:55.805 Alien Death Machine – return

compiled by BCP v.0.4.6

Lift ^ | Lift v | Comments Off

7E4

Uitzending do 18:00 ** January 2nd, 2020 by wim.webgang **

Welkom in 7E4*
Met commentaar op het i-nieuws (van 5 na 6 vandaag).

Muziek
Lordbone – Gone But Not Forgotten (4R2)
Jacobus – Ol’ Pandora had a box
stazin – Me lanc holy
Gloomer – Gloomy
ZARk – Intro to nothing

* omzetten

Lift ^ | Lift v | Comments Off

« Previous Entries