TheySaySomethingInterrestingApparently: avril 2025

〈0,1,1,2,3,5,8,13,21,...〉






Iterpipes, Between Bash and Hash-bash

A library for running shell pipelines using shell-like syntax

Enables piping infinite streams through shell pipelines in Python

xhtml-css Bivalidator

Check your markup and style validity

Advanced

Just type or paste an URL in the form above, and click on "check it" to see the magic. If you want to fine tune your validation, click on the "advanced" link. That's it!

Yet Another Comprehensive Content

Like, Young's modulus is a vibrating variation inside a solid... The times it take to respanw to an excess of energy is what molding apparence may look to not-so solid thing's... Like this Blog when adding content, the effor is like slapping it and the time it goes back, centered... we consider being more stable than usual...

lundi 28 avril 2025

SAAQ-Click et le Fiasco est à ...

 À trois doigts d'une personne qui m'a assuré que c'était belle et bien son projet.

Ayant tournés autours des grands de la financière et faire du support techniques pour la financière, un cotés de l'immeuble, LGS/CGI et l'autre côtés CGI et la financière. Ça c'était avant la tombé de CGI et les quelques méandres qui à causés des Grands entre la financière et CGI et IBM limités. Et c'est partis avec SAAQ-CLIC. Il a du endurer quelques poses sur le dîner avec un air de "skunk" à l’extérieur, la plupart venait de l'Ontario et c'est ce qu'ils manquaient au espaces montréalais pu de place pour fumer ... Et l'image des dirigeants qui passe devant la commission je les auraient eu à 2 mètres au plus de leur méfait.

CGI est de plus en plus à ce venter de leur services que le monde de l'informatique les a noyés dans une ribambelle de technologies qui demande des test des cas clients des tests de suivi, maintenu d’exception.

Moi j'ai connu un admin de CGI qui à tout fermer et encrypté les bases de message public de Ledevoir et avoir fait le nécessaire pour extraire les donnés, CGI à engagées beaucoup d'incompétent pour des petits projets et s'en être débarrassé via une récupération législative. Et Le devoir à aussi déjà marché en PostgreSQL, en "SQLite", en C++ et de motif de tout les types de Java que le client aurait voulu avoir. Autant qu'ils puissent publié. Le site de CGI apparemment avait un lot de nouvelle mais la publication était impossible tant qu'il devait faire coder les nouvelles et donc avoir une équipe permanente à l’œuvre. 

Pendant que celui qui s'occupe de vignette l’outil de publication internet de la Banque Nationale fait souvent du surplace à tombe en panne et je ne parle pas du manque de test avant de changer un message dans vignettes, mais manquait beaucoup de légèreté pour même diffuser des nouvelles de la SAAQ.
 
Bref, une mise en ligne sans avoir de rapport sur, est-ce que les personnes qui ont eu des saisis d'auto en cour et essais de renouveler leur plaques sont-elles tous en train de faire la ligne à la SAAQ ou il a des manquement. Sinon Le portait SAAQ-clic aurait même pu demander d'ajouter des Notaires et des caméras qui lisent les plaques du circulant à l'entrée du stationnement de la SAAQ qui à fait la file d'attente avec une auto en circulation illégale et qui donne de fausses déclarations aux greffiés présent sur place et se faire accuser de suites ayant conduits illégalement sur la route. Rien apparemment ils ne savent même pas pourquoi le monde se rendaient à la SAAQ. 

Pendant ce temp là un M. Labelle qui utilise la descendance de mon travail de Sqlite et Perl serait à sa nouvelle lorsque j'ai travaillé avec TreeTechnologie et eu entendu que mon TP est enseigné dans tous les CÉGEP en bases de données de deuxième années. J'ouvre les yeux sur un super systèmes lourd qui n'arrive pas à publié des données. Chez VDL2 6 mois et en C++ et pgsql. Une interface dans une autre langue chez Tree Technologies avec Perl et Sqlite aurait pris moins de 3 mois, et en espagnol. Et incluant les tests.

jeudi 24 avril 2025

Un an après la mort d'Antony Sirois.

 Un an après la mort d'Anthony Sirois, et comble de l'histoire qui nous entourent un peu tous, cette personne a accepté un singulier contrat, offrir des films de TUBI, Prime, Netflix à partir des années 1990. En format VHS, même que si il existait une cassette encore avec un film dessus venant de TUBI, comme Mme Blanc-sec, alors les morts égyptiens auraient pratiqués l'art de la conservation même au delà de de leur support, sur celui du VHS et seul depuis que le vidéo cassette à failli de fonctionné il y a déjà plus de 10 ans de cela. 

 

De me souvenir des premières cassettes, offert en cadeau en paquet de chez Cosco, me fût offert à intervalle si j'en voulais d'autre et j'ai même exigée sous-titré, et un infernale "End of the days inc." avec un sérieux retard dans la traduction. Tout apparaît encore avec les mêmes bugs ou merveilles. Il y a même les ferrailleurs de l'espace étant Koréen est virtuellement jamais revenu. Des membres de film de mafia sont venu investigué et parlant français, anglais c'est des acteurs qui cachent bien nôtre south-west de l'île de Montréal pour cacher des secteurs typiquement de banlieue anglaise, non modifié, le nom de la famille ? R... Ils faudrait que je regarde encore dans la liste d'ajout que je visionne ma liste de TUBI. 

 

Et ce n'est pas les seuls souvenirs. Ils viennent avec le moment ou la télévision Sony Bravia c'est installé par elle même, laissant une grosse craque en arrière pour avoir été fait trop vite. Et du matériel dont Nathalie a essayer de piller et écraser et ce serait retrouvé le cul à terre. 


Ce n'est pas les plus phénoménaux, mais il y a eu une tour d'échange entre différent moments ou la Russie était, autrefois dans l'époque du crétacé et chaud, d'autre moment dans l'histoire et gardé par des personne qui deviennent inhumains. Et l'équipe de STAT c'est une autre nouvelle ici il n'y a que Anthony qui à aussi rencontré le grand-japonais de cette famille de mafia entre italien et grecques, et avec un grand Japonais qui ce prenait pour une tête. 


Et à force de ce souvenir des films du début il y avait une demande, des films d'action genre espionnage avec un artiste populaire et un autre artiste pas du tout dans la vie d'acteur, il y a en il y en a... Le premier devait contenir "Union fait la force", ou un acteur montant dans les années 90 devrait être hot pour tournés avec une chanteuse.... 


Il y a eu quelques petites séries dans laquelle, plusieurs personnes avec des pouvoirs spéciaux, il y a un dortoir générique pour les nouveaux et dormant en gangs, il y une couverte qui flotte et tourne... Je vous l'assure elle tourne deux fois trop vite. Mais pris en image durant une nuits à Algorithm Pharma, une vidéo virale de mois en train de flotter avec mes couvertes me laisse perplexe devant les vrais doyens de la place.... Godolkins High avec 'Generation V mutant'. une série Ontarienne et un acteur interprète le "Tabarnacle" en québecois. Mais tout ça vient uniquement avec une clé de type fire-tv donné dans les années 90s et utilisé mes outils de dérive d'internet et Anthony à même pu permettre de modifié l'endroit ou les films pouvaient provenir et être extrêmement plus prêt de nous. Il fallait juste écrire le sous-titre et le filmé ... 


Et nous somme un an après et ce n'est pas tous les films que j'ai pu voir qui sont passé. Du moins encore quelqu'un, celui là on le trouve dans un cimetière et c'est en regardant le deuxième qu'on comprend de où venait le visiteur.  Et de ne pas fixé là où il est enterré ça porte malheur. Ha ! Ha ! 


J'ai donné une cassette aux professeur et depuis ils parle de Jones Plantations et c'est impossible de rester sans rire à chaque fois ou j'ai passé autour là ou les films pris par Anthony sont passés par. 


jeudi 17 avril 2025

Got my 40$ of fidelity, accross website that have the power to raise the number of users.

 I think for fidelity owner that own the right to receive a 25 cents bucks by day, I was touching the nearly 40$ today by continuously seek for things around. I do believe it's also my accise well retrieved from my taxe refund, since I has proven I am Canadian. It's the only part you can play and exhaustively  know Albertan Cannabis Accise is also give retribution annually around 300% and sometimes more. Filling review and owning point converted in dollars, they have their ratio but it's another mechanism available in the market which is consist to a non-credit in front of the consumer and only mass credit over gaining point, it's playing with the 100% profit from Cannabis production and therefore authorized from Conservative, make alternative in recession and having things to enjoy.

 

Writing many review, give 20 points each it's like a dollar for a quote over what you are doing with. As opposite in there s a pass where you write review and got way more than 20 points, but in the deal it come with achieving a concurrent visit enough to own a fourth of dollar a day it's possible. I do says in counter part, bud price have increase and had not excess what I see in the past. like in 2003 the Cherry Thunder ... was 350$CAN, now many descendent or even the original is around 119$/oz, but some like oreo cookie, blizzard cookie, are relatively high in THC where around 99$/oz. By the way, take all the 'Modified Banana' it's all yours. It's the only one even in gummy make myself to dislike it and not getting another one at because it's weird banana. Only 'Slush Puppy' a dilute it with another 'green-kush' to preserve the 'Slush Puppy' taste. 


The other new, I am half right, the provider is around and not in Alberta or Vancouver but in Montreal as their own finally show something . But I was wright on the proximity and the way parcel are handled but I swear they can't travel from a place from Vancouver in only 7 days ? Or yeah right I am the only one on earth to get things from China in 15 days and counting, and from edge from Canada in 7 days ??? I am sure one is from local shop or recover by Logitics or Wiptech and garnering in Olympic Stadium and around since the director of the Olympics had already claim alternative for the stadium is to garner. 

 


 The online dispensary is in Montreal, as actually SQDC can be provided by either Ontario and part from United-State buy by Ontario and sell to SQDC. A bit disgusting ... 

And as close it's apparently a friend, but all itself in between code line in php from another bunch of website own piloting of this... But really close to VDL2...


So ,the company that own this logo...

Do own pretty good stuff.
 

 

lundi 14 avril 2025

Perl odbc, et les merveilleux quasi-piège et monde cryptique et à prendre en note.

 Un quasi piège de penser à une connexion temporisé peut rimé avec vitesse d’exécution. Il faut opter pour une fluidité d'action. Tels Perl est conçu dans l'optique de favoriser un travail administratif et rapide, perl compte énormément pour des rapports d'informations et à base de régime de diffusion. Ce qui en ressort d'une activité de connexion et de conception unitaire à alimentation de une transaction à la fois, perl rapporte ceci:

Une statistique du code DpkgSearchDb en mode insertion à l'unité, vitesse pour 3074 paquets

Type de connexion, temporisé.
  


my $DbHandler = DBI->connect_cached( $DbDsn, $userid, $password, { RaiseError => 1} ) or die $DBI::errstr ;

real	3m29.454s
user	0m3.554s
sys	0m9.643s

Type de connexion, directe.


my $DbHandler = DBI->connect($DbDsn, $userid, $password, { RaiseError => 1}) or die $DBI::errstr ;

real	3m18.110s
user	0m3.359s
sys	0m9.630s
  
 

 Ajouté la variable prédéfinis DBI_PROFILE=4 si vous êtes à un terminal Linux/Unix et vôtre programme perl qui utilise une base de données et complémentes les information de statistique:

       
DBI_PROFILE=4 DSMD5Process=perl DSPkgStatus=install DSDisplay=package DSSearch="^[a-zA-Z0-9]" DSIsRegExp=True DSLimit=0 ./DpkgSearchDb.pl

DBI::Profile: 209.896124s 99.48% (3083 calls) DpkgSearchDb.pl @ 2025-04-11 14:23:13
'STORE' =>
    0.000031s / 5 = 0.000006s avg (first 0.000009s, min 0.000002s, max 0.000009s)
'connect' =>
    0.001289s
'connected' =>
    0.000015s
'disconnect' =>
    0.000344s
'disconnect_all' =>
    0.000006s
'do' =>
    209.894439s / 3074 = 0.068281s avg (first 0.048222s, min 0.021930s, max 0.500559s)

 

En gros c'est plus rapide à l'insertion en mode direct. Nécessitant la présence de la confirmation de l'ajout, le temps de temporisations est ajouté à la transaction. De deux la fluidité est exprimé en utilisant la variable DBI_PROFILE=4 donnant la statistique de rendements des transactions, dans la section do avec le rapport de 0.068281 secondes la transaction.

L'ensemble des transactions se fait en mode AutoCommit et un mécanisme qui permet de d'activer le commit à la demande de l’envoi de la transaction. Le mode AutoCommit=1 ne permet qu'une seule transaction à la fois d'être passé à ce que Oracle et en PLSQL, AutoCommit sert pour un nombre de transaction à appliquer le Commit par défaut.

Alors en ré-analysant le merveilleux monde cryptique, qu'il y a à travers de nombreuses lignes de Awk et de Sed font l'équivoque d'avoir une expressions Sed qui capture le paquet, le processeurs et le statu, ce qui remonte à produire une application Perl beaucoup plus petite et efficiente, mais ne dépassera pas le même temps d’exécution que l'ensemble des méthodes utilisés pour développer DpkgSearch.pl qui démontre l'utilisation simplifié et possible de démontrer dans un temps simple.

Revisitant la section de mon livre d'expression régulière, le PCRE* et les séquences d'expression régulières de la Table 7 du chapitre Perl 5.8 me rappelle à même une expression je peux logé une condition de `match` ou d'un test conditionnel, y logé du code PERL tout étant associé à ce code Perl. Un endroit pour y loger et un $DbHandler->prepare  et utiliser les groupements et appelé le reste de la commande qui logera le restes des variable dans la commande SQL qui provoquera, le insert... N'est absolument pas supporté dans Sqlite et je contre vérifie et rencontre divers exceptions. Alors il faut se contenter d'un mécanisme unitaire.

Table à créer avec Sqlite ou toute structure SQL compatible:
 


CREATE TABLE "PackageInformation" (
	"PkID"	INTEGER NOT NULL UNIQUE,
	"PackageName"	TEXT NOT NULL,
	"PackageStatus"	TEXT NOT NULL,
	"ProcessorType"	TEXT NOT NULL DEFAULT 'None',
	PRIMARY KEY("PkID" AUTOINCREMENT)
)
 

 Ainsi que la table par défaut de SQLite.

       
CREATE TABLE sqlite_sequence(name,seq)
INSERT INTO sqlite_sequence( name, seq) VALUES ( )
       

 

Voici un exemple  d'application visuel permettant de comprendre et accéder à la base de données . Celle-ci à permis d’exécuter le décompte des paquets installé et retiré.


SELECT count(*), PackageStatus FROM PackageInformation GROUP BY PackageStatus ORDER BY PackageStatus DESC LIMIT 0, 49999
       
 

 

 

 

 

L'ensemble des fichiers sont accessible via l'URL de github.com 


 Incluant les tables d'insertion en mode SQL via des commande INSERT.

 

 

 

 

 

*.PCRE:Perl Compatible Regular Expression.

jeudi 10 avril 2025

I am developper and Network Administrator and I respond to does Won’t Teach to theirs Kids to Code.

 And not yet music composer. But I made A.T.R. with Netracker in the 1990, and i am satisfied to say it's also programming while as simple reality to result it's whats sound producing from this MIDI translation of music sample into note.

It's not because it take 20 years to achieve another part of a dream consist to understand code being sound plugin where some L.A.D.S.P.A. teach me howto drive the information and eventually re-create the plugin that turn the electricity down but from plugins activity.

But I can say, my case involving having and partner that did the homework job in database to complete code where in a script alike Perl and I did learn from my same example I am showing online and about to expose because the first part is done. In fact it's having the plenty design and the code for 25 year in head since I did this homework in 1999-2000.

The worst, I can give demonstration of a complex problem in users need, to have a system that does everything, and some willing to install their own things mess up with the package manager and profoundly wipe it's installation, to get ride without re-installing are and such in group and design because it touche the whole systems, but installation and management of package in Linux as quite different way and all own theirs consequences when you made error. And I am to note this either in my blog, either in my github.com developer unit to store my conclusion and from them some one take my internet machinery to re-expose what I was passing through and tell us after all you have hints.

So it's directly the lack itself hints that threaten the will to transmit about your knowledge. It see it as painful as it was doing rift-side canoeing in dangerous zone, as  you were only in from of a television with a box that give you nightmare to imagine the whole world and knowledge and internet are being that...

First, it's only billion of electrical signal in a multi-billion of transistor that wondering to show in a visual pattern call windows and screen to draw or show you picture is kinda that wonder it's being computer. Gamer are only seduced to the rate of the showing picture along responds to their game pad.

Most essential than you are not going to teach them painting, drawing, sketching around and as manual it is you can translate uses of paintbrush, scalpel blending color, are manual procedure like functional design in programming and uses of pencil in shaping shadows and limiting the view to interest base of surround are the aperture of the reality on a paper. The reality on computer is twice uses of pencil by around design and reality.

So to all people that result in aging and what you lost, what's happening when your learning curve don't really slow, I am still getting idea to express and tell. Not having the fiber to transmits is way to prove you can't show all to your kids what is making your job a reality because you lost the point of view. It's not all farmer that can transmit their passion to their family member and it' why people move to where they look to learn at it. Us in Canada we do have example farm, ideal farm to show to kids. American had cow or Burlington where a treated cow to walk in school domain. Everyone tactic to make it affordable .

But in final it lack way to show you and motivate you to transmit back that will. 

 


 With this image it barely show Dad giving all all the tool to unscrew the Linux-Chair and say, good, you won't be in face of that old-Mac pride to perform only simple task in front of that computer and Fix your will to, how long you can stay up in front of a computer not sit because there is no chair. 

Some of my famous posture on the technical service is assuming I can bend up my wrist and typing by standing up to computer, we call it  flexibility of wrist and hand to to something handy. Providing answer to other that can't extend their arm to the good answer. 

 

mardi 8 avril 2025

The power of Perl, give us the 5 things missing to really help.

 My DpkgSearch.pl aim to really answer to my inspection. I want to see presence of de-installed file and are existing. Belong to an omission, the application is almost what I required to use to but... It did not use the Package Status akin to be "install" and "deinstall" a comparison between dpkg --get-selections did confirm it marshall all the install and de-install file. 


The proof:

 

       
maxiste@ubuntu-devlpt:~/Documents/perl$ dpkg --get-selections | grep "deinstall" | wc -l
49
maxiste@ubuntu-devlpt:~/Documents/perl$ dpkg --get-selections | grep "install" | grep -v "deinstall" | wc -l
3055
echo $(( 3055 + 49 ))
3104

###
### Now with the application : 
###

maxiste@ubuntu-devlpt:~/Documents/perl$ DSMD5Process=perl DSPkgStatus=deinstall  DSDisplay=package  DSSearch="^[a-zA-Z0-9]" DSIsRegExp=True DSLimit=0 ./DpkgSearch.pl | wc -l
3104
maxiste@ubuntu-devlpt:~/Documents/perl$ DSMD5Process=perl DSPkgStatus=install  DSDisplay=package  DSSearch="^[a-zA-Z0-9]" DSIsRegExp=True DSLimit=0 ./DpkgSearch.pl | wc -l
3104
       
 

 Ok, it's not even make comparison between a "install" state and "deinstall" state.

 

So after looking at the code. I found why and in 5 things easy addable, make perl great to easily enhance this programmation. But where 

2 Choices:

  1. Is it inside sub or function start()
  2. Is is inside sub or function ShowByItem() 

 

As inside start: 

At the foreach statement.

 

       

	foreach my $line ( @lines )
	{
		$IsShowTime="False" ;
		chomp($line); 
		if ( $MaxValuePrint > 0 )
		{
			if ( $IntCountMax <= ( $MaxValuePrint - 1 ) )
			{
				$IsShowTime="True" ;
			}
			$IntCountMax=$IntCountMax+$intStepAdd ; 
		}
		else
		{
			$IsShowTime="True" ;
		}
		if ( $IsShowTime =~ /True/ )
		{
			$intStepAdd=ShowByItem($line , 0 ) ;
           #^^^^^^^^^The entry is here and we can supply all the 
           #         stuff to make the filtering of install and 
           #         deinstall package. But how many line to add
           #         and probably adding twice whichs elements ?
		}
	}

       
 

 or

inside  ShowByItem()

 

       

sub ShowByItem
{
	my $RegExpMode=$ENV{"DSIsRegExp"} ; 
	my $RegExpSearch=$ENV{"DSSearch"} ; 
	### to add to allow Package status to be considered.
	my $PackageStatus=$ENV{"DSPkgStatus"} ; ### This one to add
	
	my $StringMatching ;
	my $intCountLine=0 ; 
	my $StrLine=$_[0] ;
	my $intPosField=$_[1] ; 
	$StringMatching=per_line_matches( $StrLine , $intPosField );
	### to add to allow Package status to be considered.
	### It's the official location where a line contain 
	### "PACKAGE\t\tSTATUS\n" format
	my $StrPackageStatus=per_line_matches( $StrLine , 1 ); ### This one to add
	
	if ( $StrPackageStatus eq $PackageStatus ) ### This one to add
	{
		if ( $RegExpMode =~ /True/ )
		{
			if( $StringMatching =~ /$RegExpSearch/ )
			{
				$intCountLine=TypeShow( $StrLine , $intPosField ) ; 
			}
			else
			{
				$intCountLine=0 ; 
			}
		}
		else
		{
		 if( $RegExpSearch ne "" )
		 {
			if( $StringMatching eq $RegExpSearch )
			{
				### At this level the Counting take or not the count, depending 
				### the number of match item being consider with variable DSLimit. 
				### Based on type of DSDisplay['package'] or DSDisplay['file']
				### It query the number of line for DSLimit by package will certify 
				### to analyse more package than DSLimit. But in file showing
				### we are not showing the package and only the file list.
				### in a case DSLimit=10 .  
				### These can take more than 10 lines per package but not exceding 
				### the limit of 10 for showing 10 package, so $intCountLine will 
				### always serve to count package but does not lime by the time 
				### all the file being show.
				$intCountLine=TypeShow( $StrLine , $intPosField ) ; 
			}
		 }
		 else
		 {
			$intCountLine=TypeShow( $StrLine , $intPosField ) ; ;
		 }
		}
	}
	else ### This one to add
	{
		$intCountLine=0 ; ### This one to add
	}
	return $intCountLine;
}

       
 

 Underneath the fact is 5 things to add to make it possible. I give you one more hint and it's triviality and the reason we are showing and we are not showing everything look like an "If" condition that simply require it's counter-part and in 5 - One "if" and One "else" it require 3 others to ad and make the application view the difference between install and de-install. 

like to note the behavior of the application at this function level. To return a number of line which is at least 1 or 0. Between showing something that fit inside the filter and 0, show nothing .

 In the important thing you have:

  1. To create a variable and it's environment from prompt predefined-variable
  2. Get the value of the actual package and create the if for it.

 

So in point 1 

my $PackageStatus=$ENV{"DSPkgStatus"} ;

In point 2

my $StrPackageStatus=per_line_matches( $StrLine , 1 ); 

The if

if ( $StrPackageStatus eq $PackageStatus ) 

 All the code inside the brace of this if, the else in gift.

	else ### This one to add
	{
		$intCountLine=0 ; ### This one to add
	}

 

 But those will getting from the github in Fnct.D won't even notice that problems.

And raise another point. Since we doubt having package in possible conflicts they are keep in dpkg database and still exist inside an configuration elsewhere ? Does it weight keeping them away but present. Sparing a size calculation to generate a size by package that include a size for de-installed package can eventually be an option since Perl is really handy. 

 

I am showing information, because the other edge of this application is the will to store some search request and will not do all the digest or getting the information being re-executed again for the same query. Unless there is an update . But using an application in my Ubuntu installed via snap, the DB browser for sqlite is also possible to develop database with perl and directly with sqlite and doing my first table and the code for perl I fall in a question of validation for DpkgSearch and fall into this little error. 

Table creation :

CREATE TABLE "PackageInformation" (
	"PkID"	INTEGER NOT NULL UNIQUE,
	"PackageName"	TEXT NOT NULL,
	"PackageStatus"	TEXT NOT NULL,
	PRIMARY KEY("PkID" AUTOINCREMENT)
);
     
 

 Being the first table it's important to not PackageStatus will be an only one introduction and in some it's true, if you have package being in the de-install statement inside dpkg it will enter into an insert with PackageStatus and "deinstall" and it have to be like this.  

It's more important to say it be never being touch too to infirm in a table that do require to get a notice of it's state, it should exist a package that start into the mode of "install" into "deinstall" and will require to really make another PkID with this package-name and having PackageStatus being "deinstall". Because it answer installation need. And changing and PkId relation and it's content make the relation being false if you simply update the same package information with new data. 

Because subsequent table will have correspondence. The Md5 table list depend of file and the digest but package too. And will depend of a valid installed package. 

While there is no chance to have file in a list all empty, the presence of package-id, id by-file, the File table will also match from a PkId of PackageInformation but not those from the Md5 table.  


lundi 7 avril 2025

My little DpkgSearch in Perl, another satellite of Fnct.D

 This little wonder will be inside all Code, and awk-script possible to render easy the stream-information of a Computer Administration in many level. But compatibility of installation. It was a nightmare to allow many version of Linux being held between developer until some from Fedora Core decide to install Debian package and ... Including uses of my Amd X2 in laptop, had Xenial and move to LTS and by corrupting the installation by promoting another distribution really friendly of Xenial ( apparently Khalix Linux with k3d, KDE ) and broke all the gnome installation. Usefull to do in this time is the unpack option of dpkg, but not protecting from version and checking this during an unpack save you time. 

My uses of perl went into more tragic than people talk to me about this search application way before it exist... Another symptoms of I do have to get it from the future you know. 

And all unfortunately, I will also have to render a new version of the readme.md from Fnct.D, allowing to add some news and some effort of the user-mount too which is lacking in a type of error I was doubting it can. But having double-key inside an Array of type "-A" or with non numeric index, make myself thinking where is the quote mark where it shouldn't be. 

This application also show something else. I was able to implement this time the md5 digest of perl and reporting the same as md5sum from the shell bash, and it's effectively a reading problem from perl. Not problem, but perl being good for administration it was optimized to be good for reading at the shell. Reformatting the content because you it a text one, make md5sum doing it binary because you haven't put a text option to perform of the data as text. But perl win hard to let the direction automatically re-filtering the text does change for good the digest signature. 

       
my $StrDataFile = do 
{
	local $/ = undef;
	open my $fh, "<", $filePackage
	or die "Can't open file: $filePackage for reading.\n";
	<$fh>;
};

my $digest = md5_hex($StrDataFile);

chomp( $digest );
#my @ArrayCheckSum = split /[\ \t]+/, $StrChecksum ;
printf ( $fmt_md5_print, $digest, $filePackage ) ;			
       
 

  

you can refer to  StackExchange forum for all the possible way, but it does change the md5 digest of the file asked to get a digest. 


Output display:

 

 Allowing regular-expression to match with option DSIsRegExp=True all the string inside DSSearch will able to handle all the regular expression but not the * in case like :

DSSearch="xserver-xorg-video*" won't pass just DSSearch="xserver-xorg-video" will . 

full example:

       
DSMD5Process=perl DSDisplay=package DSSearch="^xserver-xorg-video" DSIsRegExp=True DSLimit=0 ./DpkgSearch.pl

xserver-xorg-video-all
xserver-xorg-video-amdgpu
xserver-xorg-video-ati
xserver-xorg-video-fbdev
xserver-xorg-video-nouveau
xserver-xorg-video-radeon
xserver-xorg-video-vesa

 


Extracting file, you add DSDisplay=file and your search and do provide a list of file.

       

DSMD5Process=perl DSDisplay=file DSSearch="^xserver-xorg-video-rad" DSIsRegExp=True DSLimit=0 ./DpkgSearch.pl

/usr/lib/xorg/modules/drivers/radeon_drv.so
/usr/share/X11/xorg.conf.d/10-radeon.conf
/usr/share/doc/xserver-xorg-video-radeon/NEWS.Debian.gz
/usr/share/doc/xserver-xorg-video-radeon/changelog.Debian.gz
/usr/share/doc/xserver-xorg-video-radeon/copyright
/usr/share/man/man4/radeon.4.gz
/usr/share/bug/xserver-xorg-video-radeon/script

 

The present difference between standard dpkg --get-selection and --listfiles it will not display './' and path in this case.

 

 Specifying DSDisplay=path is especially good to make a chroot skeleton, skeleton of a tar-file in incremental-backup is commonly saving cost reality. My goal alternatively to create skeleton, but especially for transfering the installation somewhere else and eventually re-create a package made with that modification. Other use is alternatively computing union-path where some package grow and own growing path like an icon-path, knowing this one I will create a distant growing location in conjunction of union with fuse a possible slower place and keep more place for important / installation.

       

DSMD5Process=perl DSDisplay=path DSSearch="^xserver-xorg-video" DSIsRegExp=True DSLimit=0 ./DpkgSearch.pl | sort -u

/usr
/usr/lib
/usr/lib/xorg
/usr/lib/xorg/modules
/usr/lib/xorg/modules/drivers
/usr/share
/usr/share/bug
/usr/share/bug/xserver-xorg-video-amdgpu
/usr/share/bug/xserver-xorg-video-ati
/usr/share/bug/xserver-xorg-video-fbdev
/usr/share/bug/xserver-xorg-video-nouveau
/usr/share/bug/xserver-xorg-video-radeon
/usr/share/bug/xserver-xorg-video-vesa
/usr/share/doc
/usr/share/doc/xserver-xorg-video-all
/usr/share/doc/xserver-xorg-video-amdgpu
/usr/share/doc/xserver-xorg-video-ati
/usr/share/doc/xserver-xorg-video-fbdev
/usr/share/doc/xserver-xorg-video-nouveau
/usr/share/doc/xserver-xorg-video-radeon
/usr/share/doc/xserver-xorg-video-vesa
/usr/share/man
/usr/share/man/man4
/usr/share/X11
/usr/share/X11/xorg.conf.d

 

Skipping in detail why it uniformly only output path not repeatedly, the uses of 'sort -u' can be external to DpkgSearch, all the warning and all the helper is hidden by default or output on STDERR, making it possible to sort. 

 

 And final wonder, applying an md5 digest result. Keep in mind than in bash you can virtually not make a equality test with filename. You can only if the path is not present, but itself a path hardly enter into test because they are unique and don't require test because you own 2 /root at the base level ? Impossible if it's not over.

So keeping in touch with a digest, make the whole file enter into a digest result in hexadecimal and does also confirm if the file can be similar. But keep in mind algorithm of validation of backup. If the digest change it also mean you do have to make backup of this one too. Us is also targetting file library with .so .a do have many implementation and may be detected withing a digest. Like a library is linking ton of times because many .so from different package does create a file with same information for many uses, and discover anomalies, it's good to own database of information . 

As DSMD5Process offer 'perl' for internal perl digest the shell/distribution one will requi to call DSMD5Process with this key, 'md5sum'

       

DSMD5Process=perl DSDisplay=md5  DSSearch="^xserver-xorg-video-r" DSIsRegExp=True DSLimit=0 ./DpkgSearch.pl

md5:1e44cc1ab629f6fce1cafd18099b96c3:/usr/lib/xorg/modules/drivers/radeon_drv.so
md5:2cddf2c2c45e73672231c61d79ace717:/usr/share/X11/xorg.conf.d/10-radeon.conf
md5:ce4572826e8f66ed20528164036ecd6f:/usr/share/doc/xserver-xorg-video-radeon/NEWS.Debian.gz
md5:9de9c78f3723a785ad0800982037b33a:/usr/share/doc/xserver-xorg-video-radeon/changelog.Debian.gz
md5:9486f7f25f55823424669dbeb24fa215:/usr/share/doc/xserver-xorg-video-radeon/copyright
md5:0abbd29bccb9f4a23d9180ebf8d089f7:/usr/share/man/man4/radeon.4.gz
md5:25c6a89cea7d6916123d69f52118f40e:/usr/share/bug/xserver-xorg-video-radeon/script



 

 

From md5sum result, the same...

       

DSMD5Process=md5sum  DSDisplay=md5  DSSearch="^xserver-xorg-video-r" DSIsRegExp=True DSLimit=0 ./DpkgSearch.pl

md5:1e44cc1ab629f6fce1cafd18099b96c3:/usr/lib/xorg/modules/drivers/radeon_drv.so
md5:2cddf2c2c45e73672231c61d79ace717:/usr/share/X11/xorg.conf.d/10-radeon.conf
md5:ce4572826e8f66ed20528164036ecd6f:/usr/share/doc/xserver-xorg-video-radeon/NEWS.Debian.gz
md5:9de9c78f3723a785ad0800982037b33a:/usr/share/doc/xserver-xorg-video-radeon/changelog.Debian.gz
md5:9486f7f25f55823424669dbeb24fa215:/usr/share/doc/xserver-xorg-video-radeon/copyright
md5:0abbd29bccb9f4a23d9180ebf8d089f7:/usr/share/man/man4/radeon.4.gz
md5:25c6a89cea7d6916123d69f52118f40e:/usr/share/bug/xserver-xorg-video-radeon/script



 

 

 The code here will go into Fnct.D

 

 

       
#!/usr/bin/perl -w 


### 
### DpkgSearch.pl 
### Script that combine a search facility and return a file list, a package
### list or a md5sum of a list of file from the search result. 
### It use Predefined-Variable at the prompt which is simply withing  
### the ${ENV[VARIABLE]} notation and make it easier to use. 
### Go get the documentation in section Definition of switch_var to get all
### the value. 
### 

use Digest::MD5 qw(md5 md5_hex);
use strict;
use warnings;

###
### switch_var and it's content.
### - hold in a format : VARIABLE:FUNCTION, every variable specified by
### the prompt will be associated to a function where this one deal with 
### criterions of each pre-defined variable.
### 

my @switch_var = qw( DSDisplayDebug:DebugInfo DSPkgStatus:CheckPackageStatus DSSearch:WithSearch DSFilterCol:SelectCol DSIsRegExp:SelectRegexp DSLimit:Islimit DSDisplay:DisplayOutputType DSMD5Process:Md5Process ) ;

my $fmt_print = "%s\n" ;
my $fmt_md5_print = "md5:%s:%s\n" ; 
my $ExitCode=0 ; 
my $ContinueCode=0 ; 
my $MaxValuePrint=0 ; 
my $StrFunctErrorName="" ; 

my $Apps="/usr/bin/dpkg" ; 

my $ctx = Digest::MD5->new; 

### ####################################################################
### #       Important Prefixed variable required in the run.
### ####################################################################

### A by default value, require to get DSDisplayDebug being by default 
### to 'False' to prevent showing the deug and the helper. 
###
if ( ! defined( $ENV{"DSDisplayDebug"} ) ) 
{
	$ENV{"DSDisplayDebug"}="False" ; 
}


### A by default value, require to get DSDisplay being by default 
### to package to let the task supply the package-name. 
###
if ( ! defined( $ENV{"DSDisplay"} ) ) 
{
	$ENV{"DSDisplay"}="package" ; 
}

### A by default value, require to get DSMD5Process being by default 
### to be unsensitive to md5 digest and use md5sum from the shell. 
###
if ( ! defined( $ENV{"DSMD5Process"} ) ) 
{
	$ENV{"DSMD5Process"}="md5sum" ; 
}

### A by default value, require to get DSPkgStatus being by default 
### to filter into the 'install' package . 
###
if ( ! defined( $ENV{"DSPkgStatus"} ) ) 
{
	$ENV{"DSPkgStatus"}="install" ; 
}

### ####################################################################
### #       End Important Prefixed variable 
### ####################################################################


### Definition of Prefixed variable use at the prompt. 
### 
### DSDisplayDebug
### - Allow displaying the Help and debug message from DpkgSearch.pl
### 
### 
### 
### 
### DSPkgStatus 
### - mandatory search inside rank-1 of a dpkg package installation . 
###  set to 'install', let display only package installed while, using
###  'deinstall' will also show only the de-installed state. 
### 
### 
### 
### 
### DSSearch 
### - search for a string inside package-name and likely to work for a 
### full-sequence or exact match. Using regular-expression heer will be 
### treated into regular-expression if DSIsRegExp=True. 
### 
### 
### 
### DSFilterCol 
### - will imply to look inside a specific colum of element of the 
### dpkg package installation string, and telling DSFilterCol=1 look
### inside the install/deinstall while DSFilterCol=0 look inside the 
### name. Usefull to search for procesor-signed package. 
### 
### 
### DSIsRegExp
### - True or False to let the DSSearch variable being used as 
### regular-expression or not. 
### 
### 
### DSDisplay
### All the possible key to set :
### - file, package, path, md5 
### 
### - file or package to let the output from the Search query output
### filename, by adding DSDisplay=file to ./DpkgSearch.pl  or 
### displaying the package by using DSDisplay=package if DSDisplay 
### is not defined, package is the default value. 
### 
### In both case of file, package it exclude parsing the ./ in the 
### output as by specifying 'file' or 'path' .
### 
### - md5 key does produce a line of type 
### md5:{HASH}:{FILE}
### and does generate every md5sum result for any file from the query 
### of DpkgSearch. 
### 
###
### DSMD5Process
### - two type of setting, value: 'perl', use md5 digest from perl.
###                        value: 'md5sum' use /bin/md5sum of bash related md5sum.
### 
### 

### DebugInfo function should not contain any print command, responsible
### to show or hide the preambule or all the information caused by cycling 
### the @switch_var. from a foreach It run function based on 
### Prefixed-Variable, made a lot of debug and, 
### equiped with :
### if ( $DisplayDebugState =~ /True/ ) { NESTED BLOCK WITH PRINT }
### will allow to hide that non heterogenous block. 
### So this function DebugInfo should run first.   

sub DebugInfo
{
	my $ErrorState=0;
	my $StrValue=$ENV{$_[0]}; 
	if ( $StrValue =~ /True/ )
	{
		$ErrorState=0 ;
	} 
	elsif ( $StrValue =~ /False/ )
	{
	  $ErrorState=0 ; 
	}
	else
	{
		$ErrorState=1
	}
	return $ErrorState ;
}

sub CheckPackageStatus
{
	my $ErrorState=0;
	my $DisplayDebugState = $ENV{"DSDisplayDebug"} ; 
	if ( $DisplayDebugState =~ /True/ ) {  printf STDERR ( $fmt_print, "Check status of $_[0], 2 choice, install or deinstall" ) } ;
	my $StrValue=$ENV{$_[0]}; 
	if ( $DisplayDebugState =~ /True/ ) { printf STDERR ( $fmt_print, "value:[$StrValue]" ) };
	if ( $StrValue =~ /install/ )
	{
		$ErrorState=0 ;
	} 
	elsif ( $StrValue =~ /deinstall/ )
	{
	  $ErrorState=0 ; 
	}
	else
	{
		$ErrorState=1
	}
	
	return $ErrorState ;
}

sub WithSearch
{
	my $ErrorState=0;
	my $DisplayDebugState = $ENV{"DSDisplayDebug"} ; 
	if ( $DisplayDebugState =~ /True/ ) {  printf STDERR ( $fmt_print, "Check status of $_[0], Should be a String." ) } ;
	my $StrValue=$ENV{$_[0]}; 
	if ( $DisplayDebugState =~ /True/ ) { printf STDERR ( $fmt_print, "value:[$StrValue]" ) } ;
	return $ErrorState ;
}

sub SelectCol
{
	my $ErrorState=0;
	my $DisplayDebugState = $ENV{"DSDisplayDebug"} ; 
	if ( $DisplayDebugState =~ /True/ ) {  printf STDERR ( $fmt_print, "Check status of $_[0], 2 choice, 0 or 1." ) } ;
	my $StrValue=$ENV{$_[0]}; 
	if ( $DisplayDebugState =~ /True/ ) { printf STDERR ( $fmt_print, "value:[$StrValue]" ) } ;
	if ( ( $_[0] gt 0 ) or ( $_[0] lt 1 ) )
	{
		$ErrorState=0 ; 
	}
	else
	{
		$ErrorState=1 ;
	}	
	return $ErrorState ;
}

sub SelectRegexp
{
	my $ErrorState=0;
	my $DisplayDebugState = $ENV{"DSDisplayDebug"} ; 
	if ( $DisplayDebugState =~ /True/ ) { printf STDERR ( $fmt_print, "Check status of $_[0], can only be True/False, and\n\tchange status of DSSearch into regular-expression." ) } ;
	my $StrValue=$ENV{$_[0]}; 
	if ( $DisplayDebugState =~ /True/ ) { printf STDERR ( $fmt_print, "value:[$StrValue]" ) };
	if ( $StrValue =~ /True/ )
	{
		$ErrorState=0 ;
	} 
	elsif ( $StrValue =~ /False/ )
	{
	  $ErrorState=0 ; 
	}
	else
	{
		$ErrorState=1
	}
	return $ErrorState ;
}

sub Islimit
{
	my $ErrorState=0;
	my $DisplayDebugState = $ENV{"DSDisplayDebug"} ; 
	if ( $DisplayDebugState =~ /True/ ) { printf STDERR ( $fmt_print, "Check status of $_[0], Integer value\n\texpected, value of 0, mean no limit." ) } ;
	my $StrValue=$ENV{$_[0]}; 
	if ( $DisplayDebugState =~ /True/ ) { printf STDERR ( $fmt_print, "value:[$StrValue]" ) };
	if ( $_[0] gt 0 )
	{
		$MaxValuePrint=$ENV{$_[0]} ; 
	}
	else
	{
		$ErrorState=1;
	}
	return $ErrorState ;
}

sub DisplayOutputType
{
	my $ErrorState=0;
	my $DisplayDebugState = $ENV{"DSDisplayDebug"} ; 
	if ( $DisplayDebugState =~ /True/ ) { printf STDERR ( $fmt_print, "Check status of $_[0], String value between\n\t'package', 'file', 'path' and 'md5'\n\tare expecteds. Instead to put no value.\n\tRemove this Predefined-Variable.\n\tIt act like package display by default.\n\tIn case of 'path', 'file', 'md5' it\n\tneglect the ./ entry. In 'file'\n\tmode it skip the path.\n" ) } ;
	my $StrValue=$ENV{$_[0]}; 
	if ( $DisplayDebugState =~ /True/ ) { printf STDERR ( $fmt_print, "value:[$StrValue]" ) } ;
	if ( $StrValue =~ /file/ )
	{
		$ErrorState=0 ;
	} 
	elsif ( $StrValue =~ /package/ )
	{
	  $ErrorState=0 ; 
	}
	elsif ( $StrValue =~ /path/ )
	{
	  $ErrorState=0 ; 
	}
	elsif ( $StrValue =~ /md5/ )
	{
	  $ErrorState=0 ; 
	}
	else
	{
		$ErrorState=1
	}
	return $ErrorState ;
	
}

sub Md5Process
{
	my $ErrorState=0 ;
	my $DisplayDebugState = $ENV{"DSDisplayDebug"} ; 
	if ( $DisplayDebugState =~ /True/ ) { printf STDERR ( $fmt_print, "Check status of $_[0], Two possible value:\n\t'perl' use the internal md5 digest of perl.\n\tvalue 'md5sum' refer to use an external\n\tapplication md5sum.\n" ) } ;
	my $StrValue=$ENV{$_[0]}; 
	if ( $DisplayDebugState =~ /True/ ) { printf STDERR ( $fmt_print, "value:[$StrValue]" ) } ;
	if ( $StrValue =~ /perl/ )
	{
		$ErrorState=0 ;
	} 
	elsif ( $StrValue =~ /md5sum/ )
	{
	  $ErrorState=0 ; 
	}
	else
	{
		$ErrorState=1
	}
	return $ErrorState ;
	
}

### Part of a Startup sequence, it's should run first. It's not specified  
### inside start function, and should run before the start itself. Driving 
### Pre-defined variable and reading result by executing the function
### for each variable, a name is hook to, see for switch_var and VARIABLE:FUNCTION
### 
### 
### 
### Action to scan the @switch_var and apply a generic test that verify 
### it's presence. 
### 

foreach $_ ( @switch_var )
{
	my ($GlbVar ,$FnctCall) = split /:/, $_ ;
	
	### In any condition there is a default value 
	### that start at False, mean no debug.
	my $DisplayDebugState = $ENV{"DSDisplayDebug"} ; 
	if ( defined( $ENV{$GlbVar} ) )
	{
		if ( $ContinueCode == 0 ) 
		{
			if ( $DisplayDebugState =~ /True/ ) { print STDERR "$GlbVar is defined\n\tFunction reference:$FnctCall\n" } ;
			### adding a keyword from the same name.
			### This time, this one should hold the equivalent of $ENV{VAR}
			### and have also a function binded to it inside @switch_var
			### 
			eval "my \$$GlbVar = $ENV{$GlbVar}" ;
			eval "\$ContinueCode = $FnctCall( \"$GlbVar\" ) " ; 
			if ( $DisplayDebugState =~ /True/ ) { print STDERR "\nFunction $FnctCall return $ContinueCode\n\n" } ;
			if ( $ContinueCode ne 0 )
			{
				$StrFunctErrorName="$FnctCall" ;
				$ExitCode = 1 ; 
			}
		}
		else
		{
			if ( $DisplayDebugState =~ /True/ ) { print STDERR "Function call $StrFunctErrorName report an error with switch configuration.\n" }  ;
			$ExitCode = 1 ;
		}
	}
}


my @lines = `$Apps --get-selections` ; 

sub per_line_matches 
{
	my($pkgNameLine)  = shift @_ ;
	my $intId = $_[0] ; 
  my @ArrayLine = split /[\ \t]+/, $pkgNameLine ;
  return $ArrayLine[$intId] ; 
} 

sub TypeShow
{
	my $StrLine=$_[0] ; 
	my $intPosField=$_[1] ; 
	my $StrTypeShow=$ENV{"DSDisplay"} ;
	my $StrDigestType=$ENV{"DSMD5Process"} ;
	my $intCountLine=1 ; 
	
	if ( $StrTypeShow =~ /package/ )
	{ 
		printf ( $fmt_print, per_line_matches( $StrLine , $intPosField ) ) ;
	}
	
	if( ( $StrTypeShow =~ /file/ ) or ( $StrTypeShow =~ /path/ ) )
	{
		my $StrPackage=per_line_matches( $StrLine , $intPosField ) ;
		my @file_lines = `$Apps --listfiles $StrPackage` ; 
		foreach my $filePackage ( @file_lines )
		{
			chomp($filePackage) ;
			if ( ! ( $filePackage =~ /^\/\./ ) )
			{ 
				if ( $StrTypeShow =~ /file/ )
				{
					if ( -f $filePackage )
					{
						printf ( $fmt_print, $filePackage ) ;
					}
				}
				if ( $StrTypeShow =~ /path/ )
				{
					if ( -d $filePackage ) 
					{
						printf ( $fmt_print, $filePackage ) ;
					}
				}
				
			}
		}
	}
	
	if( $StrTypeShow =~ /md5/ )
	{ 
		my $StrPackage=per_line_matches( $StrLine , $intPosField ) ;
		my @file_lines = `$Apps --listfiles $StrPackage` ; 
		foreach my $filePackage ( @file_lines )
		{
			chomp($filePackage) ;
			if ( ! ( $filePackage =~ /^\/\./ ) )
			{ 
				if ( -f $filePackage )
				{
					if ( $StrDigestType =~ /md5sum/ )
					{
					 my $StrChecksum = `md5sum $filePackage` ;
					 chomp( $StrChecksum );
					 my @ArrayCheckSum = split /[\ \t]+/, $StrChecksum ;
					 printf ( $fmt_md5_print, $ArrayCheckSum[0], $ArrayCheckSum[1] ) ;
					}
					
					if( $StrDigestType =~ /perl/ )
					{ 
						###open( FILE, $filePackage ) or die "Can't open file: $filePackage for reading.\n" ; 
						####my $StrDataFile =  ;
						### As read on https://stackoverflow.com/questions/953707/in-perl-how-can-i-read-an-entire-file-into-a-string
						### where reading from perl and it loose about formatting for any type of read
						### Adding this method of reading help respecting the file integrity and let 
						### md5sum report exactly the same digest from the perl internal uses of Digest::MD5.
						### 
						my $StrDataFile = do 
						{
							local $/ = undef;
							open my $fh, "<", $filePackage
							or die "Can't open file: $filePackage for reading.\n";
							<$fh>;
						};

						my $digest = md5_hex($StrDataFile);
						
						chomp( $digest );
						#my @ArrayCheckSum = split /[\ \t]+/, $StrChecksum ;
						printf ( $fmt_md5_print, $digest, $filePackage ) ;				
					}
				
				}
			
			}
		}
	}
	return $intCountLine ;	
}
sub ShowByItem
{
	my $RegExpMode=$ENV{"DSIsRegExp"} ; 
	my $RegExpSearch=$ENV{"DSSearch"} ; 
	
	my $StringMatching ;
	my $intCountLine=0 ; 
	my $StrLine=$_[0] ;
	my $intPosField=$_[1] ; 
	$StringMatching=per_line_matches( $StrLine , $intPosField );
	
	if ( $RegExpMode =~ /True/ )
	{
		if( $StringMatching =~ /$RegExpSearch/ )
		{
			$intCountLine=TypeShow( $StrLine , $intPosField ) ; 
		}
		else
		{
			$intCountLine=0 ; 
		}
	}
	else
	{
	 if( $RegExpSearch ne "" )
	 {
		if( $StringMatching eq $RegExpSearch )
		{
			### At this level the Counting take or not the count, depending 
			### the number of match item being consider with variable DSLimit. 
			### Based on type of DSDisplay['package'] or DSDisplay['file']
			### It query the number of line for DSLimit by package will certify 
			### to analyse more package than DSLimit. But in file showing
			### we are not showing the package and only the file list.
			### in a case DSLimit=10 .  
			### These can take more than 10 lines per package but not exceding 
			### the limit of 10 for showing 10 package, so $intCountLine will 
			### always serve to count package but does not lime by the time 
			### all the file being show.
			$intCountLine=TypeShow( $StrLine , $intPosField ) ; 
		}
	 }
	 else
	 {
		$intCountLine=TypeShow( $StrLine , $intPosField ) ; ;
	 }
	}
	return $intCountLine;
}

sub start
{
	my $intStepAdd=0 ; 
	if ( $MaxValuePrint ne 0 )
	{
		print STDERR "\nExtracting output of running application ($Apps)\nMaxValuePrint limit:$MaxValuePrint package(s)\n" ; 
	}
	my $IsShowTime="False" ; 
	my $IntCountMax=0 ; 
	foreach my $line ( @lines )
	{
		$IsShowTime="False" ;
		chomp($line); 
		if ( $MaxValuePrint > 0 )
		{
			if ( $IntCountMax <= ( $MaxValuePrint - 1 ) )
			{
				$IsShowTime="True" ;
			}
			$IntCountMax=$IntCountMax+$intStepAdd ; 
		}
		else
		{
			$IsShowTime="True" ;
		}
		if ( $IsShowTime =~ /True/ )
		{
			$intStepAdd=ShowByItem($line , 0 ) ;
		}
	}

	return $ExitCode ;
}

if( $ExitCode eq 0 )
{
	start( ) ; 
}


 

dimanche 6 avril 2025

Geek Weekend with special. On retail market as well.

 It's rare, you do check in aliexpress 3 items and get free delivery you shop and fall flush on 20.00$ buck, you say. About a lucky day it's flush. 


But that Geek special, bring something that look like in a shop and offer you this at 149.99, it was really 149.99 and, since retail market changing across the value of the stock market, a 2 week ago big plunge of the stock market boost an invoicing by 1.95 because I left it for dinner and went back and got the stock market re-changing the price. It lesser or non existent when Japan reach Friday midnight and it's only during weekend where nothing move. Also hit a spring sale and sometimes fixing the price I was lucky to ask to buy the remaining of my computer and had such deal. I don't care leaking information it was pay with paypal and it's debit.

 


As this publicity also claim than the timer if "Fun en plain air" is count-down and remind you everywhere when you click to buy, the time is around and having ton of alternative to change your content. You can click on left image where it  prompt you all the similar object where it vary in price. But Stepping at the Blue disk at 2 Tera-Byte it's impossible to get this at 47$CAN, if you can't believe it's probably Radio-Canada NVME disk for a whole 6 months of filming from camera. You know these camera can be ip67 working under-water all the time they are not rushing the disk uses like it was a system with swap-file. And some where able to report installing RISC OS on television camera having Radaxa as core for television camera only making sense it's another strong ARM device. So it's refurbish.

 

And I found something I dare to not getting it and voluntary asking why ? A pile of 6 or 7 thread of 20mm by 20mm between 24 cm and 36 cm in a pouch should fit in the daily mail. And I already receive something similar in that 15cm by 15cm mail boxes. Which is the build yourself D.I.Y. (Do It Yourself) computer chassis usually used in Voron 3D printer, in some CNC and even laser cutter casing. Why it should not be delivered ? 


And the memory , another one 16Gb from Samsung, because we all believe that explanation was as short on all retail paper receive, that it's not explain if it require a fully loaded channel or simply one in the channel to boot. Annotated than we can apparently share the GDDR5 memory as heap and head of the memory hand make the first Giga Byte into DDR5 memory, but at the video speed which is a factor of 2133 Mhz not all of it. 


So final computing for long term use, will start at 425$CAN ( 275$ from mentioned in the past ), 150$ now, make the lowest ever. My last laptop having an AMD x2 at 1900Mhz was costing 542$CAN acquire in 2009, I keep the DVD-RW which not include the usb-plug price and the cooler for the disk, which is not exceeding  the 15$. Itself today on retail market you can get a DVD-RW having possibility to uses your own old version of thing to work. 


But the surprise is in the which version of Window it handle ?

 

The same as IMac user, and user that had pay the price for their IMac made from Intel, they apparently own old version of Intel i3 which end many year after buying your IMac, wen the Pentium 4, many Celeron even in core and first PC Intel i3, i5, i7 . IMac the one that look like to a Screen with pole and it's half-bowl design make it slowing the performance for heat problem. Had the possibility to also order a sea-view like side for the intern of your half bowl. And the surprise, many MAC hardware appear in Windows 7 than, I make the reverse, get a Leopard Apple version of the OS and have the possibility to boot into Mac windows from an AMD Processor. It's not going everywhere but those who had chance to boot into a Windows 7 with an IMac and the so promised compatibility between all OS you'll never believe it. And after why not moving from Imac to Xeon by continuing to use Windows 7 with all your settings and do all the info graphic require do be done ? What it cost... With enough place to make many version of you same alien with two holes in the face it will cover off kids make-up and let you achieve your design. 

 

So that's a Spring Geek weekend. 

And I do own my version of Windows 7, my AMD coming with Windows Live, it stand live about a week before I bought a Windows 7 64bits with the key that come with... And will serve again. 

There is also a windows 8 for Xeon, but mine of a Pentium like A350 from Acer can boot in 32 bit version, so it's good for trash and keeping the 64 bit for. 


And apparently after SP3 from all version of windows it will support an Xeon server, my Xeon, E5-2650v4 with 12 core is listed so I am lucky too for. 


Does George Santos have receive money from Honest Gill.

 Back to five point of Honest Gill was : 

  1. 76% of Americans say their representatives do a very bad job of listening to them. We used to aim big in this country – what happened? I’ll work hard to make sure 100% of Americans feel unrepresented. 
  2. I’ll make elections more representative for people who pay me. Ranked Choice Voting would disenfranchise campaign mega-donors and carelessly empower everyday Americans who don’t understand the wants and needs of the fundraising class.
  3. I’ll strengthen partisan gerry mandering. It’s better that politicians choose their voters, not the other way around, right ?
  4. Lobbyists spend $4 million per member of Congress. How are us poor Congress Members supposed to live on chump change? I pledge to continue to take gobs of cash from unscrupulous lobbyists.
  5. Just 4% of U.S. adults say the political system is working extremely or very well. Honest Gil will do his gosh darndest to get that number down to 0%.

 

To point 1, Honest Gil with his personal money and voters money can be see as :

-  I’ll work hard to make sure 100% of Americans feel unrepresented.

 - Giving so much money across to let George Santos protecting case of voter defrauding. It constitute than voters lost across a bad election can not be moved into the one that win the election. It also mean get a talk with every big voters to buy his vote is apparently what George Santos hide within use of lie . 

A good question, does

 

George Santos as pleaded guilty to federal fraud and identity theft charges. 

- His itself was in charge of represent.us and lie about creation of fake politic identity, like Honest Gil. Does He make possible to create a round of bad candidate so a bad muggy face like Trump can easily win in many state ? 


But the point number 5, it personally :

Honest Gil will do his gosh darndest to get that number down to 0%. Trump by plumbing the system on an on with promise and changing it, does contribute being all alone in who is really following and really lower the interest in politic to 0% from adult following at this realm. This is why I am such septic in it's probably another politic-definition like words are such conflictual in Palatin word when you talk about a FLOWER and CUNT ! Up to three state of living of a flower, IT CUNT stand in both growing, being and die. 

 Point Number 4: "I pledge to continue to take gobs of cash from unscrupulous lobbyists."

So you do have to give the money to let George Santos being able to hide everything or being replaced when Trump will elect an new Prosecutor for this case and will be virtually more insane than George Santos lie. Why not hiring Trevor Goodchild, fro Aeon Flux, he can clone the president and stump itself in a fake tragedy, kill the president and take his place ? 


It's growing of  member collusion faith. Does it start to wake about democratic and said they were in a imaginary politics and way before 2012, or 2008.

A fact about Honest Gill which is real . Shirt from 'Honest Gill', hold the Make America. Trump Shirt logo without the one with MAGA, slogan is "Make America Great Again". Can we doubt the lobbyist action within Honest Gill and Trump where to offer to buy out shirt from "Make America" and add a print "Great Again". Worse, Does Trump had convince Honest Gill to buy 1 million samples of "Make America" and re-printing the shirt and ask like a refund from having that 700000 out of the million (because Honest Gill as sold maybe 30k shirts), make it possible to Trump leak this reality and see where are all the 1 million samples shirt see about 500000 of them. Probably Trump want a part in retail to discount them now he win and receive more money to complete is turn and win. As there is a strange behavior around retail activity which is probably where Trump hide number and part across company, made to me things not salable  !

 

- You do have an idea, what is on ebay, aliexpress and temu and many retails online account where you can virtually click on things which is too expensive, not making sense, still look like buffer place where big names hide few things within link.

 

 I am keeping point number 3 for another news call "John Plantation", which is a movie that tell longs on how we do keep 'strengthen partisan gerry mandering' to work in place. An old Slavic methods to enslave people in theirs believe, as long it's for working. 



jeudi 3 avril 2025

I think it's accusation of stealing out something from a Apple Licensing .

 Which is rare to know what going on with an Apple Licensing market from a Boss that own
right to do things like :

- Opening a market like Apple store and selling hardware.
- Do help the Apple user from what Apple conceal to be a problems.
- Make the experience be an advantage.
   
-Some of the concealment where also in what happen to a "case-cracking in Apple Cube" ?

-As Apple as already offer a wide alternative to server user. Those having G4 server can also get reduced price in challenge of offering more versatile product in exchanging the commercial look  into water-cooled stuff enter in the definition of challenging the design into pure performance. This make an possible to get low price for water-cooling stuff and really exhaustive by telling.

Mac/Apple License where adapted for who is using it and allow such warranty, that the last concealment lead to and/or shipping only the broken part like the case of Cube and it ship you another one.

Apparently another story from slashdot.org. It create many company offer such license to company. To enhance uses of the computer over the time. Than an range of steal from that so covered insurance equivalent in excess of charge in offering such to customer . Than is a ratio of 2 times it take to sending up the box directly to house or passing by an expert. Than the ruling of this decision make apple accepting cracking case at the store. But remain clear it was for the amount of loss in recovering used during delivery invite to investigate a bit more.

ample some one protected his point of view telling on warding doing protection infirm it will respond into fraud.

As Mme Morkos she is not the only accused to helping Trump, she was also inform me since 2006 some one willing me to accept to work with them in attempt to move box elsewhere apparently a commerce in growing MAGA event. Self tell tale after she offer my, it's the D.G. that handle all this, I was able to go back working to my official N.B.C. Head-quarter technical support. Unless all blackberry fall during de second of July, but I left just all American that does not serve well the Democratic, of Barack Obama, to close conflictual blackberry.

 But unless Mme Morkos was in sight of the D.G. she add the possibility I should grant yourself for a green card. Herself was observed to commit outer grouping  for other task. And the D.G. was right behind me to see that happening.

Because the My Boss case seems realistic to inform myself, it's a thief act we have to tell tale and might trigger a course in court with Apple had legitimately have the right to accuse and Trump and Mme Morkos for having forced recovery of bundling in despite way to populate your kids gift into MAGA day.

Apparently, a MAGA days for Trump, it's offering that day all the things He promise, all the time. And conspiracy in the retails can only reflect what American are.

And standing you employee into a fare of retribution from Apple.
 - Do subscribe your employee to receive gift because they work well, and do deserve to pass the word. It's a consequence for giving all their costly vapor-pipe, caloduc, heat-pump water-cooling to studying of Chinese  market to lower the price and make them commune to many more design. 


As this element is one of numerous hard-drive cooler for mac, they had plenty time to design it and make it affordable. Starting in 1992 in Premiere of Mac Show, some teacher around me bought on show an first G Mac. Unfortunately, every one heard than generation of G2 will not be compatible in application lie it down and fall into pouch of recuperation and recyclable with profits for sum. But the Bare prize in 1992 for 64 nvme working had 1/4 of of it's capability costing like 1250US$ and the cooler being exactly this one cost 270$US. As I am about to afford myself one from the retail at 9$ CAN would you believe Mme Morkos will let her pass this block for 3 item buy to get the shipping free to avoid any other Delivery issues.

and you don't even dare, about the blue nvme of 1T, 2T are lesser than 50$CAN, they are not over every mouth, but using a Blue band Disk it's like having ready about I.B.M notice. 

They are extremely hot. Cool properly or it's locking for heat issues. As many still high actually, it's still a controlled market because the price of TB was about to fall and since Trump had no company in HD chip it's false increase create by close friend of Trump, and who was accepting that Green Card should be out of Financial as we understand than post effort of After moved Mme Morkos elsewhere it fall into the credential captured by illegal uses of them because they should be non-shareable credential. And make past work in the name of Mme Morkos got accused to. Seeing the investigation on over the call received. I do had time to open an Python terminal to test few things with that IBM laptop. They give me a mall, which I still have like services of I.B.M as crew. 


But you know, yesterday, in my mailbox from Poste Canada, was left about the key for opening the 1B box where the so called Delivery Issues should fall into. Probably Poste Canada does not have the right to snooze at the Lussier Truck place for having an inside retailer call "Auto Essential", where a Mac box like schedule to be buy in 2005, couple of box remain here since and the guy ready to sell it out wait about a confirmation to bring the box into a Mac box seller around Fer-a-Cheval were this one already provide sophisticated Mac things and have enough reason to sale out by rebate it's because the box is about to get 20 years there and seems to be realistic to be sale at 39$ which It's personal faith of Morkos in name that made that but did not stop to get the key in my mailbox. 

Delivered by the system, and all it's agreement should always fall into free or gift of this.




 

 

This is apparently the cube replacement box. Which is not selling cube anymore.  and the offer was to split the price which was virtually 300$US, slash in two and many year after when retail goes into Chinese delivery conflicts to apply too much regulation that delay and cancel shipping was also eavesdropping all the tiny group pretending the are hided belong a liberal act. Make many of this case being introduced in gaming high prize zone into some-one offering to pay in coin. Today value aren't something impossible because Auto Essential can have around 20 other possible sale where now it's nothing but hided into intention of Trump to buffer the retail market and hide bundle like this into inaccessible page deserved for Trump and it's allies...