XEROF

 

Cette merde de Twitter a-t-elle une chance de survivre ?


J'ai toujours pensé que Twitter était une merde infâme. Rien ne va avec cette plateforme.

Et ça c'était au début des années 2000, avant que Twitter ne commence à censurer sans passer par un juge.

Pour moi, dès lors, Twitter, ce n'est rien du tout, en tout cas rien d'autre qu'une plateforme promotionnelle et commerciale. Bref de la merde.

Et puis... et puis...

Elon Musk rachète cette merde avec l'argent factice qu'il a en trop.

Pourquoi pas ? mais je reste réservé sur la survie de cette merde, de cette fausse plateforme. En fait pour moi, c'est toujours la même histoire, Twitter peut survivre si cette censure est levée. Comment ? en listant les personnes qui sont à l'origine de la censure, en d'autres termes, en dénonçant les délateurs. En les affichant, notamment pour que celui qui est censuré de manière arbitraire puisse savoir qui le censure. Et éventuellement, si nécessaire, donner la possibilité au censuré de rendre public les délateurs, de façon à ce qu'on sache selon les sujets censurés, les pays, etc., si la censure est un phénomène massif partagé par tous (ce que je ne crois pas), ou le fait d'une petite minorité très active dont Twitter a, de manière non transparente, donné les rennes de l'attelage, pour le pire (à mon sens).

On verra bien. On le verra rapidement en tout cas. Et si ce n'est pas le cas, alors bon débarras, ça fera au pire un canal promotionnel et commercial de moins. Déjà en soi c'est pas mal.

(d'ailleurs, on pourrait éteindre Twitter rien que pour des raisons écologiques, en calculant ce que Twitter fait produire comme CO2 sur chaque poste client).

A bon entendeur......




Posted on 27-April-2022 16:18 | Category: France | comment[0] | trackback[0]

 

Elections présidentielles 2022


Elections présidentielles 2022 : plutôt que de se demander qui sera en face de Macron au second tour, ce serait quand même plus cool que la gauche vote utile au premier tour pour un seul candidat, que la droite fasse de même. Et ainsi, pourquoi pas, empêcher Macron d'être au second tour. Chiche ?

Posted on 25-March-2022 19:59 | Category: France | comment[0] | trackback[0]

 

Vulnérabilités informatiques au quotidien


Chaque jour on apprend l'attaque informatique malveillante d'organisations, d'institutions, de matériels sensibles tels que des hopitaux, des centrales, etc.

Je m'en étonne. Comment se fait-il qu'un bâtiment sensible puisse être connecté à internet sachant la passoire que c'est pour ce qui est de la sécurité d'accès ?

L'irresponsable dans cette histoire c'est moins le hacker, fusse-t-il malveillant, que celui qui a validé le fait de relier le bâtiment à internet. Les bras m'en tombent.

En fait, il faudra, à ce rythme là, bientôt créer un label internet-free sous-entendu une garantie sur le papier que le bâtiment n'est pas relié à internet, bref que l'on peut garantir un fonctionnement prévu à l'avance et ne pas subir de désagréments de l'extérieur.

A bon entendeur...

Posted on 04-March-2022 20:13 | Category: France | comment[0] | trackback[0]

 

Les réseaux sociaux américains en première ligne, comme d'habitude


Les réseaux sociaux américains en première ligne, comme d'habitude.

On le savait déjà, mais pour twitter, facebook, google apple microsoft, etc. ainsi que les réseaux bancaires visa, mastercard, etc. les règles de censure politique habituelles ne s'appliquent pas en ce moment puisque les pro-ukrainiens peuvent dire ce qu'ils veulent, montrer ce qu'ils veulent, alors que les pro-russes ne peuvent rien dire et rien montrer.

Le propre d'une plateforme de contenu est d'être neutre. Sinon elle n'est en fait rien de tel, mais uniquement un bras armé d'un pouvoir. Par honnêteté intellectuelle ces réseaux sociaux et autres réseaux bancaires devraient arborer à côté de leur logo un drapeau du pouvoir auquel ils et elles se soumettent.


Posted on 02-March-2022 12:15 | Category: France | comment[0] | trackback[0]

 

Ukraine : la compassion de Twitch


Alors même que Twitch n'hésite pas une seconde à bannir des streams qui osent ne serait-ce qu'une seconde tenter le politiquement incorrect, on trouve aujourd'hui pléthore de streams sur ukraine, que ce soit des live cams, ou pire, carrément des gens qui viennent défendre la cause, voire demander de l'argent.

Mais que fait Twitch ?

Ce n'est pas le fliquage habituel. Pourquoi une telle mansuétude ?

Pourquoi est-ce que, comme par hasard, lorsque ça sert les intérêts de la ligne dominante, c'est acceptable et même suggéré ?

Ce n'est pas ça du tout la liberté d'expression.

Posted on 26-February-2022 11:07 | Category: France | comment[0] | trackback[0]

 

Ukraine : vocation de journaliste


Si vous démarrez votre carrière de journaliste en ce moment, c'est une magnifique opportunité pour documenter la propagande de masse à l'oeuvre dans les médias français. Les mêmes arguments et théories complotistes sont à l'oeuvre que pour la libye, la syrie, l'irak. Et même pour la guerre des balkans, là où bizarrement il fallait bombarder une population pour rendre possible la création d'un état indépendant comme le kosovo. Chose refusée ici pour l'est de l'ukraine alors que c'est pourtant la même logique.
Et les même experts auto-proclamés.

Journalistes français, sauvez l'honneur de la france. Documentez !

Posted on 26-February-2022 11:04 | Category: France | comment[0] | trackback[0]

 

Election piège à con


extrait : "Une enquête du journal "Libération" sur la primaire des Républicains publiée ce mercredi, montre que Valérie Pécresse doit beaucoup de ses voix à des électeurs pour le moins particuliers. Un chien ferait même partie des électeurs. "


Je dirais même plus. Ces journalistes ne voient pas l'éléphant dans le magasin de porcelaine tellement il est énorme. Pour rappel, à cette élection dite primaire du parti Les Républicains, préalable aux élections présidentielles françaises de 2022, le vote était ouvert à tout adhérent du parti LR.

Comme pour être adhérent, il suffit d'en faire la demande et d'aquitter la somme demandée pour l'année, il a été parfaitement possible à des militants, par exemple du parti socialiste, mais pas seulement, d'adhérer en masse au parti, pour pouvoir voter, et ainsi fausser complètement le vote. Bien évidemment, en poussant l'élection de celui ou celle (en l'occurenc Valérie Pécresse) la moins en capacité de gagner ensuite lors des élections présidentielles.

Bref vous l'avez compris, ce vote n'est ni fait ni à faire. Je croyais que les apparatchiks du parti avaient compris la dernière fois qu'il ne fallait pas faire ça, mais en fait non. C'est bien la droite la plus bête du monde. Droite d'ailleurs que Valérie Pécresse avait quitté l'année dernière... C'est dire si tout le monde est rhabillé pour l'hiver dans cette histoire.

Posted on 24-February-2022 09:43 | Category: France | comment[0] | trackback[0]

 

La crise en Ukraine vu de la France


La crise en Ukraine vu de la France. C'est facile avec les médias qu'on a. Personne ne juge manifestement utile de rappeler qu'à travers cette crise Ukrainienne, il y a le fait que le président ukrainien est un humoriste. Bref vous l'avez compris, une fois de plus, un "puppet" américain placé là bien comme il faut. Et ça, 20 ans après la fameuse révolution orange qui factuellement a été planifié, organisée, financée par l'administration George Bush.
Bref, si on cherche des fouteurs de merde, il n'y a pas besoin de chercher côté russe.

Posted on 08-February-2022 17:17 | Category: France | comment[0] | trackback[0]

 

xlsgen 4.9.0.22 : Rendering pie 3D charts


Build 4.9.0.22 of xlsgen adds support for rendering pie charts with 3D volume.

Until now, the 3D volume type for pie charts was ignored and any such chart would be rendered as 2D. This "limitation" is over. This is for all outputs (PDF, SVG, ...)



Rendering 3D pie charts in xlsgen

Posted on 23-January-2022 14:46 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 4.9.0.21 : Fix pack for CSV, JSON, HTML and XML


Build 4.9.0.21 of xlsgen is a fix pack related to importing data from CSV, JSON, HTML and XML files.


  • the behavior of the automatic type inference is improved. It tries to find patterns when numbers are associated to a string inside a cell, but it does not do so anymore at the expense of growing too much the dictionary of number formats and styles. In other words, it does well, wherever applicable. This is a welcome improvement since this automatic type inference was introduced more than a year ago (in xlsgen 4.5, actually).
  • autofitting columns is now performed automatically right after the import phase, so the imported data looks cleaner in Excel.
  • autofitting columns was already performed silently for JSON, HTML and XML data streams. It was not performed for CSV data at all.
  • an auto-fit property is introduced in all 4 data import options (i.e. for CSV, JSON, HTML and XML). This property lets an application control whether or not auto-fit is wanted. For instance, in case auto-fit is not wanted, just pass FALSE to the boolean :

    worksheet.Import.CSV.Options.AutoFit = FALSE


Posted on 17-January-2022 14:51 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

Sonos and CNIL : a hell of a bad week for Google


Take it and shove it up your ass Google. You've got fucked twice this week, after France's CNIL condemnation on your cookie deception practices (it will be followed by an aribtrary number of other European countries, be ready for it). And then Sonos who proved left and right that Google took eye of their design a number of years ago (usually this happens when a large company tells a smaller one that they are interested in purchasing them, which is deception in almost every case), only to duplicate the exact same thing later in products. Of course, ignoring along the same way the very patents that Sono had obtained for it.

What an evil company. I can't believe my eyes when I see this.

Posted on 07-January-2022 19:09 | Category: anti-Google | comment[0] | trackback[0]

 

xlsgen 4.9.0.20 : .NET 6.0 code samples


Build 4.9.0.20 of xlsgen adds a couple code samples in C# and VB.NET for .NET 6.0, and actually Visual Studio 2022 projects (recently released by Microsoft).

Regarding .NET 6.0 itself, xlsgen works flawlessly without modification. Of course, it assumes your project is targeting Windows, not Linux or Android or even Mac OS.

Code samples use either the regular COM instantiation or the COM-free technique. As a reminder, make sure to always link your project with the correct version of xlsgen.dll, that is, 32-bit if you are targeting a x86 build, 64-bit if you are targeting a x64 or Any CPU build.

Posted on 30-December-2021 17:52 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

Internet en panne ? Non, Amazon AWS en panne


Le mythe à propos d'internet, c'est que c'est un réseau de réseaux et par conséquent il ne peut pas tomber en panne. Aujourd'hui pas mal de serveurs dans le monde entier sont en panne. Et la raison ? ils ont la malheureuse d'avoir comme point en commun de tous pointer vers des serveurs AWS de Amazon. Bref l'internet aujourd'hui n'est plus un réseau de réseaux, c'est avant tout un seul réseau avec de gros noeuds tous en SPF (single point of failure). Belle architecture n'est-ce pas ? En tout cas pour des gouvernements qui veulent contrôler ce qui s'y fait, c'est magnifique. Pour les gens qui croient à la liberté individuelle, c'est un peu moins bon...

Posted on 22-December-2021 19:32 | Category: France | comment[0] | trackback[0]

 

xlsgen 4.9.0.19 : Pivot table SQL connections


Build 4.9.0.19 of xlsgen adds direct support for data connections such as SQL to pivot tables in XLSX, XLSB and XLS files.

Until now, a pivot table created in xlsgen could be attached only to a worksheet-type data source. Making it possible to attach a pivot table to a SQL data connection without any clutter (such as a temporary table object) makes it both useful and clean for applications.

Here is how it works (below is C++ code) :


xlsgen::IXlsWorkbookPtr workbook = engine->New( L"pivotTableSQL.xlsx" );

xlsgen::IXlsWorksheetPtr worksheet = workbook->AddWorksheet("Sheet1");

xlsgen::IXlsPivotTablePtr pt = worksheet->NewPivotTable();

// create the SQL data connection (Access MDB database)
pt->DataSource->DataConnection->CommandTimeout = 40;
pt->DataSource->DataConnection->ConnectionTimeout = 120;
pt->DataSource->DataConnection->ConnectionString = L"Provider=MSDASQL;Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=D:\\input\\db1.mdb;uid=;pwd=;";

pt->DataSource->DataConnection->SQLStatement = L"select * from Table1";

// fetch the data
pt->DataSource->DataConnection->Run();

// create the pivot table itself
pt->Rows->AddByName(L"firstname");
pt->Rows->AddByName(L"ID");

pt->InsertAt(11,2);

workbook->Close();


Posted on 19-December-2021 18:15 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 4.9.0.18 : Fix for pivot tables


Build 4.9.0.18 of xlsgen fixes a problem related to handling pivot table descriptors in files where both regular and extended descriptors are present, avoiding a file corruption problem.



Posted on 13-December-2021 23:19 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

Apple is doomed in the long run


I already told my piece about the fact that a software and hardware company announcing that they will surveil their users, makes them not even worth mentioning anymore, but still I have to say the following :

- when, one month after they announce they'll surveil content stored on anyone's device and report to the police, not much if any press covering their conferences and announcements reminded customers of what they announced a month earlier, as if this company did get a pass. I don't understand, if that's because press is selling ad space to this company, it's a problem, because it turns out money buys them silence over an indefensible stand. And it's like seeing someone out there being raped or murdered and doing nothing against it. Press must burn in hell.

- as we enter a climate crisis and are going to limit energy consumption, it turns out that this company will be one of the first to feel the consequences of climate change. In other words, those wonderful two-digit growth days are over, and well over. Eat that.

Posted on 01-November-2021 10:28 | Category: News | comment[0] | trackback[0]

 

xlsgen 4.9.0.17 : Fix pack for XLSB files


Build 4.9.0.17 of xlsgen is a fix pack for issues related to XLSB files.

- under certain circumstances, array formulas were not written correctly and would corrupt the Excel file (XLSB).

- incorrect external reference index when reading from a XLSB file and converting to a XLSX file

- generation of external reference cache when converting a XLSX file to a XLSB file

- internal formula building for a number of conditional formattings when converting a XLSB file to a XLSX file

Posted on 29-October-2021 13:00 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 4.9.0.16 : Other Lambda functions


Build 4.9.0.16 adds all other lambda functions introduced in Office 365 (reminder : xlsgen supports them, and they are not available in any installable Excel version other than the one associated to an Office 365 subscription).

BYROW()Applies a Lambda function to each row and returns an array of the results. For example, if the original array is 3 columns by 2 rows, the returned array is 1 column by 2 rows.
BYCOL()Applies a Lambda function to each column and returns an array of the results. For example, if the original array is 3 columns by 2 rows, the returned array is 3 columns by 1 row.
MAKEARRAY()Returns a calculated array of a specified row and column size, by applying a Lambda function.
SCAN()Scans an array by applying a Lambda function to each value and returns an array that has each intermediate value.
MAP()Returns an array formed by mapping each value in the array(s) to a new value by applying a Lambda function to create a new value.
REDUCE()Reduces an array to an accumulated value by applying a Lambda function to each value and returning the total value in the accumulator.
ISOMITTED()Checks whether the value in a Lambda function is missing and returns TRUE or FALSE.


Those functions basically iterate over the cells in a particular way, either cell by cell, row by row, and so on, and what they do is apply the lambda function on each cell value. The result is either written back to a new cell, with most functions above, or accumulated, as in functions SCAN() and REDUCE().


Example : =BYROW(A1:C2; LAMBDA(x;MAX(x)) )



Example : =BYCOL(A1:C2; LAMBDA(x;MAX(x)) )



Example : =MAKEARRAY(2; 3; LAMBDA(r; c; r*c) )



Example : =SCAN(""; A1:C2; LAMBDA(t; u; t&u) ). t is an accumulator with an initial value of "".



Example : =MAP(A1:C2; LAMBDA(a; IF(a>4;a*a;+a) ))



Example : =REDUCE(0; A1:C2; LAMBDA(t; u; IF(u>4; t+u; 0)) ). t is an accumulator with an initial value of 0.


As for the ISOMITTED() function, it works like this :

C++ code


xlsgen::IXlsWorksheetPtr worksheet = workbook->WorksheetByIndex[1];

// create a lambda function
xlsgen::IXlsDynamicRangePtr dynrange_xy = worksheet->NewDynamicRange(L"MyFuncXY");
dynrange_xy->Formula = L"=LAMBDA(x;y;IF(ISOMITTED(y);\"y param is omitted\";x&y))";
dynrange_xy->UserDefinedFunction = TRUE;
dynrange_xy->Description = L"(x,y) function";

worksheet->Formula[10][6] = L"=MyFuncXY(4;2)";
_bstr_t s106 = wksht->Label[10][6]; // returns "42"

worksheet->Formula[11][6] = L"=MyFuncXY(4)";
_bstr_t s116 = wksht->Label[11][6]; // returns "y param is omitted"




Posted on 12-October-2021 10:35 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 4.9.0.15 : Lambda function


Build 4.9.0.15 of xlsgen introduces Lambda functions, a mechanism in Excel that is meant to reduce the complexity of spreadsheets. It was introduced in 2021 as part of Office 365 subscriptions, is not available in any downloadable Excel version, but xlsgen supports it.

Usually, cell with calculations end up with multiple functions nested at multiple levels, making it hard to understand and maintain over time. The fix for this is usually to either factorize a static piece of it into a defined name, or to externalize it to a VBA macro function, both of which have limitations. The limitation of static defined names is that parameters can't be passed to the defined name so a dynamic call is impossible. A limitation which isn't in VBA macros, except that VBA is a different thing than Excel functions, a different language and that it's been years that running VBA macros has become a security problem.

So this lays down the path for something else, and that's lambda functions, that's how it is named in Excel. Lambda functions can be seen as a mechanism for overcoming the limit of not being able to pass arguments to defined names, while remaining in the Excel function context.

Introducing lambda functions is actually straight forward. Let's assume we have a mathematical function y = x + 3. We could specify this function like this as well : x ==> x + 3, or rather function(x; x+3). Back to Excel context, if we create a defined name that we shall call y, and whose definition is =lambda(x;x+3), that's all we need then to make a call anywhere in the spreadsheet of the form y(1) and it would return 4.

When we create that defined name, we can use the description to explain further details about what the function accomplishes, what the parameters are, etc. which carries a meaning to anyone who will be tasked to understand and maintain the spreadsheet over time.

Anywhere in the spreadsheet where this x + 3 calculation is stored in formulas, it can be replaced by the y(x) function call and doing so this removes complexity to formulas across the entire spreadsheet.

Here is another example. Assuming we have data layed down like this :



In C12, we have a calculation whose only point is to obtain the price of a coffee type of a given size. Allegedly, all what we want for this is a handy function of the form CalcCoffeePriceForSize(coffee_type; coffee_size), but in Excel we usually end up with a string of functions like this :

=VLOOKUP(A12;Table1_data;MATCH(B12;Table1_headers;0);FALSE)

where A12 is the coffee type and B12 the coffee size. The MATCH function is there to find the appropriate coffee size column, and the VLOOKUP finds the coffee price for the coffee type given its coffee size.
A string of Excel functions like this isn't particularly self-describing, and it would get far worse if we added error handling, etc.
And that's where the lambda function mechanism comes handy. Let's create a new defined name, called CalcCoffeePriceForSize, then paste the formula above in there.
Then edit this definition and replace it by :

=VLOOKUP(coffee_type;Table1_data;MATCH(coffee_size;Table1_headers;0);FALSE)

Then edit again and prefix the above with the =LAMBDA function call along with parameters :

=LAMBDA(coffee_type;coffee_size;VLOOKUP(coffee_type;Table1_data;MATCH(coffee_size;Table1_headers;0);FALSE))

Don't forget to describe this function and parameters in the Comment area. And click OK. Of course if you are doing this in Excel, this won't work unless a subscription-based Excel product is being used. In other words, it does not work with Excel 2016, Excel 2019 or Excel 2021.
What is being done here is pass the list of all function parameters, and then we have the calculation itself.



Now back in cell C12 where the calculation occurs, replace the previous string of formulas with :

=CalcCoffeePriceForSize(A12;B12)

That's it. Cell C12 is a calculated formula and the intention is self-describing. If the user needs to know more about the actual calculation, it's available, but not shown unless needed. Complexity has been lowered without compromising the maintainability of the spreadsheet.
So that's a brief introduction to lambda functions.

in xlsgen, creating the lambda function is done like this :

C++ code


xlsgen::IXlsWorksheetPtr worksheet = workbook->WorksheetByIndex[1];

// create a lambda function
xlsgen::IXlsDynamicRangePtr dynrange = worksheet->NewDynamicRange(L"CalcCoffeePriceForSize");
dynrange->Formula = L"=LAMBDA(coffee_type;coffee_size;VLOOKUP(coffee_type;Table1_data;MATCH(coffee_size;Table1_headers;0);FALSE))";
dynrange->UserDefinedFunction = TRUE;
dynrange->Description = L"CalcCoffeePriceForSize computes the price of a coffee for a given coffee type and a given coffee size.";

// use the lambda function
worksheet->Formula[12][3] = L"=CalcCoffeePriceForSize(A12;B12)";



Posted on 30-September-2021 15:48 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

Notations opthalmiques et opticiennes

L'opthmalogiste indique sur l'ordonnance de correction des yeux une notation qui n'est pas celle que l'on trouve ensuite chez le professionnel opticien qui fabrique ensuite les verres, sur son devis comme sur sa facture. Fort heureusement, les deux notations sont équivalentes et il est possible de passer de l'une à l'autre.

D'ailleurs la première chose à faire est de savoir si une notation est celle indiquée par un ophtalmologue ou celle indiquée par un opticien.
La notation comporte trois éléments, pour chaque oeil :

S (C) A


Par exemple, -2.5 (-1.75) 165°. Que l'on peut lire comme -2.5 dioptries de correction pour la sphère qui sert de modèle pour la myopie (d'où la lettre S), -1.75 dioptrie de correction pour le cylindre qui sert de modèle pour l'astigmatisme (d'où la lettre C), et 165 degrés sur le cylindre qui sert de modèle pour la correction de l'astigmatisme, d'où la lettre A.
Lorsque la valeur pour le cylindre est négative, il s'agit de la notation de l'ophtalmologue. Lorsque le cylindre est positif, il s'agit de la notation du professionnel qui fabrique vos verres.

La notation de l'ophtalmologue est notée Soph (Coph) Aoph, avec Coph < 0.

La notation du professionnel opticien est notée Soptic (Coptic) Aoptic avec Coptic > 0.

Notation ophtalmologique à partir de la notation du professionnel opticien :



Soph = Soptic + Coptic
Coph = -Coptic
Aoph = (Aoptic + 90) modulo 180


Par exemple, -4.25 (+1.75) 75° devient -2.5 (-1.75) 165°.

Notation du professionnel opticien à partir de la notation de l'ophtalmologue :



Soptic = Soph + Coph
Coptic = -Coph
Aoptic = (Aoph - 90) modulo 180


Par exemple, -2.25 (-1.25) 10° devient-3.50 (+1.25) 100°.

Posted on 23-September-2021 22:16 | Category: France | comment[0] | trackback[0]

 

 

<-- previous page

< January >
0102030405
0607080910
1112131415
1617181920
2122232425
2627282930
31



 

 

This site
Home
Articles

DevTools
CPU-Z
EditPlus
ExplorerXP
Kill.exe
OllyDbg
DependencyWalker
Process Explorer
autoruns.exe
Araxis
COM Trace injection
CodeStats
NetBrute
FileMon/Regmon
BoundsChecker
AQTime profiler
Source monitor
GDI leaks tracking
Rootkit revealer
Rootkit removal
RunAsLimitedUser(1)
RunAsLimitedUser(2)

 

 

Liens
Le Plan B
Un jour à Paris
Meneame
Rezo.net (aggr)
Reseau voltaire
Cuba solidarity project
Le grand soir
L'autre journal
Le courrier suisse
L'Orient, le jour
Agoravox (aggr)