yoy.be "Why-o-Why"

2017 ...

januari (4) februari maart april mei juni juli augustus september oktober november december

TIL: 'method modifiers' are not reserved words.

2017-01-05 21:17  TILdirrw  coding delphi  [permalink]

Thing I learned today: 'method modifiers' are not reserved words. Apparently the Object Pascal parser 'consumes' these as labels that just happen to be there or not. Which means in other contexts they're free to use as identifiers, and so they're not reserved words... Strange but OK I guess as this keeps the tokenizer that does its job right before the parser, a little smaller... (How I stumbled upon this is a different story altogether, but one I may be sharing sometime soon...) I searched the documentation a bit and there they're called directives: Fundamental Syntactic Elements: Directives which I thought were things like {$XXX+}, but those are compiler directives...

So these variable names are accepted by the parser/compiler (it doesn't mind the smell at all):

procedure test;
var
stdcall,safecall,cdecl,overload,dynamic,register,abstract,reintroduce:integer;
begin
stdcall:=1;
safecall:=11;
cdecl:=111;
//...
end;

Am I an "old hand"?

2017-01-18 09:23  oldhand  coding dagboek delphi  [permalink]

Am I becoming an 'old hand'? Every time I see someone that doesn't have done as many years of work in Pascal, ask something about generics, I'm troubled again by this generics thing. I don't use it (much). I don't need it. I've been perfectly fine all of this work without them. Yes there is some hype nowadays about functional programming, but there's a grand glacial movement at the base of it: stong type systems. It all started even on the big metalwhere some bright minds had the sense of taking writing logic into a domain of itself with a gentle nod to mathematics, statistics and other adjacent domains. And a lot of great work was done in this domain. A lot. Some great names that now stand on their own came forth.

A recurring theme throughout of it is type systems, or the lack thereof. Or having it bolted on at a later stage. So by the time K&R came along, they took what they needed, what they could make work for them, what they needed to summon the Unix spirit from the depths. Pascal existed at the time, but C, like JavaScript much later, was born out of necessity. Created by the people there and then that needed a new wrench to tighten the new bolts of a new machine. With personal selections here and there, and careful considerations that copy a bit of the zeitgeist of the time.

What's left for us to do is try not to repeat ourselves too much. One way is keep a look-out for patterns and in new projects, know when to apply which one. Or even better, when to switch to another one. This, I think, is where it's starting to get really tough for the younger generation. There's a lot of base-knowledge to cover, some of it is superceded or obsolete, but we can't replace it with studying patterns. I've seen newbies take it on as lawas if it's forbidden to deviate from the design even just a little. Attacking establishments on the base of their deviations from a pattern. There's something to say about attacking the establishment, but blind fury will get you nowhere.

So this generics thing...  It also is in danger of being percieved as a rule, getting over-applied. As if the one true way is using it everywhere or as often as possible. Which is strange from where I stand, since I still see it as a convenience, where you can save on writing bits of code that would otherwise be painfully similar anyway. In operation the work would get handled by this extension to the type system, checking things for you in the background, making sure everything fits. But in the end the things that need to happen, occur much in the same way as if you would have written all those specialisations out in full.

That's why, as it turns out, I don't use them all that much. Perhaps it's also because of my fading belief in the object-oriented way. That too was presented some years ago as the way to go. Everything was supposed to be objects living on the internet. But it too kind of degraded in my view to a convenience, only one of the ways to manage the things inside of your program. Luckily before any of the ORM craze could tinge me. It makes you look around the horizon, in the past where you did more with arrays and pointers, and sideways where others pass messages around all the time. For now I feel like I'm stuck here, waiting for the ground to crack open and offer a new middle ground between interfaces, pointers, traits, channels, monads, and all of the above.

But that's just my humble opinion. I can't tell for sure what the next 60 years of programming machines will bring us.

Twee munteenheden, maar dan niet zo!

2017-01-26 20:45  tweemunt  actueel beurs politiek  [permalink]

Marine Le Pen wil twee munteenheden in Frankrijk

Da's grappig. Ik deed laatst over de middag op het werk nog mijn uitleg over een ideetje waar ik mee speelde. Het gaat ook over twee munteenheden binnen een landseconomie, maar dan wel helemaal anders dan hier. Niekske protectionisme. Dus, als je even tijd hebt, je interesse is gewekt, en me het even wil laten uitleggen, hier komt het:

Stel, — de vraag is eigenlijk of een systeem zoals hiernavolgend uiteengezet hoegenaamd zou kunnen werken, en indien niet waar precies het op stuk loopt — we veranderen de landseconomie en de nodige wetgeving om te werken met twee munteenheden: de één is specifiek bedoeld voor handel in goederen, de ander is specifiek bedoeld (en gereserveerd) voor het vergoeden van werk. Ze zijn verhandelbaar aan een vlottende koers, en het omzetten naar elkaar gebeurt onder strikte regels. Doel van deze opstelling zou zijn om inflatie beter te kunnen beheersen, en de nood van een indexatieregeling weg te nemen. Ideaal is er geen inflatie op de munteenheid voor werk, of toch minder dan de andere. Werknemers en arbeiders krijgen dus een loon in werk-munt, maar wat betreft zelfstandigen, en in het algemeen handel in diensten ligt het mogelijk wat moeilijker. Momenteel, als je iets afneemt bij een zelfstandige is niet uitgeschreven precies welk deel van je vergoeding de aangekochte materialen dekt, en welk deel de gepresteerde tijd. Heel misschien wordt momenteel in bepaalde gevallen een soort fiscaal forfait gerekend om dit op te delen, maar als dit voorstel zou worden uitgewerkt, moet hier zeker duidelijkheid over komen. Om verder te gaan veronderstellen we voorlopig dat, mogelijk in samenwerking met verenigingen van zelfstandigen, per soort werk vooraf een aanvaardbare opdeling tussen de twee is afgesproken.

Een van de vele zaken die dan ook moet worden aangepast, zijn de maaltijdcheques. Als je ze ziet als een instrument van de staat om zeker een deeltje van de vergoeding van de werknemers sneller terug te zien in de vorm van BTW op voeding, dan kan je stellen dat zoals ze nu werken dit doel niet huldigen, al was het omdat ze nu 12 maanden geldig zijn. Gezien ze er ook voor zorgen dat een deel van de verloning zo niet meetelt voor persioenopbouw, geef je eigenlijk beter een rauwe belastingskorting. In het verlengde daarvan liggen ook andere denkoefeningen waar de staat zomaar aan elke burger een vast bedrag beschikbaar maakt. Of dit op grote schaal een basis-luiheid onder de burgerij zal losmaken, vernemen we mogelijk binnenkort naar aanleiding van praktijk-experimenten in Finland, Nederland en Zwitserland. In dit voorstel valt dat alles dus op de denkbeeldige breuklijn tussen de twee munteenheden. BTW hef je op de goederen-munt, en mogelijk niet meer op de werk-munt wat mogelijk de administratie sterk vereenvoudigt. Geld dat de staat normaal spendeert om de koopkracht te verbeteren, zou in dit model rechtstreeks worden aangewend om de koers te sturen tussen de twee munteenheden. Een vlottende koers staat rechtstreeks(er) in relatie met de tegenstrijdige belangen die hier spelen: door de werk-munt meer waard te maken in goederen-munt kan de koopkracht worden verhoogd, door de koers te drukken kan de staat waken over het draaien van de economische motor en zijn belastingsinkomsten verzekeren.

De Belg kennende zal er natuurlijk worden geprobeerd te foefelen. Je kan denken aan een belasting op omzettingen tussen de twee munten, maar dit is ten zeerste af te raden, want dan groeit er zeker een zwart circuit. Gezien voor de praktische uitwerking we op de (groot)banken aangewezen zijn, — in deze moderne tijden zou het toch moeten lukken om een extra munt volledig digitaal uit te bouwen? — zouden die waarschijnlijk ook graag iets afromen. Daar wordt best op aangeknoopt bij het lanceren van het systeem zodat het iedeen duidelijk wordt dat het loont om de aangeboden (officiële) kanalen te gebruiken. Dit kan door een structurele vergoeding uit te werken, die de kosten bij/van de bank(en) dekt, en aansluitingen bij boekhoudingen en fiscaliteit.

Misschien zijn er nog kansen om extra transparantie te bekomen, of administratieve vraagstukken zo op te lossen. Of heel misschien lijkt het wel een leuk idee, maar als je dit verder uitwerkt valt het ineen als een kaartenhuisje en is het in de praktijk volstrekt onwerkbaar. Wie weet, ik studeerde geen pol en sok. In elk geval staat het loodrecht op het voorstel van Le Pen, en gaan het niet tussen bedrijfen en het plebs, maar tussen werknemers en ondernemers gelijk, in de hoop voor iedereen voordeel en transparantie te bieden. En een extra bescherming tegen de grillen van de internationale economie.

It is time to abolish the Union.

2017-01-30 10:32  AbolishTheUnion  actueel politiek  [permalink]

It is time to abolish the Union. Or incisively revise it, your call. A new leader is elected, and will soonish deliver the next State of the Union speach. It is not difficult to predict how it will start: "The State of the Union is strong." But in these challenged times, one may speculate it will contain some number of lies. The Union itself may not have the appearance of being in any other state than a strong one, primarily because partisan victory was upon more of the states than any prospector had foreseen. But the people are very much divided, and may be slow at reaping the benefit of hindsight.

The United States of America, as I see it, is three countries into one: An eastern seabord with longer history than the rest; a western seabord with younger infrastructure and a more liberal stance, but with a close eye on the environments, in part due to the earthquakes and drougths; and a less densily populated innermost region where the people are oriented around it's own set of drivers, such as agriculture and oil. The Union is above all a way to get these three to decently cooperate. If the Union fails, I would suggest it would be a good thing that the remnants of the Union would fall back upon these three regions.

In a new structure where the people elect the government of their region, these governments should put forward the individuals to make up a central organ, that only governs what the regions wish to share amongst them: the military, the monetary and a singular office for foreign relations.

But that's perhaps a simplistic view, that does not cater for the nuances and peculiarities required to organise a nation. Also, it is not my nation. Above all it's important there is a system that allows the people to have a say in how it is run.